所以我需要在网站上使用多种语言,例如:
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));
});
});
它有效,但是如果我想设置一个默认语言并且像 mysite / language 那样访问网址 - 它就不会工作。
你有什么想法?这是如何处理多语言网站的最佳方式吗?访问没有前缀的网站时如何解决问题(显示默认语言的页面)?
答案 0 :(得分:2)
经过一番研究,我发现了这个美丽的本地化课程mcamara/laravel-localization。安装完成后,我的代码现在看起来像这样,而且一切正常 - 魔术!!
Route::group(['prefix' => LaravelLocalization::setLocale() ], function () {
Route::get('language', function () {
dd("The language is: " . LaravelLocalization::getCurrentLocale());
});
});