Это должно вам помочь.
В вашем файле web.php я предполагаю, что вы уже задали имя для маршрута.
Route::group(['prefix' => '{locale}'], function () {
Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});
Теперь в вашем блейд-представлении, это должно быть так ..
<a href="{{ route('your-route-name', 'en') }}">EN</a>
Вы написали это по-другому.Вы можете получить больше информации о том, как использовать route
метод в представлениях лезвия. Документация по методу маршрута
Обновление 1:
как добавить другую часть URL?
Route::group(['prefix' => '{locale}/SERVICES'], function () {
Route::get('/', 'YourController@yourMethod')->name('your-route-name');
});
Что касается перевода страниц, я не знаю, что делает ваше приложение.Итак, я, по крайней мере, могу помочь.
Да, вы в определенной степени правы, используя url(/en)
.Но тогда вам придется обновить все файлы просмотра.С route()
вам придется обновлять только файл web.php один раз.Вам не нужно обновлять файл представления, потому что вы используете метод route
, а Laravel достаточно умен, чтобы заменить ссылку соответствующими параметрами.
Для получения дополнительной информации я призываю вас пройти через маршрутная документация .Это поможет вам лучше понять, чем route
отличается от url
.