Yerleşik yapay zeka ile çeviri

Yayınlanma tarihi: 13 Kasım 2024

Yerel yapay zeka modellerini kullanarak tarayıcıdaki metni çevirmek için Chrome'da Translator API'yi kullanın.

Web siteniz, dünya genelindeki kitlelere erişilebilir olması için web sitesi içeriğini zaten birden fazla dilde sunuyor olabilir. Kullanıcılar, Translator API ile ana dillerinde katkıda bulunabilir. Örneğin, kullanıcılar destek sohbetlerine kendi ana dillerinde katılabilir ve siteniz, kullanıcının cihazından çıkmadan önce bu sohbeti destek temsilcilerinizin kullandığı dile çevirebilir. Bu sayede tüm kullanıcılar sorunsuz, hızlı ve kapsayıcı bir deneyimden yararlanabilir.

Web'deki içeriğin çevrilmesi genellikle bir bulut hizmetinin kullanılmasını gerektiriyordu. Öncelikle kaynak içerik, çeviriyi hedef dile çalıştıran bir sunucuya yüklenir. Ardından, ortaya çıkan metin indirilir ve kullanıcıya döndürülür. Çeviriyi istemcide çalıştırarak sunucu gezilerinin gerektirdiği zamandan ve çeviri hizmetinin barındırma maliyetinden tasarruf edersiniz.

Kullanılabilirlik

Seçilen hedef dil her zaman bilinir ancak bazı durumlarda kaynak dil bilinmeyebilir (ör. kullanıcı tarafından oluşturulan içerik). Bu tür durumlarda Translator API teklifi hem Translator API'yi hem de orijinal deneme sürümünde de kullanılabilen Language Detector API'yi içerir. Bu API'leri birlikte kullanmak için her iki kaynak denemesine de kaydolun.

Kaynak denemesine kaydolma

