الترجمة باستخدام تكنولوجيات الذكاء الاصطناعي المدمجة

Thomas Steiner
Thomas Steiner
Alexandra Klepper
Alexandra Klepper

تاريخ النشر: 13 تشرين الثاني (نوفمبر) 2024

استخدِم Translator API في Chrome لترجمة النص في المتصفّح باستخدام نماذج الذكاء الاصطناعي المحلية.

قد يقدّم موقعك الإلكتروني محتوى بعدّة لغات، ما يتيح لجمهور العالمي الوصول إليه. باستخدام Translator API، يمكن للمستخدمين المساهمة بلغتهم الأولى. على سبيل المثال، يمكن للمستخدمين المشاركة في محادثات الدعم باللغة الأولى لهم، ويمكن لموقعك الإلكتروني ترجمة هذه المحادثات إلى اللغة التي يستخدمها موظّفو الدعم، وذلك قبل أن تغادر المحادثة جهاز المستخدم. ويؤدي ذلك إلى توفير تجربة سلسة وسريعة وشاملة لجميع المستخدمين.

كان ترجمة المحتوى على الويب يتطلّب عادةً استخدام خدمة سحابة حاسب. أولاً، يتم تحميل المحتوى المصدر إلى خادم يُجري الترجمة إلى لغة مستهدفة، ثم يتم تنزيل النص الناتج وإعادته إلى المستخدِم. من خلال تشغيل الترجمة على العميل، يمكنك توفير الوقت الذي تستغرقه مهتَمَات الخادم وتكلفة استضافة خدمة الترجمة.

مدى التوفّر

على الرغم من أنّ اللغة الهدف المحدّدة معروفة دائمًا، قد تكون language المصدر غير معروفة في بعض الحالات، مثلاً في المحتوى الذي ينشئه المستخدمون. في مثل هذه الحالات، يتضمّن اقتراح Translator API كلًّا من Translator API وLanguage Detector API، المتوفّرَين أيضًا في مرحلة التجربة والتقييم. اشترِك في التجربتَين التجريبيتَين لمصدر البيانات لاستخدام واجهات برمجة التطبيقات هذه معًا.

الاشتراك في الفترة التجريبية للإصدار الأصلي

لبدء استخدام Translator API، اتّبِع الخطوات التالية:

  1. الموافقة على سياسة الاستخدامات المحظورة للذكاء الاصطناعي التوليدي من Google
  2. انتقِل إلى مرحلة التجربة والتقييم في Translator API.
  3. انقر على تسجيل واملأ النموذج.
    • في حقل مصدر الويب، أدخِل المصدر أو معرّف الإضافة، chrome-extension://YOUR_EXTENSION_ID.
  4. لإرسال الإضافة، انقر على تسجيل.
  5. انسخ الرمز المميّز المقدَّم وأضِفه إلى كل صفحة ويب على مصدرك أوملف الإضافة الذي تريد تفعيل الفترة التجريبية عليه.
  6. ابدأ باستخدام Translator API.

مزيد من المعلومات حول كيفية بدء استخدام ميزة "الإصدارات التجريبية من المصدر"

إضافة إمكانية استخدام localhost

للوصول إلى Translator API على localhost أثناء مرحلة التجربة والتقييم، يجب تحديث Chrome إلى أحدث إصدار. ثم اتبع الخطوات التالية:

  1. افتح Chrome على أحد الأنظمة الأساسية التالية: Windows أو Mac أو Linux.
  2. الانتقال إلى chrome://flags/#translation-api
  3. اختَر مفعّل.
    • إذا كنت تريد تجربة العديد من الأزواج اللغوية، اختَر مفعّلة بدون حدّ أقصى لحِزم اللغات.
  4. انقر على إعادة التشغيل أو أعِد تشغيل 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 API وLanguage Detector API.

الجهد المبذول لتوحيد المقاييس

نحن نعمل على توحيد Translator API لضمان تكاملها مع جميع المتصفحات.

تلقّى اقتراحنا لواجهة برمجة التطبيقات دعمًا من المنتدى وتم نقله إلى مجموعة منتدى W3C Web Incubator لإجراء مزيد من المناقشة. طلب فريق Chrome ملاحظات من مجموعة الهندسة المعمارية التقنية في W3C وسأل Mozilla وWebKit عن مواقفهما بشأن المعايير.

المشاركة وتقديم الملاحظات

ابدأ اختبار Translator API الآن من خلال الانضمام إلى الفترة التجريبية للإصدار الأصلي ومشاركة ملاحظاتك. يمكن أن تؤثّر ملاحظاتك مباشرةً في طريقة إنشاء و تنفيذ الإصدارات المستقبلية من واجهة برمجة التطبيقات هذه وجميع واجهات برمجة التطبيقات المضمّنة للذكاء الاصطناعي.