автоматически подставить local во все url определив язык браузера Laravel
задача поставить local с любого url, переменную записываем в сессию или куку, с этим проблем нет. Сама локализация настроена, выбор языка так же работает, но в ручном режиме. Пробовал сделать midellware, но проблема в том что идет циклическое перенаправление. Нужно как-то грамотно сделать редирект на страницу без зацикливания.
переменную в браузере определяю по функции, это пример моего миделлваре который возвращает зацыкливвание
public function handle(Request $request, Closure $next)
{
$local = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
if($local==="ru_RU"){
$local="ru";
// можно записать сессию или куку, как пример
return redirect($request->server($local.'REQUEST_URI'));
}
return $next($request);
}
Далее Упрощенный роутер выглядит так
Route::group(
[
// Get Prefix Language ['en', 'ru']
'prefix' => Localization::language(),
'middleware' => ['language.switcher']
],
function () {
Route::view('/', 'home.index')->name('/');
});
Прошу помочь правильно сделать редирект или указать направление куда думать.