Membuat dan menggunakan glosarium (Advanced)

Glosarium adalah kamus kustom yang digunakan Cloud Translation API untuk menerjemahkan terminologi khusus domain pelanggan secara konsisten. Glosarium biasanya menentukan cara menerjemahkan entitas bernama.

Anda dapat menggunakan glosarium untuk kasus penggunaan berikut:

  • Nama produk: Misalnya, "Google Home" harus diterjemahkan menjadi "Google Home".
  • Kata ambigu: Misalnya, kata "bat" dapat berarti peralatan olahraga atau hewan. Jika Anda menerjemahkan kata-kata tentang olahraga, sebaiknya gunakan glosarium untuk memasukkan terjemahan olahraga "bat" ke Cloud Translation API, bukan terjemahan hewan.
  • Kata serapan: Misalnya, "bouillabaisse" dalam bahasa Prancis diterjemahkan menjadi "bouillabaisse" dalam bahasa Inggris. Bahasa Inggris meminjam kata "bouillabaisse" dari bahasa Prancis pada abad ke-19. Seorang penutur bahasa Inggris yang kurang mengetahui konteks budaya Prancis mungkin tidak tahu bahwa bouillabaisse adalah hidangan sup ikan. Glosarium dapat mengganti terjemahan, sehingga "bouillabaisse" dalam bahasa Prancis diterjemahkan menjadi "fish stew" (sup ikan) dalam bahasa Inggris.

Sebelum memulai

Sebelum dapat mulai menggunakan Cloud Translation API, Anda harus memiliki project yang mengaktifkan Cloud Translation API, dan harus memiliki kredensial yang sesuai. Anda juga dapat menginstal library klien untuk bahasa pemrograman umum yang bisa membantu Anda melakukan panggilan ke API. Untuk mengetahui informasi selengkapnya, silakan melihat halaman Penyiapan.

Izin yang diperlukan

Untuk menggunakan glosarium, akun layanan Anda memerlukan izin khusus glosarium. Anda dapat memberikan peran ke akun layanan menggunakan salah satu peran IAM bawaan, seperti Cloud Translation API Editor (roles/cloudtranslate.editor), atau Anda dapat membuat peran khusus yang memberikan izin yang diperlukan. Anda dapat melihat semua izin Cloud Translation API di referensi izin IAM. Izin Cloud Translation dimulai dengan cloudtranslate.

Untuk membuat glosarium, Anda juga memerlukan izin untuk membaca objek di bucket Cloud Storage tempat file glosarium Anda berada. Anda dapat memberikan peran ke akun layanan menggunakan salah satu peran IAM bawaan, seperti Storage Object Viewer (roles/storage.objectViewer), atau Anda dapat membuat peran khusus yang memberikan izin untuk membaca objek.

Untuk mengetahui informasi tentang cara menambahkan akun ke peran, silakan melihat Memberi, mengubah, dan mencabut akses ke resource.

Membuat glosarium

Istilah dalam glosarium dapat berupa token tunggal (kata) atau frasa pendek (biasanya kurang dari lima kata). Langkah-langkah utama untuk menggunakan glosarium adalah:

  1. Buat file glosarium
  2. Buat referensi glosarium dengan Cloud Translation API kami
  3. Tentukan glosarium yang akan digunakan saat Anda meminta terjemahan

Sebuah project dapat memiliki beberapa glosarium. Anda bisa mendapatkan daftar glosarium yang tersedia dan menghapus glosarium yang tidak lagi diperlukan.

Kata yang diabaikan

Cloud Translation mengabaikan beberapa istilah yang disertakan dalam glosarium; istilah ini disebut sebagai kata yang diabaikan. Saat menerjemahkan kata yang diabaikan, Cloud Translation mengabaikan entri glosarium yang cocok. Untuk mengetahui daftar semua kata yang diabaikan, silakan melihat Kata yang diabaikan glosarium.

Membuat file glosarium

Pada dasarnya, glosarium adalah file teks yang setiap barisnya berisi istilah yang sesuai dalam berbagai bahasa. Cloud Translation API mendukung glosarium searah, yang menentukan terjemahan yang diinginkan untuk satu pasangan bahasa sumber dan target, dan kumpulan padanan istilah, yang mengidentifikasi padanan istilah dalam berbagai bahasa.

Jumlah total istilah dalam file input glosarium tidak boleh melebihi 10,4 juta (10.485.760) byte UTF-8 untuk semua istilah di semua bahasa yang digabungkan. Setiap istilah glosarium harus berukuran kurang dari 1.024 byte UTF-8. Istilah yang lebih panjang dari 1.024 byte akan diabaikan.

Secara default, kecocokan glosarium peka huruf besar/kecil. Saat Anda menerapkan glosarium, Anda dapat mengabaikan huruf besar/kecil untuk semua entri. Jika Anda memiliki campuran istilah yang peka huruf besar/kecil dan tidak peka huruf besar/kecil, gunakan perilaku default. Untuk istilah yang tidak peka huruf besar/kecil, sertakan istilah yang peka huruf besar/kecil dan tidak peka huruf besar/kecil dalam glosarium.

Glosarium searah

Cloud Translation API menerima file TSV, CSV, atau TMX.

TSV dan CSV

Untuk nilai yang dipisahkan tab (TSV) dan nilai yang dipisahkan koma (CSV), setiap baris berisi pasangan istilah yang dipisahkan oleh tab (\t) atau koma (,). Kolom pertama berisi istilah dalam bahasa sumber dan kolom kedua berisi istilah dalam target bahasa, seperti ditunjukkan dalam contoh berikut:

Glosarium searah

Translation Memory eXchange (TMX)

Translation Memory eXchange (TMX) adalah format XML standar untuk menyediakan teks sumber dan terjemahannya dalam target bahasa. Cloud Translation API mendukung file input dalam format berdasarkan TMX versi 1.4. Contoh ini mengilustrasikan struktur yang diperlukan:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
  <header segtype="sentence" o-tmf="UTF-8"
  adminlang="en" srclang="en" datatype="PlainText"/>
  <body>
    <tu>
      <tuv xml:lang="en">
        <seg>account</seg>
      </tuv>
      <tuv xml:lang="es">
        <seg>cuenta</seg>
      </tuv>
    </tu>
    <tu>
      <tuv xml:lang="en">
        <seg>directions</seg>
      </tuv>
      <tuv xml:lang="es">
        <seg>indicaciones</seg>
      </tuv>
    </tu>
  </body>
