Menemukan bahasa yang didukung (Dasar)

Dokumen ini menjelaskan cara menggunakan Cloud Translation API (v2) untuk mencantumkan bahasa yang didukung.

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, lihat halaman Penyiapan.

Membuat daftar bahasa yang didukung

REST

Untuk mendapatkan daftar semua bahasa yang didukung, buat permintaan GET ke endpoint https://translation.googleapis.com/language/translate/v2/languages. Berikut ini contoh permintaan GET yang menggunakan curl dan PowerShell. Contoh ini menggunakan token akses untuk akun layanan yang disiapkan bagi project menggunakan Google Cloud CLI. Untuk mendapatkan petunjuk tentang cara menginstal gcloud CLI, menyiapkan project dengan akun layanan, dan mendapatkan token akses, lihat halaman Penyiapan.

Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:

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

Metode HTTP dan URL:

GET https://translation.googleapis.com/language/translate/v2/languages

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "languages": [
    {
      "language": "en"
    },
    {
      "language": "fr"
    },
    {
      "language": "zh-CN"
    }
  ]
}

Kueri ini menampilkan kode bahasa ISO-639 untuk bahasa yang didukung. Beberapa kode bahasa juga menyertakan kode negara, seperti zh-CN atau zh-TW. Daftar ini diurutkan berdasarkan abjad berdasarkan kode bahasa. Contoh di atas telah dipersingkat karena keterbatasan ruang.

Go

import (
	"context"
	"fmt"
	"io"

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

func listSupportedLanguages(w io.Writer, targetLanguage string) error {
	// targetLanguage := "th"
	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 fmt.Errorf("translate.NewClient: %w", err)
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return fmt.Errorf("SupportedLanguages: %w", err)
	}

	for _, lang := range langs {
		fmt.Fprintf(w, "%q: %s\n", lang.Tag, lang.Name)
	}

	return nil
}

Java

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

List<Language> languages = translate.listSupportedLanguages();

for (Language language : languages) {
  System.out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
}

Node.js

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

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

async function listLanguages() {
  // Lists available translation language with their names in English (the default).
  const [languages] = await translate.getLanguages();

  console.log('Languages:');
  languages.forEach(language => console.log(language));
}

listLanguages();

Python

def list_languages() -> dict:
    """Lists all available languages."""
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    results = translate_client.get_languages()

    for language in results:
        print("{name} ({language})".format(**language))

    return results

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 bahasa yang didukung dengan nama target bahasa

REST

Berikut adalah contoh lain yang menampilkan daftar bahasa yang didukung. Nama bahasa yang ditampilkan ditulis dalam target bahasa yang ditentukan. Daftar yang ditampilkan diurutkan menurut abjad sesuai dengan target bahasa.

Untuk mencantumkan bahasa yang didukung dalam bahasa target, buat permintaan POST dan berikan JSON yang mengidentifikasi target bahasa dalam isi permintaan. Berikut menunjukkan contoh permintaan POST menggunakan curl atau PowerShell.

Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:

  • 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/languages

Isi JSON permintaan:

{
    "target": "zh-TW"
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "data": {
    "languages": [
      {
        "language": "zh-CN",
        "name": "中文(簡體)"
      },
      {
        "language": "fr",
        "name": "法文"
      },
      {
        "language": "en",
        "name": "英文"
      }
    ]
  }
}

Dalam hal ini, kueri akan menampilkan kode bahasa yang sama seperti di atas, beserta string name yang berisi nama bahasa yang ditulis dalam bahasa target, zh-TW. Contoh di atas telah dipersingkat karena keterbatasan ruang.

Go

import (
	"context"
	"fmt"
	"io"

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

func listSupportedLanguages(w io.Writer, targetLanguage string) error {
	// targetLanguage := "th"
	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 fmt.Errorf("translate.NewClient: %w", err)
	}
	defer client.Close()

	langs, err := client.SupportedLanguages(ctx, lang)
	if err != nil {
		return fmt.Errorf("SupportedLanguages: %w", err)
	}

	for _, lang := range langs {
		fmt.Fprintf(w, "%q: %s\n", lang.Tag, lang.Name)
	}

	return nil
}

Java

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

List<Language> languages =
    translate.listSupportedLanguages(Translate.LanguageListOption.targetLanguage("es"));

for (Language language : languages) {
  System.out.printf("Name: %s, Code: %s\n", language.getName(), language.getCode());
}

Node.js

// 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 line before running the sample.
 */
// const target = 'The target language for language names, e.g. ru';

async function listLanguagesWithTarget() {
  // Lists available translation language with their names in a target language
  const [languages] = await translate.getLanguages(target);

  console.log('Languages:');
  languages.forEach(language => console.log(language));
}

listLanguagesWithTarget();

Python

def list_languages_with_target(target: str) -> dict:
    """Lists all available languages and localizes them to 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()

    results = translate_client.get_languages(target_language=target)

    for language in results:
        print("{name} ({language})".format(**language))

    return results

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.