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

السؤال

Recommended Posts

  • 0
نشر

تحديد لغة الموقع في إطار laravel يتم من خلال ملف الإعدادات:

config/app.php

يوجد مفتاح للُغة الإفتراضية للتطبيق:

'locale' => 'en',

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

__()
trans()

لترجمة المُحتوى و نستخدم بداخلها مفاتيح تنوب عن المُحتوى الفعلي، ثم في ملفات الترجمة الموجودة في المجلد lang نضع مجلدات بأسماء ال locals مثلاً ar و en ثم بداخلها نُنشئ ملفات بالشكل التالي:

/lang
    /en
        messages.php
    /ar
        messages.php

ثم بداخل كل منها نضع الترجمات:

<?php
 
// lang/en/messages.php
return [
    'welcome' => 'Welcome to our application!',
];

// lang/ar/messages.php
return [
    'welcome' => 'مرحبا بك في تطبيقنا',
];

بحيث في الصفحات عند إستعمال دوال الترجمة نكتب:

__('messages.welcome');

و بهذا الشكل سيتم جلب المُحتوى حسب اللغة الإفتراضية للتطبيق، و بنفس الشكل يتم ترجمة كافة محتوى الموقع.

يجب أيضاً تحويل dir في html إلى ltr إن كانت rtl:

<html lang="en" dir="ltr">

و إستخدام ملف تنسيقات يتوافق مع الإتجاه (من اليسار إلى اليمين) 

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

توثيق Laravel Localization

  • 0
نشر

1- في ملف الإعدادات config/app.php عليك القيام بالتالي:

افتح ملف config/app.php وابحث عن المتغير locale وقم بتغيير قيمة هذا المتغير إلى en لتغيير اللغة إلى الإنجليزية.

// config/app.php

'locale' => 'en',

 

2- بعد تغيير قيمة المتغير locale، أعد تشغيل الموقع.

3- والآن عليك تغيير اتجاه الموقع:

وسواء كنت تستخدم Bootstrap أم لا، فسيحتاج الموقع إلى تغيير اتجاهه من LTR (من اليسار إلى اليمين) إلى RTL (من اليمين إلى اليسار)، ويمكنك القيام بذلك عن طريق تغيير الخاصية dir في وسم html.

<!DOCTYPE html>
<html lang="en" dir="rtl">

4- إذا قمت بترجمة النصوص في موقعك إلى العربية، فستحتاج إلى إعادة ترجمة تلك  النصوص إلى الإنجليزية عن طريق تعديل ملفات الترجمة في المجلد resources/lang.

وهناك بعض الملاحظات:

  • في حال كنت تعتمد على حزمة mcamara/laravel-localization لإنشاء موقع متعدد اللغات، فستحتاج إلى تغيير قيمة المتغير defaultLocale في ملف config/localization.php إلى en.
  • وإن كنت تستخدم قالب Bootstrap، فيمكنك أيضًا استخدام حزمة rtlcss/bootstrap-rtl لتغيير اتجاه الموقع تلقائيًا.

وإليك مثال على كيفية تغيير لغة موقع لارافيل من العربية إلى الإنجليزية:

// config/app.php

'locale' => 'en',

// resources/lang/en/auth.php

'failed' => 'The credentials you entered do not match our records.',
'password' => 'The password you entered is incorrect.',
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',

// resources/lang/en/app.php

'welcome' => 'Welcome to our website!',

بعد تغيير تلك القيم، سيتم تغيير لغة الموقع إلى الإنجليزية.

وستجد هنا المزيد من الشرح"

 

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

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

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...