Menerjemahkan teks

Layanan Vertex AI Translation memungkinkan Anda menerjemahkan teks yang ditulis dalam satu bahasa ke bahasa lain yang didukung.

Halaman ini menunjukkan cara menerjemahkan teks sampel menggunakan Vertex AI Translation API di Google Distributed Cloud (GDC) yang terisolasi.

Sebelum memulai

Sebelum dapat mulai menggunakan Vertex AI Translation API, Anda harus memiliki project dengan Vertex AI Translation API yang diaktifkan, dan Anda harus memiliki kredensial yang sesuai. Anda juga dapat menginstal library klien untuk membantu Anda melakukan panggilan ke API. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan project terjemahan.

Menerjemahkan teks

Metode translateText mengambil teks input dalam bahasa tertentu dan menampilkan teks yang diterjemahkan ke dalam bahasa lain. Anda dapat memasukkan teks biasa atau HTML sebagai input.

Jika Anda memasukkan teks HTML, metode translateText hanya menerjemahkan teks di antara tag HTML tanpa menerjemahkan tag. Namun, atribut dalam tag HTML5, seperti atribut alt, diterjemahkan. Contoh penggunaan tag dan atribut HTML5 digunakan dalam sintaksis untuk mengecualikan teks dari terjemahan. Output mempertahankan tag HTML yang tidak diterjemahkan dan menyertakan teks terjemahan di antaranya.

Buat permintaan curl ke Vertex AI Translation API yang telah dilatih sebelumnya. Atau, berinteraksi dengan API terlatih Vertex AI Translation dari skrip Python untuk menerjemahkan teks dari satu bahasa ke bahasa lain.

Contoh berikut menunjukkan cara menerjemahkan teks input dari satu bahasa ke bahasa lain:

curl

Ikuti langkah-langkah berikut untuk membuat permintaan curl:

  1. Dapatkan token autentikasi.

  2. Buat permintaan:

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'

Ganti kode berikut:

  • TOKEN: token autentikasi yang Anda peroleh.
  • ENDPOINT: endpoint Vertex AI Translation yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.
  • PROJECT_ID: project ID Anda.
  • SOURCE_LANGUAGE: kode bahasa teks input Anda. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
  • TARGET_LANGUAGE: kode bahasa yang Anda inginkan untuk menerjemahkan teks Anda. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
  • INPUT_TEXT: teks input Anda dalam bahasa sumber.

Gunakan kolom mime_type untuk menentukan jenis file. Tetapkan kolom mime_type ke salah satu nilai berikut:

  • text/plain: input Anda adalah teks biasa.
  • text/html: input Anda adalah teks HTML.

Jika kolom mime_type kosong, text/html adalah nilai defaultnya.

Contoh berikut menggunakan kolom mime_type:

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"mime_type": "text/html", "parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'

Output menampilkan teks yang diterjemahkan.

Python

Ikuti langkah-langkah berikut untuk menggunakan layanan Vertex AI Translation dari skrip Python:

  1. Instal library klien Vertex AI Translation versi terbaru.

  2. Tetapkan variabel lingkungan yang diperlukan pada skrip Python.

  3. Lakukan autentikasi permintaan API Anda.

  4. Tambahkan kode berikut ke skrip Python yang Anda buat:

    from google.cloud import translate
    import google.auth
    from google.auth.transport import requests
    from google.api_core.client_options import ClientOptions
    
    audience = "https://ENDPOINT:443"
    api_endpoint="ENDPOINT:443"
    
    def translate_client(creds):
      opts = ClientOptions(api_endpoint=api_endpoint)
      return translate.TranslationServiceClient(credentials=creds, client_options=opts)
    
    def main():
      creds = None
      try:
        creds, project_id = google.auth.default()
        creds = creds.with_gdch_audience(audience)
        req = requests.Request()
        creds.refresh(req)
        print("Got token: ")
        print(creds.token)
      except Exception as e:
        print("Caught exception" + str(e))
        raise e
      return creds
    
    def translate_func(creds):
      tc = translate_client(creds)
      req = {
        "parent": "projects/PROJECT_ID",
        "source_language_code": "SOURCE_LANGUAGE",
        "target_language_code": "TARGET_LANGUAGE",
        "mime_type": "text/plain",
        "contents": ["INPUT_TEXT"]
      }
    
      resp = tc.translate_text(req)
      print(resp)
    
    if __name__=="__main__":
      creds = main()
      translate_func(creds)
    

    Ganti kode berikut:

    • ENDPOINT: endpoint Vertex AI Translation yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.
    • PROJECT_ID: project ID Anda.
    • SOURCE_LANGUAGE: kode bahasa teks input Anda. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • TARGET_LANGUAGE: kode bahasa yang Anda inginkan untuk menerjemahkan teks Anda. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.
    • INPUT_TEXT: teks input Anda dalam bahasa sumber.

    Gunakan kolom mime_type untuk menentukan jenis file. Tetapkan kolom mime_type ke salah satu nilai berikut:

    • text/plain: input Anda adalah teks biasa.
    • text/html: input Anda adalah teks HTML.

    Jika kolom mime_type kosong, text/html adalah nilai defaultnya.

  5. Simpan skrip Python.

  6. Jalankan skrip Python untuk menerjemahkan teks:

    python SCRIPT_NAME
    

    Ganti SCRIPT_NAME dengan nama yang Anda berikan ke skrip Python, seperti translation.py.

