كيفية استخدام Poedit: الدليل الشامل (2026)

إذا سبق لك أن فتحت ملف .po في محرر نصوص عادي، فأنت تعرف الشعور بالفعل. مئات من أزواج msgid و msgstr، وعلامات مبهمة متناثرة في كل مكان، وضغطة مفتاح خاطئة واحدة يمكن أن تفسد الكتالوج بأكمله. هناك طريقة أفضل، ولأكثر من عقد من الزمان كانت الإجابة القياسية هي نفس تطبيق سطح المكتب: Poedit.
يتناول البرنامج التعليمي لـ Poedit هذا كل شيء بدءًا من تثبيت التطبيق وحتى تجميع أول ملف .mo خاص بك. سواء كنت تترجم سمة WordPress، أو مكونًا إضافيًا، أو مشروعك الخاص المستند إلى Gettext، يوفر لك Poedit محررًا مرئيًا نظيفًا يخفي تنسيق الملف الخام ويتيح لك التركيز على عمل الترجمة الفعلي.
بحلول نهاية هذا الدليل، ستفهم واجهة Poedit، وستعرف كيفية بدء ترجمة من قالب .pot، وستستخدم ذاكرة الترجمة لتسريع الأمور، وستتعرف بالضبط على النقطة التي يتوقف عندها أداة سطح المكتب المجانية عن كونها فعالة، بحيث تعرف متى يجب اللجوء إلى سير عمل قائم على السحابة بدلاً من ذلك.
ما هو Poedit وكيف يمكنك تثبيته؟
Poedit هو محرر سطح مكتب مجاني ومتعدد الأنظمة لملفات ترجمة Gettext (.po، و .pot، و .mo المجمع). يعمل على أنظمة macOS و Windows و Linux، وهو نقطة الانطلاق الأكثر شيوعًا لأي شخص يقوم بتحرير كتالوجات الترجمة يدويًا.
عملية التثبيت سهلة ومباشرة. توجه إلى موقع Poedit الرسمي وقم بتنزيل المثبت لنظام التشغيل الخاص بك، أو استخدم مدير حزم.
# macOS (Homebrew)
brew install --cask poedit
# Debian / Ubuntu
sudo apt install poedit
# Windows (winget)
winget install Poedit.Poedit
تغطي النسخة المجانية تجربة التحرير الأساسية بالكامل. هناك طبقة مدفوعة من Poedit Pro تضيف فحص الشيفرة المصدرية والترجمة المسبقة، والتي سنتناولها لاحقًا. في الوقت الحالي، التنزيل المجاني هو كل ما تحتاجه لفتح وتحرير أي كتالوج.
إذا كنت ترغب في الحصول على نظرة أوسع للمشهد التحريري قبل الالتزام، فإن قائمتنا لأفضل أدوات مجانية لتحرير وترجمة ملفات PO على Mac و Windows تقارن Poedit بالبدائل الرئيسية.
فهم واجهة Poedit
عند فتح ملف .po (من قائمة ملف ثم فتح، أو ببساطة سحب الملف إلى النافذة)، يقدم Poedit تخطيطًا من ثلاث مناطق يتوافق مباشرة مع بنية Gettext الأساسية.
أجزاء المصدر والترجمة
المنطقة الرئيسية عبارة عن قائمة من عمودين. يعرض العمود الأيسر سلسلة المصدر (msgid) تمامًا كما كتبها المطور في الشيفرة. ويعرض العمود الأيمن ترجمتك (msgstr). يؤدي النقر فوق أي صف إلى تحميله في لوحة التحرير في الأسفل، حيث يمكنك كتابة النص المترجم.
اليك هذا الإدخال الخام داخل الملف:
#: includes/checkout.php:142
msgid "Your order has been placed."
msgstr ""
في Poedit، يظهر نفس الإدخال كصف واحد: المصدر على اليسار، وخلية ترجمة فارغة على اليمين. أنت لا تلمس الصيغة الخام أبدًا. كل ما عليك فعله هو الكتابة في اللوحة السفلية وسيقوم Poedit بكتابة msgstr لك.
علامات "Fuzzy" وألوان الحالة
يقوم Poedit بتلوين الصفوف بحيث يمكنك رؤية حالة الكتالوج بلمحة. تبرز السلاسل غير المترجمة، وتظهر السلاسل المبهمة (fuzzy)، وهي الإدخالات التي تم وضع علامة #, fuzzy عليها في الملف لأن المصدر قد تغير أو تمت مطابقة الترجمة تلقائيًا، بلون مميز (عادةً برتقالي أو أصفر). السلاسل المبهمة هي في الأساس علامات "تحتاج إلى مراجعة". لن يعرضها WordPress على الموقع المباشر، لذا فإن مسحها مهم. يمكنك تبديل حالة الغموض في أي صف باختصار واحد بمجرد التأكد من صحة الترجمة.
يعرض شريط الحالة في الأسفل تقدمك: إجمالي السلاسل، وعدد السلاسل المترجمة، وعدد السلاسل التي لا تزال مبهمة أو غير مترجمة.
كما تعرض لوحة التحرير السفلية سياقًا مفيدًا. تعرض تعليق مرجع المصدر، سطر الشيفرة الذي تُستخدم فيه السلسلة (على سبيل المثال #: includes/checkout.php:142)، وأي ملاحظات للمطورين متبقية في الملف. هذه التعليقات لا تقدر بثمن عندما يمكن أن تكون سلسلة قصيرة مثل "Order" اسمًا أو فعلًا، يخبرك مرجع المصدر بأي ملف وميزة تنتمي إليها، بحيث تترجمها بشكل صحيح من المرة الأولى. قضاء بضع ثوانٍ في قراءة هذا السياق هو الفرق بين كتالوج دقيق وآخر مليء بالصيغ الغريبة وغير المناسبة.
كيف تبدأ ترجمة جديدة من ملف POT؟
ملف .pot هو قالب يحتوي على كل سلسلة مصدر بترجمات فارغة. لبدء لغة جديدة تمامًا، يمكنك إنشاء ملف .po من هذا القالب بدلاً من تحرير ملف .pot مباشرةً.
في Poedit، اختر File ثم New from POT/PO File، وحدد ملف .pot الخاص بالسمة أو المكون الإضافي (عادةً داخل مجلد /languages الخاص به)، واختر لغتك المستهدفة. بعد ذلك، يطلب Poedit اللغة وينشئ كتالوجًا جديدًا بتسمية ملف صحيحة، على سبيل المثال de_DE.po للغة الألمانية.
تكوين الكتالوج و Plural-Forms Header
يحمل كل ملف .po كتلة رأس، وأهم حقل للدقة هو Plural-Forms. يعبر هذا التعبير عن عدد صيغ الجمع التي تحتاجها اللغة وأيها يجب اختيارها لعدد معين.
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
تستخدم اللغة الإنجليزية شكلين. تحتاج لغات مثل البولندية والروسية إلى ثلاثة أشكال أو أكثر، ووضع هذا الرأس بشكل خاطئ ينتج أعدادًا مكسورة نحويًا. يضع Poedit افتراضيًا معقولًا عندما تختار اللغة، ولكن يمكنك مراجعته وتعديله ضمن Catalog ثم Properties. إذا كنت تريد فهمًا أعمق لسبب سهولة ارتكاب الأخطاء في هذا الرأس، فراجع دليلنا حول جمع Gettext وصيغ الجمع المعقدة.
تتيح لك خصائص الكتالوج أيضًا تعيين اسم المشروع، واسم المترجم وبريده الإلكتروني، وفريق اللغة، ومجموعة الأحرف. يجب أن تكون مجموعة الأحرف دائمًا تقريبًا UTF-8؛ أي شيء آخر يخاطر بإفساد الأحرف المشددة والنصوص غير اللاتينية. Poedit يضبط UTF-8 افتراضيًا للملفات الجديدة، ولكن إذا ورثت كتالوجًا أقدم، فمن الجدير التأكد من ذلك. ضبط الرأس بشكل صحيح مرة واحدة في البداية يوفر عليك إعادة العمل لاحقًا.
بمجرد التكوين، ما عليك سوى العمل في القائمة، وترجمة كل صف. يقوم Poedit بحفظ موقعك تلقائيًا، حتى تتمكن من إغلاق التطبيق في منتصف الكتالوج واستئناف العمل تمامًا من حيث توقفت. بالنسبة للكتالوجات الطويلة، تتيح لك اختصارات لوحة المفاتيح للانتقال إلى السلسلة التالية غير المترجمة أو السلسلة التالية المبهمة الاستمرار في العمل دون الحاجة إلى التمرير، وهو ما يفقد معظم الوقت في التحرير اليدوي.
ذاكرة الترجمة والاختلاف بين النسخة المجانية والاحترافية
إحدى أكثر ميزات Poedit فائدة هي ذاكرة الترجمة (TM). أثناء الترجمة، يتذكر Poedit كل زوج من المصدر والترجمة. في المرة التالية التي تظهر فيها سلسلة مصدر متطابقة أو متشابهة، في نفس الملف أو مشروع مختلف، يقترح Poedit ترجمتك السابقة تلقائيًا. على مدار أشهر من العمل، يتطور هذا إلى قاعدة بيانات شخصية تسرع بشكل كبير سلاسل واجهة المستخدم المتكررة مثل "Save" (حفظ)، و "Cancel" (إلغاء)، و "Add to cart" (إضافة إلى سلة التسوق).
تظهر اقتراحات ذاكرة الترجمة (TM) في لوحة التحرير، ويمكنك قبولها بضغطة مفتاح. لاحظ أن الإدخالات المملوءة بواسطة ذاكرة الترجمة غالبًا ما يتم وضع علامة "fuzzy" عليها افتراضيًا، لذا يجب عليك مراجعتها قبل إزالة العلامة.
ماذا تضيف نسخة Poedit Pro؟
يتعامل المحرر المجاني مع الترجمة اليدوية بالكامل. تضيف Poedit Pro (ترقية مدفوعة) ميزتين رئيسيتين:
- فحص الشيفرة المصدرية: يمكن لـ Pro فحص شيفرة PHP أو JavaScript الخاصة بك، والعثور على كل استدعاء
__()و_e()Gettext، واستخراج ملف.potجديد أو تحديث كتالوج موجود، دون الحاجة إلى سطر الأوامر. - الترجمة المسبقة: يقدم Pro ترجمة مسبقة آلية للكتالوج بأكمله، ولكنه يعمل بنموذج مدفوع يعتمد على الرصيد. تشتري أرصدة، وتستهلك الكتالوجات الكبيرة هذه الأرصدة بسرعة.
بالنسبة للغة واحدة وكتالوج متواضع، فإن Pro مريح. القيد الصادق هو النطاق. تتراكم أرصدة الترجمة المسبقة، ولا يزال سير العمل في الأساس ملفًا واحدًا، ولغة واحدة، وجلسة سطح مكتب واحدة في كل مرة.
ومن الجدير بالذكر أيضًا توضيح ما تفعله ذاكرة الترجمة وما لا تفعله. تقترح ذاكرة الترجمة فقط الترجمات التي أنتجتها أنت (أو قاعدة بيانات فريق مشتركة) من قبل. بالنسبة لمشروع جديد تمامًا بدون تاريخ، تكون الذاكرة فارغة، لذلك لا تقدم شيئًا حتى تكون قد ترجمت جزءًا كبيرًا يدويًا بالفعل. تسرع ذاكرة الترجمة السلاسل المتكررة والمتكررة؛ إنها لا تترجم محتوى جديدًا تمامًا. هذا التمييز مهم عند تقدير المدة التي سيستغرقها كتالوج جديد، لأن اللغة الأولى هي دائمًا الأبطأ، وكل لغة لاحقة تبدأ من الصفر ما لم تتداخل سلاسلها.
حفظ عملك وتجميع ملفات MO
لماذا يحتاج WordPress إلى ملف .mo بينما قمت أنت بتحرير ملف .po فقط؟ لأن WordPress يقرأ ملف .mo الثنائي المجمع في وقت التشغيل، وليس ملف .po القابل للقراءة البشرية. الخبر الجيد هو أن Poedit يتعامل مع هذا تلقائيًا.
عندما تضغط على حفظ، يكتب Poedit ملف .po، وبشكل افتراضي، يقوم بتجميع ملف .mo المطابق في نفس المجلد.
# After saving in Poedit you get both files:
wp-content/languages/themes/
storefront-de_DE.po # editable source
storefront-de_DE.mo # compiled binary WordPress loads
إذا لم ينتج الحفظ ملف .mo، فتحقق من Preferences ثم General وتأكد من تمكين "Automatically compile MO file when saving". يُعد ملف .mo المفقود أو القديم أحد الأسباب الأكثر شيوعًا لعدم ظهور الترجمة المكتملة على الموقع المباشر أبدًا. إذا واجهت هذه المشكلة، فإن دليل استكشاف الأخطاء وإصلاحها لعدم ظهور ترجماتك في WordPress يغطي القائمة الكاملة.
عندما لا يكون Poedit كافيًا: التوسع إلى ما وراء سطح المكتب
Poedit ممتاز لما هو عليه: محرر دقيق، يدوي، لملف واحد. تظهر المشكلة اللحظة التي تنمو فيها احتياجاتك. ترجمة مكون إضافي واحد إلى اثنتي عشرة لغة تعني اثنتي عشرة جلسة منفصلة. كتالوج بحجم 10 ميجابايت يحتوي على آلاف السلاسل يعني ساعات من الكتابة أو استهلاك أرصدة الترجمة المسبقة بسرعة. والتحريرات اليدوية تحمل دائمًا خطر إفساد عنصر نائب مثل %s أو %1$s وكسر المخرجات بصمت.
وهذا هو بالضبط حيث يتولى سير العمل السحابي المسؤولية. يقوم SimplePoTranslate بتشغيل كتالوجك عبر الذكاء الاصطناعي الواعي بالسياق مع قفل البنية (Syntax Locking)، الذي يثبت كل %s، %1$s، {name}، وعلامة HTML بحيث لا يمكن أن تتلف البنية أبدًا أثناء الترجمة. تتعامل المعالجة الذكية للدفعات (Smart Batching) مع الملفات التي تزيد عن 10 ميجابايت دون تقسيم يدوي، وتحصل على النتيجة في شكل ملف ZIP جاهز للنشر يحتوي على .po و .mo و .json و .php و .xliff في آن واحد، كل ذلك في السحابة بدون تثبيت على سطح المكتب وبدون إضافات غير ضرورية.
استخدم Poedit للضبط الدقيق والمراجعة، وهي المهمة التي يتقنها بشكل أفضل. استخدم السحابة عندما تحتاج إلى سرعة جماعية عبر العديد من اللغات دون التضحية بأمان العناصر النائبة.
هل أنت مستعد لترجمة كتالوجات كاملة إلى عشرات اللغات دون إضاعة ساعات في محرر سطح المكتب؟ جرب SimplePoTranslate مجانًا — لا يلزم وجود بطاقة ائتمان. تتيح لك الطبقة المجانية ترجمة أول ملف
.poلك في دقائق، مع قفل البنية (Syntax Locking) على كل سلسلة).