config = $config; $this->langs = $config->get('langs'); } /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @return mixed */ public function handle(Request $request, Closure $next) { if (!(bool) $this->config->get('setting.automatic_localization')) { return $next($request); } $supportedLanguages = $request->getLanguages(); $userLanguage = $this->config->get('app.locale'); foreach ($supportedLanguages as $language) { $language = str_replace('_', '-', $language); if (isset($this->langs[$language])) { $userLanguage = $language; break; } } app('translator')->setLocale($userLanguage); Date::setLocale($userLanguage); return $next($request); } }