</tmx>

Elemen <header> dari file TMX yang tersusun dengan baik harus mengidentifikasi bahasa sumber menggunakan atribut srclang, dan setiap elemen <tuv> harus mengidentifikasi bahasa teks yang dimuat menggunakan atribut xml:lang. Anda mengidentifikasi bahasa sumber dan target menggunakan kode ISO-639.

Semua elemen <tu> harus berisi sepasang elemen <tuv> dengan bahasa sumber dan target yang sama. Jika elemen <tu> berisi lebih dari dua elemen <tuv>, Cloud Translation API hanya akan memproses <tuv> pertama yang cocok dengan bahasa sumber dan elemen pertama yang cocok dengan target bahasa, lalu mengabaikan sisanya. Jika elemen <tu> tidak memiliki pasangan elemen <tuv> yang cocok, Cloud Translation API akan melewati elemen <tu> yang tidak valid.

Cloud Translation API akan menghapus tag markup dari sekitar elemen <seg> sebelum memprosesnya. Jika elemen <tuv> berisi lebih dari satu elemen <seg>, Cloud Translation API akan menggabungkan teksnya menjadi satu elemen yang dipisahkan dengan spasi.

Jika file berisi tag XML selain yang ditampilkan di atas, Cloud Translation API akan mengabaikannya.

Jika file tidak sesuai dengan format XML dan TMX yang tepat – misalnya, jika file tidak memiliki tag akhir atau elemen <tmx> – Cloud Translation API akan membatalkan pemrosesannya. Cloud Translation API juga membatalkan pemrosesan jika sudah melewati lebih dari 1.024 elemen <tu> yang tidak valid.

Kumpulan padanan istilah (CSV)

Untuk kumpulan padanan istilah, Cloud Translation API hanya menerima file dalam format CSV. Untuk menentukan kumpulan padanan istilah, buat file CSV multi-kolom yang setiap barisnya mencantumkan satu istilah glosarium dalam beberapa bahasa.

Baris pertama dalam file adalah baris header yang mengidentifikasi bahasa untuk setiap kolom, yang menggunakan kode bahasa ISO-639 atau BCP-47. Anda juga dapat menyertakan kolom opsional untuk kelas kata (pos) dan deskripsi (description). Saat ini, algoritma tidak menggunakan informasi pos, dan nilai pos tertentu tidak divalidasi.

Setiap baris berikutnya berisi padanan istilah glosarium dalam bahasa yang diidentifikasi di header. Anda dapat mengosongkan kolom jika istilah tersebut tidak tersedia dalam semua bahasa.

Kumpulan padanan istilah

Membuat referensi glosarium

Setelah menemukan padanan istilah glosarium, sediakan file glosarium ke Cloud Translation API dengan membuat referensi glosarium.

Glosarium searah

Saat membuat glosarium searah, Anda harus menunjukkan pasangan bahasa (language_pair), dengan menentukan bahasa sumber (source_language_code), dan target bahasa (target_language_code). Contoh berikut menggunakan REST API dan command line, tetapi Anda juga dapat menggunakan library klien untuk membuat glosarium searah.

REST

Ketika membuat glosarium baru, Anda memberikan ID glosarium (nama referensi). Contoh:
projects/my-project/locations/us-central1/glossaries/my-en-to-ru-glossary
dengan my-project sebagai PROJECT_NUMBER_OR_ID, dan my-en-ru-glossary sebagai ID glosarium yang Anda sediakan.

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda
  • glossary-id: ID glosarium Anda, misalnya, my_en_ru_glossary
  • bucket-name: nama bucket tempat file glosarium Anda berada
  • glossary-filename: nama file glosarium Anda

Metode HTTP dan URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries

Isi JSON permintaan:

{
  "name":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id",
  "languagePair": {
    "sourceLanguageCode": "en",
    "targetLanguageCode": "ru"
    },
  "inputConfig": {
    "gcsSource": {
      "inputUri": "gs://bucket-name/glossary-filename"
    }
  }
}

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "name": "projects/project-number/locations/us-central1/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata",
    "name": "projects/project-number/locations/us-central1/glossaries/glossary-id",
    "state": "RUNNING",
    "submitTime": "2019-11-19T19:05:10.650047636Z"
  }
}

Glosarium kumpulan padanan istilah

Setelah istilah glosarium diidentifikasi dalam kumpulan padanan istilah, sediakan file glosarium untuk Cloud Translation API dengan membuat referensi glosarium.

REST

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda
  • glossary-id: ID glosarium Anda
  • bucket-name: nama bucket tempat file glosarium Anda berada
  • glossary-filename: nama file glosarium Anda

Metode HTTP dan URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries

Isi JSON permintaan:

{
  "name":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id",
  "languageCodesSet": {
    "languageCodes": ["en", "en-GB", "ru", "fr", "pt-BR", "pt-PT", "es"]
  },
  "inputConfig": {
    "gcsSource": {
"inputUri": "gs://bucket-name/glossary-file-name"
    }
  }
}

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "name": "projects/project-number/locations/us-central1/operations/20191103-09061569945989-5d937985-0000-21ac-816d-f4f5e80782d4",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata",
    "name": "projects/project-number/locations/us-central1/glossaries/glossary-id",
    "state": "RUNNING",
    "submitTime": "2019-11-03T16:06:29.134496675Z"
  }
}

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Go Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import (
	"context"
	"fmt"
	"io"

	translate "cloud.google.com/go/translate/apiv3"
	"cloud.google.com/go/translate/apiv3/translatepb"
)

