Dipublikasikan: 24 September 2024, Terakhir diperbarui: 20 Mei 2025
Penjelasan | Web | Ekstensi | Status Chrome | Intent |
---|---|---|---|---|
MDN | View | Maksud untuk Mengirim |
Sebelum menerjemahkan teks dari satu bahasa ke bahasa lain, Anda harus menentukan bahasa yang digunakan dalam teks yang diberikan terlebih dahulu. Sebelumnya, terjemahan memerlukan penguploadan 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 library tertentu yang melakukan hal ini dapat dikirim, library tersebut akan memerlukan resource tambahan untuk didownload.
Kapan harus menggunakan deteksi bahasa
Language Detector API terutama berguna dalam skenario berikut:
- Menentukan bahasa teks input, sehingga dapat diterjemahkan.
- Menentukan bahasa teks input, sehingga model yang benar dapat dimuat untuk tugas khusus bahasa, seperti deteksi toksisitas.
- Menentukan bahasa teks input, sehingga dapat diberi label dengan benar, misalnya, di situs jejaring sosial online.
- Menentukan bahasa teks input, sehingga antarmuka aplikasi dapat disesuaikan dengan tepat. 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
Persyaratan berikut berlaku untuk developer dan pengguna yang mengoperasikan fitur menggunakan API ini di Chrome. Browser lain mungkin memiliki persyaratan pengoperasian yang berbeda.
Language Detector API dan Translator API berfungsi di Chrome di desktop. API ini tidak berfungsi di perangkat seluler. Prompt API, Summarizer API, Writer API, dan Rewriter API berfungsi di Chrome jika persyaratan berikut terpenuhi:
- Sistem operasi: Windows 10 atau 11; macOS 13+ (Ventura dan yang lebih baru); atau Linux. Chrome untuk Android, iOS, dan ChromeOS belum didukung oleh API yang menggunakan Gemini Nano.
- Penyimpanan: Minimal 22 GB di volume yang berisi profil Chrome Anda.
- GPU: Lebih dari 4 GB VRAM.
- Jaringan: Data tanpa batas atau koneksi tanpa kuota.
Ukuran persis Gemini Nano mungkin sedikit berbeda. Untuk mengetahui ukuran saat ini, buka
chrome://on-device-internals
dan buka Status model.
Buka Jalur file yang tercantum untuk menentukan ukuran model.
Download model
Deteksi bahasa bergantung pada model yang disesuaikan untuk tugas khusus mendeteksi bahasa. Meskipun API dibuat di browser, model didownload sesuai permintaan saat situs mencoba menggunakan API untuk pertama kalinya. Di Chrome, model ini sangat kecil dibandingkan dengan model lainnya. Model ini mungkin sudah ada, karena digunakan oleh fitur Chrome lainnya.
Untuk melihat apakah model siap digunakan, panggil fungsi asinkron
LanguageDetector.availability()
dan periksa promise yang dihasilkan.
Ada tiga kemungkinan respons:
"unavailable"
: Opsi yang diminta tidak didukung atau model tidak dapat diminta."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 diselesaikan sebelum membuat sesi."available"
: Permintaan didukung, dan Anda dapat membuat sesi.
Untuk memicu download dan membuat instance detektor bahasa, panggil fungsi
LanguageDetector.create()
asinkron. Jika respons terhadap
availability()
adalah 'downloadable'
atau 'downloading'
, sebaiknya dengarkan progres download, sehingga Anda dapat memberi tahu pengguna jika download membutuhkan waktu.
Contoh berikut menunjukkan cara menginisialisasi 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. Peringkat adalah jenis machine learning, yang tujuannya adalah mengurutkan daftar item. Dalam kasus ini, Language Detector API mengurutkan bahasa dari probabilitas tertinggi hingga terendah.
Fungsi detect()
dapat menampilkan hasil pertama, jawaban yang paling mungkin, atau melakukan iterasi pada kandidat yang diberi peringkat dengan tingkat keyakinan.
Hasil 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
Bereksperimenlah dengan Language Detector API di API playground kami. Masukkan teks yang ditulis dalam berbagai bahasa di textarea.
Upaya standardisasi
Tim Chrome meminta masukan dari W3C Technical Architecture Group dan meminta Mozilla dan WebKit untuk memberikan 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.