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

تاريخ النشر: 13 نوفمبر 2024، تاريخ آخر تعديل: 20 مايو 2025

Browser Support

  • Chrome: 138.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: not supported.

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

قد يقدّم موقعك الإلكتروني محتوى الموقع الإلكتروني بلغات متعددة. باستخدام Translator 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 مع الإدخال الصوتي وحدة معالجة رسومات.
  • الشبكة: بيانات غير محدودة أو اتصال لا تفرض تكلفة استخدامه.

قد يختلف الحجم الدقيق لـ Gemini Nano مع تعديل المتصفّح للنموذج. لمعرفة الحجم الحالي، انتقِل إلى chrome://on-device-internals.

يمكنك إجراء عملية رصد الميزات لمعرفة ما إذا كان المتصفّح يتيح Translator API.

if ('Translator' in self) {
  // The Translator API is supported.
}

على الرغم من أنّك تعرف دائمًا اللغة المستهدَفة للترجمات، قد لا تعرف دائمًا اللغة المصدر. في هذه الحالات، يمكنك استخدام الـ Language Detector API.

تنزيل النموذج

تستخدِم Translator API نموذجًا خبيرًا تم تدريبه لإنشاء ترجمات عالية الجودة. تكون واجهة برمجة التطبيقات مضمّنة في Chrome، ويتم تنزيل النموذج في المرة الأولى التي يستخدم فيها موقع إلكتروني واجهة برمجة التطبيقات هذه.

لتحديد ما إذا كان النموذج جاهزًا للاستخدام، استدعِ الدالة غير المتزامنة Translator.availability(). إذا كانت الاستجابة لـ availability() هي downloadable، استمِع إلى مستوى تقدّم التنزيل لإعلام المستخدم به، لأنّ ذلك قد يستغرق بعض الوقت.

التحقّق من إتاحة الأزواج اللغوية

تتم إدارة الترجمة باستخدام حِزم اللغات التي يتم تنزيلها عند الطلب. تشبه حِزمة اللغة قاموسًا للغة معيّنة.

  • sourceLanguage: اللغة الحالية للنص
  • targetLanguage: اللغة النهائية التي يجب ترجمة النص إليها

استخدِم رموز اللغات القصيرة وفق معيار BCP 47 كسلاسل. على سبيل المثال، 'es' للإسبانية أو 'fr' للفرنسية.

const translatorCapabilities = await Translator.availability({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
});
// 'available'

استمِع إلى مستوى تقدّم تنزيل النموذج باستخدام الحدث downloadprogress:

const translator = await Translator.create({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
});

إذا تعذّر التنزيل، تتوقّف أحداث downloadprogress ويتم رفض الوعد ready.

إنشاء المترجم وتشغيله

لإنشاء مترجم، تحقَّق من تفعيل المستخدم واستدعِ الدالة غير المتزامنة create(). تتطلّب الدالة create() في Translator مَعلمة خيارات تحتوي على حقلَين، أحدهما لـ sourceLanguage والآخر لـ targetLanguage.

// Create a translator that translates from English to French.
const translator = await Translator.create({
  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 ?"

بدلاً من ذلك، إذا كنت بحاجة إلى التعامل مع نصوص أطول، يمكنك أيضًا استخدام الإصدار المتدفّق من واجهة برمجة التطبيقات واستدعاء translateStreaming().

const stream = translator.translateStreaming(longText);
for await (const chunk of stream) {
  console.log(chunk);
}

الترجمات المتسلسلة

تتم معالجة الترجمات بالتسلسل. إذا أرسلت كميات كبيرة من النصوص لترجمتها، يتم حظر الترجمات اللاحقة إلى أن تكتمل الترجمات السابقة.

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

اللغات المتاحة

تتيح عملية تنفيذ Translator API في Chrome اللغات التالية.

الرمز اللغة
ar العربية
bg البلغارية
bn البنغالية
cs التشيكية
da الدانماركية
de الألمانية
el اليونانية
en الإنجليزية
es الإسبانية
fi الفنلندية
fr الفرنسية
hi الهندية
hr الكرواتية
hu الهنغارية
id الإندونيسية
it الإيطالية
iw العبرية
ja اليابانية
kn الكانادا
ko الكورية
lt الليتوانية
mr المراثية
nl الهولندية
no النرويجية
pl البولندية
pt البرتغالية
ro الرومانية
ru الروسية
sk السلوفاكية
sl السلوفينية
sv السويدية
ta التاميلية
te التيلوغوية
th التايلاندية
tr التركية
uk الأوكرانية
vi الفيتنامية
zh الصينية
zh-Hant الصينية (التقليدية)

عرض توضيحي

يمكنك الاطّلاع على Translator API، المستخدَمة مع Language Detector API، في ساحة اختبار Translator and Language Detector API.

سياسة الأذونات وiframe وWeb Workers

لا تتوفّر Translator API تلقائيًا إلا للنوافذ ذات المستوى الأعلى وiframe التي لها نفس المصدر. يمكن تفويض الوصول إلى واجهة برمجة التطبيقات إلى iframe من مصادر مختلفة باستخدام سمة سياسة الأذونات allow="":

<!--
  The host site https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Translator API by
  setting the `allow="translator"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="translator"></iframe>

لا تتوفّر Translator API في Web Workers، وذلك بسبب صعوبة إنشاء مستند مسؤول لكل عامل، من أجل التحقّق من حالة سياسة الأذونات.

مشاركة الملاحظات

نريد الاطّلاع على ما تنشئونه. يمكنكم مشاركة مواقعكم الإلكترونية وتطبيقات الويب معنا على X، YouTube، و LinkedIn.

لإرسال ملاحظات حول عملية التنفيذ في Chrome، يُرجى الإبلاغ عن خطأ أو إرسال طلب ميزة.