Terjemahan dengan AI bawaan

Dipublikasikan: 13 November 2024, Terakhir diperbarui: 20 Mei 2025

Penjelasan Web Ekstensi Status Chrome Intent
MDN Chrome 138 Chrome 138 View Intent to Experiment

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 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 di klien, Anda menghemat waktu yang diperlukan oleh perjalanan server dan biaya hosting layanan terjemahan.

Mulai

Translator API tersedia mulai Chrome 138 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

Language Detector dan Translator API hanya berfungsi di desktop di Chrome.

Prompt API, Summarizer API, Writer API, dan Rewriter API berfungsi di Chrome jika kondisi berikut terpenuhi:

  • Sistem operasi: Windows 10 atau 11; macOS 13+ (Ventura dan seterusnya); atau Linux. Chrome untuk Android, iOS, dan ChromeOS belum didukung oleh API kami yang didukung oleh Gemini Nano.
  • Penyimpanan: Minimal 22 GB di volume yang berisi profil Chrome Anda.
  • GPU: VRAM minimal 4 GB.
  • Jaringan: Data tanpa batas atau koneksi tanpa kuota.

Persyaratan ini ada untuk Anda dalam proses pengembangan dan pengguna yang menggunakan fitur yang Anda buat.

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": Implementasi tidak mendukung terjemahan atau deteksi bahasa bahasa tertentu.
  • "downloadable": Penerapan mendukung terjemahan atau deteksi bahasa bahasa tertentu, tetapi download diperlukan untuk melanjutkan. Download mungkin merupakan model browser.
  • "downloading": Implementasi mendukung terjemahan atau deteksi bahasa bahasa tertentu. Browser sedang menyelesaikan download yang sedang berlangsung, sebagai bagian dari pembuatan objek terkait.
  • "available": Implementasi mendukung terjemahan atau deteksi bahasa bahasa tertentu dan download yang diperlukan sudah selesai.

Proses 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 mengirim teks dalam jumlah besar untuk diterjemahkan, terjemahan berikutnya akan diblokir hingga terjemahan sebelumnya selesai.

Untuk respons terbaik atas permintaan Anda, gabungkan permintaan tersebut dan tambahkan antarmuka pemuatan, seperti indikator lingkaran berputar, untuk menyampaikan bahwa terjemahan sedang berlangsung.

Demo

Anda dapat melihat Translator API, yang digunakan bersama dengan Language Detector API, di Translator dan Language Detector API playground.

Upaya standardisasi

Kami berupaya menstandarkan 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 mengetahui posisi standar mereka.

Anda dapat berpartisipasi dalam upaya standar dengan bergabung ke Grup Komunitas Inkubator Web.

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.