Laravel 5基于子域的本地化

时间:2015-03-04 15:37:40

标签: laravel laravel-5

如何基于子域进行本地化?

www.example.com ==> locale =默认local = en
ar.example.com ==> local = ar

在线研究后,我不确定它应该是middleware还是routes文件。

1 个答案:

答案 0 :(得分:2)

我认为你可以这样做:

Route::group(['domain' => '{lang}.myapp.com'], function()
{

    Route::get('/', function($lang)
    {
        App::setLocale($lang);
    });

});

或使用控制器中的App::setLocale

该群组允许您使用通配符,ar.example.com en.example.comit.example.com所有人都将被群组捕获。在组内,您可以定义所需的所有路线并传递$lang

也许您可以添加middleware来限制语言,可能是middleware来检查语言是否存在。