Traduzir texto

Neste guia de início rápido, mostramos como criar um programa que traduz textos de inglês para alemão usando a API Cloud Translation v2 por meio da edição SAP BTP do ABAP SDK for Google Cloud.

Antes de começar

Antes de executar este guia de início rápido, verifique se você ou seus administradores concluíram os seguintes pré-requisitos:

Criar uma classe ABAP para traduzir textos

  1. Criar um pacote:

    1. No ADT, acesse o Project Explorer.
    2. Clique com o botão direito do mouse no pacote ZLOCAL e selecione New > ABAP Package.
    3. Insira os seguintes detalhes do pacote:

      • Nome: insira ZABAPSDK_TEST.
      • Descrição: insira ABAP SDK Test Package.
    4. Clique em Próxima.

    5. Na caixa de diálogo Selecione uma solicitação de transporte, marque a caixa de seleção Criar uma nova solicitação.

    6. Insira uma descrição para a solicitação de transporte.

    7. Clique em Finish.

  2. Crie uma classe ABAP para chamar a API Cloud Translation:

    1. Clique com o botão direito do mouse no pacote ABAP e selecione Nova > Classe ABAP.
    2. Digite os seguintes detalhes da sua classe ABAP:

      • Nome: insira ZGOOG_CL_QS_TRANSLATION.
      • Descrição: insira Quick start for Translation API.
    3. Clique em Próxima.

    4. Selecione uma solicitação de transporte e clique em Concluir.

  3. No editor de código, substitua o código padrão pelo seguinte snippet 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.
    

    Substitua DEMO_TRANSLATE pelo nome da chave do cliente.

  4. Salve e ative as alterações.

  5. Execute o aplicativo:

    1. Selecione a classe ABAP ZGOOG_CL_QS_TRANSLATION.
    2. Clique em Run > Run As > ABAP Application (Console). Ou pressione F9. Depois de finalizado, a saída a seguir será exibida:
      'Translation Successful'
      'Translated Text is: Die Erde ist der dritte Planet von der Sonne'
      

A seguir