// createGlossary creates a glossary to use for other operations.
func createGlossary(w io.Writer, projectID string, location string, glossaryID string, glossaryInputURI string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// glossaryID := "my-glossary-display-name"
	// glossaryInputURI := "gs://cloud-samples-data/translation/glossary.csv"

	ctx := context.Background()
	client, err := translate.NewTranslationClient(ctx)
	if err != nil {
		return fmt.Errorf("NewTranslationClient: %w", err)
	}
	defer client.Close()

	req := &translatepb.CreateGlossaryRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, location),
		Glossary: &translatepb.Glossary{
			Name: fmt.Sprintf("projects/%s/locations/%s/glossaries/%s", projectID, location, glossaryID),
			Languages: &translatepb.Glossary_LanguageCodesSet_{
				LanguageCodesSet: &translatepb.Glossary_LanguageCodesSet{
					LanguageCodes: []string{"en", "ja"},
				},
			},
			InputConfig: &translatepb.GlossaryInputConfig{
				Source: &translatepb.GlossaryInputConfig_GcsSource{
					GcsSource: &translatepb.GcsSource{
						InputUri: glossaryInputURI,
					},
				},
			},
		},
	}

	// The CreateGlossary operation is async.
	op, err := client.CreateGlossary(ctx, req)
	if err != nil {
		return fmt.Errorf("CreateGlossary: %w", err)
	}
	fmt.Fprintf(w, "Processing operation name: %q\n", op.Name())

	resp, err := op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("Wait: %w", err)
	}

	fmt.Fprintf(w, "Created: %v\n", resp.GetName())
	fmt.Fprintf(w, "Input URI: %v\n", resp.InputConfig.GetGcsSource().GetInputUri())

	return nil
}

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Java Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.translate.v3.CreateGlossaryMetadata;
import com.google.cloud.translate.v3.CreateGlossaryRequest;
import com.google.cloud.translate.v3.GcsSource;
import com.google.cloud.translate.v3.Glossary;
import com.google.cloud.translate.v3.GlossaryInputConfig;
import com.google.cloud.translate.v3.GlossaryName;
import com.google.cloud.translate.v3.LocationName;
import com.google.cloud.translate.v3.TranslationServiceClient;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutionException;

public class CreateGlossary {

  public static void createGlossary() throws InterruptedException, ExecutionException, IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR-PROJECT-ID";
    String glossaryId = "your-glossary-display-name";
    List<String> languageCodes = new ArrayList<>();
    languageCodes.add("your-language-code");
    String inputUri = "gs://your-gcs-bucket/path/to/input/file.txt";
    createGlossary(projectId, glossaryId, languageCodes, inputUri);
  }

  // Create a equivalent term sets glossary
  // https://cloud.google.com/translate/docs/advanced/glossary#format-glossary
  public static void createGlossary(
      String projectId, String glossaryId, List<String> languageCodes, String inputUri)
      throws IOException, ExecutionException, InterruptedException {

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (TranslationServiceClient client = TranslationServiceClient.create()) {
      // Supported Locations: `global`, [glossary location], or [model location]
      // Glossaries must be hosted in `us-central1`
      // Custom Models must use the same location as your model. (us-central1)
      String location = "us-central1";
      LocationName parent = LocationName.of(projectId, location);
      GlossaryName glossaryName = GlossaryName.of(projectId, location, glossaryId);

      // Supported Languages: https://cloud.google.com/translate/docs/languages
      Glossary.LanguageCodesSet languageCodesSet =
          Glossary.LanguageCodesSet.newBuilder().addAllLanguageCodes(languageCodes).build();

      // Configure the source of the file from a GCS bucket
      GcsSource gcsSource = GcsSource.newBuilder().setInputUri(inputUri).build();
      GlossaryInputConfig inputConfig =
          GlossaryInputConfig.newBuilder().setGcsSource(gcsSource).build();

      Glossary glossary =
          Glossary.newBuilder()
              .setName(glossaryName.toString())
              .setLanguageCodesSet(languageCodesSet)
              .setInputConfig(inputConfig)
              .build();

      CreateGlossaryRequest request =
          CreateGlossaryRequest.newBuilder()
              .setParent(parent.toString())
              .setGlossary(glossary)
              .build();

      // Start an asynchronous request
      OperationFuture<Glossary, CreateGlossaryMetadata> future =
          client.createGlossaryAsync(request);

      System.out.println("Waiting for operation to complete...");
      Glossary response = future.get();
      System.out.println("Created Glossary.");
      System.out.printf("Glossary name: %s\n", response.getName());
      System.out.printf("Entry count: %s\n", response.getEntryCount());
      System.out.printf("Input URI: %s\n", response.getInputConfig().getGcsSource().getInputUri());
    }
  }
}

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const glossaryId = 'your-glossary-display-name';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function createGlossary() {
  // Construct glossary
  const glossary = {
    languageCodesSet: {
      languageCodes: ['en', 'es'],
    },
    inputConfig: {
      gcsSource: {
        inputUri: 'gs://cloud-samples-data/translation/glossary.csv',
      },
    },
    name: `projects/${projectId}/locations/${location}/glossaries/${glossaryId}`,
  };

  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    glossary: glossary,
  };

  // Create glossary using a long-running operation
  const [operation] = await translationClient.createGlossary(request);

  // Wait for the operation to complete
  await operation.promise();

  console.log('Created glossary:');
  console.log(`InputUri ${request.glossary.inputConfig.gcsSource.inputUri}`);
}

createGlossary();

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

from google.cloud import translate_v3 as translate

def create_glossary(
    project_id: str = "YOUR_PROJECT_ID",
    input_uri: str = "YOUR_INPUT_URI",
    glossary_id: str = "YOUR_GLOSSARY_ID",
    timeout: int = 180,
) -> translate.Glossary:
    """
    Create a equivalent term sets glossary. Glossary can be words or
    short phrases (usually fewer than five words).
    https://cloud.google.com/translate/docs/advanced/glossary#format-glossary
    """
    client = translate.TranslationServiceClient()

    # Supported language codes: https://cloud.google.com/translate/docs/languages
    source_lang_code = "en"
    target_lang_code = "ja"
    location = "us-central1"  # The location of the glossary

    name = client.glossary_path(project_id, location, glossary_id)
    language_codes_set = translate.types.Glossary.LanguageCodesSet(
        language_codes=[source_lang_code, target_lang_code]
    )

    gcs_source = translate.types.GcsSource(input_uri=input_uri)

    input_config = translate.types.GlossaryInputConfig(gcs_source=gcs_source)

    glossary = translate.types.Glossary(
        name=name, language_codes_set=language_codes_set, input_config=input_config
    )

    parent = f"projects/{project_id}/locations/{location}"
    # glossary is a custom dictionary Translation API uses
    # to translate the domain-specific terminology.
    operation = client.create_glossary(parent=parent, glossary=glossary)

    result = operation.result(timeout)
    print(f"Created: {result.name}")
    print(f"Input Uri: {result.input_config.gcs_source.input_uri}")

    return result

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Status operasi

