Language Detector API, belirli bir metin dizesinin dilini tanımlamak için tasarlanmış istemci tarafı bir web API'sidir. Algılama işlemini yerel olarak tarayıcıda gerçekleştirerek kullanıcı gizliliğini artırır ve ağır harici kitaplıklara veya maliyetli sunucu tarafı çağrılarına olan ihtiyacı azaltır.
Temel Kullanım Alanları
- Çeviriye hazırlık: Metni çevirmene göndermeden önce kaynak dili belirleme.
- Güvenlik ve filtreleme: Toksisite tespiti gibi görevler için belirli modelleri yükleme.
- Erişilebilirlik: Ekran okuyucular için içeriği doğru
langözelliğiyle etiketleme. - Kullanıcı arayüzü yerelleştirme: Uygulama arayüzlerini kullanıcının giriş diline göre ayarlama
Donanım ve Sistem Gereksinimleri
- İşletim sistemi: Windows 10/11, macOS 13+, Linux veya Chromebook Plus.
- Depolama alanı: 22 GB boş alan (alan 10 GB'ın altına düşerse model kaldırılır).
- RAM/CPU: 16 GB RAM ve 4+ CPU çekirdeği.
- VRAM: GPU kullanılıyorsa 4 GB+.
Uygulama Kılavuzu
1. Model Yönetimi ve Kullanıcı Etkinleştirmesi
Algılayıcıyı örneklendirmeye veya indirmeyi tetiklemeye çalışmadan önce modelin kullanılabilirliğini kontrol edin.
ZORUNLU: Dil algılayıcıyı örneklendirme veya LanguageDetector.create() ile model indirme işlemini tetikleme, model downloadable veya downloading durumundayken NotAllowedError hatasını önlemek için bir kullanıcı hareketiyle (ör. düğme tıklaması) başlatılmalıdır (ZORUNLU).
// Check if the model is available or downloadable
const availability = await LanguageDetector.availability();
if (availability !== 'unavailable') {
button.addEventListener('click', async () => {
const detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
});
}
2. Koşu Algılama
API, 0.0 ile 1.0 arasında bir güven puanına sahip olası dillerin sıralı bir listesini döndürür.
const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
// result.detectedLanguage (e.g., 'de')
// result.confidence (e.g., 0.999)
console.log(result.detectedLanguage, result.confidence);
}
Doğruluk oranı önemli ölçüde düştüğünden, algılayıcıyı çok kısa ifadelerde veya tek kelimelerde kullanmaktan kaçının.
Güvenlik ve Çevre
Iframe'ler: Çapraz kaynak iframe'lerin API'ye erişmek için açık bir izin politikası gerekir.
<iframe src="https://cross-origin.example.com/" allow="language-detector" ></iframe>Web Workers: API, İzin Politikası'ndaki karmaşıklıklar nedeniyle şu anda Web Workers'da kullanılamamaktadır.
Gizlilik: Algılama işlemi sırasında Google'a veya üçüncü taraflara veri gönderilmez.
Yedek strateji
Kullanmadan önce LanguageDetector nesnesinin genel kapsamda mevcut olup olmadığını kontrol edin:
if ('LanguageDetector' in self) {
// The Language Detector API is supported.
} else {
// Execute fallback strategy
}
LanguageDetector API'si desteklenmiyorsa veya kullanılabilirlik kontrolleri 'unavailable' değerini döndürüyorsa sorunsuz bir şekilde geri dönmeniz gerekir:
- Uzak API yedek çözümü: Algılama isteğini bir sunucu uç noktasına veya bulut API'sine (ör. Vertex AI Gemini API) yönlendirerek dili tanımlayın.
- Kontrollü azalma: Dil algılama öğelerini/düğmelerini devre dışı bırakın ve kullanıcıya, istemci tarafı algılamanın şu anda bu tarayıcıda desteklenmediğini bildirerek işlenmeyen istisnaları veya kilitlenmeleri önleyin.