Dipublikasikan: 13 November 2024, Terakhir diperbarui: 20 Mei 2025
Penjelasan | Web | Ekstensi | Status Chrome | Intent |
---|---|---|---|---|
MDN | View | Niat untuk Bereksperimen |
Gunakan Translator API di Chrome untuk menerjemahkan teks dengan model AI yang disediakan di browser.
Situs Anda mungkin sudah menawarkan konten situs dalam beberapa bahasa, agar dapat diakses oleh audiens global. Dengan Translator API, pengguna dapat berkontribusi dalam bahasa utama mereka. Misalnya, pengguna dapat berpartisipasi dalam chat dukungan dalam bahasa pertama mereka, dan situs Anda dapat menerjemahkannya ke dalam bahasa yang digunakan agen dukungan Anda, sebelum meninggalkan perangkat pengguna. Hal ini menciptakan pengalaman yang lancar, cepat, dan inklusif bagi semua pengguna.
Terjemahan konten di web biasanya memerlukan penggunaan layanan cloud. Pertama, konten sumber diupload ke server, yang menjalankan terjemahan ke bahasa target, lalu teks yang dihasilkan didownload dan dikembalikan kepada pengguna. Dengan menjalankan terjemahan di klien, Anda menghemat waktu yang diperlukan oleh perjalanan server dan biaya hosting layanan terjemahan.
Mulai
Translator API tersedia mulai dari Chrome 138 versi stabil. Pertama, jalankan deteksi fitur untuk melihat apakah browser mendukung Translator API.
if ('Translator' in self) {
// The Translator API is supported.
}
Meskipun Anda selalu mengetahui bahasa target untuk terjemahan, Anda mungkin tidak selalu mengetahui bahasa sumber. Dalam kasus tersebut, Anda dapat menggunakan Language Detector API.
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.
Memeriksa dukungan pasangan bahasa
Terjemahan dikelola dengan paket bahasa, yang didownload sesuai permintaan. Paket bahasa seperti kamus untuk bahasa tertentu.
sourceLanguage
: Bahasa saat ini untuk teks.targetLanguage
: Bahasa akhir yang akan digunakan untuk menerjemahkan teks.
Gunakan kode singkat bahasa BCP 47 sebagai string. Misalnya, 'es'
untuk bahasa Spanyol atau 'fr'
untuk bahasa Prancis.
const translatorCapabilities = await Translator.availability({
sourceLanguage: 'es',
targetLanguage: 'fr',
});
// 'available'
Fungsi availability()
menampilkan promise dengan nilai berikut:
"unavailable"
: Penerapan tidak mendukung terjemahan atau deteksi bahasa yang diberikan."downloadable"
: Penerapan mendukung terjemahan atau deteksi bahasa dari bahasa yang diberikan, tetapi download diperlukan untuk melanjutkan. Download mungkin berupa model browser."downloading"
: Penerapan mendukung terjemahan atau deteksi bahasa dari bahasa yang diberikan. Browser sedang menyelesaikan download yang sedang berlangsung, sebagai bagian dari pembuatan objek terkait."available"
: Penerapan mendukung terjemahan atau deteksi bahasa dari bahasa yang diberikan dan semua download yang diperlukan telah selesai.
Memproses progres download model dengan peristiwa downloadprogress
:
const translator = await Translator.create({
sourceLanguage: 'es',
targetLanguage: 'fr',
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
Jika download gagal, peristiwa downloadprogress
akan berhenti dan
promise ready
akan ditolak.
Membuat dan menjalankan penerjemah
Untuk membuat penerjemah, panggil fungsi create()
asinkron. Pengujian ini memerlukan parameter opsi dengan dua
kolom, satu untuk sourceLanguage
dan satu untuk targetLanguage
.
// Create a translator that translates from English to French.
const translator = await Translator.create({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
Setelah Anda memiliki penerjemah, panggil translate()
asinkron.
await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"
Terjemahan berurutan
Terjemahan diproses secara berurutan. Jika Anda mengirimkan teks dalam jumlah besar untuk diterjemahkan, terjemahan berikutnya akan diblokir hingga terjemahan sebelumnya selesai.
Untuk mendapatkan respons terbaik atas permintaan Anda, gabungkan permintaan tersebut dan tambahkan antarmuka pemuatan, seperti spinner, untuk menyampaikan bahwa terjemahan sedang berlangsung.
Demo
Anda dapat melihat Translator API, yang digunakan bersama dengan Language Detector API, di Translator and Language Detector API playground.
Upaya standardisasi
Kami berupaya menstandardisasi Translator API untuk memastikan kompatibilitas lintas browser.
Proposal API kami menerima dukungan komunitas dan telah dipindahkan ke W3C Web Incubator Community Group untuk didiskusikan lebih lanjut. Tim Chrome meminta masukan dari W3C Technical Architecture Group dan meminta Mozilla dan WebKit untuk memberikan posisi standar mereka.
Anda dapat berpartisipasi dalam upaya standarisasi dengan bergabung ke Web Incubator Community Group.
Berikan 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.
Untuk memberikan masukan tentang penerapan Chrome, ajukan laporan bug atau permintaan fitur.