كيفية ترجمة وترجمة مكون WordPress الإضافي - دليل متعمق لمطوري المكونات الإضافية
نشرت: 2020-01-20عند تطوير مكون إضافي ، من الجيد دائمًا جعل الترجمة جاهزة لأنها قد تصل أيضًا إلى الجماهير الذين لا يستخدمون اللغة الإنجليزية كلغة أولى. إذا كنت تتساءل عن مدى أهمية خيار الترجمة ، فيمكنك التحقق من المستودع ومعرفة أن كل مكون إضافي شائع متاح لترجمة اللغة. ستجد هذا الخيار متاحًا مع UpdraftPlus و MetaSlider و WP-Optimize و Contact Form 7 و WooCommerce ، بالإضافة إلى العديد من البرامج الأخرى. هذه بعض الإضافات الأكثر شيوعًا المتاحة ويتم ترميزها بطريقة تسمح لأي شخص بترجمتها بسهولة إلى لغته الأم.
الغرض من هذه المدونة هو أن نوضح لقرائنا كيف يمكنهم ترميز مكون إضافي بحيث يتم ترجمته وترجمته إلى أي لغة مدعومة من WordPress. على سبيل المثال ، إذا أردنا ترجمة مكون إضافي إلى الفرنسية ، فإن الخطوات التالية ستسمح بترجمة المكون الإضافي وستجعله أيضًا جاهزًا لجميع لغات WordPress المدعومة.
ابدء
عند إنشاء مكون إضافي ، يجب أن نتأكد من أننا نقوم بتحميل المجال النصي للمكون الإضافي. يوفر WordPress هذه الوظيفة:
load_plugin_textdomain ()
سيقوم هذا الرمز بتحميل السلاسل المترجمة للإضافة. قد يبدو الأمر محيرًا بعض الشيء ، لكن استمر في القراءة وسنشرح كيف يعمل قريبًا.
أولاً ، دعنا نلقي نظرة على كيفية إضافة هذه الوظيفة إلى كود الملحق الخاص بنا. في مجلد البرنامج المساعد الخاص بك ، قم بإنشاء دليل يسمى "اللغات". بعد ذلك ، أضف الكود أدناه إلى الملف الرئيسي للمكون الإضافي الخاص بك.
* Load plugin textdomain. */ function plugin_load_textdomain() { load_plugin_textdomain( 'udp', false, basename( dirname( __FILE__ ) ) . '/languages/' ); } add_action( 'init', 'plugin_load_textdomain' );
في الكود أعلاه ، نحتفظ بالمعامل الأول (المجال) كـ "udp". يجب أن نحتفظ باسم المجال هذا وفقًا لاسم المكون الإضافي الخاص بنا. المعلمة الثانية افتراضية على خطأ. المعامل الثالث هو مسار دليل "اللغات" الخاص بنا. يبقي هذا الرمز ملفات الترجمة جاهزة عند تهيئة WordPress.
استخدام طرق __ () و _e ()
نظرًا لأننا نهدف إلى جعل المكون الإضافي الخاص بنا متاحًا بجميع اللغات ، يجب علينا تغليف كل نص المكون الإضافي الخاص بنا داخل إما:
__()
أو _e()
.
من السهل جدًا استخدام هذه الأساليب. تعمل كلتا الطريقتين بالطريقة نفسها تمامًا ولكن هناك قاعدة لاستخدام كليهما.
في كود البرنامج المساعد لدينا عادة نوعان من النصوص. الأول ملفوف في HTML مباشرة والثاني يعرض باستخدام وظيفة ارتداد PHP. فيما يلي أمثلة على كلا النوعين:
اكتب 1
<h2>My Plugin Title</h2>
النوع 2
<؟ php echo "My Plugin Settings"؛ ؟>
القاعدة العامة هي أنه إذا كنت تطبع نصًا باستخدام ارتداد PHP ، فيجب عليك التفاف النص في الكود التالي:
<code>__()</code>
إذا كان بتنسيق HTML ، فاستخدم الكود: <code>_e()</code>.
يجب كتابة الكود أعلاه بالطريقة التالية:
<h2> <؟ php _e ('My Plugin Title'، 'udp')؛ ؟> </h2>
و
<؟ php echo __ ('My Plugin Settings'، 'udp')؛ ؟>
كما يتضح من الأمثلة أعلاه ، تمت كتابة المعلمة الثانية كـ "udp" ، وهو مجال نص المكون الإضافي الخاص بنا. باستخدام هذا المجال ، سيسمح لنا لاحقًا بترجمة نصنا إلى أي لغة. هذه هي الطريقة التي تجعل الإضافات الأخرى ترجمة الإضافات جاهزة.
إذا كنت ترغب في ذلك ، يمكنك التحقق من المكون الإضافي الخاص بنا:
أوبدرافت بلس
إذا كنت تبحث عن مجال النص "updraftplus" ، فسترى كيف يتم تغليف نص المكون الإضافي داخل وظائف __()
و _e()
.
إنشاء عينة البرنامج المساعد
المرحلة التالية هي إنشاء مكون إضافي مع بعض النص حتى نتمكن من اختبار ترجماتنا. أولاً ، قم بإنشاء مجلد "udp" في دليل البرنامج المساعد الخاص بك. داخل هذا المجلد ، قم بإنشاء الملف: udp.php
languages
المجلد. بعد ذلك ، أضف الكود أدناه إلى ملف البرنامج المساعد.
udp.php
<؟ php / * اسم البرنامج المساعد: UDP الوصف: هذا نموذج مكون إضافي لاختبار مجال نص البرنامج المساعد المؤلف: هيئة التحرير الإصدار: 1.0.0 الترخيص: GPLv3 أو أحدث مجال النص: udp مسار المجال: / اللغات * / if (! المعرفة ('ABSPATH')) يموت ('غير مسموح بالوصول المباشر') ؛ / ** * تحميل مجال نص البرنامج المساعد. * / الوظيفة udp_load_textdomain () { load_plugin_textdomain ('udp'، false، basename (dirname (__FILE__)). '/ languages /')؛ } add_action ('init'، 'udp_load_textdomain')؛ الوظيفة udp_menu_page () { add_menu_page ( __ ("صفحة إعداد UDP" ، "udp") ، __ ("صفحة إعداد UDP" ، "udp") ، "إدارة_خيارات"، "udp_setting_page" ، "udp_setting_page" ، "، 6 ) ؛ } add_action ('admin_menu'، 'udp_menu_page') ؛ الوظيفة udp_setting_page () { ؟> <h2> <؟ php _e ('My Plugin Title'، 'udp')؛ ؟> </h2> <؟ php }
قم بإنشاء ملفات الترجمة
لإنشاء ملفات الترجمة الخاصة بنا ، سنستخدم برنامج محرر الترجمة التالي:
بوديت
تحتوي ملفات الترجمة (.po و .mo) على السلسلة المراد ترجمتها والسلسلة المترجمة. أثناء إنشاء ملف .po ، نحتاج إلى حفظه بتنسيق '{domain} -language code'. في هذا المثال ، سيكون الملف udp-fr_FR.po .
بعد ذلك ، قم بتثبيت برنامج POEDIT على نظامك. هذا البرنامج متاح لجميع الأنظمة الأساسية ويمكن تثبيته على Windows أو Linux أو Mac.
بمجرد التثبيت ، افتح POEDIT وانتقل إلى File- > New ، حيث سنقوم بإدخال رمز اللغة الخاص بنا في نافذة موجه.
انقر فوق أيقونة "حفظ" ، وبعد ذلك ، سيتم فتح مستكشف الملفات. توجه إلى دليل لغات المكونات الإضافية واحفظه على النحو التالي: udp-fr_FR.po .
الآن نحن قادرون على إضافة الترجمة الفرنسية لنص البرنامج المساعد الخاص بنا. للقيام بذلك ، انقر فوق قسم "استخراج من المصادر".
سيؤدي هذا إلى فتح قائمة منبثقة لخصائص الكتالوج. نحتاج الآن إلى تهيئة علامات التبويب الثلاث التالية: خصائص الترجمة ومسارات المصدر والكلمات الأساسية للمصدر. في علامة التبويب خصائص الترجمة ، أضف مجالنا "udp" كاسم المشروع. ستكون مسارات المصدر هي مجلد البرنامج المساعد الخاص بنا وسنضيف "__ و _e" داخل الكلمات الرئيسية المصدر.
إذا كان لديك عدة مجلدات داخل المكون الإضافي ، فسنحتاج إلى اختيار كل دليل على حدة.
بعد تحديد مجلد البرنامج المساعد سترى "." في قسم المسارات. كرر نفس العملية للمجلدات الأخرى داخل دليل البرنامج المساعد إذا لزم الأمر.
تحت الكلمات الرئيسية المصدر ، انقر فوق الرمز + وأضف "__" و "_e" ككلمة رئيسية وانقر فوق الزر "موافق".
في النافذة التالية ، ضمن نص المصدر ، سيكون لديك جميع السلاسل المتاحة للترجمة من المكون الإضافي الخاص بك. اختر السلسلة واحدة تلو الأخرى وأضف ترجمتك الفرنسية إلى السلسلة.
بمجرد إضافة جميع الترجمات ، انقر فوق أيقونة حفظ. سيؤدي هذا إلى حفظ كل ترجمة السلسلة تلقائيًا في ملف udp-ft_FR.po
. سيحتوي ملف .po الآن على الكود التالي:
#: udp.php: 24 udp.php: 25 msgid "صفحة إعداد UDP" msgstr "صفحة تكوين UDP" #: udp.php: 37 msgid "عنوان البرنامج المساعد الخاص بي" msgstr "Titre de mon plugin"
اختبر ترجمة البرنامج المساعد
لقد أكملنا الآن مهمة إنشاء ملفات .po و .mo للمكوِّن الإضافي الخاص بنا. حان الوقت الآن لاختبار البرنامج الإضافي الخاص بنا والتحقق من ترجمة اللغة الفرنسية.
أولاً ، قم بتنزيل ملف لغتنا من العنوان التالي:
مستودع لغة WordPress.
بالنسبة للغة الفرنسية ، يكون المسار على النحو التالي:
مستودع اللغة الفرنسية WordPress.fr_FR.mo
و fr_FR.po
قم بتنزيل الملفات من هذا الارتباط وتخزينها في دليل wp-content / languages . أنشئ مجلد "اللغات" ، إذا لم يكن موجودًا بالفعل.
بعد ذلك ، نحتاج إلى تغيير اللغة الافتراضية لتثبيت WordPress الخاص بنا. افتح wp-config.php
وأضف اللغة كما يلي:
تعريف ('WPLANG'، 'fr_FR') ؛
الآن إذا انتقلت إلى لوحة القيادة ، فيجب أن يتم عرض المكون الإضافي الخاص بك باللغة الفرنسية.
ختاماً
قد يبدو إنشاء ترجمة مترجمة لمكوِّن WordPress الإضافي أمرًا شاقًا ومعقدًا في البداية. ومع ذلك ، فإن الفوائد المحتملة لتقديم البلدان الكبيرة غير الناطقة باللغة الإنجليزية مثل البرازيل وفرنسا وألمانيا المكون الإضافي الخاص بك بلغتهم الأم يمكن أن تساعد في فتح المكون الإضافي الخاص بك أمام جمهور جديد تمامًا ومقدر. في حين أنه قد يبدو الكثير من العمل ، إلا أن المكافآت قد تكون كبيرة.
المنشور كيفية ترجمة مكون WordPress الإضافي وترجمته - ظهر دليل تفصيلي لمطوري المكونات الإضافية أولاً على UpdraftPlus. UpdraftPlus - البرنامج المساعد للنسخ الاحتياطي والاستعادة والترحيل لـ WordPress.