Dipublikasikan: 12 November 2024
Gunakan Translator API di Chrome untuk menerjemahkan teks di browser, menggunakan model AI lokal.
Situs Anda mungkin sudah menawarkan konten situs dalam beberapa bahasa, agar dapat diakses oleh audiens global. Dengan Translator API, pengguna dapat berkontribusi dalam bahasa pertama 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 ditampilkan kepada pengguna. Dengan menjalankan terjemahan pada klien, Anda menghemat waktu yang dibutuhkan oleh perjalanan server dan biaya hosting layanan terjemahan.
Ketersediaan
- Bergabunglah dengan uji coba origin Translator API, yang berjalan di Chrome 131 hingga 137, untuk menguji API dengan pengguna sungguhan dalam produksi. Uji coba origin mengaktifkan fitur ini untuk semua pengguna di origin Anda di Chrome. Pelajari cara memulai uji coba origin.
- Ikuti penerapan kami di ChromeStatus.
- Proposal Translator API terbuka untuk diskusi.
- Bergabunglah dengan program pratinjau awal untuk melihat sekilas API AI bawaan baru dan akses ke diskusi di mailing list kami.
Meskipun bahasa target yang dipilih selalu diketahui, dalam beberapa situasi, bahasa sumber mungkin tidak diketahui, misalnya, dengan konten buatan pengguna. Dalam kasus tersebut, proposal Translator API mencakup Translator API dan Language Detector API, yang juga tersedia dalam uji coba origin. Daftar ke uji coba asal untuk menggunakan API ini secara bersamaan.
Deteksi fitur
Untuk menentukan apakah Translator API didukung, jalankan cuplikan deteksi fitur berikut.
if ('translation' in self && 'createTranslator' in self.translation) {
// The Translator API is supported.
}
Memeriksa dukungan pasangan bahasa
Terjemahan dikelola dengan paket bahasa, yang didownload sesuai permintaan. Paket bahasa ibarat kamus untuk bahasa tertentu. Paket ini disambungkan dengan
fungsi canTranslate()
asinkron, yang memungkinkan Anda menentukan apakah
pasangan bahasa didukung.
Fungsi canTranslate()
memerlukan parameter options
dengan dua kolom:
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.
await translation.canTranslate({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
// 'readily'
Fungsi canTranslate()
dapat menampilkan hasil berikut:
no
: Browser ini tidak dapat menerjemahkan seperti yang diminta.readily
: Browser dapat menerjemahkan sesuai permintaan.after-download
: Browser dapat melakukan terjemahan, tetapi hanya setelah mendownload model atau paket bahasa yang relevan.
Anda dapat memproses progres download menggunakan peristiwa downloadprogress
:
translator.ondownloadprogress = progressEvent => {
updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};
Jika download gagal, peristiwa downloadprogress
akan berhenti ditampilkan dan promise ready
akan ditolak.
Membuat dan menjalankan penerjemah
Untuk membuat penerjemah, panggil fungsi translation.createTranslator()
asinkron. Seperti canTranslate()
, parameter 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 self.translation.createTranslator({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
Setelah Anda memiliki penerjemah, panggil fungsi translate()
asinkron untuk menerjemahkan teks Anda.
await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"
Batasan dalam uji coba origin
Batasan berikut berlaku selama uji coba origin.
Pasangan bahasa yang didukung
Saat ini, hingga tiga paket bahasa dapat didownload untuk terjemahan.
Kami berkomitmen untuk memperluas rentang bahasa yang didukung dalam rilis mendatang,
sekaligus menjaga standar privasi pengguna yang tinggi. Anda dapat mengonfirmasi apakah
pasangan bahasa yang Anda butuhkan didukung dengan
fungsi canTranslate()
.
Pasangan bahasa tertentu yang jarang digunakan mungkin dapat digunakan untuk pembuatan sidik jari. Misalnya, terjemahan antara bahasa Inggris dan Spanyol lebih umum daripada antara bahasa yang kurang umum, seperti bahasa Gaelik dan Katalan. Pasangan bahasa yang kurang umum dapat dianggap sebagai titik data untuk identifikasi pengguna.
Selama uji coba origin, kami membatasi potensi pasangan bahasa yang dapat diterjemahkan untuk melindungi privasi pengguna. Pasangan bahasa harus memenuhi kriteria berikut:
- Bahasa sumber dan tujuan ditetapkan sebagai bahasa pilihan di Chrome.
- Atau, salah satu bahasa ditetapkan sebagai bahasa pilihan di Chrome, dan bahasa lainnya adalah salah satu dari bahasa populer berikut:
- Inggris (
en
) - Mandarin China (
zh
; sederhana) atau Mandarin Taiwan (zh-Hant
; tradisional) - Jepang (
ja
) - Portugis (
pt
) - Rusia (
ru
) - Spanyol (
es
) - Turki (
tr
) - Hindi (
hi
) - Vietnam (
vi
) - Bengali (
bn
)
- Inggris (
Mengabaikan pembatasan bahasa untuk pengujian lokal
Untuk pembuatan prototipe lokal, Anda dapat mengabaikan pemeriksaan ini dengan menjalankan Chrome dengan
opsi command line --disable-features=TranslationAPIAcceptLanguagesCheck
.
Atau, tetapkan chrome://flags/#translation-api
ke
Aktifkan tanpa batas paket bahasa.
Buka chrome://on-device-translation-internals/
untuk menginstal dan
meng-uninstal paket bahasa secara manual.
Terjemahan berurutan
Terjemahan diproses secara berurutan. Jika Anda mengirim teks dalam jumlah besar untuk diterjemahkan, terjemahan berikutnya akan diblokir hingga terjemahan sebelumnya selesai.
Untuk respons terbaik dari permintaan terjemahan Anda, gabungkan permintaan tersebut dan pertimbangkan untuk menampilkan antarmuka pemuatan, seperti indikator lingkaran berputar, untuk menyampaikan bahwa terjemahan sedang berlangsung.
Ketersediaan pekerja web
Selama uji coba origin, Translator API hanya didukung dari thread utama. Kami bermaksud mendukungnya di pekerja web setelah API tersedia secara luas.
Demo
Anda dapat melihat Translator API, yang digunakan bersama dengan Language Detector API, di Translator dan Language Detector API playground.
Upaya standardisasi
Kami sedang berupaya menstandarkan Translator API, untuk memastikan kompatibilitas lintas browser.
Proposal API kami menerima dukungan komunitas dan telah dipindahkan ke Grup Komunitas Inkubator Web W3C untuk diskusi lebih lanjut. Tim Chrome meminta masukan dari W3C Technical Architecture Group serta meminta posisi standar Mozilla dan WebKit.
Berpartisipasi dan memberikan masukan
Mulai uji Translator API sekarang dengan bergabung ke uji coba origin dan berikan masukan Anda. Input Anda dapat langsung memengaruhi cara kami membangun dan menerapkan versi mendatang API ini, serta semua API AI bawaan.
- Untuk memberikan masukan tentang penerapan Chrome, ajukan laporan bug atau permintaan fitur.
- Diskusikan desain Translator API di GitHub dengan memberikan komentar pada Masalah yang ada atau membuka masalah baru.
- Berpartisipasilah dalam upaya standar dengan bergabung ke Grup Komunitas Inkubator Web.