Маршруты перевода ларавеллы - PullRequest
0 голосов
/ 11 июня 2018

После долгих испытаний и поиска я не могу найти решение.

Моя проблема в том, что у меня есть, например, маршрут '/ services', '/ servicios' на испанском языке.

Если мой сайт на английском языке, все тексты правильно отображаются на английском, то же на испанском.Но проблема с текстовыми ссылками, которые отображаются только в локали по умолчанию.

В маршрутах / web.php:

Route::get(trans('rutas.servicios'), 'ServiceController@index')->name('servicios')

Файл lang / es / rutas.php:

return [
   'servicios' => '/servicios',
];

Файл lang / en / rutas.php:

return [
   'servicios' => '/services',
];

и ссылка html:

<a href="{‌{ route('servicios') }}">@lang('menus.servicios')</a> 

Моя цель - использовать переведенные URL-адреса без использования префикса laravel.То есть:

https://www.myweb.com/services  ~ english
https://www.myweb.com/servicios ~ spanish

совместно используют один и тот же контроллер маршрута.

Любая помощь?Большое спасибо за ваше время!

РЕДАКТИРОВАТЬ С РЕШЕНИЕМ:

Я обнаружил, что laravel выполняет сопоставление маршрутов перед выбором языка.Поэтому я установил язык до этого, но переменные сессии и куки загружаются после этого.Но я наконец-то обнаружил, что кэшированные переменные удовлетворяют моим потребностям.

В верхней части функции map () RouteServiceProvider.php:

App::setLocale(Cache::get('locale'));

Для сохранения выбранной локали:

Cache::put('locale', $locale, $minutes);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...