Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Я реализовал смену языка через гет запрос
Route::get('change-language/{locale}', function ($locale) {
if ($locale != session('lang')) session(['lang' => $locale]);
return back();
})->name('change_language');
А для других маршрутов сделал Middleware, где язык инициализируется в App::setLocale($nextLang). Тексты на всех страницах подбираются по выбранному языку, всех, кроме случая, когда страницы ошибки 404. Я знаю, что код генерации ошибки находится в \app\Exceptions\Handler.php однако на этой стадии нет сессии, следовательно в представлении ошибки для текстов подбирается язык из config. Что можно сделать в данной ситуации?
Я пробывал сделать Middleware глобальным, поместив его в $middleware вместо $routeMiddleware, но в таком случае он исполнял свой код до запроса смены языка из change_language и создавал переменную языка с нуля, ибо тоже не видел сессию.
Изменено Kirir (05.10.2018 15:26:01)
Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20
Не в сети
Если что, оно стало работать, хоть ничего и не менял.
Связь со мной:
Скайп(с аватаркой) - shyraks
Телеграм - @Mramoris или +7 999 260 13 20
Не в сети