اذهب إلى المحتوى

كيفية إدراج لغات متعددة والترجمة في دروبال


د. محمد العطار

لعل من أهم ما يمتاز به اليوم أي موقع أو تطبيق هو تعدد اللغات التي يقدم بها خدماته للعملاء حول العالم، والذي لا يمنعهم من الاستفادة منه غير حاجز اللغة؛ امتاز دروبال عن سائر أنظمة إدارة المحتوى مبكرًا بدعمه المتقدم لتعدد اللغات وهي ميزة مهمة لبناء المواقع باللغة العربية.

يتيح دروبال تعدد اللغات عبر وحدات متواجدة مع دروبال 9 افتراضيًا، توفر أغلب حاجات المواقع من حيث تعدد اللغات مع وجود أكثر من 198 وحدة من مشاركة مجتمع المصادر الحرة منشورة مجانًا في مستودع الوحدات في موقع دروبال الرسمي تحت تصنيف تعدد اللغات.

متطلبات و ملاحظات حول الدرس

  1. معرفة عامة بنظام إدارة المحتوى دروبال و نسخة مثبتة من دروبال 9.
  2. الصور التوضيحية ناتجة بعد تثبيت و تفعيل وحدات يُوصى باستخدامها مثل Admin Toolbar؛ اذا لم تكن تستخدم هذه الوحدة يمكنك اتباع مسار الوصول URL وستكون بشكل اقتباس يبدأ بعد عنوان موقعك وبدون سابقة اللغة؛ أي العبارة التالية للوصول لصفحة الوحدات:
admin/modules
  1. يتشكل أي موقع من حيث تعدد اللغات من جزئين الأول هو الأجزاء الثابتة من الموقع وتسمى واجهة المستخدم والثاني متغير وهو المحتوى الذي أنشأه صاحب الموقع. يدعم دروبال تعدد اللغات في كلا الجزئين.

تفعيل وحدات تعدد اللغات

يحوي دروبال 9 في صفحة الوحدات افتراضيًا تصنيف تعدد اللغات ويحوي أربع وحدات هي: Language و Interface Translation و Content Translation و Configuration Translation. توفر هذه الوحدات الأربع أغلب ما يحتاج إليه لدعم تعدد اللغات، فعّلها كلها.

01-modules.png

إدارة اللغات

تبدأ عملية دعم تعدد اللغات بإضافة اللغة المطلوبة لقائمة اللغات المتوفرة في الموقع، من المسار أدناه اختر Add language ثم اللغة العربية.سيحمل دروبال الترجمة المتوفرة لهذه اللغة من المستودع (موقع دروبال الرسمي) لواجهة دروبال ولكل الوحدات المثبتة.

لا ينصح بتغيير اللغة الافتراضية للموقع لغير الإنجليزية؛ يمكن التحكم بأوليات عرض اللغة بغض النظر عن اللغة الافتراضية للموقع من لسان التبويب Detection and selection.

Configuration > Regional and language > Languages
admin/config/regional/language

02-Languages.png

أولويات عرض اللغة

مع تفعيل اللغة العربية، يمكن الوصول لصفحات الموقع بالعربية بعدة طرق يمكن التحكم بها من صفحة أولويات عرض اللغة؛ من لسان التبويب Detection and selection أو المسار:

admin/config/regional/language/detection

ستلاحظ 6 طرق لترتيب أولويات عرض اللغة، كالتالي:

خيار اللغة المختارة Selected language

يمكن من هذا الخيار تحديد اللغة الافتراضية للعرض في حال عدم وجود أي خيار كأولوية، إجعل هذا الخيار في أعلى القائمة ثم احفظ إعدادات الصفحة، ثم اتجه لإعدادات اللغة المختارة، واختر اللغة العربية.

03-detection.png

04-selected.png

