Content translation/Machine Translation/MT Clients/ar

يمكن الوصول إلى خدمات الترجمة الآلية باستخدام وحدات عميلة برمجية في ترجمة المحتوى. لدينا عملاء Apertium وYandex مكتوبة بالفعل في الكود المصدري. يمكن إضافة أي عدد من عملاء خدمات الترجمة الآلية وربطها بالأزواج اللغوية. يوضح هذا التوثيق بنية عميل الترجمة الآلية.



متطلبات تقنية
يمكن استضافة عميل ترجمة آلية جديد إما في صفة نظام ترجمة آلية محلي أو الوصول إلى نظام ترجمة آلية بعيد باستخدام واجهة برمجة تطبيقات. نحبّذ باستخدام الخدمات التي تستند إلى واجهات برمجة التطبيقات منذ أنها تسمح بعزلها في صفة حدمة. لو كان العميل مرخص بموجب ترخيص حر مجاني أو محزوم لأغراض توزيعات لينوكس، يمكننا التفكير جديًا في استضافته في عنقود ويكيميديا. على سبيل المثال، نستضيف Apertium في wmflabs. من ناحية أخرى، Yandex لا تستضيفه ويكيميديا. كلا من Apertium وYandex يمكن الوصول إليهما باستخدام واجهات برمجة تطبيقات عن طريق الوب.



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



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


 * 10,000 طلب على الأقل يوميًا
 * 10 مليون محرف على الأقل يوميًا
 * 5000 محرف على الأقل لكل طلب



صيغة المدخلات
The content to translate from CX is HTML formatted. Translating HTML while preserving markup is challenging, but some MT Engines are capable of that (example: Yandex). Apertium does not handle HTML markup. Depending on the capability, CX can send plain text version or HTML of the content.



جودة الترجمة
We evaluate the quality of MT by requesting feedback from Wikipedia contributors from the language in context. CX uses MT as an intial translation template and encourage translators to improve it. Because of that unless the quality is quite bad as per the feedback we get, we can use it.



تصميم وحدة برمجية عميلة جديدة للترجمة الآلية
The best way to learn this is to refer an existing client module like Yandex or Apertium. The client modules are present in cxserver's lib/mt folder. Let us call our client as BabelFish MT Client. Create a file named BabelFish.js in lib/mt folder. If your BabelFish service is not capable of translating HTML by retaining all markup in appropriate position in translation, instead of, you will have to write   method in the above code. Refer Apertium.js for such an example. Yandex.js is an example for MT client that is capable of handling both html and text content.

You need to add an entry in lib/mt/index.js for your new client.

To map a language pair to use this client, create a config file in config folder. You may refer exiting configuration files for examples. Then enable this MT engine in the cxserver config.yaml. Here also follow the existing entries for examples.

Restart the cxserver and test your client. You may want to read some unit tests existing for Apertium to write your own tests.



عملاء الترجمة الآلية
The following are machine translation clients that support Content Translation in different languages:
 *  (اللغات المدعومة)
 * OpusMT (اللغات المدعومة)
 *  (اللغات المدعومة)
 *  (اللغات المدعومة)
 *  (اللغات المدعومة)
 *  (اللغات المدعومة)
 * Elia (كان يعرف من قبل باسم Matxin) (اللغات المدعومة)
 * NLLB-200 (كان يعرف من قبل باسم Flores) (اللغات المدعومة)