/** * @param Request $request * @param Closure $next */ public function handle($request, Closure $next) { Lang::setFallback(self::getDefault()); $setLocale = Session::get('setLocale'); //flash data if (Config::get('app.locale_use_cookie')) { if ($setLocale) { Session::set('locale', $setLocale); } if (Session::has('locale')) { App::setLocale(Session::get('locale')); } else { self::autoDetect(); } } else { if (Config::get('app.locale_use_url')) { if ($setLocale) { self::setLocaleURLSegment($setLocale); } else { $lang = self::getLocaleFromURL(); if ($lang) { App::setLocale($lang); } else { if ($request->segment(1) != 'locale') { //ignore set-locale URL self::autoDetect(); self::setLocaleURLSegment(self::get()); } } } } } View::share('lang', self::get()); }