تخطي إلى المحتوى الرئيسي

كيف يعمل i18n-rosetta

يقوم i18n-rosetta بترجمة ملفات اللغات الخاصة بتطبيقك بأمر واحد. إليك ما يحدث خلف الكواليس.

مسار العمل

عند تشغيل npx i18n-rosetta sync، ينفذ rosetta مسار عمل يتكون من ست مراحل:

قرارات التصميم الرئيسية:

  • اكتشاف التغييرات عبر تجزئات SHA-256. يتتبع Rosetta كل قيمة مصدرية باستخدام تجزئة في .i18n-rosetta.lock. عندما تقوم بتحديث نص إنجليزي، تتم إعادة ترجمة هذا المفتاح فقط. ولهذا السبب يكون sync سريعاً في عمليات التشغيل المتكررة — فهو يقوم بالحد الأدنى من العمل.

  • التخزين المؤقت لذاكرة الترجمة. قبل إجراء أي استدعاء لواجهة برمجة التطبيقات (API)، يتحقق rosetta من .rosetta/tm.json بحثاً عن الترجمات المخزنة مؤقتاً (مفهرسة حسب النص المصدري + اللغة + الطريقة). في عملية المزامنة المعتادة بعد تغيير مفتاح واحد، يتم جلب 142 مفتاحاً من ذاكرة التخزين المؤقت بينما يستدعي مفتاح واحد فقط واجهة برمجة التطبيقات.

  • بوابة الجودة قبل الكتابة. تمر كل ترجمة بخمسة فحوصات آلية (الفراغ، تكرار المصدر، حلقة الهلوسة، تضخم الطول، التوافق مع نظام الكتابة) قبل أن تُكتب في ملفاتك. يتم تسجيل حالات الفشل، ولا تُقبل بصمت أبداً.

  • إعادة المحاولة المتسلسلة عند الفشل. إذا فشلت دفعة (خطأ في تحليل JSON، انتهاء مهلة API)، يعيد rosetta المحاولة بدفعات أصغر تدريجياً: كاملة ← نصف ← فردية. يؤدي هذا إلى عزل المفتاح المسبب للمشكلة دون حظر البقية.

طرق الترجمة

يدعم Rosetta أربع طرق للترجمة، كل منها مناسب لسيناريوهات مختلفة:

الطريقةكيف تعملالأفضل لـ
llmموجه مهيكل لأي نموذج OpenRouterاللغات ذات الموارد الجيدة
llm-coachedنفس الموجه + القواعد النحوية، القاموس، وملاحظات الأسلوباللغات التي ترتكب فيها النماذج اللغوية الكبيرة (LLMs) أخطاء يمكن التنبؤ بها
google-translateطلب مجمع لواجهة Google Cloud Translation APIاللغات ذات الموارد العالية مع دعم جيد من ترجمة جوجل (GT)
apiطلب HTTP POST إلى نقطة النهاية الخاصة بكمسارات العمل المخصصة، النماذج التي يتحكم فيها المجتمع

تتم تهيئة الطرق لكل زوج لغوي. يمكنك استخدام google-translate للغة الفرنسية ولكن llm-coached للغة Plains Cree — يحصل كل زوج على الطريقة التي تعمل بشكل أفضل معه.

بيانات التوجيه

بالنسبة للأزواج اللغوية التي تستخدم llm-coached، تمنح بيانات التوجيه النموذج اللغوي الكبير (LLM) معرفة لغوية صريحة: القواعد النحوية، المصطلحات الإلزامية، وتفضيلات الأسلوب. يتم حقن هذا في كل موجه كسياق مهيكل.

coaching/crk.json
{
"grammar_rules": ["Animate nouns take different plural forms than inanimate nouns"],
"dictionary": {"welcome": "ᑕᓂᓯ", "settings": "ᐃᑕᐢᑌᐘᐃᓇ"},
"style_notes": "Use Standard Roman Orthography (SRO) unless explicitly configured otherwise."
}

تعتبر بيانات التوجيه الآلية الأساسية لتحسين جودة الترجمة دون الحاجة إلى الضبط الدقيق للنموذج. قم بتغيير القواعد ← أعد تشغيل المزامنة ← تحقق مما إذا كان ذلك مفيداً. التكرار والتطوير فوريان.

الإضافات

الإضافات عبارة عن وصفات ترجمة مجهزة مسبقاً لأزواج لغوية محددة. إنها ملفات بيان بتنسيق JSON — وليست تعليمات برمجية — تخبر rosetta بالطريقة التي يجب استخدامها، والإعدادات المطلوبة، ومستوى الجودة الذي تم قياسه.

i18n-rosetta plugin install ./crk-coached-v3/
i18n-rosetta sync # uses the installed plugin for en→crk

تسد الإضافات الفجوة بين البحث والإنتاج: الطريقة التي تسجل نتائج جيدة في MT Eval Arena يمكن حزمها كإضافة ونشرها هنا.

الصورة الأكبر

يُعد i18n-rosetta نصف نظام بيئي يتكون من جزأين:

  • MT Eval Arena — حيث يتم تطوير طرق الترجمة وإثبات كفاءتها من خلال قياسات أداء قابلة لإعادة الإنتاج
  • i18n-rosetta — حيث يتم نشر الطرق المعتمدة لترجمة محتوى حقيقي

يربط Eval Harness Bridge بين الاثنين. الطريقة التي تثبت كفاءتها في الـ Arena يتم نشرها هنا. وتعمل ملاحظات المتحدثين من بيئة الإنتاج على تحسين الإصدار التالي.


تعمق أكثر