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

يستعرض هذا الدليل كيفية عمل إدارة تعدد اللغات فعليًا في دروبال: الوحدات الأربع الأساسية، الأنواع الثلاثة المتمايزة من الترجمة، كيفية إضافة اللغات وإدارتها، كيف يقرر دروبال أي لغة يقدّمها، وأي سير عمل ترجمة يناسب أي فريق، والأخطاء التي غالبًا ما تعرقل مشروع تعدد اللغات.

لماذا يعيش تعدد اللغات في نواة دروبال

إمكانية تعدد اللغات ليست إضافة مُلحقة بدروبال — بل هي جزء من النواة الأساسية منذ دروبال 8، واستمرت الإصدارات 9 و10 و11 في البناء عليها. هذا تمييز مهم. ففي المنصات التي يأتي فيها تعدد اللغات عبر إضافة من طرف ثالث، يحمل كل تحديث رئيسي خطر أن تفقد طبقة الترجمة توافقها مع المنصة. أما في دروبال، فإن طبقة اللغة تُشحن وتُصان مع النواة، ويدعم النظام أكثر من 100 لغة جاهزة للاستخدام.

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

الوحدات الأربع الأساسية لتعدد اللغات

يقوم نظام تعدد اللغات في دروبال على أربع وحدات أساسية. الوحدة الأولى فقط مطلوبة بشكل صارم، لكن في الممارسة العملية تُفعّل معظم المواقع الوحدات الأربع جميعها. يمكنك تفعيلها من قائمة Extend (admin/modules)، ضمن قسم تعدد اللغات.

  • Language (اللغة): الأساس. تحدد هذه الوحدة اللغات التي يقدمها الموقع، وتضبط اللغة الافتراضية، وتتحكم في كيفية اختيار دروبال للغة المعروضة. لا يعمل أي شيء آخر في منظومة تعدد اللغات من دونها.
  • Content Translation (ترجمة المحتوى): تتيح للمحررين ترجمة كيانات المحتوى — الصفحات، والمقالات، ومصطلحات التصنيف، والكتل المخصصة، وروابط القوائم، وغيرها — إلى كل لغة. كل نسخة لغوية هي كيان مستقل بحقوله الخاصة، ورابطه الخاص، وحالة نشره الخاصة.
  • Interface Translation (ترجمة الواجهة): تترجم النصوص المدمجة الآتية من دروبال والوحدات والقوالب: الأزرار، وتسميات النماذج، ورسائل الخطأ، والنصوص البرمجية للنظام. ولأن نواة دروبال تأتي مترجمة مسبقًا إلى أكثر من 100 لغة، فإن جزءًا كبيرًا من هذا يُملأ تلقائيًا فور إضافة اللغة. (في الإصدارات القديمة، كانت هذه الوحدة تُسمى Locale، ولهذا لا تزال بعض الدروس القديمة تستخدم هذا الاسم.)
  • Configuration Translation (ترجمة التهيئة): تترجم عناصر التهيئة بدلًا من المحتوى — اسم الموقع، وتسميات الحقول، والعروض (Views)، والقوائم، وعناوين الكتل، والمفردات. وبدونها، يبقى هيكل الموقع بلغة واحدة حتى لو تُرجم المحتوى بالكامل، مما يُفسد التجربة بصمت.

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

ثلاثة أنواع من الترجمة: المحتوى، والواجهة، والتهيئة

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

  • ترجمة المحتوى تغطي كل ما يُنشئه المحررون: نصوص العُقد، والعناوين، والصور، ومصطلحات التصنيف، والكتل المخصصة. وهذا يتم على مستوى الحقل في الإصدارات الحديثة من دروبال — إذ تختار أي الحقول في نوع المحتوى قابلة للترجمة، بحيث يمكن لحقل مشترك (مثل رمز منتج) أن يبقى مطابقًا عبر جميع اللغات بينما يُترجم الوصف.
  • ترجمة الواجهة تغطي النصوص المدمجة في البرنامج نفسه. نادرًا ما تترجم هذا يدويًا؛ فهو يأتي مع تنزيل اللغة، ويمكن تعديله عبر المسار Configuration ← Regional and language ← User interface translation فقط عندما تريد استبدال نص معين.
  • ترجمة التهيئة تغطي النصوص الهيكلية المخزنة في نظام التهيئة الخاص بدروبال. تترجمها من علامة التبويب Translate في صفحة التهيئة المعنية، أو بشكل جماعي عبر المسار Configuration ← Regional and language ← Configuration translation.

