gagablik
@gagablik
Начинающий Web разработчик

Мультиязычный сайт на Laravel 7, как реализовать?

Саму смену языка реализовал.

В Middleware идёт проверка, есть ли в URL директория языка. Если есть, то выставляется App::setLocale($locale) и загружается страница.

При смене языка редактирую URL, в начало ссылки подставляю директорию, соответствующую выбранному языку.
При смене языка записывается кука с значением языка.

Все Route объединил в группу.

Остановился на моменте, когда значение языка в куках не равно значению языка директории (такое может быть, когда пользователь сменил язык, но в последствии вернулся на сайт по старой ссылке, соответствующей другому языку).

Хотел при отличии куки и языка в урл делать редирект. Но редирект не будет сохранять setLocale и получается бесконечный цикл. Может в $next($request) как то можно передать другие значения URL? Но скорее всего это моя больная фантазия)

Как реализовать смену языка при несоотвествии языка в куках и языка в урл?
  • Вопрос задан
  • 981 просмотр
Пригласить эксперта
Ответы на вопрос 1
@barma001
тут пример для пятерки но общий принцип там описан и есть ответ на ваш вопрос

если отображение языка в url непринципиально то можно проще
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы