Deteksi bahasa dengan AI bawaan

Dipublikasikan: 24 September 2024, Terakhir diperbarui: 20 Mei 2025

Penjelasan Web Ekstensi Status Chrome Intent
GitHub Di balik bendera Chrome 137 beta Di balik bendera Chrome 137 beta View Intent to Ship

Sebelum menerjemahkan teks dari satu bahasa ke bahasa lain, Anda harus menentukan bahasa yang digunakan dalam teks yang diberikan terlebih dahulu. Sebelumnya, terjemahan memerlukan upload teks ke layanan cloud, melakukan terjemahan di server, lalu mendownload hasilnya.

Language Detector API berfungsi di sisi klien, yang berarti Anda dapat melindungi privasi pengguna. Meskipun Anda dapat mengirimkan library tertentu yang melakukan hal ini, Anda memerlukan resource tambahan untuk mendownloadnya.

Kapan harus menggunakan deteksi bahasa

Language Detector API terutama berguna dalam skenario berikut:

  • Tentukan bahasa teks input, sehingga dapat diterjemahkan.
  • Menentukan bahasa teks input, sehingga model yang benar dapat dimuat untuk tugas khusus bahasa, seperti deteksi toksisitas.
  • Tentukan bahasa teks input, sehingga dapat diberi label dengan benar, misalnya, di situs jejaring sosial online.
  • Tentukan bahasa teks input, sehingga antarmuka aplikasi dapat disesuaikan sesuai kebutuhan. Misalnya, di situs Belgia hanya menampilkan antarmuka yang relevan bagi pengguna yang berbicara bahasa Prancis.

Mulai

Language Detector API tersedia mulai Chrome 138 stabil. Jalankan deteksi fitur untuk melihat apakah browser mendukung Language Detector API.

if ('LanguageDetector' in self) {
  // The Language Detector API is available.
}

Meninjau persyaratan hardware

Language Detector dan Translator API hanya berfungsi di desktop di Chrome.

Prompt API, Summarizer API, Writer API, dan Rewriter API berfungsi di Chrome jika kondisi berikut terpenuhi:

  • Sistem operasi: Windows 10 atau 11; macOS 13+ (Ventura dan seterusnya); atau Linux. Chrome untuk Android, iOS, dan ChromeOS belum didukung oleh API kami yang didukung oleh Gemini Nano.
  • Penyimpanan: Minimal 22 GB di volume yang berisi profil Chrome Anda.
  • GPU: VRAM minimal 4 GB.
  • Jaringan: Data tanpa batas atau koneksi tanpa kuota.
  • GPU: VRAM minimal 4 GB.
  • Jaringan: Data tanpa batas atau koneksi tanpa kuota.

Persyaratan ini ada untuk Anda dalam proses pengembangan dan pengguna yang menggunakan fitur yang Anda buat.

Download model

Deteksi bahasa bergantung pada model yang disesuaikan untuk tugas tertentu dalam mendeteksi bahasa. Meskipun API dibuat di browser, model didownload on-demand saat pertama kali situs mencoba menggunakan API. Di Chrome, model ini sangat kecil jika dibandingkan dengan model lain. Model ini mungkin sudah ada, karena model ini digunakan oleh fitur Chrome lainnya.

Untuk melihat apakah model siap digunakan, panggil fungsi LanguageDetector.availability() asinkron dan periksa promise yang dihasilkan. Ada tiga kemungkinan respons:

  • "unavailable": Opsi yang diminta tidak didukung atau model tidak dapat dipicu.
  • "downloadable": Permintaan didukung, tetapi download tambahan diperlukan sebelum Anda dapat membuat sesi. Download ini dapat mencakup model bahasa atau penyesuaian.
  • "downloading": Permintaan didukung dan download sedang berlangsung, yang harus selesai sebelum membuat sesi.
  • "available": Permintaan didukung, dan Anda dapat membuat sesi.

Untuk memicu download dan membuat instance pendeteksi bahasa, panggil fungsi LanguageDetector.create() asinkron. Jika respons terhadap availability() adalah 'downloadable' atau 'downloading', praktik terbaiknya adalah memproses progres download, sehingga Anda dapat memberi tahu pengguna jika download memerlukan waktu.

Contoh berikut menunjukkan cara melakukan inisialisasi pendeteksi bahasa.

const availability = await LanguageDetector.availability();

let detector;
if (availability === 'unavailable') {
  // The language detector isn't usable.
  return;
}
if (availability === 'available') {
  // The language detector can immediately be used.
  detector = await LanguageDetector.create();
} else {
  // The language detector can be used after model download.
  detector = await LanguageDetector.create({
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        console.log(`Downloaded ${e.loaded * 100}%`);
      });
    },
  });
  await detector.ready;
}

Menjalankan detektor bahasa

Language Detector API menggunakan model peringkat untuk menentukan bahasa yang paling mungkin digunakan dalam teks tertentu. Pemberian peringkat adalah jenis pembelajaran mesin, yang tujuannya adalah mengurutkan daftar item. Dalam hal ini, Language Detector API memberi peringkat bahasa dari probabilitas tertinggi ke terendah.

Fungsi detect() dapat menampilkan hasil pertama, jawaban yang paling mungkin, atau melakukan iterasi pada kandidat yang diberi peringkat dengan tingkat keyakinan. Ini ditampilkan sebagai daftar objek {detectedLanguage, confidence}. Tingkat confidence dinyatakan sebagai nilai antara 0.0 (keyakinan terendah) dan 1.0 (keyakinan tertinggi).

const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

Playground API

Lakukan eksperimen dengan Language Detector API di API playground kami. Masukkan teks yang ditulis dalam berbagai bahasa di area teks.

Upaya standardisasi

Tim Chrome meminta masukan dari W3C Technical Architecture Group dan meminta Mozilla dan WebKit untuk mengetahui posisi standar mereka.

Beri masukan

Kami ingin melihat apa yang Anda buat dengan Language Detector API. Bagikan situs dan aplikasi web Anda kepada kami di X, YouTube, dan LinkedIn.

Jika Anda memiliki masukan tentang penerapan Chrome, laporkan bug Chromium.