تسمح لك إضافات WordPress بتعديل مدونتك وتحسينها بسهولة عن طريق جلب وظائف جديدة غير متوفرة في الشفرة الأساسية.
يعمل استخدام الإضافات بشكل أكثر فعالية من محاولة تعديل البرمجة الأساسية الكلية التي تشكل WordPress. تُعرف الإضافات كبرنامج أو مجموعة من الوظائف المكتوبة بلغة PHP ، وتضيف ميزات محددة يمكن دمجها بسهولة مع المدونة من خلال واجهة برمجة تطبيقات WordPress.
إذا كنت قد كتبت مكوّنًا إضافيًا في WordPress ، فيمكنك جعله أكثر سهولة من خلال ترجمته إلى لغة أخرى. هذا هو المعروف باسم التدويل.
قبل أن تتمكن من تدويل المكون الإضافي ، يجب أن تعرف معنى ذلك. يُعرف أيضًا باسم i18n ، ويعني هذا تعديل المكوِّن الإضافي بحيث يمكن للثقافات الأخرى التي تتحدث لغات أخرى استخدام مكوّنك الإضافي بسهولة.
التوطين على النقيض من ذلك ، هو عملية التعديل الفعلي.
هناك ما هو أكثر من التدويل من مجرد ترجمة الواجهة. على سبيل المثال ، يجب التعامل مع الافتراضات التي قدمتها عن الوحدات الإمبراطورية والوحدات المترية وعلامات الترقيم ، مثل استخدام فاصلة لفصل الآلاف بدلاً من فترة ، بالإضافة إلى مواضيع ثقافية أخرى قبل أن تتمكن من تحديد مكان عملك بشكل صحيح.
في حين أن هذا هو الدليل الذي يعالج الاستعداد لتوطين ملحق ، فإنه لا يزال من المهم الحفاظ على هذه التعديلات الإضافية في الاعتبار.
يعني تعريب المكون الإضافي أنك بحاجة إلى إنشاء نطاق نصي ، مع الحفاظ على كل جزء منفصل عن تلك التي يستخدمها WordPress أو التي حددتها المكونات الإضافية الأخرى. كل ما تريد استخدامه لنطاق نصي هو لك ، ولكنك ستحتاج إلى اختيار شيء فريد وحساس على حدٍ سواء ، ويرتبط بما يدور حوله المكون الإضافي.
قبل أن تتمكن من توطين المكون الإضافي بالكامل ، تحتاج إلى جعله يخبر WordPress كيف يمكنه العثور على سلاسلك. إذا لم تكن الشفرة موجودة بالفعل ، فستحتاج إلى إدراج شيء مثل السطر التالي في الترميز:
add_action( 'init', 'myFunction' );
يتواصل هذا الرمز مع WordPress ليخبره باستخدام الدالة تسمى myFunction بمجرد تحميله. تقوم هذه الوظيفة بعد ذلك بتعيين نطاقك النصي إلى WordPress وتعلمه كيف يمكنه تحميل السلاسل المترجمة ، والتي يجب أن تظهر مشابهة لهذه:
function myFunction() {load_plugin_textdomain( 'mytextdomain', 'wp-content/plugins' );}
تقوم دالة WordPress load_plugin_textdomain بإعلام WordPress بوجود مجال نصي يسمى mytextdomain ، بينما تستريح الملفات التي لها سلاسل مترجمة داخل مجلد الخادم wp-content / plugin. (وبطبيعة الحال ، إذا وضعت الملفات الإضافية في مجلد ومسار مختلف ، فستحتاج إلى استبدالها بالمسار المناسب.)
بعد التهيئة ، ستحتاج إلى تغيير السلاسل الثابتة إلى وظيفة تسمح لـ WordPress باستخدام الإصدار المترجم المناسب من تلك السلسلة. بعد كل شيء ، فإنه لا يعمل بشكل جيد لجعل WordPress يسحب لغة خاطئة.
تقدم هذه الوظيفة اسماً مختصراً يجعل من السهل تدويل: الدالة double-underbar _ (السلسلة ، المجال). تحتوي الدالة على معلمتين ، الأولى هي السلسلة الافتراضية التي يستخدمها الملحق في حالة عدم توفر إصدار مترجم. المعلمة الثانية هي نفس مجال النص الذي حددته في التعليمة البرمجية في وقت سابق.
قبل هذه الخطوة ، قد تظهر شفرتك على النحو التالي:
function addMyAdminPage() {add_options_page('A Page Title','A Menu Title',7, __FILE__, 'myAdminFunction' );}
بعد إضافة الشفرة ، قد يبدو الأمر كالتالي:
function addMyAdminPage() {add_options_page(__( 'A Page Title', 'textdomain' ),__( 'A Menu Title', 'textdomain' ),7, __FILE__, 'myAdminFunction' );}
مع كل الإعداد خارج الطريق ، فأنت مستعد أخيراً للعملية الفعلية لتحويل مكون WordPress الخاص بك إلى لغات متعددة.
يتطلب إنشاء ترجمة للملحق الخاص بك إنشاء ملف .po يحمل اسمًا مشابهًا لاسم ملف المكون الإضافي وكذلك رموز ISO 639 المكونة من حرفين لكل بلد ولغة. على سبيل المثال ، إذا تم استدعاء البرنامج الإضافي للامتحان وكنت ترغب في ترجمته إلى الإسبانية (الأوروبية) ، فسيظهر على أنه "examplename-es_ES.po".
في حين أن مخطوطة WordPress تقدم الأدوات التي يمكن أن تساعد في التعريب ، فمن الأفضل أن تذهب ببساطة مع ملف .po من أحد المكوّنات الإضافية كنقطة بداية. يتم إجراء ملفات .po من رأس واحد ثم أزواج الترجمة:
msgid "Options"msgstr "Opciones"
msgid هي السلسلة القياسية التي تظهر في وظيفة underbar المزدوجة التي تمليها. مع إنشاء ملف .po ، يمكنك استخدام أحد الأدوات التي يقدمها WordPress لإنشاء ملف .mo ، وهو الملف الآخر الذي يتطلبه WordPress.
لا أحد يعرف كل لغة ، لذلك ستحتاج إلى توسيع مواردك والسماح للأشخاص الآخرين بالمساعدة في الترجمة إلى لغات أخرى. ومع ذلك ، ستحتاج إلى الخضوع لإجراء خاص لتوليد الملفات اللازمة لمنح المترجمين الخاصين بك لأنك لا ترغب في أن يحصلوا على شفرة المصدر الخاصة بك لكسرها عن طريق الخطأ.
الملف الذي تريد أن تعطيه للمترجمين هو ملف POT ، والذي يشبه هذا:
#: wp-admin/admin-header.php:49msgid "Options"msgstr ""
هناك طريقتان لإنشاء هذا الملف. إذا كنت قد وضعت المكوّن الإضافي في المستودع ، فانتقل إلى صفحة المسؤول وحدد "إنشاء ملف POT". هذا الملف هو ما سترسله إلى المترجمين ليتم توطينه ، على الرغم من أنك سترغب في إرسال المكون الإضافي إليه حتى لا يحتاج المترجمون إلى طرح أسئلة حول المكون الإضافي.
إذا لم يكن لديك الملحق الخاص بك في المستودع حتى الآن ، يمكنك زيارة الموقع WordPress I18n دليل الأدوات واستخدم البرنامج النصي makepot.php بالطريقة التالية:
php makepot.php wp-plugin the-plugin-directory
ضع في اعتبارك أنك ستحتاج إلى تثبيت حزمة أدوات تدويل جنو على الخادم الخاص بك قبل تشغيل هذا الأمر.
مع كل الملفات المترجمة في المكان ، فقد حان الوقت لاختبارها ومعرفة ما إذا كان هناك أي شيء نسيت. يعني اختبار الترجمة الخاص بك تغيير خط بسيط على تهيئة ووردبرس الخاص بك من أجل خداعه إلى الاعتقاد بأنه يجب استخدام ملف مختلف. قم بتغيير ملف wp-config وحدد موقع السطر التالي:
define ('WPLANG', 'en_US');
إذا لم يكن هذا الخط موجودًا من قبل ، فستحتاج إلى التحقق مرة أخرى والتأكد من أن التثبيت لا يزال يعمل بشكل جيد. إذا كان الأمر كذلك ، فارجع إلى الملف وعدِّل رمز البلد واللغة. مع المثال السابق ، سيكون هذا كما يلي:
define ('WPLANG', 'es_ES');
أخيرًا ، يمكنك تمكين المكون الإضافي لاختبار شكله. تذكر العودة إلى لغتك الافتراضية الأصلية بمجرد الانتهاء من الاختبار.
مع كل التغييرات التي يقوم بها WordPress مع مرور الوقت ، قد لا يعمل المكون الإضافي بشكل كامل مع التحديثات اللاحقة. تأكد دائمًا من قضاء الوقت لتحديث المكون الإضافي كلما أمكن ذلك. بافتراض أنك قمت باستضافتها بالفعل في مستودع WordPress Plugin Repository ، يمكنك اتخاذ بعض الخطوات لإضافة ميزات جديدة أو تحديث التصحيحات إلى المكون الإضافي الخاص بك على مدار الوقت. يمكنك القيام بذلك في كثير من الأحيان كما تريد.
عندما تنتهي من تحديث المكون الإضافي وتريد إصدار أحدث إصدار ، ستحتاج إلى وضع قائمة تحقق في الاعتبار:
الكل في الكل ، ليس هناك شيء آخر لتدويل البرنامج المساعد الخاص بك إلى لغات مختلفة. طالما اتبعت هذه الخطوات بعناية ، يمكنك تعريب المكون الإضافي إلى العديد من اللغات المختلفة التي تحتاج إليها.
هل قمت بترجمة البرنامج المساعد WordPress؟ ما هي اللغات التي ترغب في الحصول عليها؟ اسمحوا لنا أن نعرف في التعليقات.