سيتيح هذا الخيار أن تكون اللغة العربية هي اللغة الافتراضية للعرض إن لم تتغير بطريقة أخرى من الأولويات، ومثالًا على ذلك إن لم تحدد اللغة عبر العنوان URL، ستكون اللغة العربية اللغة الافتراضية للعرض، وسيؤدي طلب عنوان الموقع الرئيسي www.site.com لعرض الصفحة العربية إن لم تحدد بغير ذلك لاحقًا.

خيار العنوان URL

يعتمد دروبال على حرفين كمؤشر لكل لغة، فهي للإنجليزية en والعربية ar يتعامل بها لتنظيم التعرف على اللغة، ويمكن أن تكون لسابقة في اسم النطاق أو لاحقة بعد اسم النطاق، افتراضيًا ستكون لاحقة اسم النطاق ar إشارة للغة العربية، ويمكن تغير هذا لأي نص آخر. من صفحة إعدادات خيار العنوان تأكد من وجود الحرفين en للغة الانجليزية، احفظ صفحة الإعدادات ثم اجعل هذا الخيار في الرتبة الثانية و احفظ الإعدادات مجددًا. سيكون بالإمكان الوصول للصفحة الإنجليزية عبر المسار التالي www.site.com/en

05-detection_url.png

  • الجلسة: يحدد هذا الخيار أولوية تحديد اللغة في حال تعيين ذلك ضمن مرسلات http، مثل البيانات التي يزود بها الموقع تطبيق هاتف نقال.
  • المستخدم: يمكن لكل مستخدم تحديد تفضيلات اللغة التي يريد تصفح الموقع بها؛ ويتم تحديد هذه الأولية بتغيير موضع هذا الخيار.
  • المتصفّح: يمكن للمستخدم تحديد أولويات العرض من المتصفح، يوفر هذا الخيار تحديد أولوية استعراض اللغة عبر المتصفح.

إدارة ترجمة العناصر

المقصود بالعنصر من حيث الترجمة أي جزء متغير سواء كان ذلك أنواع المحتوى مثل الصفحة الأساسية أو المقال الموجودين افتراضيًا في دروبال أو الأعضاء أو التصنيفات. لتفعيل تعدد اللغات وترجمة أي محتوى اتبع المسار:

admin/config/regional/content-language

06-content-language.png

تحت العنوان Custom language settings مع تفعيل خيار أي نوع من العناصر -مثلًا المحتوى- يظهر جزء آخر أسفله اسم العنصر المفعّل، يحوي كل الخيارات المصنفة تحته، فمثلًا تحت عنصر المحتوى يتواجد "مقال" و "صفحة أساسية".

سيتاح مع اختيار كل عنصر مفعل كل البيانات المتواجدة لهذا العنصر يمكن تحديد القابل للترجمة منها (بما في ذلك اختيار الوسائط المتعددة مثل الصور)، إضافة لقائمة تُحدد منها اللغة الافتراضية وخيار لتمكين المستخدم من تحديد لغة المحتوى حين الإنشاء أو التحرير. اجعل اللغة الإفتراضية العربية وفعّل خيار تمكين المستخدم من تحديد اللغة، ثم احفظ الإعدادات.

إنشاء محتوى متعدد اللغات

بفرض تفعيل خيار تعدد اللغات للمحتوى من نوع "مقال"، أنشئ مقالًا جديدًا من القائمة: المحتوى > إضافة محتوى > مقال أو مباشرة عبر المسار:

node/add/article

07-add_article.png

لاحظ وجود قائمة يمكن منها اختيار لغة المحتوى وهي افتراضيًا العربية مثلما تم تحديده في إعدادات تعدد اللغات لهذا النوع من المحتوى؛ احفظ الصفحة ثم لاحظ وجود لسان تبويب باسم الترجمة، حيث تتمكن من إدراج ترجمة مرتبطة بهذا المحتوى.

08-translation_tab.png

هيكل تعدد اللغات في قاعدة البيانات