Çevirmen API'sini kullanmaya başlamak için aşağıdaki adımları uygulayın:

  1. Google'ın Üretken Yapay Zeka Yasaklanan Kullanım Politikası'nı kabul edin.
  2. Translator API kaynak denemesi sayfasına gidin.
  3. Register'ı (Kaydol) tıklayın ve formu doldurun.
    • Web kaynağı alanına kaynağınızı veya uzantı kimliğinizi (chrome-extension://YOUR_EXTENSION_ID) girin.
  4. Göndermek için Kaydol'u tıklayın.
  5. Sağlanan jetonu kopyalayıp deneme sürümünün etkinleştirilmesini istediğiniz kaynaktaki veya uzantınızın dosyasındaki her web sayfasına ekleyin.
  6. Translator API'yi kullanmaya başlayın.

Kaynak denemelerini kullanmaya başlama hakkında daha fazla bilgi edinin.

localhost için destek ekleme

Kaynak denemesi sırasında localhost'te Translator API'ye erişmek için Chrome'u en son sürüme güncellemeniz gerekir. Ardından, aşağıdaki adımları uygulayın:

  1. Şuraya git: chrome://flags/#optimization-guide-on-device-model.
  2. BypassPerfRequirement etkin'i seçin. Bu işlem, performans kontrolleri ve VRAM koşullarını atlar. Bu da Gemini Nano'nun cihazınıza indirilmesini engelleyebilir.
  3. Şuraya git: chrome://flags/#translation-api.
  4. Etkin'i seçin.
    • Daha fazla dil çifti denemek için Dil paketi sınırı olmadan etkin'i seçin.
  5. Yeniden başlat'ı tıklayın veya Chrome'u yeniden başlatın.

Translator API'yi kullanma

Translator API'nin desteklenip desteklenmediğini belirlemek için aşağıdaki özellik algılama snippet'ini çalıştırın.

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

Dil çifti desteğini kontrol etme

Çeviri, isteğe bağlı olarak indirilen dil paketleriyle yönetilir. Dil paketi, belirli bir dil için sözlük gibidir. Bu paketler, bir dil çiftinin desteklenip desteklenmediğini belirlemenize olanak tanıyan asenkron canTranslate() işleviyle eşlenir.

canTranslate() işlevi için iki alanı olan bir options parametresi gerekir:

  • sourceLanguage: Metnin mevcut dili.
  • targetLanguage: Metnin çevrilmesi gereken nihai dil.

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

await translation.canTranslate({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});
// 'readily'

canTranslate() işlevi aşağıdaki sonuçlardan herhangi birini döndürebilir:

  • no: Bu tarayıcının istenen şekilde çeviri yapması mümkün değildir.
  • readily: Tarayıcı, istenen şekilde çeviri yapabilir.
  • after-download: Tarayıcı, çeviriyi ancak ilgili modeli veya dil paketlerini indirdikten sonra yapabilir.

downloadprogress etkinliğini kullanarak indirme işleminin ilerleme durumunu dinleyebilirsiniz:

translator.ondownloadprogress = progressEvent => {
  updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};

İndirme başarısız olursa downloadprogress etkinlikleri yayınlanmayı durdurur ve ready sözlüğü reddedilir.

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

Çevirmen oluşturmak için translation.createTranslator() işlevini ayarlayın. canTranslate() gibi, biri sourceLanguage, diğeri targetLanguage için olmak üzere iki alan içeren bir seçenekler parametresi gerektirir.

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

Çevirmeniniz hazır olduğunda metninizi çevirmek için 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 ?"

Kaynak denemesinde sınırlamalar

Kaynak denemesi sırasında aşağıdaki sınırlamalar geçerlidir.

Desteklenen dil çiftleri

Şu anda çeviri için en fazla üç dil paketi indirilebilir. Kullanıcı gizliliği konusunda yüksek standartları korurken gelecekteki sürümlerde desteklenen dillerin kapsamını genişletmeye kararlıyız. İhtiyacınız olan dil çiftinin desteklenip desteklenmediğini canTranslate() işlevini kullanarak onaylayabilirsiniz.

Daha seyrek kullanılan belirli dil çiftleri parmak izi için kullanılabilir. Örneğin, İngilizce ve İspanyolca arasında çeviri yapmak, Galce ve Katalanca gibi daha az yaygın diller arasında çeviri yapmaktan daha yaygındır. Daha az yaygın bir dil çifti, kullanıcı tanımlama için bir veri noktası olarak kabul edilebilir.

Kaynak denemesi sırasında, kullanıcı gizliliğini korumak için çevrilebilecek dil çiftlerini sınırlıyoruz. Dil çiftleri aşağıdaki ölçütleri karşılamalıdır:

  • Hem kaynak hem de hedef dil, Chrome'da tercih edilen diller olarak ayarlanır.
  • Alternatif olarak, dillerden biri Chrome'da tercih edilen dil olarak ayarlanmış, diğeri ise aşağıdaki popüler diller arasındadır:
    • İngilizce (en)
    • Çince (Mandarin) (zh; basitleştirilmiş) veya Tayvan Mandarini (zh-Hant; geleneksel)
    • Japonca (ja)
    • Portekizce (pt)
    • Rusça (ru)
    • İspanyolca (es)
    • Türkçe (tr)
    • Hintçe (hi)
    • Vietnamca (vi)
    • Bengalce (bn)

Yerel test için dil kısıtlamalarını atlama

Yerel prototipleme için Chrome'u --disable-features=TranslationAPIAcceptLanguagesCheck komut satırı seçeneğiyle çalıştırarak bu kontrolleri atlayabilirsiniz. Alternatif olarak, chrome://flags/#translation-api öğesini Dil paketi sınırı olmadan etkinleştir olarak ayarlayın.

Dil paketlerini manuel olarak yüklemek ve kaldırmak için chrome://on-device-translation-internals/ adresini ziyaret edin.

Sıralı çeviriler

Çeviriler sırayla işlenir. Çevrilecek çok fazla metin gönderirseniz önceki çeviriler tamamlanana kadar sonraki çeviriler engellenir.

Çeviri isteklerinizin en iyi şekilde yanıtlanması için bunları gruplandırın ve çevirinin devam ettiğini belirtmek üzere döner simge gibi bir yükleme arayüzü gösterin.

Web işçisinin kullanılabilirliği

Kaynak denemesi sırasında Translator API yalnızca ana mesaj dizisinden desteklenir. API yaygın olarak kullanıma sunulduğunda web işçilerinde bu özelliği desteklemeyi planlıyoruz.

Demo

Language Detector API ile birlikte kullanılan Translator API'yi Translator ve Language Detector API oyun alanında 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ışma için W3C Web Incubator Topluluğu'na taşındı. Chrome ekibi, W3C Teknik Mimari Grubu'ndan geri bildirim istedi ve Mozilla ile WebKit'ten standartlarla ilgili görüşlerini sordu.

Katılma ve geri bildirim paylaşma

Kaynak denemesine katılarak Translator API'yi hemen test etmeye başlayın ve geri bildirimlerinizi paylaşın. Geri bildiriminiz, bu API'nin ve tüm yerleşik yapay zeka API'lerinin gelecekteki sürümlerini nasıl oluşturacağımızı ve uygulayacağımızı doğrudan etkileyebilir.