Membuat referensi glosarium adalah operasi yang berjalan lama, sehingga mungkin perlu durasi yang cukup lama untuk menyelesaikannya. Anda dapat memeriksa status operasi ini untuk melihat apakah operasi telah selesai, atau Anda dapat membatalkan operasi.

Untuk mengetahui informasi selengkapnya, silakan melihat Operasi yang berjalan lama.

Menggunakan glosarium

Menerjemahkan teks dengan glosarium

Di Cloud Translation - Advanced, Anda secara eksplisit menentukan model terjemahan yang akan digunakan untuk menerjemahkan teks. Anda juga dapat mengidentifikasi glosarium yang akan digunakan untuk terminologi khusus domain.

REST

Contoh ini menerjemahkan teks menggunakan model NMT dan glosarium default.

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda.
  • glossary-id: ID glosarium Anda, seperti my-en-ru-glossary.
  • BOOLEAN: Apakah kecocokan tidak peka huruf besar/kecil. Secara default, nilainya adalah false.

Metode HTTP dan URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:translateText

Isi JSON permintaan:

{
  "sourceLanguageCode": "en",
  "targetLanguageCode": "ru",
  "contents": "Dr. Watson, please discard your trash. You've shared unsolicited email with me. Let's talk about spam and importance ranking in a confidential mode.",
  "glossaryConfig": {
    "glossary": "projects/project-number/locations/us-central1/glossaries/glossary-id",
    "ignoreCase": BOOLEAN
  }
}

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "glossaryTranslations": {
    "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со я . Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.",
    "glossaryConfig": {
      "glossary": "projects/project-number/locations/us-central1/glossaries/glossary-id",
      "ignoreCase": BOOLEAN
    }
  },
  "translations": {
    "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.",
  }
}

Kolom translations berisi terjemahan mesin reguler sebelum glosarium diterapkan; kolom glossaryTranslations berisi terjemahan setelah glosarium diterapkan.

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Go Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import (
	"context"
	"fmt"
	"io"

	translate "cloud.google.com/go/translate/apiv3"
	"cloud.google.com/go/translate/apiv3/translatepb"
)

// translateTextWithGlossary translates input text and returns translated text.
func translateTextWithGlossary(w io.Writer, projectID string, location string, sourceLang string, targetLang string, text string, glossaryID string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// sourceLang := "en"
	// targetLang := "ja"
	// text := "Hello world"
	// glossaryID := "your-glossary-id"

	ctx := context.Background()
	client, err := translate.NewTranslationClient(ctx)
	if err != nil {
		return fmt.Errorf("NewTranslationClient: %w", err)
	}
	defer client.Close()

	req := &translatepb.TranslateTextRequest{
		Parent:             fmt.Sprintf("projects/%s/locations/%s", projectID, location),
		SourceLanguageCode: sourceLang,
		TargetLanguageCode: targetLang,
		MimeType:           "text/plain", // Mime types: "text/plain", "text/html"
		Contents:           []string{text},
		GlossaryConfig: &translatepb.TranslateTextGlossaryConfig{
			Glossary: fmt.Sprintf("projects/%s/locations/%s/glossaries/%s", projectID, location, glossaryID),
		},
	}

	resp, err := client.TranslateText(ctx, req)
	if err != nil {
		return fmt.Errorf("TranslateText: %w", err)
	}

	// Display the translation for each input text provided
	for _, translation := range resp.GetGlossaryTranslations() {
		fmt.Fprintf(w, "Translated text: %v\n", translation.GetTranslatedText())
	}

	return nil
}

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Java Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import com.google.cloud.translate.v3.GlossaryName;
import com.google.cloud.translate.v3.LocationName;
import com.google.cloud.translate.v3.TranslateTextGlossaryConfig;
import com.google.cloud.translate.v3.TranslateTextRequest;
import com.google.cloud.translate.v3.TranslateTextResponse;
import com.google.cloud.translate.v3.Translation;
import com.google.cloud.translate.v3.TranslationServiceClient;
import java.io.IOException;

public class TranslateTextWithGlossary {

  public static void translateTextWithGlossary() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR-PROJECT-ID";
    // Supported Languages: https://cloud.google.com/translate/docs/languages
    String sourceLanguage = "your-source-language";
    String targetLanguage = "your-target-language";
    String text = "your-text";
    String glossaryId = "your-glossary-display-name";
    translateTextWithGlossary(projectId, sourceLanguage, targetLanguage, text, glossaryId);
  }

  // Translates a given text using a glossary.
  public static void translateTextWithGlossary(
      String projectId,
      String sourceLanguage,
      String targetLanguage,
      String text,
      String glossaryId)
      throws IOException {

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (TranslationServiceClient client = TranslationServiceClient.create()) {
      // Supported Locations: `global`, [glossary location], or [model location]
      // Glossaries must be hosted in `us-central1`
      // Custom Models must use the same location as your model. (us-central1)
      String location = "us-central1";
      LocationName parent = LocationName.of(projectId, location);

      GlossaryName glossaryName = GlossaryName.of(projectId, location, glossaryId);
      TranslateTextGlossaryConfig glossaryConfig =
          TranslateTextGlossaryConfig.newBuilder().setGlossary(glossaryName.toString()).build();

      // Supported Mime Types: https://cloud.google.com/translate/docs/supported-formats
      TranslateTextRequest request =
          TranslateTextRequest.newBuilder()
              .setParent(parent.toString())
              .setMimeType("text/plain")
              .setSourceLanguageCode(sourceLanguage)
              .setTargetLanguageCode(targetLanguage)
              .addContents(text)
              .setGlossaryConfig(glossaryConfig)
              .build();

      TranslateTextResponse response = client.translateText(request);

      // Display the translation for each input text provided
      for (Translation translation : response.getGlossaryTranslationsList()) {
        System.out.printf("Translated text: %s\n", translation.getTranslatedText());
      }
    }
  }
}

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const glossaryId = 'YOUR_GLOSSARY_ID';
// const text = 'text to translate';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();
async function translateTextWithGlossary() {
  const glossaryConfig = {
    glossary: `projects/${projectId}/locations/${location}/glossaries/${glossaryId}`,
  };
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    contents: [text],
    mimeType: 'text/plain', // mime types: text/plain, text/html
    sourceLanguageCode: 'en',
    targetLanguageCode: 'es',
    glossaryConfig: glossaryConfig,
  };

  // Run request
  const [response] = await translationClient.translateText(request);

  for (const translation of response.glossaryTranslations) {
    console.log(`Translation: ${translation.translatedText}`);
  }
}

