Hanan Fahad2 نشر 11 يونيو 2021 أرسل تقرير نشر 11 يونيو 2021 عندي سوال كيف اخلي التطبيق يغير اللغة من غير لا ادخل على ملف الاعدادات بمجرد الضغط على زر بالواجهه يصير اللغة تغيرت من ملف اللغة الي عرفته في lan ياخذ القيم من الملف ويغير من خلال الزر 1 اقتباس
0 بلال زيادة نشر 11 يونيو 2021 أرسل تقرير نشر 11 يونيو 2021 يمكن استخدام session بحيث تحفظي اللغة داخل جلسة و من ثم استدعاء القيمة المخزنة في الجلسة مثل $lang = session()->put('locale', 'ar'); و من ثم تقومي بوضع قيمة الجلسة بداخل App::setLocale($lang); اقتباس
0 محمد أبو عواد نشر 11 يونيو 2021 أرسل تقرير نشر 11 يونيو 2021 يمكنك استخدام حزمة 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 بلال زيادة نشر 11 يونيو 2021 أرسل تقرير نشر 11 يونيو 2021 بتاريخ الآن قال 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 Hanan Fahad2 نشر 12 يونيو 2021 الكاتب أرسل تقرير نشر 12 يونيو 2021 (معدل) {{ trans('lang.email') }} كيف استخدمه لاني حطيته بس ماطلع مضبوط تم التعديل في 12 يونيو 2021 بواسطة hanan fahad11 1 اقتباس
0 محمد أبو عواد نشر 12 يونيو 2021 أرسل تقرير نشر 12 يونيو 2021 بتاريخ 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 Hanan Fahad2 نشر 12 يونيو 2021 الكاتب أرسل تقرير نشر 12 يونيو 2021 ممكن تشوف لي الملف عندي مشكلة ماضبط معي اللغة party3.rar اقتباس
0 محمد أبو عواد نشر 12 يونيو 2021 أرسل تقرير نشر 12 يونيو 2021 بتاريخ 30 دقائق مضت قال hanan fahad11: ممكن تشوف لي الملف عندي مشكلة ماضبط معي اللغة party3.rar لا يوجد مشاكل فقط ينقصك فهم آلية عمل الطريقة, سوف أحاول أن أبسطها, الآن كما قلت سابقا لدينا المجلد lang, وبداخله المجلد الحاص باللغة العربية ar والمجلد الخاص باللغة الانجليزية en , بداخل المجلد ar هناك بعض الملفات , التي من ضمنها الملف app.php و auth.php وغيرها, الآن في هذه الملفات موجود بعض الكلمات وترجمتها, يمكننا عمل ملف خاص بالموقع الخاص بنا مثلا ليكن اسمه site.php, ويمكننا كتابة الكلمات وترجمتها, واكتبي بداخل الملف التالي على سبيل المثال <?php return [ 'email'=> 'البريد الالكتروني' ]; الآن لنتذكر اسم الملف الذي انشأناه فهو مهم, للوصول لترجمة الكلمة email يمكننا في أي واجهة كتابة التالي <h2>{{__('site.email')}}</h2> اذا كان الموقع باللغة العربية سوف تعرض العبارة "البريد الالكتروني" اقتباس
0 Hanan Fahad2 نشر 12 يونيو 2021 الكاتب أرسل تقرير نشر 12 يونيو 2021 فهمت الطرييقه ونفذت لايعمل اقتباس
0 محمد أبو عواد نشر 12 يونيو 2021 أرسل تقرير نشر 12 يونيو 2021 بتاريخ 49 دقائق مضت قال hanan fahad11: فهمت الطرييقه ونفذت لايعمل هل يمكنك تجربة هذا الكود {{__('app.logout')}} ولاحظي ماذا سوف يطبع؟ ارجو منك أن تخبريني اقتباس
السؤال
Hanan Fahad2
عندي سوال كيف اخلي التطبيق يغير اللغة من غير لا ادخل على ملف الاعدادات بمجرد الضغط على زر بالواجهه يصير اللغة تغيرت من ملف اللغة الي عرفته في lan
ياخذ القيم من الملف ويغير من خلال الزر
10 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.