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

كيفية ترجمة تطبيق لارافل من اللغة الانجليزية الى اللغة العربية

Hanan Fahad2

السؤال

عندي سوال كيف اخلي التطبيق يغير اللغة من غير لا ادخل على ملف الاعدادات بمجرد الضغط على  زر بالواجهه يصير اللغة تغيرت من ملف اللغة الي عرفته في lan 

ياخذ القيم من الملف ويغير من خلال الزر 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكن استخدام session بحيث تحفظي اللغة داخل جلسة و من ثم استدعاء القيمة المخزنة في الجلسة مثل 

$lang = session()->put('locale', 'ar');

و من ثم تقومي بوضع قيمة الجلسة بداخل 

App::setLocale($lang);

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك استخدام حزمة mcamara/laravel-localization التي تمكنك من فعل ذلك, يمكنك الذهاب اليها ومعرفة طريقة استخدامها من هنا, بداية يجب تثبيت الحزمة من خلال الأمر التالي

composer require mcamara/laravel-localization

ثم الامر التالي لانشاء ملف laravellocalization.php في المجلد config

php artisan vendor:publish --provider="Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider"

ثم بعد ذلك في الملف Kernel.php الموجود ضمن المسار app/Http/Kernel.php يجب وضع التالي في مصفوفة routeMiddleware

'localize'                => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes::class,
        'localizationRedirect'    => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class,
        'localeSessionRedirect'   => \Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect::class,
        'localeCookieRedirect'    => \Mcamara\LaravelLocalization\Middleware\LocaleCookieRedirect::class,
        'localeViewPath'          => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationViewPath::class
    ];

هذه اعدادات التثبيت وبدء الاستخدام, بعد ذلك يمكنك معرفة المزيد من خلال الرابط المرفق بالاعلى

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال hanan fahad11:

ممكن توريني تفاصيل اكثر 

بداية يوجد لديكي في المسار التالي 

resources\lang

مجلد en يمكن ايضا إضافة مجلد ar  ومن ثم بداخل المجلدين ننشأ ملف وليكن باسم lang.php  بحيث يكون للغة العربية بهذا الشكل 

<?php 
return [
	'ID'   			=> 'ID',
	'all_record'   			=> 'جميع السجلات',
	'name'   			=> 'الأسم',
	'flname'   			=> 'الأسم الأول و الأخير',
	'email'   			=> 'الأيميل',
];
?>

و للغة الإنجليزية بهذا الشكل 

<?php 
return [
	'ID'   			=> 'ID',
	'all_record'   			=> 'All Records',
	'name'   			=> 'Name',
	'flname'   			=> 'First and last name',
	'email'   			=> 'Email',
];
?>

و من ثم يمكن إنشاء مسار لتغيير اللغة بهذا الشكل 

Route::get('lang/change', 'IndexController@change')->name('changeLang');

و تكون دالة تغيير اللغة 

public function change(Request $request)
{
        App::setLocale($request->lang);
        session()->put('locale', $request->lang); 
        return redirect()->back();
}

و ممكن ايضا نقوم بوضع وسم a لتغيير اللغة 

<a class="" href="{{ route('changeLang') }}?lang=en">English</a>
<a class="" href="{{ route('changeLang') }}?lang=ar">العربية</a>

و في ملفات views نقوم باستخدام دالة trans للتبديل بين اللغات مثل

{{ trans('lang.email') }}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 6 دقائق مضت قال hanan fahad11:

{{ trans('lang.email') }}

كيف استخدمه لاني حطيته بس ماطلع مضبوط 

 

في مجلد lang الموجود في المجلد resources سوف تجدين مجلدين, المجلد الاول ar والمجلد الثاني en
نحن نريد المجلد ar, بداخل المجلد ar يجب ان تقومي بانشاء ملف اسمه lang.php وبداخله اكتبي التالي

<?php

return [
    'email'=> 'البريد الالكتروني'


];

الآن عندما نستخدم الدالة trans او يمكننا استبدالها بشرطتين سفليتتين "__" ثم كتابة اسم الملف واسم المفتاح فمثلا لترجمة الكلمة email يمكننا كتابة التالي

<h3>{{__('lang.email')}}</h3>


او

<h3>{{trans('lang.email')}}</h3>

الان اذا كان الموقع باللغة العربية سوف تعرض كلمة email  باللغة العربية وهي "البريد الالكتروني"
ولكن اذا كان الموقع باللغة الانجليزية سوف تعرض lang.email, اذا ما الحل عندما يكون الموقع باللغة الانجليزية؟ نقوم بنفس الحل الذي اتبعناه في اللغة العربية, في المجلد en نقوم بانشاء مجلد اسمه lang وبداخله نكتب تمام كما كتبنا في الملف lang الذي انشأناه في المجلد ar, ولكن هنا سوف نكتب القيمة باللغة الانجليزية

<?php

return [
    'email'=> 'email'


];

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 30 دقائق مضت قال hanan fahad11:

ممكن تشوف لي الملف عندي مشكلة ماضبط معي اللغة 

party3.rar

لا يوجد مشاكل فقط ينقصك فهم آلية عمل الطريقة, سوف أحاول أن أبسطها, الآن كما قلت سابقا لدينا المجلد lang, وبداخله المجلد الحاص باللغة العربية ar والمجلد الخاص باللغة الانجليزية en , بداخل المجلد ar هناك بعض الملفات , التي من ضمنها الملف app.php و auth.php وغيرها, الآن في هذه الملفات موجود بعض الكلمات وترجمتها, يمكننا عمل ملف خاص بالموقع الخاص بنا مثلا ليكن اسمه site.php, ويمكننا كتابة الكلمات وترجمتها, واكتبي بداخل الملف التالي على سبيل المثال 

<?php

return [
    'email'=> 'البريد الالكتروني'


];

الآن لنتذكر اسم الملف الذي انشأناه فهو مهم, للوصول لترجمة الكلمة email يمكننا في أي واجهة كتابة التالي

<h2>{{__('site.email')}}</h2>

اذا كان الموقع باللغة العربية سوف تعرض العبارة "البريد الالكتروني"

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 49 دقائق مضت قال hanan fahad11:

فهمت الطرييقه ونفذت لايعمل 

هل يمكنك تجربة هذا الكود

{{__('app.logout')}}

ولاحظي ماذا سوف يطبع؟ ارجو منك أن تخبريني

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...