Traducir texto

En esta guía de inicio rápido, se muestra cómo crear un programa que traduce texto de inglés a alemán mediante la API de Cloud Translation v2.

Antes de comenzar

Antes de ejecutar esta guía de inicio rápido, asegúrate de que tú o tus administradores hayan completado los siguientes requisitos previos:

Crea un programa para traducir texto

  1. En el sistema SAP, crea un programa ejecutable en tu espacio de nombres personalizado (por ejemplo, Z o Y) mediante la transacción SE38.

    1. En la GUI de SAP, ingresa el código de transacción SE38.

    2. En el campo Programa, ingresa un nombre de tu programa, por ejemplo, ZDEMO_TRANSLATE.

    3. Haz clic en Crear.

    4. Especifica los atributos del programa:

      1. En el campo Título, ingresa un título para el programa, por ejemplo, Translate from English to German.

      2. En el campo Tipo, selecciona Executable Program.

      3. Haz clic en Guardar.

    5. Guarda el programa como un objeto local.

    6. En el Editor de ABAP, agrega el siguiente código:

      **********************************************************************
      *  Copyright 2023 Google LLC                                         *
      *                                                                    *
      *  Licensed under the Apache License, Version 2.0 (the "License");   *
      *  you may not use this file except in compliance with the License.  *
      *  You may obtain a copy of the License at                           *
      *      https://www.apache.org/licenses/LICENSE-2.0                   *
      *  Unless required by applicable law or agreed to in writing,        *
      *  software distributed under the License is distributed on an       *
      *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,      *
      *  either express or implied.                                        *
      *  See the License for the specific language governing permissions   *
      *  and limitations under the License.                                *
      **********************************************************************
      
      REPORT zr_qs_translate_texts.
      
      * data declarations
            data: lv_text         type string,
                  lv_msg          type string,
                  lv_ret_code     type i,
                  lv_err_text     type string,
                  ls_err_resp     type /goog/err_resp,
                  ls_input        type /goog/cl_translation_v2=>ty_006,
                  ls_output       type /goog/cl_translation_v2=>ty_007,
                  lt_translations type /goog/cl_translation_v2=>ty_translations,
                  ls_texts        type /goog/cl_translation_v2=>ty_008,
                  lo_translate    type ref to /goog/cl_translation_v2,
                  lo_exception    type ref to /goog/cx_sdk.
      
      TRY.
      * instantiate api client stub
                create object lo_translate
                  exporting
                    iv_key_name = 'DEMO_TRANSLATE'.
      
      * pass the text to be translated to the required parameter
                lv_text = 'The Earth is the third planet from the Sun'.
          APPEND lv_text TO ls_input-q.
      
          ls_input-format = 'text'.
          ls_input-source = 'en'.
          ls_input-target = 'de'.
      
      * call the api method to translate text
                call method lo_translate->translate_translations
                  exporting
                    is_input    = ls_input
                  importing
                    es_output   = ls_output
                    ev_ret_code = lv_ret_code
                    ev_err_text = lv_err_text
                    es_err_resp = ls_err_resp.
          IF lo_translate->is_success( lv_ret_code ) = abap_true.
            lt_translations = ls_output-data.
            READ TABLE lt_translations-translations INTO ls_texts INDEX 1.
            WRITE: / 'Translation Successful'.
            WRITE: / 'Translated Text is: ', ls_texts-translated_text.
          ENDIF.
      
      * close the http connection
                lo_translate->close( ).
      
        CATCH /goog/cx_sdk INTO lo_exception.
      * write code here to handle exceptions
                endtry.
      

      Reemplaza DEMO_TRANSLATE por el nombre de la clave de cliente.

  2. Ejecuta tu aplicación en SE38. Si se ejecuta de forma correcta, se mostrará el siguiente resultado:

    'Translation Successful'
    'Translated Text is: Die Erde ist der dritte Planet von der Sonne'
    

¿Qué sigue?