تاريخ النشر: 24 سبتمبر 2024، تاريخ آخر تعديل: 20 مايو 2025
قبل ترجمة نص من لغة إلى أخرى، يجب أولاً تحديد اللغة المستخدَمة في النص المعنيّ. في السابق، كانت الترجمة تتطلّب تحميل النص إلى خدمة سحابية، ثم إجراء الترجمة على الخادم، وبعد ذلك تنزيل النتائج.
تعمل Language Detector API من جهة العميل، ما يعني أنّه يمكنك حماية خصوصية المستخدم. مع أنّه من الممكن إرسال مكتبة معيّنة لإجراء ذلك، سيتطلّب ذلك تنزيل موارد إضافية.
حالات استخدام ميزة "التعرّف التلقائي على اللغة"
تكون Language Detector API مفيدة بشكل أساسي في السيناريوهات التالية:
- تحديد لغة النص المُدخَل لترجمته
- تحديد لغة النص المُدخَل لتحميل النموذج الصحيح للمهام الخاصة باللغة، مثل رصد المحتوى الضار
- تحديد لغة النص المُدخَل لتصنيفه بشكل صحيح، مثلاً في مواقع التواصل الاجتماعي على الإنترنت
- تحديد لغة النص المُدخَل لتعديل واجهة التطبيق وفقًا لذلك على سبيل المثال، في موقع إلكتروني بلجيكي، لا يتم عرض الواجهة إلا للمستخدمين الذين يتحدثون الفرنسية.
البدء
مراجعة متطلبات الأجهزة
تنطبق المتطلبات التالية على المطوّرين والمستخدمين الذين يشغّلون الميزات باستخدام واجهات برمجة التطبيقات هذه في Chrome. قد تكون للمتصفّحات الأخرى متطلبات تشغيل مختلفة.
تعمل Language Detector API وTranslator API في Chrome على أجهزة الكمبيوتر. لا تعمل واجهات برمجة التطبيقات هذه على الأجهزة الجوّالة.
تعمل Prompt API وSummarizer API وWriter API وRewriter API وProofreader API في Chrome عند استيفاء الشروط التالية:
- نظام التشغيل: Windows 10 أو 11 أو macOS 13 والإصدارات الأحدث (Ventura والإصدارات الأحدث) أو Linux أو ChromeOS (من الإصدار 16389.0.0 والإصدارات الأحدث) على أجهزة Chromebook Plus. لا تتوافق واجهات برمجة التطبيقات التي تستخدم Gemini Nano بعد مع Chrome لنظامَي التشغيل Android وiOS وChromeOS على الأجهزة غير Chromebook Plus.
- مساحة التخزين: مساحة خالية لا تقل عن 22 غيغابايت على وحدة التخزين التي تحتوي على ملف شخصي في Chrome
- وحدة معالجة الرسومات أو وحدة المعالجة المركزية: يمكن تشغيل النماذج المضمّنة باستخدام وحدة معالجة الرسومات أو وحدة المعالجة المركزية.
- وحدة معالجة الرسومات: ذاكرة وصول عشوائي للرسومات (VRAM) أكبر من 4 غيغابايت
- وحدة المعالجة المركزية: ذاكرة وصول عشوائي (RAM) بسعة 16 غيغابايت أو أكثر و4 نوى لوحدة المعالجة المركزية أو أكثر
- ملاحظة: تتطلّب Prompt API مع الإدخال الصوتي وحدة معالجة رسومات.
- الشبكة: بيانات غير محدودة أو اتصال لا تفرض تكلفة استخدامه. عادةً ما تكون اتصالات Wi-Fi واتصالات إيثرنت لا تفرض تكلفة استخدام تلقائيًا، بينما تكون اتصالات شبكة الجوّال تفرض تكلفة استخدام في أغلب الأحيان.
قد يختلف الحجم الدقيق لـ Gemini Nano مع تحديث المتصفّح للنموذج. لتحديد الحجم الحالي، انتقِل إلى chrome://on-device-internals.
يمكنك إجراء عملية رصد الميزات لمعرفة ما إذا كان المتصفّح يتيح استخدام Language Detector API.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
تنزيل النموذج
تعتمد ميزة "التعرّف التلقائي على اللغة" على نموذج تم ضبطه بدقة للمهمة المحدّدة المتمثلة في رصد اللغات. مع أنّ واجهة برمجة التطبيقات مضمّنة في المتصفّح، يتم تنزيل النموذج عند الطلب في المرة الأولى التي يحاول فيها أحد المواقع الإلكترونية استخدام واجهة برمجة التطبيقات. في Chrome، يكون حجم هذا النموذج صغيرًا جدًا مقارنةً بالنماذج الأخرى. قد يكون النموذج متوفرًا حاليًا، لأنّه مستخدَم من قِبل ميزات Chrome الأخرى.
لتحديد ما إذا كان النموذج جاهزًا للاستخدام، استدعِ الدالة غير المتزامنة
LanguageDetector.availability(). إذا كان الردّ على availability() هو downloadable، استمِع إلى تقدّم التنزيل وأبلِغ المستخدم، لأنّ التنزيل قد يستغرق بعض الوقت.
لتشغيل عملية التنزيل وإنشاء مثيل أداة التعرّف التلقائي على اللغة، تحقَّق من
تفعيل المستخدم. بعد ذلك، استدعِ الدالة غير المتزامنة 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 في ساحة تجارب واجهة برمجة التطبيقات. API playground. أدخِل نصًا مكتوبًا بلغات مختلفة في مربّع النص.
سياسة الأذونات وإطارات iframe وWeb Workers
تتوفّر Language Detector API تلقائيًا للنوافذ ذات المستوى الأعلى وإطارات iframe التي لها المصدر نفسه. يمكن تفويض الوصول إلى واجهة برمجة التطبيقات إلى إطارات iframe من مصادر متعددة
باستخدام سمة allow="" في سياسة الأذونات:
<!--
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. يرجع ذلك إلى صعوبة إنشاء مستند مسئول لكل عامل للتحقّق من حالة سياسة الأذونات.
مشاركة ملاحظاتك
نريد الاطّلاع على المحتوى الذي تنشئه باستخدام Language Detector API. يُرجى مشاركة مواقعك الإلكترونية وتطبيقات الويب معنا على X وYouTube وLinkedIn.
إذا كانت لديك ملاحظات على عملية تنفيذ Chrome، يُرجى إرسال تقرير عن خلل Chromium.
انضم إلى برنامج الاستخدام المبكر للاطّلاع على واجهات برمجة التطبيقات الجديدة المضمّنة المستندة إلى الذكاء الاصطناعي قبل إطلاقها والوصول إلى المناقشات على قائمتنا البريدية.