اريد ان اترجم المشروع الذي اعمل عليه و لكن هنالك مشكلة و هي ان الترجمة تتم فقط عند صفحة ال login , اما في الصفحات داخل الموقع لا تتم الترجمة.
كما تعلمنا في فيديو الخاص بترجمة موقع ال instagram قام المدرب باضافة input من نوع dropdown box حيث يدخل فيه options و من ثم يحفظ ما اختاره المستخدم من لغة داخل الدالة store
اما في مشروعي لقد قمت بعمل dropdown list (unordered list) و فيها خياران للغة فعند الضغط على احد اللغات لا يتغير لفة الموقع و عند الذهاب مثلا الى صفحة انشاء المشروع يكون ال url في الاعلى هكذا http://127.0.0.1:8000/project/setlang/ar و يظهر خطأ 404 اي ان الصفحة غير موجودة
السؤال
Mohammad Kiblawi
السلام عليكم
اريد ان اترجم المشروع الذي اعمل عليه و لكن هنالك مشكلة و هي ان الترجمة تتم فقط عند صفحة ال login , اما في الصفحات داخل الموقع لا تتم الترجمة.
كما تعلمنا في فيديو الخاص بترجمة موقع ال instagram قام المدرب باضافة input من نوع dropdown box حيث يدخل فيه options و من ثم يحفظ ما اختاره المستخدم من لغة داخل الدالة store
اما في مشروعي لقد قمت بعمل dropdown list (unordered list) و فيها خياران للغة فعند الضغط على احد اللغات لا يتغير لفة الموقع و عند الذهاب مثلا الى صفحة انشاء المشروع يكون ال url في الاعلى هكذا http://127.0.0.1:8000/project/setlang/ar و يظهر خطأ 404 اي ان الصفحة غير موجودة
هذا code ال route
Route::get('/', function () { return view('auth.login'); })->middleware('language'); Route::middleware(['auth:sanctum', 'verified', 'language'])->get('/home', function () { return view('home'); })->name('home'); // Route::get('/project', [ProjectController::class, 'index'])->name('index'); Route::resource('projects', ProjectController::class)->middleware('language'); Route::get('/project/create', [ProjectController::class, 'create'])->middleware('language'); Route::get('/project/{{project}}/edit', [ProjectController::class, 'edit'])->middleware('language'); Route::get('/users', [UserController::class, 'index'])->middleware('language'); Route::post('/users', [UserController::class, 'update'])->middleware('language'); Route::get('setlang/{language}', function ($lang) { if ($lang == "ar" || $lang == "en") { session(['language' => $lang]); } else { abort(404); } return redirect()->back(); });
و هذا كود ال navigation
و هذا كود ال middleware الخاص باللغة
public function handle(Request $request, Closure $next) { $lang = $request->session()->get('language', 'en'); if (Auth::user() != null) { App::setLocale(Auth::user()->language); if (Auth::user()->language == "ar") { View::share('rtl', 'true'); } } else if (isset($lang)) { App::setLocale($lang); if ($lang == "ar") { View::share('rtl', 'true'); } } return $next($request); } }
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية
14 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.