Используя следующий пакет: Laravel-локализация .
Я перевожу маршруты и следую инструкциям, все они отлично работают для маршрутов без переменных, но я застрял на том, как я должен отправлять свои переменные в моих представлениях.
Ссылка на мой взгляд:
<a href="{{ LaravelLocalization::localizeURL(trans('routes.account-edit')) }}"> Edit Link</a>
Файлы rout.php внутри Lang / fr & Lang / п
<?php
return [
'account-edit' => "account/wijzig-gegevens/{id}",
];
<?php
return [
'account-edit' => "donnees/modifier-donnees/{id}",
];
Файл маршрутов Laravel:
Route::group([
'prefix' => LaravelLocalization::setLocale(),
'middleware' => ['localize','localeSessionRedirect', 'localizationRedirect' ]
], function()
{
Route::get(LaravelLocalization::transRoute('routes.account-edit'),'AccountController@edit');
});
Я попытался просто добавить его в маршрут как массив, как показано ниже, но я не могу заставить его работать.
<a href="{{ LaravelLocalization::localizeURL(trans('routes.account-edit'), ['id' => $user->id]) }}"> Edit Link</a>
Не использую библиотеку сам, но в соответствии с кодом на GitHub РЕПО, метод localizeURL
занимает в $url
а также $locale
в качестве его параметра, что означает, что передача второго параметра, как вы, определенно не будет работать.
Можете ли вы попробовать использовать метод getLocalizedURL
?
LaravelLocalization::getLocalizedURL(null, trans('routes.account-edit'), ['id' => $user->id])
Других решений пока нет …