تاريخ النشر: 13 نوفمبر 2024، تاريخ آخر تعديل: 20 مايو 2025
يمكنك استخدام Translator API في Chrome لترجمة النصوص باستخدام نماذج الذكاء الاصطناعي المتوفّرة في المتصفّح.
قد يقدّم موقعك الإلكتروني محتوى الموقع الإلكتروني بلغات متعددة. باستخدام Translator API، يمكن للمستخدمين الكتابة بلغتهم الأولى. على سبيل المثال، يمكن للمستخدمين المشاركة في محادثات الدعم بلغتهم الأولى، ويمكن لموقعك الإلكتروني ترجمة رسالتهم إلى اللغة الأولى لموظفي الدعم، قبل أن تغادر الرسالة جهاز المستخدم. يؤدي ذلك إلى توفير تجربة سلسة وسريعة وشاملة لجميع المستخدمين.
تتطلب ترجمة محتوى الويب عادةً استخدام خدمة سحابية. أولاً، يتم تحميل المحتوى المصدر إلى خادم يُجري الترجمة إلى لغة مستهدَفة، ثم يتم تنزيل النص الناتج وإعادته إلى المستخدم. عندما يكون المحتوى مؤقتًا ولا يستدعي الحفظ في قاعدة بيانات، توفّر الترجمة من جهة العميل الوقت والتكلفة مقارنةً بخدمة الترجمة المستضافة.
البدء
تعمل واجهة برمجة التطبيقات Language Detector API وواجهة برمجة التطبيقات Translator API في Chrome على أجهزة الكمبيوتر المكتبي. لا تعمل هاتان الواجهتان على الأجهزة الجوّالة.
يمكنك إجراء عملية رصد الميزات لمعرفة ما إذا كان المتصفّح يتيح 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، يمكنك الإبلاغ عن خطأ أو إرسال طلب ميزة.