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

بوابة الجودة

تمر كل ترجمة عبر بوابة تحقق حتمية قبل كتابتها على القرص. تكتشف بوابة الجودة أنماط الفشل الشائعة في الترجمة الآلية — لا توجد بدائل صامتة، ولا تُكتب أي بيانات غير صالحة في ملفات الترجمة الخاصة بك.

فحوصات التحقق

الفحصما يكتشفهتصنيف البوابة
فارغ/خالٍأرجع النموذج سلسلة فارغة أو مسافات بيضاء[GATE] empty
تكرار المصدرأرجع النموذج النص الإنجليزي الأصلي المدخل[GATE] source-echo
حلقة الهلوسةأنماط ثلاثية متكررة (مثل، "Qo' Qo' Qo'")[GATE] hallucination
تضخم الطولالمخرجات أطول بكثير من المصدر[GATE] length
التوافق مع نظام الكتابةنظام كتابة خاطئ للغة المستهدفة[GATE] script
فئات الجمع في ICUنماذج الجمع المطلوبة للغة مفقودة[GATE] icu-plural

فارغ/خالٍ

يرفض الترجمات التي تكون عبارة عن سلاسل فارغة، أو مسافات بيضاء فقط، أو null. يكتشف هذا النماذج التي لا تُرجع أي شيء للمفاتيح الصعبة.

تكرار المصدر

يكتشف متى يُرجع النموذج النص الإنجليزي المصدر بدلاً من ترجمته. شائع مع السلاسل القصيرة والموجهات (prompts) غير المحددة بدقة.

حلقة الهلوسة

يحلل الأنماط الثلاثية (المكونة من 3 أحرف) في المخرجات. إذا تكرر أي نمط ثلاثي أكثر من عدد معين (حد أقصى) بالنسبة لطول المخرجات، تُرفض الترجمة. يكتشف هذا المخرجات المتدهورة مثل "Qo' Qo' Qo' Qo' Qo'".

تضخم الطول

يرفض الترجمات التي يتجاوز فيها طول المخرجات maxLengthRatio × source length (الافتراضي: 4 أضعاف). يكتشف هذا هلوسات النموذج التي تنتج نصوصاً طويلة جداً لمدخل قصير.

قابل للتهيئة عبر maxLengthRatio في ملف الإعدادات الخاص بك.

التوافق مع نظام الكتابة

بالنسبة للغات التي تحتوي على حقل script مُهيأ (مثل "script": "cans" للمقاطع الصوتية للغة Plains Cree)، يتحقق من أن المخرجات تحتوي على أحرف غير ASCII مناسبة لنظام الكتابة المستهدف. تُرفض المخرجات التي تحتوي على أحرف لاتينية فقط للغة العربية، أو اللغات الصينية واليابانية والكورية (CJK)، أو اللغات المقطعية.

ماذا يحدث عند الفشل

  1. تُسجل الترجمة الفاشلة في stderr مع بادئة [GATE]، واسم المفتاح، والسبب، ومعاينة للقيمة
  2. لا يُكتب المفتاح في ملف الترجمة
  3. تبدأ سلسلة إعادة المحاولة (انظر أدناه)
[GATE] hero.title: source-echo — "Welcome to our platform"
[GATE] nav.about: hallucination — "À À À À À À À À"

سلسلة إعادة المحاولة

عندما تفشل دفعة (خطأ في تحليل JSON أو رفض من بوابة الجودة)، يعيد rosetta المحاولة بدفعات أصغر تدريجياً:

Full batch (80 keys) → parse error
└→ Half batch (40 keys) → 2 failures
└→ Individual keys (1 each) → isolates the 2 problem keys

يُقيد الحد الأقصى لإعادة المحاولة بواسطة maxRetries (الافتراضي: 3، قابل للتهيئة لكل لغة). يمنع هذا الاستهلاك المفرط للرموز (tokens) على المفاتيح التي تفشل باستمرار.

بعد استنفاد محاولات إعادة المحاولة، تُسجل المفاتيح التي بها مشكلات ويتم تخطيها. ستتم إعادة المحاولة عليها في التشغيل التالي لـ sync.

التخزين المؤقت للموجهات

تُفصل رسالة النظام (مستوى اللغة، القواعد النحوية، ملاحظات الأسلوب) عن رسالة المستخدم (المفاتيح المراد ترجمتها). هذا الفصل مقصود:

  • رسالة النظام متطابقة عبر الدفعات للغة معينة
  • يقوم مزودون مثل Anthropic و Google بتخزين رسائل النظام المتكررة مؤقتاً
  • النتيجة: تدفع الدفعة الأولى التكلفة الكاملة للرموز، بينما تدفع الدفعات اللاحقة تكلفة رسالة المستخدم فقط

يمكن أن يقلل هذا بشكل كبير من تكاليف الرموز للمشاريع التي تحتوي على دفعات عديدة.

التحقق من صحة ICU MessageFormat

يتحقق الأمر integrity من صحة أنماط الجمع في ICU MessageFormat مقابل قواعد الجمع في CLDR. إذا كان ملف المصدر الخاص بك يستخدم صيغة ICU مثل:

"items": "{count, plural, one {# item} other {# items}}"

يتحقق Rosetta من أن النسخ المترجمة تتضمن جميع فئات الجمع المطلوبة للغة المستهدفة. على سبيل المثال، تتطلب اللغة العربية ست فئات (zero، one، two، few، many، other) — وليس فقط one و other.

قم بتشغيل i18n-rosetta integrity للتحقق من اكتمال صيغ الجمع عبر جميع اللغات.

فرض المصطلحات

بالنسبة للأزواج اللغوية الموجهة التي تحتوي على قاموس، يُجري rosetta فحصاً للمصطلحات بعد الترجمة. بعد اجتياز بوابة الجودة، يتحقق مما إذا كان النموذج اللغوي الكبير (LLM) قد استخدم بالفعل مصطلحات القاموس المطلوبة.

[TERM] en→fr: 2 term violation(s)
• hero.title: "dashboard" → expected "tableau de bord" but got "panneau de contrôle"

تُعد انتهاكات المصطلحات تحذيرات، وليست أخطاء مانعة. لا تزال الترجمة تُكتب على القرص. هذا مقصود — قد يكون لدى النموذج اللغوي الكبير (LLM) أسباب وجيهة لاختيار بديل (السياق، القواعد النحوية)، ومنع الترجمة بسبب عدم تطابق المصطلحات قد يسبب ضرراً أكثر من نفعه.

لإصلاح الانتهاكات، قم بتحديث قاموس التوجيه أو تعديل ملف الترجمة يدوياً.


انظر أيضاً