Laravel 5 基于子域的本地化

Laravel 5 localization based on sub domain

如何根据子域进行本地化?

www.example.com ==> locale = default local = en
ar.example.com ==> 本地 = ar

网上查了下,不知道是middleware还是在routes文件里。

我想你可以这样做:

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

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

});

或者在您的控制器中使用 App::setLocale

群允许使用通配符,ar.example.comen.example.comit.example.com都会被群抓到。在 de group 中你可以定义你需要的所有路线并通过 $lang

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