تفصيل تشغيلي يستحق المعرفة مبكرًا: يمكن تصدير ترجمات الواجهة واستيرادها كملفات .po قياسية، لكن ترجمات التهيئة لا يمكن نقلها بهذه الطريقة باستخدام النواة وحدها — إذ يتطلب ذلك وحدة مساهمة إضافية. في مشروع تُعد فيه الترجمات خارج دروبال، يشكّل هذا الفرق طريقة تسليم العمل لديك.

إضافة اللغات وإدارتها خطوة بخطوة

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

  • إضافة اللغة: انتقل إلى Configuration ← Region and language ← Languages (admin/config/regional/language) وانقر على Add language. اختر اللغة، وانقر على Add، وانتظر بينما يقوم دروبال بتنزيل ترجمات الواجهة الخاصة بها. بعد ذلك ستظهر في قائمة اللغات، جاهزة للاستخدام.
  • تحديد ما هو قابل للترجمة: ضمن كل نوع محتوى، فعّل الترجمة واختر الحقول التي يجب أن تكون قابلة للترجمة مقابل تلك المشتركة. افعل ذلك بتروٍّ — فتفعيله الآن للحقول الصحيحة يوفر عليك إعادة عمل مؤلمة لاحقًا.
  • ترجمة المحتوى: افتح أي كيان قابل للترجمة واستخدم علامة التبويب Translations لإضافة نسخة بكل لغة. لكل نسخة رابطها الخاص، ويمكن نشرها وفق جدولها الزمني الخاص.
  • ترجمة التهيئة والواجهة: قم بتوطين اسم الموقع، والقوائم، والعروض عبر ترجمة التهيئة، واستبدل أي نصوص نظام عبر ترجمة الواجهة.
  • إضافة مبدّل اللغة: ضع كتلة مبدّل اللغة ليتمكن الزوار من التنقل بين النسخ. استخدم اسم اللغة بدلًا من العلم — فالعلم يمثل بلدًا وليس لغة، وقد يُضلل المستخدمين في اللغات المشتركة بين عدة بلدان.

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

التفاوض على اللغة: كيف يقرر دروبال أي لغة يقدّمها

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

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

اختيار سير عمل الترجمة

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

  • الترجمة اليدوية داخل دروبال: يسجّل المحررون والمترجمون الدخول ويترجمون مباشرة عبر الواجهة الأصلية. مثالية للمواقع الصغيرة — تخيل موقعًا من 20 إلى 30 صفحة بلغتين — حيث يكون الحجم منخفضًا ويعمل الجميع داخل دروبال.
  • التصدير/الاستيراد باستخدام ملفات الترجمة: يُصدَّر المحتوى (عادةً بصيغة XLIFF)، ويُرسَل إلى المترجمين، ثم يُستورد مرة أخرى. يناسب هذا الفرق التي تعمل مع لغويين خارجيين لا يستخدمون دروبال، والمحتوى الذي يُحدَّث على دفعات يمكن التنبؤ بها.
  • TMGMT (أداة إدارة الترجمة): وحدة مساهمة تحوّل الترجمة إلى عملية مُدارة داخل دروبال — إنشاء مهام ترجمة، وتوزيعها على فريق داخلي أو مزودين خارجيين، وتتبع الحالة، والتكامل مع الخدمات ومحركات الترجمة الآلية. وهي الخيار المعياري للمواقع متوسطة إلى كبيرة الحجم وأحجام المحتوى المرتفعة.

هناك إضافتان تجعلان سير العمل هذا أكثر قوة. تتيح لك Content Moderation تحديد كيفية انتقال الترجمة من مسودة إلى مراجعة ثم نشر، بحيث لا تُنشر نسخة مترجمة آليًا أو قيد التنفيذ عن طريق الخطأ. كما تتيح لك Translation Views أو لوحات معلومات الترجمة مراقبة نسبة التغطية — ما تمت ترجمته، وما هو قيد التنفيذ، وما هو ناقص — عبر الموقع بأكمله. بالنسبة لمعظم المشاريع متوسطة إلى كبيرة الحجم، يُعد الجمع بين TMGMT والمراجعة البشرية هو النقطة المثلى: الأتمتة من أجل السرعة، وشخص من أجل الجودة في الصفحات المهمة.

