Laravel 5 多语言网站,网址中带有语言前缀
Posted
技术标签:
【中文标题】Laravel 5 多语言网站,网址中带有语言前缀【英文标题】:Laravel 5 multi language site with language prefix in the url 【发布时间】:2016-06-05 01:51:01 【问题描述】:所以我需要在网站上使用多种语言,网址如下:
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 mysite/language - 它就行不通了。
你的想法是什么?这是处理多语言网站的最佳方式吗?访问不带前缀的网站(默认语言显示页面)时如何解决问题?
【问题讨论】:
查看***.com/questions/25082154/… 【参考方案1】:经过一番研究,我发现了这个漂亮的本地化课程mcamara/laravel-localization。安装后,我的代码现在看起来像这样,一切正常 - 神奇!!
Route::group(['prefix' => LaravelLocalization::setLocale() ], function ()
Route::get('language', function ()
dd("The language is: " . LaravelLocalization::getCurrentLocale());
);
);
【讨论】:
以上是关于Laravel 5 多语言网站,网址中带有语言前缀的主要内容,如果未能解决你的问题,请参考以下文章