اريد ان اترجم المشروع الذي اعمل عليه و لكن هنالك مشكلة و هي ان الترجمة تتم فقط عند صفحة ال 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
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.