route('locale'); if (! $code && $request->hasSession()) { $code = $request->session()->get($sessionKey); } if (! Schema::hasTable('locales')) { app()->setLocale(is_string($code) && $code !== '' ? $code : $fallback); return $next($request); } if (! $code) { $code = Locale::query() ->where('is_default', true) ->value('code') ?: $fallback; } $isActive = Locale::query() ->where('code', $code) ->where('is_active', true) ->exists(); if ($isActive) { app()->setLocale((string) $code); if ($request->hasSession()) { $request->session()->put($sessionKey, $code); } } else { app()->setLocale($fallback); } return $next($request); } }