Читаю инструкцию на laravel.com Создал языковые файлы, прописал в web.php такой маршрут Код (Text): Route::get('locale/{locale}', function ($locale) { if (! in_array($locale, ['en', 'ru', 'fr'])) { abort(400); } App::setLocale($locale); return view('dashboard'); }); В шаблоне страницы dashboard.blade.php прописал Код (Text): <a href="/locale/en" class="dropdown-item" onclick="/*chooseLanguage('en')*/"> <?= 'en' === app()->getLocale() ? '<i class="fas fa-check"></i>' : '' ?> English </a> <a href="/locale/fr" class="dropdown-item" onclick="/*chooseLanguage('fr')*/"> <?= 'fr' === app()->getLocale() ? '<i class="fas fa-check"></i>' : '' ?> Français </a> <a href="/locale/ru" class="dropdown-item" onclick="/*chooseLanguage('ru')*/"> <?= 'ru' === app()->getLocale() ? '<i class="fas fa-check"></i>' : '' ?> Русский </a> Теперь по этим ссылкам кликаю, вроде переключается. Однако, когда потом перехожу на любую другую страницу, сбрасывается в язык по умолчанию. Как правильно сделать?
Включить надо язык во все роуты, и переключаться. Либо записать в куки/сессию и в middleware устанавливать. Тут ларка даёт свободу действий. Первый вариант больше любят поисковики.
Где прочитать про прописывание в сессию и как использовать middleware глобально? Поисковики не нужны.
В документации ) --- Добавлено --- https://laravel.com/docs/8.x/middleware#registering-middleware https://laravel.com/docs/8.x/session