translateTextWithGlossary();

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


from google.cloud import translate

def translate_text_with_glossary(
    text: str = "YOUR_TEXT_TO_TRANSLATE",
    project_id: str = "YOUR_PROJECT_ID",
    glossary_id: str = "YOUR_GLOSSARY_ID",
) -> translate.TranslateTextResponse:
    """Translates a given text using a glossary.

    Args:
        text: The text to translate.
        project_id: The ID of the GCP project that owns the glossary.
        glossary_id: The ID of the glossary to use.

    Returns:
        The translated text."""
    client = translate.TranslationServiceClient()
    location = "us-central1"
    parent = f"projects/{project_id}/locations/{location}"

    glossary = client.glossary_path(
        project_id, "us-central1", glossary_id  # The location of the glossary
    )

    glossary_config = translate.TranslateTextGlossaryConfig(glossary=glossary)

    # Supported language codes: https://cloud.google.com/translate/docs/languages
    response = client.translate_text(
        request={
            "contents": [text],
            "target_language_code": "ja",
            "source_language_code": "en",
            "parent": parent,
            "glossary_config": glossary_config,
        }
    )

    print("Translated text: \n")
    for translation in response.glossary_translations:
        print(f"\t {translation.translated_text}")

    return response

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Mendapatkan informasi tentang glosarium

REST

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda
  • glossary-id: ID glosarium Anda, misalnya, "my-en-to-ru-glossary"

Metode HTTP dan URL:

GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "name": "projects/project-number/locations/us-central1/glossaries/glossary-id",
  "languagePair": {
    "sourceLanguageCode": "en",
    "targetLanguageCode": "ru"
  },
  "inputConfig": {
    "gcsSource": {
  "inputUri": "gs://bucket-name/glossary-file-name"
    }
  },
  "entryCount": 9603
}

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Go Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import (
	"context"
	"fmt"
	"io"

	translate "cloud.google.com/go/translate/apiv3"
	"cloud.google.com/go/translate/apiv3/translatepb"
)

// getGlossary gets the specified glossary.
func getGlossary(w io.Writer, projectID string, location string, glossaryID string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// glossaryID := "glossary-id"

	ctx := context.Background()
	client, err := translate.NewTranslationClient(ctx)
	if err != nil {
		return fmt.Errorf("NewTranslationClient: %w", err)
	}
	defer client.Close()

	req := &translatepb.GetGlossaryRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/glossaries/%s", projectID, location, glossaryID),
	}

	resp, err := client.GetGlossary(ctx, req)
	if err != nil {
		return fmt.Errorf("GetGlossary: %w", err)
	}

	fmt.Fprintf(w, "Glossary name: %v\n", resp.GetName())
	fmt.Fprintf(w, "Entry count: %v\n", resp.GetEntryCount())
	fmt.Fprintf(w, "Input URI: %v\n", resp.GetInputConfig().GetGcsSource().GetInputUri())

	return nil
}

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Java Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import com.google.cloud.translate.v3.GetGlossaryRequest;
import com.google.cloud.translate.v3.Glossary;
import com.google.cloud.translate.v3.GlossaryName;
import com.google.cloud.translate.v3.TranslationServiceClient;
import java.io.IOException;

public class GetGlossary {

  public static void getGlossary() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR-PROJECT-ID";
    String glossaryId = "your-glossary-display-name";
    getGlossary(projectId, glossaryId);
  }

  // Get a particular glossary based on the glossary ID
  public static void getGlossary(String projectId, String glossaryId) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (TranslationServiceClient client = TranslationServiceClient.create()) {
      // Supported Locations: `global`, [glossary location], or [model location]
      // Glossaries must be hosted in `us-central1`
      // Custom Models must use the same location as your model. (us-central1)
      GlossaryName glossaryName = GlossaryName.of(projectId, "us-central1", glossaryId);
      GetGlossaryRequest request =
          GetGlossaryRequest.newBuilder().setName(glossaryName.toString()).build();

      Glossary response = client.getGlossary(request);

      System.out.printf("Glossary name: %s\n", response.getName());
      System.out.printf("Entry count: %s\n", response.getEntryCount());
      System.out.printf("Input URI: %s\n", response.getInputConfig().getGcsSource().getInputUri());
    }
  }
}

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const glossaryId = 'YOUR_GLOSSARY_ID';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function getGlossary() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    name: `projects/${projectId}/locations/${location}/glossaries/${glossaryId}`,
  };

  // Get glossary
  const [response] = await translationClient.getGlossary(request);

  console.log(`Glossary name: ${response.name}`);
  console.log(`Entry count: ${response.entryCount}`);
  console.log(`Input URI: ${response.inputConfig.gcsSource.inputUri}`);
}

getGlossary();

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

from google.cloud import translate_v3 as translate

def get_glossary(
    project_id: str = "YOUR_PROJECT_ID", glossary_id: str = "YOUR_GLOSSARY_ID"
) -> translate.Glossary:
    """Get a particular glossary based on the glossary ID.

    Args:
        project_id: The GCP project ID.
        glossary_id: The ID of the glossary to retrieve.

    Returns:
        The glossary.
    """
    client = translate.TranslationServiceClient()

    name = client.glossary_path(project_id, "us-central1", glossary_id)

    response = client.get_glossary(name=name)
    print(f"Glossary name: {response.name}")
    print(f"Entry count: {response.entry_count}")
    print(f"Input URI: {response.input_config.gcs_source.input_uri}")

    return response

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Membuat daftar glosarium

