繁体   English   中英

Laravel本地化url帮助器

[英]Laravel localize url helper

我需要本地化我的网站。 我正在使用这个包: 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帮助程序创建的链接?

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
});

而你的问题将得到解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM