Mendeteksi bahasa (Basic)

Dokumen ini menjelaskan cara menggunakan Cloud Translation - Basic (v2) untuk mendeteksi bahasa pada suatu string.

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 mengetahui informasi selengkapnya, silakan melihat halaman Penyiapan.

Mendeteksi bahasa string teks

Anda dapat mendeteksi bahasa string teks dengan mengirimkan permintaan HTTP menggunakan URL dengan format berikut:

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

Mendeteksi bahasa pada string tunggal

REST

Untuk mendeteksi bahasa beberapa teks, buat permintaan POST dan berikan isi permintaan yang sesuai. Berikut ini contoh permintaan POST menggunakan curl atau menggunakan PowerShell. Contoh ini menggunakan token akses untuk akun layanan yang disiapkan untuk project menggunakan Google Cloud CLI. 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, 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/detect

Meminta isi JSON:

{
  "q": "Mi comida favorita es una enchilada."
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

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

{
  "data": {
    "detections": [
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "es"
        }
      ]
    ]
  }
}

Dalam respons, language adalah kode bahasa yang terdeteksi. Dua kolom lainnya, isReliable dan confidence, adalah kolom yang tidak digunakan lagi dan disertakan untuk kompatibilitas dengan versi lama; sebaiknya jangan mendasarkan keputusan atau batas kelayakan apa pun pada nilainya.

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"
)

func detectLanguage(text string) (*translate.Detection, error) {
	// text := "こんにちは世界"
	ctx := context.Background()
	client, err := translate.NewClient(ctx)
	if err != nil {
		return nil, fmt.Errorf("translate.NewClient: %w", err)
	}
	defer client.Close()
	lang, err := client.DetectLanguage(ctx, []string{text})
	if err != nil {
		return nil, fmt.Errorf("DetectLanguage: %w", err)
	}
	if len(lang) == 0 || len(lang[0]) == 0 {
		return nil, fmt.Errorf("DetectLanguage return value empty")
	}
	return &lang[0][0], 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();

List<String> texts = new LinkedList<>();
texts.add("Hello, World!");
texts.add("¡Hola Mundo!");
List<Detection> detections = translate.detect(texts);

System.out.println("Language(s) detected:");
for (Detection detection : detections) {
  System.out.printf("\t%s\n", detection);
}

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 line before running the sample.
 */
// const text = 'The text for which to detect language, e.g. Hello, world!';

// Detects the language. "text" can be a string for detecting the language of
// a single piece of text, or an array of strings for detecting the languages
// of multiple texts.
async function detectLanguage() {
  let [detections] = await translate.detect(text);
  detections = Array.isArray(detections) ? detections : [detections];
  console.log('Detections:');
  detections.forEach(detection => {
    console.log(`${detection.input} => ${detection.language}`);
  });
}

detectLanguage();

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 detect_language(text: str) -> dict:
    """Detects the text's language."""
    from google.cloud import translate_v2 as translate

    translate_client = translate.Client()

    # 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.detect_language(text)

    print(f"Text: {text}")
    print("Confidence: {}".format(result["confidence"]))
    print("Language: {}".format(result["language"]))

    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.

Mendeteksi bahasa lebih dari satu string

REST

Guna mendeteksi bahasa untuk lebih dari satu string, gunakan parameter q untuk menentukan setiap string. Contoh ini meneruskan dua string terpisah untuk deteksi:

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/detect

Meminta isi JSON:

{
  "q": ["Hello world", "我的名字叫傑夫"]
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

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

{
  "data": {
    "detections": [
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "en"
        }
      ],
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "zh-TW"
        }
      ]
    ]
  }
}

Di sini, respons berisi dua deteksi, dalam urutan yang sama dengan string sumber yang sesuai yang diberikan dalam permintaan.

Go

Untuk mendeteksi bahasa dari beberapa teks, sertakan beberapa string dalam irisan yang diteruskan ke metode Client#DetectLanguage yang ditampilkan dalam contoh sebelumnya.

Java

Untuk mendeteksi bahasa dari beberapa teks, cukup teruskan daftar string ke metode Translate#detect yang ditampilkan dalam contoh sebelumnya.

Node.js

Untuk mendeteksi bahasa dari beberapa teks, cukup teruskan array string ke metode Translate#detect yang ditampilkan dalam contoh sebelumnya.

Python

Untuk mendeteksi bahasa dari beberapa teks, cukup teruskan daftar string ke metode Client#detect_language yang ditampilkan dalam contoh sebelumnya.

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.

Ruby

Untuk mendeteksi bahasa dari beberapa teks, cukup teruskan beberapa string ke metode Translate#detect yang ditampilkan dalam contoh sebelumnya.

Referensi tambahan

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