get('lang') ?? ($request->user()->language ?? Cookie::get(UserLocaleController::COOKIE_NAME)); $defaultLocale = settings('locale.default', 'auto'); // 2. if admin manually selected a specific default locale, use that if (!$langCode && $defaultLocale && $defaultLocale !== 'auto') { $langCode = $defaultLocale; } // 3. Try to use language based on browser settings if (!$langCode && ($header = $request->header('Accept-Language'))) { $languages = Localization::pluck('language'); if ($languages->isNotEmpty()) { $bestLanguage = (new LanguageNegotiator())->getBest( $header, $languages->toArray(), ); $langCode = $bestLanguage?->getBasePart(); } } if ($langCode) { app()->setLocale($langCode); } } return $next($request); } }