Size: a a a

2020 June 02

А

Артур in Laravel Pro
Kirill Lyulyaev
Добрый день, коллеги! Кто реализовывал смену локализации через get роутинг? То что хочу получить: / - ru locale, /en - en locale, /fr - fr locale. Написал мидлвар, который устанавливает язык в зависимости от получаемого перфикса группы (если пустой устанавливаю ru). Проблема заключается в том, что не работает кеширование маршрутов (cам кеш создаеться, но ссылки /en /fr - 404). Route::group(['middleware' => 'localization', 'prefix' => App\Services\LocalizationService::getLocaleFromRoute(), метод возвращает либо null - если нет языковой папки, либо en,fr. Кто решал подобную задачу?
источник

ИФ

Иван Филатов... in Laravel Pro
а, ну либо так, я точно не помню) неэкранированный вывод блейда короче
источник

KL

Kirill Lyulyaev in Laravel Pro
Arman
лучше 404 или переадресация. так у вас кучу дублей будет на ру, что плохо для СЕО
Cмотри, locale в данном случае не обязательная переменная, и ссылка /catalog работать не будет, роут будет брать request segment 1
источник

A

Andrey in Laravel Pro
Внутри параметров {!! !!} не работает, в том то и дело
источник

KL

Kirill Lyulyaev in Laravel Pro
Это не решение 😂, там та же история
источник

A

Arman in Laravel Pro
Kirill Lyulyaev
Cмотри, locale в данном случае не обязательная переменная, и ссылка /catalog работать не будет, роут будет брать request segment 1
т.е. задача скорее убрать «ru»? )
источник

KL

Kirill Lyulyaev in Laravel Pro
Arman
т.е. задача скорее убрать «ru»? )
ru в реквесте не передаем :(
источник

A

Andrey in Laravel Pro
Сорри, че то я туплю. Там последним параметром передается флаг $escape_html... Не заметил
источник

A

Arman in Laravel Pro
Kirill Lyulyaev
ru в реквесте не передаем :(
по умолчанию объявить переменную языка для роута?
источник

А

Артур in Laravel Pro
Kirill Lyulyaev
Cмотри, locale в данном случае не обязательная переменная, и ссылка /catalog работать не будет, роут будет брать request segment 1
мы убирали локаль по умолчанию с этим пакетом. смена вела на en, который редиректил на / остальные меняли на другие языки
источник

KL

Kirill Lyulyaev in Laravel Pro
Arman
по умолчанию объявить переменную языка для роута?
Это где? RouteService провайдере?
источник

A

Arman in Laravel Pro
Kirill Lyulyaev
Это где? RouteService провайдере?
источник

KL

Kirill Lyulyaev in Laravel Pro
Спасибо за идею, не знал, что так можно 😊
источник

KL

Kirill Lyulyaev in Laravel Pro
Kirill Lyulyaev
Спасибо за идею, не знал, что так можно 😊
Хз правда, как это прикрутить под текущее решение, все равно спасибо!
источник

KL

Kirill Lyulyaev in Laravel Pro
источник

KL

Kirill Lyulyaev in Laravel Pro
Теперь ссылки /ru/locale 😂
источник

A

Arman in Laravel Pro
Kirill Lyulyaev
Теперь ссылки /ru/locale 😂
можно route:list ?
источник

KL

Kirill Lyulyaev in Laravel Pro
Arman
можно route:list ?
Для тебя хоть звезду с неба
источник

KL

Kirill Lyulyaev in Laravel Pro
Kirill Lyulyaev
Для тебя хоть звезду с неба
источник

KL

Kirill Lyulyaev in Laravel Pro
Arman
можно route:list ?
Если добавить     URL::defaults(['locale' => 'ru']); в мой мидлвар, для всех роутов будет добавлен /ru/catalog. Если сделать locale ="" пустым, перестают работать маршруты без языковой папки. + добавил в веб роуты {locale?}
источник