جميع المقالات

بناء مواقع عربية وإنجليزية ثنائية اللغة باستخدام Laravel

يتجاوز الموقع الثنائي اللغة ترجمة النصوص؛ فالمسارات واتجاه RTL والخطوط وSEO وسير تحرير المحتوى عناصر ينبغي تصميمها معًا منذ البداية.

بقلم أمير نصارقراءة 4 دقائق
المحتويات

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

قرر كيف تظهر اللغة في عناوين URL

الخيارات الشائعة ثلاثة: بادئة مثل /ar/about، أو نطاق فرعي مثل ar.example.com، أو نطاق مستقل لكل لغة. تكون البادئة أبسط تشغيلًا وأسهل لمحركات البحث غالبًا. أيًا كان اختيارك، حافظ على الاتساق واجعل لكل صفحة عنوانًا متوقعًا في اللغتين.

Route::prefix('{locale}')
    ->where(['locale' => 'en|ar'])
    ->group(function () {
        Route::get('/about', AboutController::class)->name('about');
    });

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

اتجاه RTL نظام تخطيط لا رقعة CSS

تقرأ العربية من اليمين إلى اليسار، ولذلك ينبغي عكس الواجهة كلها لا النص وحده. اضبط dir="rtl" ووسم اللغة في العنصر الجذري، واستخدم الخصائص المنطقية بدل اليمين واليسار. توفر Tailwind CSS أدوات مثل ms-4 وps-4 تنعكس تلقائيًا، فتحتفظ بمجموعة مكونات واحدة.

اختبر التفاصيل المنسية

  • اعكس الأيقونات الاتجاهية كالأسهم وعلامات التقدم.
  • تحقق من الأرقام وأرقام الهاتف وأسماء المنتجات اللاتينية ضمن النص العربي.
  • اختبر النماذج والجداول ومحددات التاريخ في الاتجاهين.
  • امنح قوالب البريد وفواتير PDF العناية نفسها.

الخطوط أهم مما تتوقع

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

نظم الترجمات

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

خطط للجمع والمتغيرات

للغة العربية صيغ جمع أكثر من الإنجليزية. استخدم أدوات الجمع في Laravel مع قواعد الصيغ والمتغيرات بدل تركيب الجمل نصيًا.

SEO بلغتين

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

أنشئ سير تحرير قابلًا للتوسع

التحدي الأصعب ليس الشيفرة بل إبقاء اللغتين متزامنتين. حدد مسؤول الترجمة، وطريقة عرض المحتوى الناقص، وما يحدث عند تغيير المصدر. اعرض اللغة الافتراضية بوضوح بدل صفحة فارغة، ونبّه المحررين إلى الترجمات التي أصبحت أقدم من النص الأصلي.

قائمة تحقق قبل الإطلاق

  1. كل صفحة عامة موجودة باللغتين ومبدل اللغة ينقل إلى الصفحة المقابلة.
  2. ينعكس التخطيط سليمًا، بما فيه النماذج والجداول والأيقونات.
  3. تُترجم العناوين والأوصاف والبيانات المنظمة وخرائط الموقع.
  4. تُترجم الرسائل الإلكترونية والتحقق وصفحات الأخطاء.
  5. تتبع التواريخ والأرقام والعملات إعداد المستخدم، مع إظهار الجنيه المصري بوضوح عند الحاجة.
  6. يستطيع المحررون رصد الترجمات الناقصة وإصلاحها.

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

شارك المقال

تخطط لمشروع مشابه؟

حدّثنا عن مشروعك، وسنعود إليك خلال يوم عمل واحد بالخطوات التالية وتقدير واقعي للتكلفة.

تحدّث مع مهندسينا

استلم مقالنا القادم في بريدك الإلكتروني

خلاصات عملية حول البرمجيات وAI وأنظمة ERP للشركات في مرحلة النمو. بلا رسائل مزعجة، ويمكنك إلغاء الاشتراك بنقرة واحدة.

  • Laravel
  • Inertia
  • React

لوحات معلومات فورية باستخدام Inertia وReact في Laravel

تبدو لوحة المعلومات حية عندما تتحدث البيانات المناسبة في الوقت المناسب. قارن إعادة التحميل الجزئي والاستطلاع والخصائص المؤجلة والبث في بنية Laravel وInertia وReact.

قراءة 5 دقائق