

لمن لا يعلم، فإن WordPress هو جوهر ما يقرب من 43 في المائة من مواقع الويب في العالم. كما أن نظام إدارة المحتوى (CMS) متاح في 205 لغة مختلفة. ونظرًا لأن المنصة كيان عالمي، فإن التوطين مهم. عملية WordPress i18n هي مفتاح لكي .
"ميزة" i18n هي أنها طريقة لكي موضوعك ورمز المكون الإضافي للترجمة. من هناك، يمكنك تطبيق ترجمات دقيقة لكي والتوافق مع الثقافات والمناطق المحلية الأخرى، وجني الفوائد.
في هذا المنشور، لكي WordPress i18n أكثر ونوضح لك لكي . على الرغم من أنك لكي بعض المعرفة بالبرمجة، إلا أننا سنناقش الخطوات بالتفصيل – إلى جانب ما i18n (ووظيفته).
"ليت سبيك" هو منتج من عصر مضى، لكنه لا يزال حياً وناجحاً في أوساط مطوري الويب. على الرغم من أنك لن ترى الكثير من "l33t" و"n00b"، إلا أنك سترى الكثير من الأرقام: a11y عندما يكون النقاش حول إمكانية الوصول، على سبيل مثل.
في الواقع، i18n هو اسم رقمي آخر. وهو يرمز إلى "التدويل" (internationalization)، ويتكون من الحرف الأول والأخير مقترنين برقم يشير إلى عدد الأحرف الأخرى الموجودة بينهما. ستجد أيضًا أن التوطين له اسمه الرقمي الخاص: l10n. وهناك أسماء رقمية أخرى أيضًا، مثل العولمة (g11n) والأوربة (e13n) أكثر
هنا، لكي خاص لكي التدويل. يشير الموجز الرسمي الصادر عن اتحاد شبكة الويب العالمية (W3C) إلى أن هذا هو المكان الذي يتيح التصميم والتطوير توطينًا بسيطًا للمستخدمين من مختلف الثقافات والمناطق واللغات أكثر.
من المهم لكي أن التدويل هو فقط أولى في عملية الترجمة. ومن هناك، ستقوم بالتوطين باستخدام حل ترجمة مناسب.
بالنسبة لعملية i18n نفسها، هناك عدد من الخطوات التي سيتخذها مطور WordPress قبل تسليمها لكي . باختصار، تتم عملية التوطين على النحو التالي:
سيأخذ المترجم ملف .pot ويستخدمه لكي الترجمة، لذا فهو جزء مهم من الإجراء.
لمن لا يعرف، ملفات POT هي مثل يتم إنشاؤها باستخدام أداة GNU gettext. هذه تقنية وبرنامج من الثمانينيات لا يزالان يقدمان قيمة هائلة لمن يقومون بالترجمة الدولية اليوم.
ليس من الضروري معرفة ما بالضبط لكي WordPress i18n، ولكن من المفيد لكي ما بشكل عام ما . اعتبر gettext إطار عمل يساعد WordPress على إنتاج رسائل متعددة اللغات.
سترى غالبًا عددًا من الملفات المرتبطة بـ gettext:
مع أخذ كل هذا في الاعتبار، يمكنك البدء في عملية i18n تقريبًا. أولاً، من الجيد لكي موقع WordPress الخاص بك للعمل الذي ينتظرك.
كما هو الحال مع أي مشروع لكي الأساسية، ستحتاج لكي من أن التثبيت "نظيف" قبل البدء. ستحتاج أيضًا لكي من أنه يمكنك التراجع عن أي تغييرات تجريها، في حالة حدوث أسوأ سيناريو واحتياجك لكي .
على هذا النحو، هناك خطوتان "مسبقتان" غير قابلتين للتفاوض تقريبًا قبل عملية i18n:
بالنسبة للأخير، ننصحك لكي المكونات الإضافية لكي تريد لكي لكي تلك الزائدة لكي .
مرة أخرى، لكي على ملفات WordPress الأساسية، لذا يجب لكي دراية بكيفية عملها ومحتوياتها. بعض المفاهيم التي سنتحدث عنها في البرنامج التعليمي لن تحتوي بالضرورة على شرح، على الرغم من أن الخطوات نفسها ستحتوي على شرح.
بعد الانتهاء من جميع هذه النقاط، يمكنك البدء لكي على عملية i18n.
في الأقسام التالية، سنوضح لك لكي WordPress i18n مع السمات والمكونات الإضافية الخاصة بك. على الرغم من أن كل قسم قد يكون مليئًا بالرموز البرمجية والتقنية في بعض الأماكن، إلا أننا لكي كل شيء بأكبر قدر ممكن من التفصيل، لكي موارد إضافية قد تحتاجها.
سنبدأ بكيفية لكي السمات الخاصة بك.
الخطوة الأولى هي لكي رأس الموضوع لكي مجال نصي ومسار المجال. باختصار:
للقيام بذلك، ما عليك سوى إضافة بضع كلمات لكي رأس السمة:
/*
اسم السمة: موضوعي المخصص
المؤلف: Weglot Translate
مجال النص: My-theme
مسار المجال: /اللغات/
*/*/
بعد ذلك، تحتاج لكي مجال النص هذا باستخدام "إجراء" و"وظيفة":
add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup() {
load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}
لكي مجموعة الأكواد هذه في ملف functions.php الخاص بقالبك، وليس في ملف موقعك. بمجرد القيام بذلك، يمكنك البدء لكي "تدقيق السلسلة". لكي ذلك لكي جميع سلاسل النص داخل قالبك في وظائف الترجمة. هناك وظيفتان ستستخدمهما كثيرًا:
تتطلب هذه الوظائف حجتين: سلسلة النص ومجال النص. على مثل:
__()
$welcome = __( ‘مرحبًا! مرحبًا لكي !’, ‘my-theme’ );
_e( ‘مرحبًا مرة أخرى!’, ‘my-theme’ );
في حين أن تفاصيل وظائف الترجمة المختلفة تتجاوز نطاق هذه المقالة، فإن دليل مطوري قوالب WordPress يحتوي على كل المعلومات التي تحتاجها لكي بهذه المهمة.
في هذه المرحلة، يمكنك إنشاء ملف POT. هناك العديد من الحلول لكي بذلك، ولكن WordPress يوصي باستخدام Poedit – وهو حل مجاني ومفتوح المصدر.
بمجرد تنزيل Poedit وتثبيته ، انتقل لكي ملف > جديد في شريط الأدوات:

