У меня есть проект Laravel, где я использую пакет LaravelLocalization для облегчения локализации. В моем routes/web.php
файл Я группирую все маршруты в этот префикс:
Route::prefix(LaravelLocalization::setLocale())->group(function() {
//all routes go here
});
что позволяет мне установить локаль через префикс просто отлично.
Сейчас я работаю над формой входа в систему, которая наряду с требованием почты и пароля также должна давать возможность сменить язык. Поэтому я добавил выпадающий список и разместил ключ локали вместе с данными аутентификации. в LoginController
Переписал authenticate
функционировать так:
public function authenticate(Request $request) {
$credentials = $request->only('email', 'password');
LaravelLocalization::setLocale($request->locale);
if (Auth::attempt($credentials))
return redirect()->intended('/');
else
return Redirect::back()->with('alert', ['type' => 'warning', 'msg' => __('Login failed')]);
}
… который не изменит язык, к сожалению. Я полагаю, это как-то связано с редиректом. Может кто-нибудь сказать мне, как изменить язык во время аутентификации?
Задача ещё не решена.
Других решений пока нет …