Sebuah project dapat menyertakan banyak glosarium. Bagian ini menjelaskan cara mengambil daftar glosarium yang tersedia untuk project tertentu.

REST

Contoh ini menampilkan daftar semua glosarium yang terkait dengan project yang ditentukan.

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda

Metode HTTP dan URL:

GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "glossaries": [
    {
      "name": "projects/project-number/locations/us-central1/glossaries/glossary-id",
      "languagePair": {
        "sourceLanguageCode": "en",
        "targetLanguageCode": "ru"
      },
      "inputConfig": {
        "gcsSource": {
          "inputUri": "gs://bucket-name/glossary-file-name"
        }
      },
      "entryCount": 9603
    },
    ...
  ]
}

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Go Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import (
	"context"
	"fmt"
	"io"

	translate "cloud.google.com/go/translate/apiv3"
	"cloud.google.com/go/translate/apiv3/translatepb"
	"google.golang.org/api/iterator"
)

// listGlossaries gets the specified glossary.
func listGlossaries(w io.Writer, projectID string, location string) error {
	// projectID := "my-project-id"
	// location := "us-central1"

	ctx := context.Background()
	client, err := translate.NewTranslationClient(ctx)
	if err != nil {
		return fmt.Errorf("NewTranslationClient: %w", err)
	}
	defer client.Close()

	req := &translatepb.ListGlossariesRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, location),
	}

	it := client.ListGlossaries(ctx, req)

	// Iterate over all results
	for {
		glossary, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("ListGlossaries.Next: %w", err)
		}
		fmt.Fprintf(w, "Name: %v\n", glossary.GetName())
		fmt.Fprintf(w, "Entry count: %v\n", glossary.GetEntryCount())
		fmt.Fprintf(w, "Input URI: %v\n", glossary.GetInputConfig().GetGcsSource().GetInputUri())
		for _, languageCode := range glossary.GetLanguageCodesSet().GetLanguageCodes() {
			fmt.Fprintf(w, "Language code: %v\n", languageCode)
		}
		if languagePair := glossary.GetLanguagePair(); languagePair != nil {
			fmt.Fprintf(w, "Language pair: %v, %v\n",
				languagePair.GetSourceLanguageCode(), languagePair.GetTargetLanguageCode())
		}
	}

	return nil
}

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Java Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import com.google.cloud.translate.v3.Glossary;
import com.google.cloud.translate.v3.ListGlossariesRequest;
import com.google.cloud.translate.v3.LocationName;
import com.google.cloud.translate.v3.TranslationServiceClient;
import java.io.IOException;

public class ListGlossaries {

  public static void listGlossaries() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR-PROJECT-ID";
    listGlossaries(projectId);
  }

  // List all the glossaries in a specified location
  public static void listGlossaries(String projectId) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (TranslationServiceClient client = TranslationServiceClient.create()) {
      // Supported Locations: `global`, [glossary location], or [model location]
      // Glossaries must be hosted in `us-central1`
      // Custom Models must use the same location as your model. (us-central1)
      LocationName parent = LocationName.of(projectId, "us-central1");
      ListGlossariesRequest request =
          ListGlossariesRequest.newBuilder().setParent(parent.toString()).build();

      for (Glossary responseItem : client.listGlossaries(request).iterateAll()) {
        System.out.printf("Glossary name: %s\n", responseItem.getName());
        System.out.printf("Entry count: %s\n", responseItem.getEntryCount());
        System.out.printf(
            "Input URI: %s\n", responseItem.getInputConfig().getGcsSource().getInputUri());
      }
    }
  }
}

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function listGlossaries() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
  };

  // Run request
  const [response] = await translationClient.listGlossaries(request);

  for (const glossary of response) {
    console.log(`Name: ${glossary.name}`);
    console.log(`Entry count: ${glossary.entryCount}`);
    console.log(`Input uri: ${glossary.inputConfig.gcsSource.inputUri}`);
    for (const languageCode of glossary.languageCodesSet.languageCodes) {
      console.log(`Language code: ${languageCode}`);
    }
  }
}

listGlossaries();

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

from google.cloud import translate

def list_glossaries(project_id: str = "YOUR_PROJECT_ID") -> translate.Glossary:
    """List Glossaries.

    Args:
        project_id: The GCP project ID.

    Returns:
        The glossary.
    """
    client = translate.TranslationServiceClient()

    location = "us-central1"

    parent = f"projects/{project_id}/locations/{location}"

    # Iterate over all results
    for glossary in client.list_glossaries(parent=parent):
        print(f"Name: {glossary.name}")
        print(f"Entry count: {glossary.entry_count}")
        print(f"Input uri: {glossary.input_config.gcs_source.input_uri}")

        # Note: You can create a glossary using one of two modes:
        # language_code_set or language_pair. When listing the information for
        # a glossary, you can only get information for the mode you used
        # when creating the glossary.
        for language_code in glossary.language_codes_set.language_codes:
            print(f"Language code: {language_code}")

    return glossary

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Memperbarui glosarium

Anda dapat memperbarui glosarium untuk mengubah namanya atau mengganti semua entrinya dengan file input glosarium baru. Jika perlu melakukan rollback pada perubahan yang dibuat ke entri glosarium, Anda harus menggunakan file glosarium asli untuk menggantikan glosarium yang diubah.

REST

Untuk memperbarui glosarium, kirim permintaan PATCH dengan metode glossary.patch. Contoh berikut memperbarui glosarium kumpulan padanan istilah. Gunakan metode daftar untuk menemukan ID glosarium tertentu.

