فهم صيغ الجمع في Gettext: كيفية التعامل مع التعددية المعقدة في WordPress
في اللغة الإنجليزية، التعددية بسيطة. لديك "تفاحة" (Apple) واحدة، ولديك "تفاحتان" (Apples) أو أكثر.
ولكن إذا كنت تترجم موقع WordPress الخاص بك إلى البولندية أو الروسية أو العربية، فأنت على وشك الدخول في حقل ألغام لغوي.
هل تعلم أنه في اللغة الروسية، تتغير كلمة "ملف" اعتمادًا على ما إذا كان لديك ملف واحد، أو 2-4 ملفات، أو 5+ ملفات؟
- 1 файл (ملف واحد)
- 3 файла (3 ملفات)
- 5 файлов (5 ملفات)
إذا افترضت أداة الترجمة الخاصة بك بشكل أعمى أن كل لغة تعمل مثل اللغة الإنجليزية (المفرد مقابل الجمع)، فسيرى المستخدمون جملًا غير صحيحة نحويًا مما يجعل علامتك التجارية تبدو غير احترافية.
يشرح هذا الدليل كيف يتعامل WordPress و Gettext مع هذه القواعد المعقدة وكيفية أتمتتها بشكل صحيح.
التشريح الفني لسلسلة الجمع
في ملف .po القياسي، تبدو سلسلة الجمع كما يلي:
msgid "You have %d new message"
msgid_plural "You have %d new messages"
msgstr[0] ""
msgstr[1] ""
msgid: صيغة المفرد (تستخدم للعدد = 1).msgid_plural: صيغة الجمع (تستخدم للعدد != 1).msgstr[N]: الترجمات.
بالنسبة للغة الإنجليزية، تحتاج فقط إلى msgstr[0] (مفرد) و msgstr[1] (جمع). ولكن بالنسبة لغات أخرى، قد تحتاج إلى msgstr[2] أو msgstr[3] أو حتى msgstr[5].
رأس Plural-Forms
كيف يعرف WordPress أي msgstr يستخدم؟ ينظر إلى رأس ملف .po الخاص بك.
بالنسبة للغة الروسية، يبدو الرأس كما يلي:
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
تخبر هذه الصيغة الرياضية المرعبة WordPress:
- هناك 3 صيغ ممكنة (
nplurals=3). - استخدم الصيغة 0 إذا كان الرقم ينتهي بـ 1 (ولكن ليس 11).
- استخدم الصيغة 1 إذا كان الرقم ينتهي بـ 2-4 (ولكن ليس 12-14).
- استخدم الصيغة 2 لكل شيء آخر.
لماذا يفشل معظم المترجمين هنا
عندما تستخدم غلاف ذكاء اصطناعي عام أو أداة آلية أساسية، فإنها غالبًا ما تتجاهل رأس Plural-Forms.
ترى المدخلات الإنجليزية (صيغتان) وتحاول فرضها على اللغة المستهدفة.
- الخطأ: قد تملأ
msgstr[0]وmsgstr[1]، لكن تتركmsgstr[2]فارغة. - النتيجة: عندما يكون لدى مستخدم روسي 5 رسائل، يبحث WordPress عن الصيغة 2. إذا كانت فارغة أو مفقودة، يعود WordPress عادةً إلى السلسلة الإنجليزية الأصلية.
فجأة، يعرض موقعك الموطن بالكامل "You have 5 new messages" باللغة الإنجليزية، في منتصف جملة روسية. هذا يكسر الانغماس وثقة المستخدم.
الحل: ذكاء اصطناعي مدرك للسياق مع دعم الجمع
يتطلب التعامل مع صيغ الجمع بشكل صحيح أمرين:
- الالتزام الصارم بمعايير Gettext: يجب أن تحترم الأداة عدد
npluralsفي الرأس. - الذكاء اللغوي: يجب أن يعرف الذكاء الاصطناعي كيفية تصريف الكلمات لتلك النطاقات الرقمية المحددة.
هذه ميزة أصلية في SimplePoTranslate.
كيف نتعامل مع صيغ الجمع المعقدة
نحن لا نترجم النص فحسب؛ بل نقرأ الرياضيات في رأس .po الخاص بك.
عندما ترفع ملفًا للترجمة إلى البولندية (التي تحتوي على 3 صيغ جمع):
- تحليل الرأس: نكتشف
nplurals=3. - هندسة الأوامر: يوجه نظامنا الذكاء الاصطناعي المدرك للسياق: "ترجم هذه السلسلة إلى البولندية. قدم بالضبط 3 صيغ: واحدة للمفرد، وواحدة للأرقام التي تنتهي بـ 2-4، وواحدة للباقي."
- التحقق من الصحة: نتحقق من أن الإخراج يحتوي بالضبط على
msgstr[0]وmsgstr[1]وmsgstr[2]قبل تجميع الملف.
نتعامل مع هذا تلقائيًا. لست بحاجة إلى معرفة قواعد النحو للغة المستهدفة. أنت ترفع الملف، ونحن نملأ كل صيغة جمع مطلوبة بشكل صحيح.
أفضل من الترجمة اليدوية؟
ما لم تكن تتحدث اللغة المستهدفة بطلاقة، لا يمكنك ملء صيغ الجمع هذه يدويًا. ستكون تخمن. يستفيد SimplePoTranslate من LLMs المتقدمة المدربة على قواعد النحو الدقيقة هذه، مما يضمن دقة مثل مستوى المتحدث الأصلي.
احصل على صيغ الجمع الخاصة بك بشكل صحيح
لا تدع "1 تفاحة، 5 تفاحات" تدمر المظهر الاحترافي لموقعك. استخدم أداة تفهم تعقيد القواعد العالمية.
يسمح لك SimplePoTranslate باختبار محرك التعددية لدينا مجانًا.
هل أنت مستعد للترجمة دون صداع؟ ابدأ مجانًا على SimplePoTranslate.com