Menerjemahkan teks (Basic)

Dokumen ini menjelaskan cara menggunakan Cloud Translation - Basic (v2) untuk menerjemahkan teks.

Teks input dapat berupa teks biasa atau HTML. Cloud Translation - Basic tidak menerjemahkan tag HTML apa pun dalam input, hanya teks yang muncul di antara tag. Output-nya mempertahankan tag HTML (tidak diterjemahkan), dengan teks terjemahan di antara tag, selama memungkinkan karena perbedaan antara bahasa sumber dan target. Urutan tag HTML dalam output mungkin berbeda dengan urutan dalam teks input karena perubahan urutan kata dalam terjemahan.

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 guna membantu melakukan panggilan ke API. Untuk informasi selengkapnya, silakan melihat halaman Penyiapan.

Menerjemahkan teks

Bagian ini menunjukkan beberapa cara untuk meminta terjemahan dari endpoint https://translation.googleapis.com/language/translate/v2.

Menerjemahkan string input

REST

Untuk menerjemahkan teks, buat permintaan POST dan berikan JSON dalam isi permintaan yang mengidentifikasi bahasa target (target) dan teks yang akan diterjemahkan (q). Anda dapat menyediakan beberapa segmen teks untuk diterjemahkan dengan menyertakan beberapa kolom q atau daftar nilai untuk kolom q. Anda tidak boleh menyediakan lebih dari 128 segmen teks. Anda menentukan bahasa target dengan menggunakan kode ISO-639.

Berikut ini contoh permintaan POST yang menggunakan curl atau PowerShell. Contoh ini menggunakan token akses untuk akun layanan yang disiapkan untuk project menggunakan Google Cloud CLI Google Cloud. Untuk mengetahui petunjuk cara menginstal Google Cloud CLI, menyiapkan project dengan akun layanan, serta mendapatkan token akses, silakan melihat halaman Penyiapan.

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:

POST https://translation.googleapis.com/language/translate/v2

Isi JSON permintaan:

{
  "q": ["Hello world", "My name is Jeff"],
  "target": "de"
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/language/translate/v2"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/language/translate/v2" | Select-Object -Expand Content

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

{
  "data": {
    "translations": [
      {
        "translatedText": "Hallo Welt",
        "detectedSourceLanguage": "en"
      },
      {
        "translatedText": "Mein Name ist Jeff",
        "detectedSourceLanguage": "en"
      }
    ]
  }
}

Array translations berisi dua kolom translatedText dengan terjemahan yang disediakan dalam bahasa target yang diminta (de: Jerman). Terjemahan dicantumkan dalam urutan yang sama dengan array sumber yang sesuai dalam permintaan.

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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import (
	"context"
	"fmt"

	"cloud.google.com/go/translate"
	"golang.org/x/text/language"
)

func translateText(targetLanguage, text string) (string, error) {
	// text := "The Go Gopher is cute"
	ctx := context.Background()

	lang, err := language.Parse(targetLanguage)
	if err != nil {
		return "", fmt.Errorf("language.Parse: %w", err)
	}

	client, err := translate.NewClient(ctx)
	if err != nil {
		return "", err
	}
	defer client.Close()

	resp, err := client.Translate(ctx, []string{text}, lang, nil)
	if err != nil {
		return "", fmt.Errorf("Translate: %w", err)
	}
	if len(resp) == 0 {
		return "", fmt.Errorf("Translate returned empty response to text: %s", text)
	}
	return resp[0].Text, 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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

// TODO(developer): Uncomment these lines.
// import com.google.cloud.translate.*;
// Translate translate = TranslateOptions.getDefaultInstance().getService();

Translation translation = translate.translate("¡Hola Mundo!");
System.out.printf("Translated Text:\n\t%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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

// Imports the Google Cloud client library
const {Translate} = require('@google-cloud/translate').v2;

// Creates a client
const translate = new Translate();

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const text = 'The text to translate, e.g. Hello, world!';
// const target = 'The target language, e.g. ru';

async function translateText() {
  // Translates the text into the target language. "text" can be a string for
  // translating a single piece of text, or an array of strings for translating
  // multiple texts.
  let [translations] = await translate.translate(text, target);
  translations = Array.isArray(translations) ? translations : [translations];
  console.log('Translations:');
  translations.forEach((translation, i) => {
    console.log(`${text[i]} => (${target}) ${translation}`);
  });
}

translateText();

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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

def translate_text(target: str, text: str) -> dict:
    """Translates text into the target language.

    Target must be an ISO 639-1 language code.
    See https://g.co/cloud/translate/v2/translate-reference#supported_languages
    """
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    if isinstance(text, bytes):
        text = text.decode("utf-8")

    # Text can also be a sequence of strings, in which case this method
    # will return a sequence of results for each text.
    result = translate_client.translate(text, target_language=target)

    print("Text: {}".format(result["input"]))
    print("Translation: {}".format(result["translatedText"]))
    print("Detected source language: {}".format(result["detectedSourceLanguage"]))

    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.

Parameter model

Saat membuat permintaan terjemahan ke Cloud Translation - Basic, teks Anda akan diterjemahkan menggunakan model Terjemahan Mesin Neural Google (NMT). Anda tidak bisa menggunakan model lain. Untuk menggunakan model AutoML guna menerjemahkan teks, gunakan Cloud Translation - Advanced.

Coba sendiri

Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud Translation dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

Coba Cloud Translation secara gratis

Referensi lainnya

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