AI_USAGE=false
تاريخ النشر: 24 سبتمبر 2024، تاريخ آخر تعديل: 20 مايو 2025
شرح | الويب | الإضافات | حالة Chrome | النيّة بالشراء |
---|---|---|---|---|
MDN | العرض | Intent to Ship |
قبل ترجمة نص من لغة إلى أخرى، عليك أولاً تحديد اللغة المستخدمة في النص المحدّد. في السابق، كانت الترجمة تتطلّب تحميل النص إلى خدمة سحابية، ثم إجراء الترجمة على الخادم، ثم تنزيل النتائج.
تعمل واجهة برمجة التطبيقات Language Detector API من جهة العميل، ما يعني أنّه يمكنك حماية خصوصية المستخدم. على الرغم من إمكانية شحن مكتبة معيّنة تنفّذ هذه العملية، إلا أنّها ستتطلّب موارد إضافية لتنزيلها.
حالات استخدام ميزة "اكتشاف اللغة"
تكون واجهة برمجة التطبيقات Language Detector مفيدة بشكل أساسي في الحالات التالية:
- تحديد لغة النص المدخَل حتى يمكن ترجمته
- تحديد لغة النص المُدخَل، حتى يمكن تحميل النموذج الصحيح للمهام الخاصة باللغة، مثل رصد اللغة السامة
- تحديد لغة النص المدخل، حتى يمكن تصنيفه بشكل صحيح، على سبيل المثال، في مواقع التواصل الاجتماعي على الإنترنت
- تحديد لغة النص المدخل، حتى يمكن تعديل واجهة التطبيق وفقًا لذلك على سبيل المثال، على موقع بلجيكي، لعرض الواجهة ذات الصلة بالمستخدمين الذين يتحدثون الفرنسية فقط.
البدء
تتوفّر واجهة برمجة التطبيقات Language Detector API من الإصدار الثابت 138 من Chrome. نفِّذ عملية رصد الميزات لمعرفة ما إذا كان المتصفّح يتيح استخدام Language Detector API.
if ('LanguageDetector' in self) { // The Language Detector API is available. }
مراجعة متطلبات الأجهزة
تتوفّر المتطلبات التالية للمطوّرين والمستخدمين الذين يشغّلون الميزات باستخدام واجهات برمجة التطبيقات هذه في Chrome. قد تتطلّب المتصفّحات الأخرى متطلبات تشغيل مختلفة.
تعمل واجهتا برمجة التطبيقات Language Detector وTranslator في متصفّح Chrome على أجهزة الكمبيوتر المكتبي. ولا تعمل واجهات برمجة التطبيقات هذه على الأجهزة الجوّالة. تعمل واجهات برمجة التطبيقات Prompt API وSummarizer API وWriter API وRewriter API في Chrome عند استيفاء الشروط التالية:
- نظام التشغيل: Windows 10 أو 11 أو macOS 13 (Ventura والإصدارات الأحدث) أو Linux لا تتوافق واجهات برمجة التطبيقات التي تستخدم Gemini Nano مع متصفّح Chrome على أجهزة Android وiOS وChromeOS حتى الآن.
- مساحة التخزين: يجب توفّر مساحة خالية لا تقل عن 22 غيغابايت على وحدة التخزين التي تحتوي على ملفك الشخصي على Chrome.
- وحدة معالجة الرسومات (GPU): يجب أن تكون ذاكرة الوصول العشوائي للفيديو (VRAM) أكبر من 4 غيغابايت.
- الشبكة: بيانات غير محدودة أو اتصال غير محدود.
قد يختلف حجم Gemini Nano الدقيق مع تحديث المتصفّح للنموذج. لتحديد الحجم الحالي، انتقِل إلى chrome://on-device-internals
ثم إلى حالة النموذج. افتح مسار الملف المُدرَج لتحديد حجم النموذج.
تنزيل النموذج
يعتمد اكتشاف اللغة على نموذج تم تحسينه خصيصًا لمهمة اكتشاف اللغات. على الرغم من أنّ واجهة برمجة التطبيقات مضمّنة في المتصفّح، يتم تنزيل النموذج عند الطلب في المرة الأولى التي يحاول فيها موقع إلكتروني استخدام واجهة برمجة التطبيقات. في Chrome، هذا النموذج صغير جدًا مقارنةً بالنماذج الأخرى. قد يكون النموذج متوفّرًا بالفعل، لأنّ ميزات أخرى في Chrome تستخدمه.
لتحديد ما إذا كان النموذج جاهزًا للاستخدام، استدعِ الدالة غير المتزامنة LanguageDetector.availability()
. إذا كان الردّ على availability()
هو downloadable
، استمع إلى مستوى التقدّم في عملية التنزيل وأبلِغ المستخدم بذلك، لأنّ عملية التنزيل قد تستغرق بعض الوقت.
const availability = await LanguageDetector.availability();
لتفعيل عملية التنزيل وإنشاء مثيل لأداة رصد اللغة، تحقَّق من تفعيل المستخدم. بعد ذلك، استدعِ الدالة غير المتزامنة LanguageDetector.create()
.
const detector = await LanguageDetector.create({ monitor(m) { m.addEventListener('downloadprogress', (e) => { console.log(`Downloaded ${e.loaded * 100}%`); }); }, });
تشغيل أداة رصد اللغة
تستخدم واجهة برمجة التطبيقات 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 في ساحة لعب واجهات برمجة التطبيقات. أدخِل نصًا مكتوبًا بلغات مختلفة في مساحة النص.
سياسة الأذونات وإطارات iframe وWeb Workers
تتوفّر واجهة برمجة التطبيقات Language Detector API تلقائيًا للنوافذ ذات المستوى الأعلى وإطارات iframe من المصدر نفسه. يمكن تفويض إذن الوصول إلى واجهة برمجة التطبيقات لإطارات iframe من مصادر متعددة باستخدام السمة allow=""
في Permission Policy:
<!-- The hosting site at https://main.example.com can grant a cross-origin iframe at https://cross-origin.example.com/ access to the Language Detector API by setting the `allow="language-detector"` attribute. --> <iframe src="https://cross-origin.example.com/" allow="language-detector"></iframe>
لا تتوفّر واجهة برمجة التطبيقات Language Detector API حاليًا في Web Workers، وذلك بسبب صعوبة تحديد مستند مسؤول لكل عامل من أجل التحقّق من حالة سياسة الأذونات.
الجهد المطلوب لتوحيد المقاييس
نعمل على توحيد معايير واجهة برمجة التطبيقات "أداة رصد اللغة" لضمان توافقها مع جميع المتصفّحات.
اعتمدت فريق عمل WebML التابع لاتحاد شبكة الويب العالمية (W3C) واجهتَي برمجة التطبيقات Language Detector API وTranslator API. وقد طلبنا من Mozilla وWebKit توضيح مواقفهما بشأن المعايير.
مشاركة ملاحظاتك
نريد أن نرى ما تنشئه باستخدام واجهة برمجة التطبيقات Language Detector API. يمكنك مشاركة مواقعك الإلكترونية وتطبيقات الويب معنا على X وYouTube وLinkedIn.
إذا كانت لديك ملاحظات حول طريقة تنفيذ Chrome لهذه الميزة، يُرجى إرسال تقرير عن خلل Chromium.