public function setLocale() { $newLocale = get_valid_locale(Request::input('locale')); App::setLocale($newLocale); if (Auth::check()) { Auth::user()->update(['user_lang' => $newLocale]); } return js_view('layout.ujs-reload')->withCookie(cookie()->forever('locale', $newLocale)); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @return mixed */ public function handle(Request $request, Closure $next) { $locale = presence($request->input('locale')) ?? presence($request->cookie('locale')) ?? locale_accept_from_http($request->server('HTTP_ACCEPT_LANGUAGE')); $locale = get_valid_locale($locale); App::setLocale($locale); $response = $next($request); if (method_exists($response, 'withCookie')) { return $response->withCookie(cookie()->forever('locale', $locale)); } else { return $response; } }