Dipublikasikan: 24 September 2024, Terakhir diperbarui: 20 Mei 2025
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
Jalankan deteksi fitur untuk melihat apakah browser mendukung Language Detector API.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
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 menentukan apakah model siap digunakan, panggil fungsi asinkron
LanguageDetector.availability()
. Jika respons terhadap availability()
adalah downloadable
, dengarkan
progres download dan beri tahu pengguna, karena download mungkin memerlukan waktu.
Untuk memicu download dan membuat instance detektor bahasa, periksa
aktivasi pengguna. Kemudian, panggil fungsi
asinkron LanguageDetector.create()
.
const detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
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.
Permission Policy, iframe, dan Web Worker
Secara default, Language Detector API hanya tersedia untuk jendela tingkat teratas dan iframe yang memiliki origin yang sama. Akses ke API dapat didelegasikan ke iframe lintas origin
menggunakan atribut allow=""
Kebijakan Izin:
<!--
The hosting site at https://main.example.com can grant a cross-origin iframe
at https://cross-origin.example.com/ access to the Language Detector API by
setting the `allow="language-detector"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="language-detector"></iframe>
Language Detector API tidak tersedia di Web Workers. Hal ini disebabkan oleh kompleksitas dalam menetapkan dokumen yang bertanggung jawab untuk setiap pekerja guna memeriksa status Kebijakan Izin.
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.