Untuk mengetahui informasi selengkapnya tentang metode translateText, lihat library klien Python.

Mengecualikan teks dari terjemahan

Gunakan salah satu tag HTML berikut di kolom contents permintaan untuk mengecualikan bagian teks Anda dari terjemahan:

  • <span translate="no">"TEXT"</span>
  • <span class="notranslate">"TEXT"</span>

Ganti TEXT dengan bagian teks yang ingin Anda kecualikan dari terjemahan.

Misalnya, jika Anda memiliki teks input berikut dalam bahasa Spanyol:

Hola, esto es una prueba.

Kemudian, teks tersebut diterjemahkan ke dalam bahasa Inggris menjadi kalimat berikut:

Hello, this is a test.

Misalkan Anda hanya ingin menerjemahkan bagian teks berikut, tidak termasuk Hola, dari teks input:

esto es una prueba.

Bagian teks tersebut diterjemahkan dalam bahasa Inggris menjadi kalimat berikut:

this is a test.

Gunakan tag HTML untuk mengecualikan teks dari terjemahan. Misalnya, permintaan curl berikut menggunakan tag <span class="notranslate">"TEXT"</span> untuk mengecualikan Hola, dari teks input sebelumnya dalam bahasa Spanyol saat menerjemahkan teks ke dalam bahasa Inggris:

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "es", "target_language_code": "en", "contents": [<span class="notranslate">"Hola,"</span>"esto es una prueba."]}'

Deteksi bahasa

Metode detectLanguage menampilkan bahasa string teks dengan mengirim permintaan HTTP.

Misalnya, permintaan berikut mendeteksi bahasa Inggris sebagai bahasa dari teks input Hello, this is a test:

curl

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:detectLanguage -d '{"parent": "projects/PROJECT_ID", "contents": ["Hello, this is a test"]}'

Mendapatkan operasi

Metode getOperation menampilkan status terbaru dari operasi yang berjalan lama. Gunakan metode ini untuk mengambil hasil operasi yang dihasilkan oleh layanan Vertex AI Translation API. Untuk menggunakan metode ini, tentukan project ID dan endpoint Vertex AI Translation.

Misalnya, permintaan berikut menampilkan status operasi yang berjalan lama, seperti membuat glosarium, yang berjalan di project Anda:

curl

curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations/PROJECT_ID

Mencantumkan operasi

Metode listOperations menampilkan daftar operasi yang berjalan lama yang cocok dengan filter yang ditentukan dalam permintaan. Untuk menggunakan metode ini, tentukan project ID dan endpoint Vertex AI Translation.

Misalnya, permintaan berikut menampilkan daftar operasi yang berjalan di project Anda dan membatasi ukuran halaman hingga sepuluh hasil per halaman:

curl

curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations?page_size=10

Mendapatkan bahasa yang didukung

Metode getSupportedLanguages menampilkan daftar bahasa yang didukung oleh Vertex AI Translation API.

Misalnya, permintaan berikut menampilkan bahasa yang didukung dengan menentukan endpoint Vertex AI Translation:

curl

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:getSupportedLanguages -d "{}"

Untuk mengetahui daftar lengkap bahasa yang didukung, lihat Bahasa yang didukung untuk Vertex AI Translation.