Parameter kueri update_mask menentukan apakah Anda memperbarui file input glosarium, nama tampilan glosarium, atau keduanya. Setidaknya satu parameter mask pembaruan diperlukan.

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda.
  • LOCATION: Region tempat glosarium yang akan diperbarui berada, seperti us-central1.
  • GLOSSARY_ID: ID glosarium yang sudah ada.
  • LANGUAGE_CODE: Kode bahasa yang menentukan bahasa untuk glosarium kumpulan padanan istilah ini.
  • GLOSSARY_FILE_PATH: Lokasi dan nama file dari file input glosarium Anda.

Metode HTTP dan URL:

PATCH https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID?update_mask=input_config&update_mask=display_name

Isi JSON permintaan:

{
  "name":"projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID",
  "languageCodesSet": {
    "languageCodes": ["LANGUAGE_CODE", ...]
  },
  "inputConfig": {
    "gcsSource": {
      "inputUri": "gs://GLOSSARY_FILE_PATH"
    }
  }
}

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.UpdateGlossaryMetadata",
    "glossary": {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID",
      "languageCodesSet": {
        "languageCodes": ["LANGUAGE_CODE", ...]
      },
      "inputConfig": {
        "gcsSource": {
        "inputUri": "gs://GLOSSARY_FILE_PATH"
        }
      },
      "entryCount": NUMBER_OF_ENTRIES,
      "submitTime": "2022-04-22T23:16:30.628806944Z",
      "endTime": "2022-04-22T23:41:15.115797Z",
      "displayName": "GLOSSARY_ID"
    },
    "state": "RUNNING",
    "submitTime": "2022-04-22T23:50:24.337964527Z"
  }
}

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Menghapus glosarium

Contoh berikut akan menghapus glosarium.

REST

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda
  • glossary-id: ID glosarium Anda

Metode HTTP dan URL:

DELETE https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan menerima kode status berhasil (2xx) dan respons kosong.

Go

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Go Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import (
	"context"
	"fmt"
	"io"

	translate "cloud.google.com/go/translate/apiv3"
	"cloud.google.com/go/translate/apiv3/translatepb"
)

// deleteGlossary deletes a glossary.
func deleteGlossary(w io.Writer, projectID string, location string, glossaryID string) error {
	// projectID := "my-project-id"
	// location := "us-central1"
	// glossaryID := "glossary-id"

	ctx := context.Background()
	client, err := translate.NewTranslationClient(ctx)
	if err != nil {
		return fmt.Errorf("NewTranslationClient: %w", err)
	}
	defer client.Close()

	req := &translatepb.DeleteGlossaryRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/glossaries/%s", projectID, location, glossaryID),
	}

	// The DeleteGlossary operation is async.
	op, err := client.DeleteGlossary(ctx, req)
	if err != nil {
		return fmt.Errorf("DeleteGlossary: %w", err)
	}
	fmt.Fprintf(w, "Processing operation name: %q\n", op.Name())

	resp, err := op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("Wait: %w", err)
	}

	fmt.Fprintf(w, "Deleted: %v\n", resp.GetName())

	return nil
}

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Java Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.translate.v3.DeleteGlossaryMetadata;
import com.google.cloud.translate.v3.DeleteGlossaryRequest;
import com.google.cloud.translate.v3.DeleteGlossaryResponse;
import com.google.cloud.translate.v3.GlossaryName;
import com.google.cloud.translate.v3.TranslationServiceClient;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

public class DeleteGlossary {

  public static void deleteGlossary() throws InterruptedException, ExecutionException, IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "YOUR-PROJECT-ID";
    String glossaryId = "your-glossary-display-name";
    deleteGlossary(projectId, glossaryId);
  }

  // Delete a specific glossary based on the glossary ID
  public static void deleteGlossary(String projectId, String glossaryId)
      throws InterruptedException, ExecutionException, IOException {

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (TranslationServiceClient client = TranslationServiceClient.create()) {
      // Supported Locations: `global`, [glossary location], or [model location]
      // Glossaries must be hosted in `us-central1`
      // Custom Models must use the same location as your model. (us-central1)
      GlossaryName glossaryName = GlossaryName.of(projectId, "us-central1", glossaryId);
      DeleteGlossaryRequest request =
          DeleteGlossaryRequest.newBuilder().setName(glossaryName.toString()).build();

      // Start an asynchronous request
      OperationFuture<DeleteGlossaryResponse, DeleteGlossaryMetadata> future =
          client.deleteGlossaryAsync(request);

      System.out.println("Waiting for operation to complete...");
      DeleteGlossaryResponse response = future.get();
      System.out.format("Deleted Glossary: %s\n", response.getName());
    }
  }
}

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Node.js Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const glossaryId = 'YOUR_GLOSSARY_ID';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function deleteGlossary() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    name: `projects/${projectId}/locations/${location}/glossaries/${glossaryId}`,
  };

  // Delete glossary using a long-running operation
  const [operation] = await translationClient.deleteGlossary(request);

  // Wait for operation to complete.
  const [response] = await operation.promise();

  console.log(`Deleted glossary: ${response.name}`);
}

deleteGlossary();

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Cloud Translation menggunakan library klien. Untuk mengetahui informasi selengkapnya, silakan melihat dokumentasi referensi API Python Cloud Translation.

Untuk melakukan autentikasi ke Cloud Translation, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, silakan melihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

from google.cloud import translate_v3 as translate

def delete_glossary(
    project_id: str = "YOUR_PROJECT_ID",
    glossary_id: str = "YOUR_GLOSSARY_ID",
    timeout: int = 180,
) -> translate.Glossary:
    """Delete a specific glossary based on the glossary ID.

    Args:
        project_id: The ID of the GCP project that owns the glossary.
        glossary_id: The ID of the glossary to delete.
        timeout: The timeout for this request.

    Returns:
        The glossary that was deleted.
    """
    client = translate.TranslationServiceClient()

    name = client.glossary_path(project_id, "us-central1", glossary_id)

    operation = client.delete_glossary(name=name)
    result = operation.result(timeout)
    print(f"Deleted: {result.name}")

    return result

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Mengelola entri glosarium

Entri glosarium memetakan istilah dalam satu bahasa ke istilah dalam bahasa lain. Anda dapat menambahkan entri baru ke glosarium, membuat daftar semua entri untuk glosarium yang sudah ada, atau mengubah entri yang sudah ada.

Membuat entri baru