من الأخطاء الرائجة في استخدام نظام إدارة المحتوى دروبال، إنشاء المحتوى بعدد لغات الموقع من القائمة (المحتوى > إضافة محتوى) عوضًا عن إنشائها عبر تبويب الترجمة، وهذا يعني إنشاء محتويين ليس بينها علاقة. تجنب إنشاء ترجمة لذات المحتوى مباشرة؛ إذ يجب أن يكون المحتوى المترجم مرتبطًا بالمحتوى الأصلي في قاعدة البيانات.

لتتضح صورة جسامة هذا الخطأ في إدارة البيانات افتح phpmyadmin ثم قاعدة بيانات نسخة دروبال، ثم اتجه للجدول node حيث يُحفظ كل أنواع المحتوى مرة واحدة في هذا الجدول.

09-db_node.png

لاحظ أن المحتوى "مقال" الذي تم إنشاؤه حديثًا له رقم nid قيمته 3 -قد يكون مختلفًا لديك- وقيمة نوع المحتوى "مقال" والنسخة الأصلية منه باللغة العربية حيث الحقل langcode قيمته ar.

افتح جدول node_field_data والذي يحتفظ فيه دروبال بالبيانات الأساسية لكل محتوى، ستجد حقل معرف المحتوى nid ذات القيمة 3 مكررة مرتين، مرة للعربية ومرة للإنجليزية. في حال عدم اتباع خطوات الترجمة السليمة أعلاه، سيكون لكل لغة رقم معرف nid خاص غير مرتبط بالمحتوى الأصلي، ويتكرر عدم الإرتباط هذا في كل الجداول المعنية بحقول المحتوى.

10-node_field_data.png

إدارة تعدد لغات الواجهة

نصوص الواجهة هي النصوص الثابتة والتي تم إنشاؤها من قبل مبرمجي دروبال أو مبرمجي الوحدات البرمجية، يمكن ترجمة هذه النصوص عبر واجهة مستخدم من موقع دروبال من القائمة (الإعدادات > الإقليمية واللغة > ترجمة واجهة المستخدم) أو عبر المسار:

admin/config/regional/translate

11-translate.png

حيث يمكن استعراض جميع النصوص الموجودة في ملفات ترجمة دروبال أو البحث عن أحدها؛ لاحظ حين ترجمة أي نص الإنتباه بعد تغيير أسماء المتغيرات token، فمثلاً حين ترجمة Welcome to [site:name] إلى أهلاً بك في [site:name] انتبه لعدم تغيير النص الموجود بين قوسين معقوفين.

على الرغم من أن واجهة المستخدم تتيح إمكانية الترجمة بالكامل، إلا أن استخدام برامج مستقلة للترجمة أكثر سرعة وأسهل استخدامًا وأفضل من حيث المراجعة والتدقيق.

لترجمة الموقع خارجيًا يجب أولًا تصدير النصوص غير المترجمة من لسان التبويب تصدير أو المسار:

admin/config/regional/translate/export

حيث سيزودك دروبال بملف من النوع Gettext Portable Object (.po) والذي يحوي النص الأصلي الذي يبدأ بكلمة msgid ثم الترجمة التي تبدأ بالكلمة msgstr، كالمثال أدناه.

msgid "Operations"
msgstr "عمليات"

أدوات مساعدة للترجمة

على الرغم من إمكانية استخدام أي محرر نصوص لعملية الترجمة، يفضل استخدام برامج مختصة بمعالجة هذا النوع من الملفات وأشهرها تطبيق poedit المتوفر مجانًا ولأنظمة التشغيل ويندوز، لينوكس وماك أو إس.

يوفر هذا البرنامج واجهة تتيح الترجمة بسرعة مع العديد من إمكانيات مثل اقتراح النص مترجم بحسب الرائج في سائر البرامج أو عبر أدوات الترجمة الآلية مثل مترجم جوجل (النسخة المدفوعة).

12-poedit.png

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...