Text übersetzen

In dieser Kurzanleitung erfahren Sie, wie Sie mit der Cloud Translation API v2 über die SAP BTP Edition des ABAP SDK for Google Cloud ein Programm erstellen, das Text vom Englischen ins Deutsche übersetzt.

Hinweise

Bevor Sie diese Kurzanleitung ausführen, müssen Sie oder Ihre Administratoren die folgenden Voraussetzungen erfüllt haben:

  • Achten Sie darauf, dass die Cloud Translation API in Ihrem Google Cloud-Projekt aktiviert ist.

    Zur API-Bibliothek

ABAP-Klasse zum Übersetzen von Text erstellen

  1. Paket erstellen:

    1. Rufen Sie in ADT den Project Explorer auf.
    2. Klicken Sie mit der rechten Maustaste auf das Paket ZLOCAL und wählen Sie Neu > ABAP-Paket aus.
    3. Geben Sie die folgenden Details für das Paket ein:

      • Name: Geben Sie ZABAPSDK_TEST ein.
      • Beschreibung: Geben Sie ABAP SDK Test Package ein.
    4. Klicken Sie auf Next (Weiter).

    5. Klicken Sie im Dialogfeld Transportanfrage auswählen das Kästchen Neue Anfrage erstellen an.

    6. Geben Sie eine Beschreibung für die Transportanfrage ein.

    7. Klicken Sie auf Finish (Beenden).

  2. Erstellen Sie eine ABAP-Klasse, um die Cloud Translation API aufzurufen:

    1. Klicken Sie mit der rechten Maustaste auf Ihr ABAP-Paket und wählen Sie Neu > ABAP-Klasse aus.
    2. Geben Sie die folgenden Details für Ihre ABAP-Klasse ein:

      • Name: Geben Sie ZGOOG_CL_QS_TRANSLATION ein.
      • Beschreibung: Geben Sie Quick start for Translation API ein.
    3. Klicken Sie auf Next (Weiter).

    4. Wählen Sie eine Transportanfrage aus und klicken Sie auf Fertigstellen.

  3. Ersetzen Sie im Code-Editor den Standardcode durch das folgende Code-Snippet:

    " --------------------------------------------------------------------
    "  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.
    

    Ersetzen Sie DEMO_TRANSLATE durch den Namen des Clientschlüssels.

  4. Speichern und aktivieren Sie die Änderungen.

  5. Führen Sie Ihre Anwendung aus:

    1. Wählen Sie die ABAP-Klasse ZGOOG_CL_QS_TRANSLATION aus.
    2. Klicken Sie auf Ausführen > Ausführen als > ABAP-Anwendung (Console). Alternativ können Sie F9 drücken. Wenn der Vorgang erfolgreich war, wird die folgende Ausgabe angezeigt:
      'Translation Successful'
      'Translated Text is: Die Erde ist der dritte Planet von der Sonne'
      

Nächste Schritte