Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.10.2018 15:21:50

Определение языка(для ф-ции trans) до редиректа на страницу

Я реализовал смену языка через гет запрос

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)

Не в сети

#2 08.10.2018 09:37:22

Re: Определение языка(для ф-ции trans) до редиректа на страницу

Если что, оно стало работать, хоть ничего и не менял.

Не в сети

Подвал раздела