Buat entri baru untuk menambahkan istilah ke glosarium yang sudah ada. Untuk glosarium searah, berikan pasangan istilah, dengan satu istilah dalam bahasa sumber dan istilah lainnya dalam target bahasa. Untuk glosarium kumpulan padanan istilah, berikan kumpulan istilah, dengan setiap item dalam kumpulan menentukan istilah dan kode bahasanya.

REST

Contoh berikut membuat entri untuk glosarium kumpulan padanan istilah. Anda hanya dapat membuat satu entri per permintaan. Untuk mengetahui informasi selengkapnya, silakan melihat metode glossaryEntries.create.

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda.
  • LOCATION: Region tempat glosarium yang akan diperbarui berada, seperti us-central1.
  • GLOSSARY_ID: ID glosarium yang sudah ada.
  • LANGUAGE_CODE: Kode bahasa yang menentukan bahasa istilah.
  • TERM: Istilah yang akan ditambahkan ke glosarium.
  • DESCRIPTION: Informasi tentang entri glosarium.

Metode HTTP dan URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries

Isi JSON permintaan:

{
  termsSet: {
   terms: {
     languageCode: "LANGUAGE_CODE",
     text: "TERM"
    },
    ...
  },
  description: "DESCRIPTION"
}

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID",
  "termsSet": {
    "terms": [
      {
        "languageCode": "LANGUAGE_CODE",
        "text": "TERM"
      },
      ...
    ]
  },
  "description": "DESCRIPTION"
}

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Membuat daftar entri glosarium

Buat daftar semua entri untuk glosarium yang sudah ada. Tindakan ini akan berguna jika, misalnya, Anda ingin memeriksa istilah dan bahasa apa yang ada dalam glosarium tertentu.

REST

Untuk membuat daftar semua entri glosarium, kirim permintaan GET dengan metode glossaryEntries.list.

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda.
  • LOCATION: Region tempat glosarium yang akan diperbarui berada, seperti us-central1.
  • GLOSSARY_ID: ID glosarium yang sudah ada.

Metode HTTP dan URL:

GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "glossaryEntries": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID",
      "termsSet": {
        "terms": [
          {
            "languageCode": "LANGUAGE_CODE",
            "text": "TERM"
          },
        ...
        ]
      },
      "description": "DESCRIPTION"
    },
    ...
  ]
}

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Mendapatkan entri glosarium

Dapatkan satu entri untuk melihat informasinya.

REST

Untuk mendapatkan satu entri glosarium, kirim permintaan GET dengan metode glossaryEntries.get. Gunakan metode membuat daftar untuk menemukan ID entri tertentu.

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda.
  • LOCATION: Region tempat glosarium yang akan diperbarui berada, seperti us-central1.
  • GLOSSARY_ID: ID glosarium yang sudah ada.
  • GLOSSARY_ENTRY_ID: ID entri glosarium yang sudah ada.

Metode HTTP dan URL:

GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID",
  "termsSet": {
    "terms": [
      {
        "languageCode": "LANGUAGE_CODE",
        "text": "TERM"
      },
      ...
    ]
  },
  "description": "DESCRIPTION"
}

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Memperbarui entri glosarium

Anda dapat memperbarui satu entri atau mengganti semua entri dalam glosarium. Untuk mengganti semua entri, silakan melihat memperbarui glosarium.

Untuk mengubah entri dalam glosarium searah, berikan pasangan istilah, dengan satu istilah dalam bahasa sumber dan istilah satunya lagi dalam target bahasa. Untuk glosarium kumpulan padanan istilah, berikan kumpulan istilah, dengan setiap item dalam kumpulan menentukan istilah dan kode bahasanya.

REST

Contoh berikut memperbarui entri untuk glosarium kumpulan padanan istilah. Untuk informasi selengkapnya, silakan melihat metode glossaryEntries.patch.

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda.
  • LOCATION: Region tempat glosarium yang akan diperbarui berada, seperti us-central1.
  • GLOSSARY_ID: ID glosarium yang sudah ada yang berisi entri yang akan diperbarui.
  • GLOSSARY_ENTRY_ID: ID entri glosarium yang akan diperbarui.
  • LANGUAGE_CODE: Kode bahasa yang menentukan bahasa istilah.
  • TERM: Istilah yang akan diperbarui.
  • DESCRIPTION: Informasi tentang entri glosarium.

Metode HTTP dan URL:

PATCH https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID

Isi JSON permintaan:

{
  termsSet: {
   terms: {
     languageCode: "LANGUAGE_CODE",
     text: "TERM"
    },
    ...
  },
  description: "DESCRIPTION"
}

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID",
  "termsSet": {
    "terms": [
      {
        "languageCode": "LANGUAGE_CODE",
        "text": "TERM"
      },
      ...
    ]
  },
  "description": "DESCRIPTION"
}

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Menghapus entri glosarium

Hapus satu entri glosarium.

REST

Untuk menghapus satu entri glosarium, kirim permintaan DELETE dengan metode glossaryEntries.delete. Gunakan metode membuat daftar untuk menemukan ID entri tertentu.

Sebelum menggunakan data permintaan apa pun, ganti nilai berikut ini:

  • PROJECT_NUMBER_OR_ID: ID numerik atau alfanumerik untuk project Google Cloud Anda.
  • LOCATION: Region tempat glosarium yang akan diperbarui berada, seperti us-central1.
  • GLOSSARY_ID: ID glosarium yang sudah ada yang berisi entri yang akan dihapus.
  • GLOSSARY_ENTRY_ID: ID entri glosarium yang akan dihapus.

Metode HTTP dan URL:

DELETE https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID

Untuk mengirim permintaan, luaskan salah satu opsi berikut:

Anda akan menerima kode status berhasil (2xx) dan respons kosong.

Bahasa tambahan

C# : Ikuti Petunjuk penyiapan C# di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk .NET.

PHP : Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk PHP.

Ruby : Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu buka Dokumentasi referensi Cloud Translation untuk Ruby.

Referensi tambahan

  • Untuk mendapatkan bantuan terkait cara menyelesaikan masalah atau error umum, silakan melihat halaman Pemecahan masalah.