ترجمة ملف PO أو POT أونلاين مع معالجة صيغ الجمع والسياق
ارفع قالب .pot أو ملف .po مترجمًا جزئيًا واحصل على ملف .po وقد مُلئ فيه كل msgstr فارغ. لا يتغير msgid ولا msgctxt، وتبقى التعليقات والمراجع، وتحصل إدخالات الجمع على عدد الصيغ الذي تحتاجه اللغة الهدف. أول السلاسل النصية مجاني بدون تسجيل، وتكلفة الملف كاملًا، حتى 5,000 سلسلة نصية، هي $5 دفعة واحدة.
- تُترجم الإدخالات الفارغة وإدخالات fuzzy، وتبقى الإدخالات التي ترجمتها بنفسك
- تحصل إدخالات msgid_plural على msgstr[0] وmsgstr[1] … للغة الهدف، مع Plural-Forms في الترويسة
- يُرسل msgctxt وتعليقات المترجم (#.) والمراجع (#:) كسياق، وتبقى في الملف
- التحقق من العناصر النائبة بصيغ php-format وc-format وpython-format في كل سلسلة
- يعمل مع إضافات ووالبات WordPress ومشاريع Django وPython وPHP وC
{
"home.greeting": "Good morning, {name}Buenos días, {name}",
"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",
"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",
"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",
"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."
}
الأصفر: العناصر النائبة وصيغة الجمع في ICU، تُفحص في كل نص. الأزرق المخضر: الوسوم ورموز الهروب والرموز التعبيرية، تبقى كما كُتبت.
المفاتيح نفسها. العناصر النائبة نفسها. لغة جديدة.
تتغير القيم فقط. يعود الملف بالتداخل والترتيب نفسيهما باسم es.json، وأي نص يفقد عنصرًا نائبًا يُعاد طلبه قبل أن يصل إلى إصدار مشروعك.
تطبيق تجريبي صُنع لهذه الصفحة؛ النصوص الإسبانية مخرجات حقيقية من الأداة، من ملف يضم 85 نصًا.
من قالب POT إلى ملف PO
ملف .pot هو قائمة السلاسل النصية التي يحتاج المشروع إلى ترجمتها، وكل msgstr فيه فارغ. ارفعه واختر اللغة، وستحصل على ملف .po بعد ملء الترويسة: Language، وسطر Plural-Forms الخاص بتلك اللغة، وUTF-8 كترميز للأحرف. يُسمّى الملف باسم اللغة، فمثلًا يصبح myplugin.pot هو myplugin-de.po؛ أعد تسميته بما يتوقعه مشروعك، مثل myplugin-de_DE.po في WordPress، ثم حوّله إلى .mo بالأداة التي تعتادها.
صيغ الجمع وإدخالات fuzzy
تختلف اللغات في العدّ. فالإنجليزية لها صيغتان؛ والبولندية والروسية تستخدمان ثلاث صيغ في gettext؛ والعربية تستخدم ست صيغ. ولكل إدخال جمع يحصل المترجم على صيغ اللغة الهدف مع أرقام توضيحية ("form 1: 2, 3, 4, 22") ويكتب سلسلة واحدة لكل صيغة. وإذا كان ملف .po لديك يحتوي أصلًا على ترويسة Plural-Forms للغة نفسها، فتُستخدم قاعدتها.
تُترجم الإدخالات المعلَّمة بـ fuzzy من جديد؛ ويُزال وسم fuzzy وأسطر #| msgid القديمة، وتبقى الوسوم الأخرى مثل php-format. أما الإدخالات القديمة #~ فتُترك دون أي تعديل.
تجد طريقة عمل الأداة وتكلفتها وكيفية التعامل مع ملفاتك في صفحة ترجمة ملفات التوطين؛ وأسعار كل الأدوات في صفحة الأسعار.
آخر تحديث:
أسئلة وأجوبة
هل ستستبدل ترجماتي الحالية؟
لا. الإدخالات التي لها msgstr وليست fuzzy تبقى تمامًا كما هي؛ ولا تُترجم إلا الإدخالات الفارغة وإدخالات fuzzy.
هل ينتج ملف .mo؟
لا، يعطيك ملف .po. حوّله بواسطة msgfmt أو Poedit أو أمر إطار العمل لديك، مثل wp i18n make-mo أو compilemessages في Django.
هل العناصر النائبة بصيغة printf محمية؟
يجب أن يوجد في الترجمة كل %s و%d و%1$s و%(name)s الموجودة في msgid. وأي سلسلة تفقد أحدها تُعاد ترجمتها؛ فإذا فشلت مجددًا يبقى msgstr كما كان (فارغًا أو fuzzy) وتُدرج السلسلة في قائمة، فيعود gettext إلى النص الأصلي بدل عرض سلسلة معطوبة.
كم التكلفة؟
أول السلاسل النصية مجانية. الملف كاملًا، حتى 5,000 سلسلة نصية، بسعر $5 دفعة واحدة، بدون اشتراك. المهام الصغيرة استثناء: المهمة التي تصل إلى 300 سلسلة نصية مجانية بالكامل، بما في ذلك التنزيلات.