因此,我需要在具有如下网址的网站上使用多种语言:
mysite/en/language
mysite/it/language
mysite/es/language
我决定在我的路线中使用前缀,如下所示:
$allLanguages = ["en", "it", "es"];
$lng = ( in_array( Request::segment(1), $allLanguages) ) ? Request::segment(1) : "";
Route::group(['prefix' => $lng ], function () {
Route::get('language', function () {
dd("The language is: " . Request::segment(1));
});
});
它可以工作,但如果我想设置默认语言并像这样访问 url我的网站/语言- 这是行不通的。
你怎么看?这是处理多语言网站的最佳方式吗?如何解决访问无前缀站点(显示默认语言页面)的问题?
经过一番研究,我发现了这个漂亮的本地化课程mcamara/laravel 本地化。安装后,我的代码现在看起来像这样,并且一切正常 - 神奇!
Route::group(['prefix' => LaravelLocalization::setLocale() ], function () {
Route::get('language', function () {
dd("The language is: " . LaravelLocalization::getCurrentLocale());
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)