تاريخ النشر: 24 أيلول (سبتمبر) 2024، تاريخ آخر تعديل: 20 أيار (مايو) 2025
فيديو الشرح | الويب | الإضافات | حالة Chrome | النيّة بالشراء |
---|---|---|---|---|
Github | العرض | Intent to Ship (نية الشحن) |
قبل ترجمة نص من لغة إلى أخرى، عليك أولاً تحديد اللغة المستخدَمة في النص المحدَّد. في السابق، كانت الترجمة تتطلّبتحميل النص إلى خدمة السحابة الإلكترونية، وإجراء الترجمة على الخادم، ثم تنزيل النتائج.
تعمل واجهة برمجة التطبيقات Language Detector API من جهة العميل، ما يعني أنّه يمكنك حماية خصوصية المستخدم. على الرغم من أنّه من الممكن شحن مكتبة معيّنة تؤدي هذه الوظيفة، إلا أنّ ذلك سيتطلب موارد إضافية لتنزيلها.
حالات استخدام ميزة "اكتشاف اللغة"
تكون واجهة برمجة التطبيقات Language Detector API مفيدة بشكل أساسي في الحالات التالية:
- حدِّد لغة النص الذي يتم إدخاله حتى تتمكّن من ترجمته.
- تحديد لغة النص الذي يتم إدخاله، حتى يمكن تحميل النموذج الصحيح للمهام المتعلّقة باللغة، مثل رصد اللغة السامة
- تحديد لغة نص الإدخال، حتى يمكن تصنيفه بشكل صحيح، مثلاً في مواقع التواصل الاجتماعي على الإنترنت
- تحديد لغة نص الإدخال، حتى يمكن تعديل واجهة التطبيق وفقًا لذلك على سبيل المثال، في موقع إلكتروني بلجيكي لعرض الواجهة الملائمة فقط للمستخدمين الذين يتحدثون الفرنسية
البدء
تتوفّر واجهة برمجة التطبيقات Language Detector API من الإصدار الثابت 138 من Chrome. يمكنك تنفيذ ميزة الاكتشاف لمعرفة ما إذا كان المتصفّح متوافقًا مع واجهة برمجة التطبيقات Language Detector API.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
مراجعة متطلبات الأجهزة
لا تعمل واجهات برمجة التطبيقات Language Detector وTranslator API إلا على أجهزة الكمبيوتر المكتبي في Chrome.
تعمل واجهات برمجة التطبيقات Prompt API وSummarizer API وWriter API وRewriter API في Chrome عند استيفاء الشروط التالية:
- نظام التشغيل: Windows 10 أو 11 أو الإصدار 13 من نظام التشغيل macOS والإصدارات الأحدث (Ventura والإصدارات الأحدث) أو Linux لا تتوفّر واجهات برمجة التطبيقات التي توفّرها Gemini Nano لإصدارات Chrome على Android وiOS وChromeOS.
- مساحة التخزين: 22 غيغابايت على الأقل في وحدة التخزين التي تحتوي على ملفك الشخصي على Chrome
- GPU: يجب أن تكون ذاكرة الوصول العشوائي للفيديو (VRAM) أكبر من 4 غيغابايت.
- الشبكة: بيانات غير محدودة أو اتصال غير محدود
- GPU: يجب أن تكون ذاكرة الوصول العشوائي للفيديو (VRAM) أكبر من 4 غيغابايت.
- الشبكة: بيانات غير محدودة أو اتصال غير محدود
تسري هذه المتطلبات عليك في عملية التطوير وعلى المستخدمين الذين يعملون مع الميزات التي تنشئها.
تنزيل النموذج
تعتمد ميزة "التعرّف على اللغة" على نموذج تم تحسينه لتنفيذ مهمة محددة تتعلّق برصد اللغات. على الرغم من أنّ واجهة برمجة التطبيقات مضمّنة في المتصفّح، يتم تنزيل النموذج عند الطلب في المرة الأولى التي يحاول فيها أحد المواقع الإلكترونية استخدام واجهة برمجة التطبيقات. في Chrome، هذا النموذج صغير جدًا مقارنةً بالنماذج الأخرى. قد يكون هذا النموذج متوفرًا في جهازك، لأنّ ميزات Chrome الأخرى تستخدمه.
لمعرفة ما إذا كان النموذج جاهزًا للاستخدام، استخدِم الدالة غير المتزامنة
LanguageDetector.availability()
وتحقّق من الوعد الناتج.
هناك ثلاث استجابات محتملة:
"unavailable"
: الخيارات المطلوبة غير متاحة أو لا يمكن توجيه نماذج الإعلانات بالسؤال."downloadable"
: الطلب متوافق، ولكن يجب إجراء عمليات تنزيل إضافية قبل أن تتمكّن من إنشاء جلسة. وقد تشمل عمليات التنزيل هذه نموذج اللغة أو التحسين."downloading"
: الطلب متوافق مع الجهاز، وجارٍ تنزيله، ويجب إكماله قبل إنشاء جلسة."available"
: الطلب مسموح به، ويمكنك إنشاء جلسة.
لبدء عملية التنزيل وإنشاء مثيل لبرنامج رصد اللغة، استخدِم الدالة
LanguageDetector.create()
غير المتزامنة. إذا كان الردّ على
availability()
هو 'downloadable'
أو 'downloading'
، من أفضل الممارسات الاستماع إلى رسائل التحقّق من اكتمال عملية التحميل، حتى تتمكّن من إبلاغ المستخدم في حال استغراق عملية التنزيل بعض الوقت.
يوضِّح المثال التالي كيفية إعداد أداة رصد اللغة.
const availability = await LanguageDetector.availability();
let detector;
if (availability === 'unavailable') {
// The language detector isn't usable.
return;
}
if (availability === 'available') {
// The language detector can immediately be used.
detector = await LanguageDetector.create();
} else {
// The language detector can be used after model download.
detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
await detector.ready;
}
تشغيل أداة رصد اللغة
تستخدِم واجهة برمجة التطبيقات Language Detector API نموذج ترتيب لتحديد اللغة التي يُرجَّح استخدامها في نص معيّن. الترتيب هو نوع من التعلم الآلي، حيث يكون الهدف هو ترتيب قائمة من العناصر. في هذه الحالة، ترتّب واجهة برمجة التطبيقات Language Detector API اللغات من الأعلى إلى الأقل احتمالًا.
يمكن أن تعرض الدالة detect()
إما النتيجة الأولى أو الجواب الأكثر احتمالًا
أو تكرار المرشحين المصنّفين حسب مستوى الثقة.
ويتم عرض ذلك كقائمة بعناصر {detectedLanguage, confidence}
. يتم التعبير عن مستوى
confidence
كقيمة تتراوح بين 0.0
(أدنى مستوى ثقة)
و1.0
(أعلى مستوى ثقة).
const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
واجهة برمجة التطبيقات التجريبية
جرِّب Language Detector API في مساحة اختبار واجهات برمجة التطبيقات. أدخِل نصًا مكتوبًا بلغات مختلفة في مربّع النص.
الجهد المبذول لتوحيد المقاييس
طلب فريق Chrome ملاحظات من مجموعة الهندسة المعمارية التقنية في W3C وسأل Mozilla وWebKit عن مواقفهما بشأن المعايير.
مشاركة ملاحظاتك
يهمّنا معرفة ما تنشئه باستخدام واجهة برمجة التطبيقات Language Detector API. يمكنك مشاركة مواقعك الإلكترونية وتطبيقاتك على الويب معنا على X و YouTube و LinkedIn.
إذا كانت لديك ملاحظات حول تنفيذ Chrome، يُرجى إرسال تقرير عن خلل في Chromium.