بعد ذلك، قم بإنشاء كتالوج جديد. يمكنك النقر على رابط استخراج من المصادر في الشاشة الرئيسية:

بعد ذلك، املأ الحقول الخاصة باسم المشروع، وفريق اللغة، واللغة الأساسية في علامة التبويب خصائص الترجمة:

إذا كان الملف جديدًا، فستحتاج لكي هنا (يجب أن يكون اسم الملف هو نفسه اسم الموضوع الخاص بك). بعد ذلك، حدد علامة التبويب " مسارات المصادر " وحدد موقع المجلد /languages/ على جهاز الكمبيوتر الخاص بك:

ستكون علامة تبويب المصادر الرئيسية الأخيرة قائمة بوظائف الترجمة التي استخدمتها في قالبك:

ستحتاج لكي هنا، على الرغم من أنه قد يكون من الصعب لكي على الكلمات المفتاحية المناسبة. كبداية، يمكنك استخدام القائمة التالية:
__
_e
_e _x
_ex
_n
_nx
_nnnoop
_nx_noop
ترجمة_نوب_ جمع
رقم_تنسيق_i18n
تاريخ_i18n
esc_html__
esc_html__
esc_html__ esc_html_x
esc_attr__
esc_attr_e
esc_attr_x
بمجرد النقر لكي ، احفظ التغييرات وقم بفحص الملفات الجديدة: سترى ملفات MO و PO على جهاز الكمبيوتر الخاص بك. إذا قمت بنسخ ملف PO، يمكنك إضافة امتداد POT، ومن هنا يمكنك الانتقال إلى الترجمة.
مهمتك الأولية هنا تشبه لكي : أولاً، قم بتحديث حقول مجال النص ومسار المجال الخاصين بالمكوّن الإضافي في الرأس:
/*
اسم المكون الإضافي: المكون الإضافي المخصص الخاص بي
عنوان URL للمكون الإضافي:weglot
الوصف: مكون إضافي لكي الترجمة و i18n.
المؤلف: Weglot
الإصدار: 1.0
عنوان URL للمؤلف:weglot
نطاق النص: my-plugin
مسار النطاق: /languages/
*/
نوصي بإنشاء مجلد /languages/ لمسار المجال وتعيينه كمسار المجال. من هناك، يمكنك تحميل مجال النص للمكوّن الإضافي، ولكن هذه المرة يمكنك إضافة الوظيفة التالية لكي الكود لكي ، بدلاً من استخدام functions.php:
تحميل_نص_نص_المكون الإضافي( $domain, $abs_rel_path, $plugin_rel_path)؛
ومع ذلك، هذا فقط WordPress بوجود ملف ترجمة متاح. لكي ستحتاج لكي الوظيفة في إجراء:
add_action( 'plugins_loaded', 'plugin_load_td' );function plugin_load_td() {
load_plugin_textdomain( 'my-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
سيكون معظم تدقيق السلسلة مشابهاً لكي i18n. الخطوة الأخيرة هي لكي ملف POT باستخدام نفس العملية السابقة؛ سيتم وضع الملف الذي تم إنشاؤه في دليل العمل الحالي.
الآن، ستدرك مدى روعة WordPress i18n. إنه رائع إذا كنت تقوم بتطوير قوالب أو مكونات إضافية وتريد لكي جاهزة لكي . ومع ذلك، مثل كل الأشياء الرائعة، هناك بعض العيوب أيضًا.
على مثل، إذا كان المكون الإضافي يحتوي على محتوى أنشأه المستخدمون، فلن يكون هذا جزءًا من ترجمة i18n.
ستتيح عملية i18n ترجمة العناصر الثابتة التي تقوم ببرمجتها، مثل نص الأزرار. ومع ذلك، إذا أراد المستخدم لكي عبارة معينة في حقل ما، لكي إنشاء تسميات فريدة، أو عناصر أخرى "من جانب العميل"، فلن تتمكن لكي هذه المتطلبات. في الواقع، يمكنك القيام لكي ، ولكنها مهمة معقدة وتتجاوز نطاق مقال مثل هذا.
كما أن i18n لن يساعدك في ترجمة موقعك إذا لم تكن مطورًا. لهذا الغرض، ستحتاج إلى مكون إضافي، وقد ترغب لكي إلى القسم التالي للحصول على خيار مناسب.
ومن الجدير بالذكر أيضًا أنه على الرغم من أن مكونات الترجمة الإضافية يمكن أن تساعد في نواحٍ عديدة، فإن الموقع سيحتاج إلى خمسة مكونات إضافية في المتوسط لكي متعدد اللغات بالكامل. في المقابل، هناك حل مثل Weglot سريع لكي ، وقادر لكي جميع الأجزاء القابلة للترجمة في الموقع، ومتوافق مع معظم السمات والمكونات الإضافية. وهذا بغض النظر عما إذا كانت تلك السمات والمكونات الإضافية جاهزة لكي .
أكثر، Weglot السمة والمكوّن الإضافي وعناصر المحتوى الرئيسية من الصفحة الأمامية HTML ويجعلها قابلة للترجمة. وبالتالي، لا توجد ملفات .pot و .po، كما أن طريقة gettext ليست ضرورية أيضًا.
من الناحية الفنية، لكي الآن توطين المحتوى الخاص بك – عملية الترجمة المباشرة.
إن وضع استراتيجية ترجمة جيدة ليس بالأمر السهل. فهو عمل شاق ويتطلب الكثير من التخطيط لكي المحتوى الخاص بك لكي ثقافات ومناطق ولغات مختلفة بالطريقة الصحيحة. ولا يقتصر الأمر فقط النص المترجم في محتوى نصك فقط . لكي عليك أيضًا لكي كل ما يلي:
إذا كنت تستخدم التجارة الإلكترونية، فهناك الكثير من الاعتبارات هنا أيضًا. على مثل، ستحتاج لكي أن شاشة الدفع الخاصة بك تقدم ترجمة كاملة لكل عنصر - خاصة حقول العملة والضرائب:

ما أكثر معلومات الشحن هي جانب أساسي لكي بالكامل لكي عالية. سترغب لكي ألا لكي العملاء أي عذر لعدم النقر على زر "شراء" ، بغض النظر عن اللغة التي تستخدمها.

Weglot يقوم بالكثير من الأعمال الشاقة نيابة عنك. إنه حليف قيّم لجهودك في WordPress i18n لأنه يكتشف كل جانب من جوانب موقعك التي يمكنك ترجمتها. من هناك، سيقوم بتنفيذ الطبقة الأولى من الترجمة الآلية نيابة عنك:

قد يكون هذا كافياً لتلبية احتياجاتك، ولكن Weglot يساعدك على الذهاب إلى أبعد من ذلك. يمكنك لكي ترجمات احترافية، وتحرير الترجمات الموجودة، أكثر. يمنحك هذا كل المرونة لكي تحتاجها لكي توطين كامل لموقعك.
WordPress متاح في جميع أنحاء العالم تقريبًا. وبالتالي، ستساعد السمات والمكونات الإضافية الدولية عندما إلى لغات أخرى. يعد WordPress i18n عنصرًا أساسيًا للمطورين الذين يعملون مع هذه المنصة.
إذا كان بإمكانك تدويل موضوعك لكي المستخدمين لكي إنشاء ترجمات دون تعديل شفرة المصدر، فأنت في وضع ممتاز. ومع ذلك، فإن مجرد تطبيق مفاهيم i18n لا يعني أن موضوعك أو مكونك الإضافي قد تمت ترجمته.
لكي هذه الخطوة، ستحتاج لكي على حل مثل Weglot. وهو متوافق مع العديد من المنصات والتقنيات المختلفة ويعمل بشكل رائع مع WordPress. بمجرد الانتهاء من جزء i18n من سير عملك، يمكنك لكي Weglot لكي ترجمات دقيقة وسهلة لكي أي لغة تقريبًا.
لكي ذلك بنفسك، Weglot نسخة تجريبية مجانية لمدة 10 أيام دون أي التزام لكي