텍스트 번역

이 빠른 시작에서는 ABAP SDK for Google Cloud SAP BTP 버전을 통해 Cloud Translation API v2를 사용하여 텍스트를 영어에서 독일어로 번역하는 프로그램을 만드는 방법을 보여줍니다.

시작하기 전에

이 빠른 시작을 실행하기 전에 직접 또는 관리자가 다음 기본 요건을 완료했는지 확인합니다.

텍스트를 번역할 ABAP 클래스 만들기

  1. 패키지를 만듭니다.

    1. ADT에서 프로젝트 탐색기로 이동합니다.
    2. ZLOCAL 패키지를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > ABAP 패키지를 선택합니다.
    3. 패키지에 대한 다음 세부정보를 입력합니다.

      • 이름: ZABAPSDK_TEST를 입력합니다.
      • 설명: ABAP SDK Test Package를 입력합니다.
    4. 다음을 클릭합니다.

    5. 전송 요청 선택 대화상자에서 새 요청 만들기 체크박스를 선택합니다.

    6. 전송 요청에 대한 설명을 입력합니다.

    7. 마침을 클릭합니다.

  2. Cloud Translation API를 호출하는 ABAP 클래스를 만듭니다.

    1. ABAP 패키지를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > ABAP 클래스를 선택합니다.
    2. ABAP 클래스에 대해 다음 세부정보를 입력합니다.

      • 이름: ZGOOG_CL_QS_TRANSLATION를 입력합니다.
      • 설명: Quick start for Translation API를 입력합니다.
    3. 다음을 클릭합니다.

    4. 전송 요청을 선택하고 마침을 클릭합니다.

  3. 코드 편집기에서 기본 코드를 다음 코드 스니펫으로 바꿉니다.

    " --------------------------------------------------------------------
    "  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.
            " Open HTTP Connection
            " The client key DEMO_TRANSLATE is an example, replace this with actual value
            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.
    

    DEMO_TRANSLATE를 클라이언트 키 이름으로 바꿉니다.

  4. 변경사항을 저장하고 활성화합니다.

  5. 애플리케이션을 실행합니다.

    1. ABAP 클래스 ZGOOG_CL_QS_TRANSLATION를 선택합니다.
    2. 실행 > 다음 권한으로 실행 > ABAP 애플리케이션(콘솔)을 클릭합니다. 또는 F9를 누릅니다. 성공하면 다음과 같은 출력이 표시됩니다.
      'Translation Successful'
      'Translated Text is: Die Erde ist der dritte Planet von der Sonne'
      

다음 단계