Terjemahan dengan AI bawaan

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

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)

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.