public function handle(Request $request, Closure $next)
{
$segment = $request->segment(1, null);
$locale = session('locale', null);
if (localization()->isLocaleSupported($segment)) {
session()->put(['locale' => $segment]);
return $next($request);
} elseif (localization()->isDefaultLocaleHiddenInUrl()) {
$locale = localization()->getDefaultLocale();
session()->put(compact('locale'));
}
if (is_string($locale) && !$this->isDefaultLocaleHidden($locale)) {
session()->reflash();
$redirect = $this->getLocalizedRedirect($locale);
if (!is_null($redirect)) {
return $redirect;
}
}
return $next($request);
}