ما هي واجهة برمجة التطبيقات المدمجة في Chrome للترجمة؟

واجهة برمجة تطبيقات الترجمة هي ميزة منصة ويب تجريبية تسمح لصفحة ويب بترجمة النص مباشرة في المتصفح، باستخدام نموذج ذكاء اصطناعي مجمع محليًا يديره وكيل المستخدم. بدلاً من إرسال النص إلى خدمة ترجمة بعيدة، يعرّض المتصفح واجهة JavaScript (window.Translator) التي تنشئ جلسات ترجمة قصيرة الأجل لزوج لغة مصدر/هدف معين وتعيد السلاسل المترجمة بشكل غير متزامن.

تفحص واجهة برمجة تطبيقات كاشف اللغة المرافقة (window.LanguageDetector) سلسلة نصية وتعيد قائمة مرتبة بعلامات لغة BCP-47 المحتملة مع درجات الثقة. معًا، تسمح الواجهتان للصفحة بكشف لغة أي إدخال عشوائي ثم ترجمته دون أي رحلة شبكة بعد تنزيل النموذج الأولي.

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

وصف الأداة

ملعب العمل هذا هو بيئة عملية لاختبار واجهات برمجة تطبيقات الترجمة وكاشف اللغة في متصفحك الخاص. يربط منطقة إدخال ومحدد لغة هدف ومنطقة إخراج باستدعاءات Translator.create() / translate() الأساسية، ويعرض حالة توفر النموذج وتقدم التنزيل أثناء تجربتك.

تتخذ اللغة المصدر افتراضيًا "الكشف التلقائي"، الذي يوجه الإدخال عبر LanguageDetector أولاً ثم يعيد توجيه اللغة المكتشفة إلى المترجم. يمكنك أيضًا تثبيت اللغة المصدر بشكل صريح لتخطي الكشف.

أمثلة

المصدر (مكتشف تلقائيًا) الهدف الإخراج
Bonjour, comment ça va ? English Hello, how are you?
Guten Morgen, wie geht es dir? Spanish Buenos días, ¿cómo estás?
今日は良い天気ですね。 English The weather is nice today.

الميزات

  • الكشف التلقائي للغة — يستخدم واجهة برمجة تطبيقات كاشف اللغة لتحديد اللغة المصدر قبل الترجمة.
  • محدد لغة ثنائي الاتجاه — بدّل بين المصدر والهدف بنقرة واحدة وأعد الترجمة.
  • حالة التوفر المباشرة — يعرض ما إذا كان النموذج المطلوب متاح أو قابل للتنزيل أو قيد التنزيل أو غير متاح.
  • شريط تقدم التنزيل — يبث أحداث downloadprogress من المترجم/الكاشف أثناء جلب النموذج.
  • ترجمة محلية دون اتصال — بعد تنزيل النموذج، لا يتم إجراء طلبات شبكة للترجمة.

حالات الاستخدام

  • معاينة النسخ المترجمة — الصق سلسلة نصية وشاهد على الفور كيف تبدو بلغة أخرى أثناء صياغة نص الواجهة.
  • التحقق من دعم المتصفح — تحقق مما إذا كان زوج مصدر/هدف معين متاحًا قبل شحن ميزة تعتمد على واجهة برمجة تطبيقات الترجمة.
  • ترجمة سريعة دون اتصال — ترجم المقاطع أثناء قطع الاتصال، بعد تنزيل حزمة اللغة ذات الصلة.

المتطلبات

  • متصفح ينفذ واجهات برمجة تطبيقات الترجمة وكاشف اللغة. اعتبارًا من وقت الكتابة، هذا هو Chrome 138+ ومتصفحات قائمة على Chromium (مثل Opera 122+) على سطح المكتب. Edge و Firefox و Safari غير مدعومة حتى الآن.
  • سياق آمن (HTTPS أو localhost).
  • تفعيل المستخدم العابر — تسمح الواجهات فقط بـ create() بعد إيماءة مستخدم حديثة، وهذا هو السبب في أن الترجمة تعمل على الإدخال بدلاً من تحميل الصفحة.
  • مساحة قرص وعرض نطاق ترددي كافيين لتنزيل نموذج اللغة الأولي. تعيد الترجمات اللاحقة استخدام النموذج المخزن مؤقتًا.

كيف يعمل

  1. عند التحميل، تتحقق الأداة من window.Translator و window.LanguageDetector. إذا كان أي منهما مفقودًا، يتم عرض تحذير وتعطيل الإدخال.
  2. عند الكتابة، يتم تأخير الإدخال وحل زوج المصدر/الهدف (تشغيل LanguageDetector.detect() أولاً إذا كان المصدر auto).
  3. يتم استدعاء Translator.availability({ sourceLanguage, targetLanguage }) للاستعلام عن حالة النموذج لهذا الزوج.
  4. يتم استدعاء Translator.create() مع callback monitor يستمع إلى أحداث downloadprogress ويحدّث شريط التقدم.
  5. translator.translate(text) تعيد السلسلة المترجمة، والتي يتم عرضها في منطقة الإخراج.
  6. يتم تحرير مثيلات المترجم والكاشف عبر destroy() بعد كل استدعاء لتحرير الموارد.

اللغات المدعومة

يعرّض محدد اللغة قائمة منسقة من علامات لغة BCP-47 الشائعة التي يدعمها نموذج Chrome المجمع أو يختبرها بشكل شائع، بما في ذلك:

en, es, fr, de, it, pt, nl, pl, ru, uk, tr, ar, hi, bn, ja, ko, zh, zh-Hant, vi, th, id, sv, no, fi, da, el, he, cs, ro, hu.

تعتمد مجموعة الأزواج القابلة للاستخدام الفعلية على ما قام نموذج المتصفح الأساسي بتنزيله أو يمكنه تنزيله. لا يمكن ترجمة الأزواج المبلغ عنها كـ unavailable في متصفحك الحالي.

القيود

  • الواجهات تجريبية وقد تتغير السطح بين إصدارات المتصفح.
  • جودة الترجمة يحددها النموذج المقدم من المتصفح وليس مضمونًا أن تطابق خدمات الترجمة السحابية المخصصة.
  • قد تتطلب بعض أزواج اللغات محورًا وسيطًا عبر اللغة الإنجليزية أو قد تكون غير متاحة ببساطة.
  • قد تكون الترجمة الأولى لزوج لغة جديد بطيئة بسبب تنزيل النموذج.
  • لا يتم حاليًا عرض الواجهات لعمال الويب وقد تكون مقيدة خلف سياسة الأذونات (translator, language-detector) على iframes عبر الأصول.

الأسئلة الشائعة

لماذا يبقى الإخراج فارغًا؟ واجهة برمجة تطبيقات الترجمة ربما لم يتم تنفيذها في متصفحك. افتح الصفحة في Chrome 138+ على سطح المكتب وأعد التحميل.

لماذا يتم عرض "تنزيل النموذج…"؟ في المرة الأولى التي تستخدم فيها زوج لغة، يقوم المتصفح بتنزيل حزمة نموذج. يعكس شريط التقدم أحداث downloadprogress المنبثقة من Translator.create().

هل يترك نصي الجهاز؟ لا. بعد تنزيل النموذج، تحدث الترجمة بالكامل على الجهاز. الأداة نفسها لا ترسل إدخالك إلى أي مكان.

لماذا يفشل "الكشف التلقائي" أحيانًا؟ إذا كان الإدخال قصيرًا جدًا أو غامضًا أو بخط لم يره الكاشف من قبل، فقد يعيد LanguageDetector.detect() und (غير محدد). اختر اللغة المصدر يدويًا في هذه الحالة.