الأخطاء الشائعة في تعدد اللغات وكيفية تجنبها

تعود معظم مشكلات تعدد اللغات في دروبال إلى مجموعة من القرارات التي كان يمكن تجنبها، وليس إلى قيود المنصة نفسها:

  • تحديد قابلية ترجمة الحقول متأخرًا جدًا: قد يؤدي تغيير الحقول القابلة للترجمة بعد وجود ترجمات فعلية إلى فقدان البيانات. صمّم الحقول القابلة للترجمة مقابل المشتركة قبل بدء الترجمة على نطاق واسع.
  • ترجمة المحتوى مع نسيان التهيئة: الموقع الذي تُرجمت مقالاته بالكامل لكن قائمته أو اسم موقعه أو عرضه (View) غير مترجم يبدو مكسورًا. عامِل ترجمة التهيئة كجزء أساسي من العمل، لا كأمر ثانوي.
  • نشر ترجمة آلية خام: الترجمة الآلية نقطة انطلاق جيدة لكنها ليست خط نهاية؛ فالنتائج غير المراجَعة قد تُقرأ بشكل رديء وتُضعف الثقة. مرّرها عبر مراجعة بشرية لأي محتوى مهم.
  • استخدام الأعلام رمزًا للغات: العلم رمز لبلد وليس للغة. صمّم مبدّل اللغة بأسماء اللغات لتجنب إرباك متحدثي لغة مشتركة بين عدة بلدان.
  • عدم وجود بديل للترجمات المفقودة: حدد ما يحدث عندما لا تتوفر ترجمة لصفحة ما — العودة إلى اللغة الافتراضية أو إخفاؤها — بدلًا من ترك الزوار أمام صفحة فارغة أو معطلة.
  • إعادة هيكلة أدوات الترجمة دون حذر: مع المحتوى المهيكل مثل Paragraphs، قد يؤدي التحول إلى ترجمة غير متماثلة بعد وجود ترجمات فعلية إلى فقدان البيانات. اختبر التغييرات الهيكلية على نسخة تجريبية أولًا.

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

أسئلة شائعة حول إدارة تعدد اللغات في دروبال

هل أحتاج إلى وحدة مساهمة، أم أن النواة الأساسية كافية؟

بالنسبة لمعظم المواقع، تكفي الوحدات الأربع الأساسية لإضافة اللغات وترجمة المحتوى والواجهة والتهيئة. تلجأ إلى الوحدات المساهمة عندما تنمو الاحتياجات: TMGMT من أجل سير عمل ترجمة مُدار وتكامل مع مزودين أو محركات ترجمة آلية، أو تحسين لمبدّل اللغة من أجل أداة اختيار أكثر سهولة، أو وحدة استيراد/تصدير لترجمة التهيئة عندما تُعدّ الترجمات خارج دروبال. ابدأ بالنواة الأساسية، وأضف الأدوات فقط حيث تظهر حاجة حقيقية.

هل يجب أن أستخدم موقعًا واحدًا متعدد اللغات أم إعداد مواقع متعددة (multisite)؟

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

هل يمكنني تغيير الحقول القابلة للترجمة بعد الإطلاق؟

يمكنك ذلك، لكنه يحمل خطورة بمجرد وجود ترجمات فعلية — إذ قد يؤدي تغيير قابلية ترجمة حقل ما إلى فقدان البيانات. النهج الآمن هو تحديد الحقول القابلة للترجمة مقابل المشتركة أثناء تصميم المحتوى، قبل بدء الترجمة على نطاق واسع. إذا كان التغيير أمرًا لا مفر منه لاحقًا، فاختبره على نسخة تجريبية وقم بعمل نسخة احتياطية أولًا، حتى تتمكن من التحقق من عدم تأثر أي ترجمات موجودة قبل تطبيقه على بيئة الإنتاج.

آخر تحديث: 05.08.2026 17:15