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 con la API de Cloud Translation v2 a través de la edición SAP BTP del SDK de ABAP para Google Cloud.

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 una clase ABAP para traducir texto

  1. Crea un paquete:

    1. En ADT, ve al Explorador de proyectos.
    2. Haz clic con el botón derecho en el paquete ZLOCAL y selecciona Nuevo > Paquete de ABAP.
    3. Ingresa los siguientes detalles para tu paquete:

      • Nombre: Ingresa ZABAPSDK_TEST.
      • Descripción: ingresa ABAP SDK Test Package.
    4. Haz clic en Siguiente.

    5. En el cuadro de diálogo Seleccionar una solicitud de transporte, selecciona la casilla de verificación Crear una solicitud nueva.

    6. Ingresa una descripción para la solicitud de transporte.

    7. Haz clic en Finalizar.

  2. Crea una clase ABAP para llamar a la API de Cloud Translation:

    1. Haz clic con el botón derecho en tu paquete ABAP y selecciona Nueva > Clase ABAP.
    2. Ingresa los siguientes detalles para tu clase ABAP:

      • Nombre: Ingresa ZGOOG_CL_QS_TRANSLATION.
      • Descripción: ingresa Quick start for Translation API.
    3. Haz clic en Siguiente.

    4. Selecciona una solicitud de transporte y haz clic en Finalizar.

  3. En el editor de código, reemplace el código predeterminado por el siguiente fragmento de código:

    " --------------------------------------------------------------------
    "  Copyright 2024 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.                                -
    " --------------------------------------------------------------------
    class ZCL_QS_TRANSLATE_TEXT definition
      public
      final
      create public .
    
    public section.
    
      interfaces IF_OO_ADT_CLASSRUN .
    ENDCLASS.
    
    
    
    CLASS ZCL_QS_TRANSLATE_TEXT IMPLEMENTATION.
    
    
      METHOD IF_OO_ADT_CLASSRUN~MAIN.
        DATA ls_input        TYPE /goog/cl_translation_v2=>ty_006.
        DATA lt_translations TYPE /goog/cl_translation_v2=>ty_translations.
        DATA ls_texts        TYPE /goog/cl_translation_v2=>ty_008.
        DATA lo_translate    TYPE REF TO /goog/cl_translation_v2.
    
        TRY.
            " Instantiate API client stub
            lo_translate = NEW #( iv_key_name = 'DEMO_TRANSLATE' ).
    
            " Pass the text to be translated to the required parameter
            ls_input = VALUE #( format = 'text'
                                source = 'en'
                                target = 'de'
                                q      = VALUE #( ( |The Earth is the third planet from the Sun| ) ) ).
    
            " Call the API method to translate text
            lo_translate->translate_translations( EXPORTING is_input    = ls_input
                                                  IMPORTING es_output   = DATA(ls_output)
                                                            ev_ret_code = DATA(lv_ret_code)
                                                            ev_err_text = DATA(lv_err_text)
                                                            es_err_resp = DATA(ls_err_resp) ).
            IF lo_translate->is_success( lv_ret_code ) = abap_true.
              lt_translations = ls_output-data.
              TRY.
                  ls_texts = lt_translations-translations[ 1 ].
                  out->write( |Translation Successful| ).
                  out->write( |Translated Text is:  { ls_texts-translated_text }| ).
                CATCH cx_sy_itab_line_not_found.
                  out->write( |Translation not fetched| ).
              ENDTRY.
            ENDIF.
    
            " Close HTTP connection
            lo_translate->close( ).
    
          CATCH /goog/cx_sdk INTO DATA(lo_exception).
            " Handle exception here
        ENDTRY.
      ENDMETHOD.
    ENDCLASS.
    

    Reemplaza DEMO_TRANSLATE por el nombre de la clave de cliente.

  4. Guarda y activa los cambios.

  5. Ejecuta tu aplicación:

    1. Selecciona la clase de ABAP ZGOOG_CL_QS_TRANSLATION.
    2. Haz clic en Run > Run As > ABAP Application (Console). También puedes presionar F9. 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?