Laravel локализует URL помощник

php laravel localization routes helper

827 просмотра

1 ответ

69 Репутация автора

Мне нужно локализовать свой сайт. Я использую этот пакет: https://github.com/mcamara/laravel-localization Моя группа маршрутов:

Route::group(['prefix' => LaravelLocalization::setLocale()], function()
{
Route::get('/garage', ['as' => 'garage', 'uses' => 'GarageController@garage']);
//OTHER ROUTES
});

И я хочу локализовать ссылку на этот маршрут. Если я использую

href="{{ route('garage') }}

все в порядке, ссылка выглядит как "www.example.com/locale/garage". Но если я использую

href="{{ url('/garage') }}

моя локализация не работает, ссылка выглядит как "www.example.com/garage". Есть ли способ локализовать ссылки, сделанные с помощью помощника URL?

Автор: user3529607 Источник Размещён: 18.07.2016 01:13

Ответы (1)


0 плюса

325 Репутация автора

Пакет LaravelLocalization включает в себя объект промежуточного программного обеспечения для перенаправления всех нелокализованных маршрутов в соответствующие «локализованные».

Таким образом, если пользователь переходит к http://www.example.com/testсистеме, и это промежуточное программное обеспечение активно, а в качестве текущей локали для этого пользователя используется «en», он автоматически перенаправляет его на http://www.example.com/en/test.

Чтобы активировать эту функцию, перейдите в начало app/Http/Kernel.phpи добавьте эти классы protected $routeMiddleware = []вначале, а затем в файле маршрутов внесите следующие изменения:

Route::group([
'prefix' => LaravelLocalization::setLocale(),
'middleware' => [ 'localeSessionRedirect', 'localizationRedirect', 'localeViewPath' ]
], function()
{
Route::get('/garage', ['as' => 'garage', 'uses' => 'GarageController@garage']);
//OTHER ROUTES
});

И ваша проблема будет решена.

Автор: Esmatullah Arifi Размещён: 06.08.2017 11:22
Вопросы из категории :
32x32