resolve($request); App::setLocale($locale); Carbon::setLocale($locale); return $next($request); } private function resolve(Request $request): string { // Session may not be started yet on early-stage middleware paths. if ($request->hasSession()) { $session = $request->session()->get('locale'); if ($session && in_array($session, self::SUPPORTED, true)) { return $session; } } $user = Auth::user(); if ($user && ! empty($user->locale) && in_array($user->locale, self::SUPPORTED, true)) { return $user->locale; } $tenant = app(TenantManager::class)->current(); $tenantLang = $tenant?->settings['language'] ?? null; if ($tenantLang && in_array($tenantLang, self::SUPPORTED, true)) { return $tenantLang; } return config('app.locale', 'ro'); } }