تاريخ النشر: 13 تشرين الثاني (نوفمبر) 2024
استخدِم Translator API في Chrome لترجمة النص في المتصفّح باستخدام نماذج الذكاء الاصطناعي على الجهاز.
قد يقدّم موقعك الإلكتروني محتوى بعدّة لغات، ما يتيح لجمهور العالمي الوصول إليه. باستخدام Translator API، يمكن للمستخدمين المساهمة بلغتهم الأولى. على سبيل المثال، يمكن للمستخدمين المشاركة في محادثات الدعم باللغة الأولى لهم، ويمكن لموقعك الإلكتروني ترجمة هذه المحادثات إلى اللغة التي يستخدمها موظّفو الدعم، وذلك قبل أن تغادر المحادثة جهاز المستخدم. ويؤدي ذلك إلى توفير تجربة سلسة وسريعة وشاملة لجميع المستخدمين.
كان ترجمة المحتوى على الويب يتطلّب عادةً استخدام خدمة سحابة حاسب. أولاً، يتم تحميل المحتوى المصدر إلى خادم يُجري الترجمة إلى لغة مستهدفة، ثم يتم تنزيل النص الناتج وإعادته إلى المستخدِم. من خلال تشغيل الترجمة على الجهاز العميل، يمكنك توفير الوقت الذي تستغرقه مهتَمَات الخادم وتكلفة استضافة خدمة الترجمة.
مدى التوفّر
- الانضمام إلى مرحلة التجربة والتقييم في Translator API، التي تعمل في الإصدارات من Chrome 131 إلى 137 تفعِّل الفترات التجريبية للإصدارات الأصلية الميزة لجميع المستخدمين على مصدرك على Chrome.
- يمكنك متابعة عملية التنفيذ في ChromeStatus.
- اقتراح Translator API هو متاح للمناقشة.
- انضم إلى برنامج المعاينة المبكّرة للاطّلاع مبكرًا على واجهات برمجة التطبيقات الجديدة المدمجة للذكاء الاصطناعي والمشاركة في المناقشات على قائمة البريد الإلكتروني.
على الرغم من أنّ اللغة الهدف المحدّدة معروفة دائمًا، قد تكون language المصدر غير معروفة في بعض الحالات، مثلاً في المحتوى الذي ينشئه المستخدمون. في مثل هذه الحالات، يتضمّن اقتراح Translator API كلًّا من Translator API وLanguage Detector API، المتوفّرَين أيضًا في فترة تجريبية للإصدار الأصلي. اشترِك في التجربتَين التجريبيتَين لمصدر البيانات لاستخدام واجهات برمجة التطبيقات هذه معًا.
الاشتراك في الفترة التجريبية للإصدار الأصلي
لبدء استخدام Translator API، اتّبِع الخطوات التالية:
- الموافقة على سياسة الاستخدامات المحظورة للذكاء الاصطناعي التوليدي من Google
- انتقِل إلى مرحلة التجربة والتقييم في Translator API.
- انقر على تسجيل واملأ النموذج.
- في حقل مصدر الويب، أدخِل
المصدر
أو معرّف الإضافة،
chrome-extension://YOUR_EXTENSION_ID
.
- في حقل مصدر الويب، أدخِل
المصدر
أو معرّف الإضافة،
- لإرسال الإضافة، انقر على تسجيل.
- انسخ الرمز المميّز المقدَّم وأضِفه إلى كل صفحة ويب على مصدرك أوملف الإضافة الذي تريد تفعيل الفترة التجريبية عليه.
- إذا كنت بصدد إنشاء إضافة، اتّبِع تعليمات الفترة التجريبية لمصدر الإضافات.
- ابدأ باستخدام Translator API.
مزيد من المعلومات حول كيفية بدء استخدام ميزة "الإصدارات التجريبية من المصدر"
إضافة إمكانية استخدام localhost
للوصول إلى Translator API على localhost
أثناء مرحلة التجربة والتقييم، يجب
تحديث Chrome إلى أحدث
إصدار. ثم اتبع الخطوات التالية:
- الانتقال إلى
chrome://flags/#optimization-guide-on-device-model
- اختَر Enabled BypassPerfRequirement (تم تفعيل BypassPerfRequirement). يؤدي ذلك إلى تخطّي عمليات التحقّق من الأداء ومتطلّبات ذاكرة الوصول العشوائي لفيديو VRAM، ما قد يمنع تنزيل Gemini Nano على جهازك.
- الانتقال إلى
chrome://flags/#translation-api
- اختَر مفعّل.
- لتجربة المزيد من الأزواج اللغوية، اختَر مفعَّلة بدون حدّ أقصى لحِزم اللغات.
- انقر على إعادة التشغيل أو أعِد تشغيل Chrome.
استخدام Translator API
لتحديد ما إذا كانت Translator API متوافقة، يمكنك تشغيل المقتطف التالي لرصد الميزات.
if ('translation' in self && 'createTranslator' in self.translation) {
// The Translator API is supported.
}
التحقّق من توفّر الأزواج اللغوية
تتم إدارة الترجمة باستخدام حِزم اللغات التي يتم تنزيلها عند الطلب. إنّ حِزمة اللغة هي بمثابة قاموس للغة معيّنة. يتم إقران هذه الحِزم بالدالة
canTranslate()
غير المتزامنة، التي تتيح لك تحديد ما إذا كان هناك
زوج لغة متوافق.
تتطلّب الدالة canTranslate()
مَعلمة options
تتضمّن حقلَين:
sourceLanguage
: اللغة الحالية للنصtargetLanguage
: اللغة النهائية التي يجب ترجمة النص إليها.
استخدِم الرموز القصيرة للّغات وفق معيار BCP 47 كسلسلة. على سبيل المثال، 'es'
للغة الإسبانية أو 'fr'
للغة الفرنسية.
await translation.canTranslate({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
// 'readily'
يمكن أن تعرِض الدالة canTranslate()
أيًّا ممّا يلي:
no
: لا يمكن لهذا المتصفّح الترجمة على النحو المطلوب.readily
: يمكن للمتصفّح الترجمة على النحو المطلوب.after-download
: يمكن للمتصفّح إجراء الترجمة، ولكن بعد تنزيل النموذج أو حِزم اللغات ذات الصلة فقط.
يمكنك الاستماع إلى مستوى تقدُّم عملية التنزيل باستخدام الحدث downloadprogress
:
translator.ondownloadprogress = progressEvent => {
updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};
في حال تعذّر التنزيل، يتوقف بث أحداث downloadprogress
ويتم رفض ready
الوعد.
إنشاء المترجم وتشغيله
لإنشاء مترجم، استخدِم الدالة غير المتزامنة translation.createTranslator()
. مثل canTranslate()
، تتطلّب هذه السمة مَعلمة خيارات تحتوي على حقلَين، أحدهما لـ sourceLanguage
والآخر لـ targetLanguage
.
// Create a translator that translates from English to French.
const translator = await self.translation.createTranslator({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
بعد الحصول على مترجم، استخدِم الدالة غير المتزامنة translate()
لترجمة النص.
await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"
القيود المفروضة على الفترة التجريبية للمصدر
تنطبق القيود التالية أثناء الفترة التجريبية الأصلية.
الأزواج اللغوية المتاحة
في الوقت الحالي، يمكن تنزيل ما يصل إلى ثلاث حِزم لغات للترجمة.
نحن ملتزمون بتوسيع نطاق اللغات المتاحة في الإصدارات المستقبلية،
مع الحفاظ على معايير عالية لخصوصية المستخدمين. يمكنك التأكّد من توفّر canTranslate()
دالة التي تتيح استخدام لغة معيّنة مع لغة أخرى.
من الممكن أن يتم استخدام أزواج لغات معيّنة يتم استخدامها بشكل أقل لتحديد هوية المستخدمين . على سبيل المثال، يُرجّح أن تتم الترجمة بين الإنجليزية والإسبانية أكثر من اللغات الأقل شيوعًا، مثل الأيرلندية والكاتالانية. يمكن اعتبار ثنائي اللغة الأقل شيوعًا نقطة بيانات لتحديد هوية المستخدم.
خلال الفترة التجريبية للإصدار الأصلي، سنحدّ من أزواج اللغات التي يمكن ترجمتها لحماية خصوصية المستخدم. يجب أن تستوفي أزواج اللغات المعايير التالية:
- يتم ضبط كل من اللغة المصدر واللغة الهدف على أنّهما اللغات المفضّلة في Chrome.
- أو تم ضبط إحدى اللغتَين كلغة مفضّلة في Chrome، والأخرى من بين اللغات الرائجة التالية:
- الإنجليزية (
en
) - الصينية المندرينية (
zh
؛ المبسّطة) أو المندرينية التايوانية (zh-Hant
؛ التقليدية) - اليابانية (
ja
) - البرتغالية (
pt
) - الروسية (
ru
) - الإسبانية (
es
) - التركية (
tr
) - الهندية (
hi
) - الفيتنامية (
vi
) - البنغالية (
bn
)
- الإنجليزية (
إزالة القيود المفروضة على اللغة في الاختبار على الجهاز
لإنشاء النماذج الأولية على الجهاز، يمكنك تجاوز عمليات التحقّق هذه من خلال تشغيل Chrome باستخدام خيار سطر الأوامر --disable-features=TranslationAPIAcceptLanguagesCheck
.
بدلاً من ذلك، اضبط chrome://flags/#translation-api
على
تفعيل بدون حدّ أقصى لحِزم اللغات.
انتقِل إلى chrome://on-device-translation-internals/
لتثبيت حِزم اللغات ونقلها يدويًا.
الترجمات التسلسلية
تتم معالجة الترجمات بالتسلسل. إذا أرسلت كميات كبيرة من النصوص لتمت ترجمتها، يتم حظر عمليات الترجمة اللاحقة إلى أن تكتمل عمليات الترجمة السابقة.
للحصول على أفضل استجابة لطلبات الترجمة، يمكنك تجميعها معًا وعرض واجهة تحميل، مثل مؤشر تقدّم التحميل، للإشارة إلى أنّ عملية الترجمة جارية.
مدى توفّر Web Worker
خلال الفترة التجريبية الأصلية، لا يمكن استخدام Translator API إلا من سلسلت الرسائل الرئيسية. وننوي توفيرها في Web Workers بعد توفّر واجهة برمجة التطبيقات على نطاق واسع.
عرض توضيحي
يمكنك الاطّلاع على واجهة برمجة التطبيقات Translator API، المستخدَمة مع واجهة برمجة التطبيقات Language Detector API، في مساحة اختبار واجهتَي برمجة التطبيقات Translator وLanguage Detector API.
الجهد المبذول لتوحيد المقاييس
نحن نعمل على توحيد Translator API لضمان تكاملها مع جميع المتصفحات.
تلقّى اقتراحنا لواجهة برمجة التطبيقات دعمًا من المنتدى وتم نقله إلى مجموعة منتدى W3C Web Incubator لإجراء مزيد من المناقشة. طلب فريق Chrome ملاحظات من مجموعة الهندسة المعمارية التقنية في W3C وسأل Mozilla وWebKit عن مواقفهما بشأن المعايير.
المشاركة وتقديم الملاحظات
ابدأ اختبار Translator API الآن من خلال الانضمام إلى الفترة التجريبية للإصدار الأصلي ومشاركة ملاحظاتك. يمكن أن تؤثّر ملاحظاتك مباشرةً في طريقة إنشاء و تنفيذ الإصدارات المستقبلية من واجهة برمجة التطبيقات هذه وجميع واجهات برمجة التطبيقات المضمّنة للذكاء الاصطناعي.
- لإرسال ملاحظات حول عملية تنفيذ Chrome، يُرجى إرسال تقرير خطأ أو طلب ميزة.
- مناقشة تصميم Translator API على GitHub من خلال التعليق على مشكلة حالية أو فتح مشكلة جديدة
- يمكنك المشاركة في جهود وضع المعايير من خلال الانضمام إلى مجموعة منتدى Web Incubator.