Yerleşik yapay zeka ile çeviri

Yayınlanma tarihi: 13 Kasım 2024, Son güncelleme tarihi: 20 Mayıs 2025

Açıklayıcı Web Uzantılar Chrome Durumu Amaç
MDN Chrome 138 Chrome 138 Görünüm Kargoya verme amacı

Tarayıcıda sağlanan yapay zeka modelleriyle metin çevirmek için Chrome'daki Translator API'yi kullanın.

Web siteniz, dünya genelindeki kitlelere erişilebilir kılmak için web sitesi içeriğini birden fazla dilde sunuyor olabilir. Translator API ile kullanıcılar, kendi dillerinde katkıda bulunabilir. Örneğin, kullanıcılar destek sohbetlerine kendi ana dillerinde katılabilir ve siteniz, kullanıcı cihazından ayrılmadan önce bu sohbetleri destek temsilcilerinizin kullandığı dile çevirebilir. Bu sayede tüm kullanıcılara sorunsuz, hızlı ve kapsayıcı bir deneyim sunulur.

Web'deki içeriklerin çevrilmesi genellikle bir bulut hizmetinin kullanılmasını gerektirir. Öncelikle kaynak içerik, çeviriyi hedef dile yapan bir sunucuya yüklenir. Ardından, ortaya çıkan metin indirilip kullanıcıya geri gönderilir. Çeviriyi istemcide çalıştırarak sunucu gezintileri için gereken zamandan ve çeviri hizmetini barındırma maliyetinden tasarruf edersiniz.

Başlayın

Translator API, Chrome 138 kararlı sürümünden itibaren kullanılabilir. Öncelikle, tarayıcının Çeviri API'sini destekleyip desteklemediğini görmek için özellik algılamayı çalıştırın.

if ('Translator' in self) {
  // The Translator API is supported.
}

Çevirilerde hedef dili her zaman bilirsiniz ancak kaynak dili her zaman bilemeyebilirsiniz. Bu gibi durumlarda Language Detector API'yi kullanabilirsiniz.

Donanım gereksinimlerini inceleyin

Geliştiriciler ve Chrome'da bu API'leri kullanarak özellikleri çalıştıran kullanıcılar için aşağıdaki şartlar geçerlidir. Diğer tarayıcıların farklı işletim gereksinimleri olabilir.

Dil Algılayıcı ve Çeviri API'leri masaüstündeki Chrome'da çalışır. Bu API'ler mobil cihazlarda çalışmaz. Prompt API, Summarizer API, Writer API ve Rewriter API, aşağıdaki koşullar karşılandığında Chrome'da çalışır:

  • İşletim sistemi: Windows 10 veya 11; macOS 13 veya üzeri (Ventura ve sonraki sürümler) ya da Linux. Android, iOS ve ChromeOS için Chrome, Gemini Nano'yu kullanan API'ler tarafından henüz desteklenmemektedir.
  • Depolama: Chrome profilinizi içeren birimde en az 22 GB boş alan olmalıdır.
  • GPU: Kesinlikle 4 GB'tan fazla VRAM.
  • : Sınırsız veri veya ölçülmeyen bağlantı.

Tarayıcı modeli güncellediğinden Gemini Nano'nun tam boyutu değişebilir. Mevcut boyutu belirlemek için chrome://on-device-internals adresini ziyaret edin ve Model durumu'na gidin. Model boyutunu belirlemek için listelenen Dosya yolunu açın.

Dil çifti desteğini kontrol etme

Çeviri, isteğe bağlı olarak indirilen dil paketleriyle yönetilir. Dil paketleri, belirli bir dilin sözlüğü gibidir.

  • sourceLanguage: Metnin mevcut dili.
  • targetLanguage: Metnin çevrileceği son dil.

BCP 47 dil kısa kodlarını dize olarak kullanın. Örneğin, İspanyolca için 'es' veya Fransızca için 'fr'.

const translatorCapabilities = await Translator.availability({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
});
// 'available'

availability() işlevi, aşağıdaki değerleri içeren bir söz döndürür:

  • "unavailable": Uygulama, belirtilen dillerin çevirisini veya dil algılamasını desteklemiyor.
  • "downloadable": Uygulama, belirtilen dillerin çevrilmesini veya dilinin algılanmasını destekliyor ancak devam etmek için indirme yapılması gerekiyor. İndirilen dosya, tarayıcı modeli olabilir.
  • "downloading": Uygulama, belirtilen dillerin çevrilmesini veya dilinin algılanmasını destekler. Tarayıcı, ilişkili nesneyi oluşturma kapsamında devam eden bir indirme işlemini tamamlıyor.
  • "available": Uygulama, belirtilen dillerin çevrilmesini veya dil algılamayı destekliyor ve gerekli indirmeler tamamlanmış durumda.

downloadprogress etkinliğiyle model indirme ilerleme durumunu dinleyin:

const translator = await Translator.create({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
});

İndirme başarısız olursa downloadprogress etkinlikleri durdurulur ve ready sözü reddedilir.

Çevirici oluşturma ve çalıştırma

Çevirici oluşturmak için eşzamansız create() işlevini çağırın. sourceLanguage için bir alan ve targetLanguage için bir alan olmak üzere iki alan içeren bir seçenek parametresi gerektirir.

// Create a translator that translates from English to French.
const translator = await Translator.create({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});

Çevirmeniniz olduğunda, eşzamansız translate() işlevini çağırın.

await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"

Alternatif olarak, daha uzun metinlerle çalışmanız gerekiyorsa API'nin akış sürümünü de kullanabilir ve translateStreaming() çağrısı yapabilirsiniz.

const stream = translator.translateStreaming(longText);
for await (const chunk of stream) {
  console.log(chunk);
}

Sıralı çeviriler

Çeviriler sırayla işlenir. Çevrilmesi için büyük miktarda metin gönderirseniz önceki çeviriler tamamlanana kadar sonraki çeviriler engellenir.

İsteklerinize en iyi yanıtı almak için isteklerinizi birleştirin ve çeviri işleminin devam ettiğini belirtmek üzere döner simge gibi bir yükleme arayüzü ekleyin.

Demo

Language Detector API ile birlikte kullanılan Translator API'yi Translator and Language Detector API playground'da görebilirsiniz.

Standartlaştırma çalışması

Tarayıcılar arası uyumluluğu sağlamak için Translator API'yi standartlaştırmaya çalışıyoruz.

API önerimiz topluluktan destek aldı ve daha fazla tartışılmak üzere W3C Web Incubator Community Group'a taşındı. Chrome Ekibi, W3C Teknik Mimari Grubu'ndan geri bildirim istedi ve Mozilla ile WebKit'ten standartlar konusundaki görüşlerini paylaşmalarını rica etti.

Web Incubator Community Group'a katılarak standartlar çalışmasına dahil olabilirsiniz.

Geri bildirim

Dil Algılama API'si ile neler geliştirdiğinizi görmek istiyoruz. Web sitelerinizi ve web uygulamalarınızı X, YouTube ve LinkedIn'de bizimle paylaşın.

Chrome'un uygulamasıyla ilgili geri bildirim için hata raporu veya özellik isteği gönderin.