/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @return mixed */ public function handle($request, Closure $next) { $supportedLanguages = $request->getLanguages(); $userLanguage = $this->config->get('app.locale'); foreach ($supportedLanguages as $language) { $language = substr($language, 0, 2); if (isset($this->langs[$language])) { $userLanguage = $language; break; } } app('translator')->setLocale($userLanguage); return $next($request); }
/** * Gets a list of languages acceptable by the client browser. * * @return array Languages ordered in the user browser preferences * @static */ public static function getLanguages() { //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getLanguages(); }