locale; if ($userLocale && in_array($userLocale, ['en', 'es'])) { $locale = $userLocale; } } // 2. From session if (!$locale && Session::has('locale')) { $sessionLocale = Session::get('locale'); if (in_array($sessionLocale, ['en', 'es'])) { $locale = $sessionLocale; } } // 3. From browser Accept-Language if (!$locale) { $browserLang = substr($request->server('HTTP_ACCEPT_LANGUAGE', 'en'), 0, 2); if (in_array($browserLang, ['en', 'es'])) { $locale = $browserLang; } } // 4. Default to English if (!$locale) { $locale = 'en'; } App::setLocale($locale); Session::put('locale', $locale); return $next($request); } }