Laravel Localization 2 lang网站返回错误的语言环境

时间:2017-11-06 05:28:24

标签: laravel laravel-5

我使用Laravel5.5,当我尝试使用return App::getLocale();时,我想制作2个网站 我走了/en/test它应该返回en/sv/test它应该返回sv但现在只返回en

首先我在config.app

中设置
'locales' => ['en' => 'English', 'sv => 'Sweden'],

之后我设置了我的中间件language.php

 if (Session::has('applocale') AND array_key_exists(Session::get('applocale'), Config::get('languages'))) {
    App::setLocale(Session::get('applocale'));
}
else { // This is optional as Laravel will automatically set the fallback language if there is none specified
    App::setLocale(Config::get('app.fallback_locale'));
}
return $next($request);

然后在我的kernel.php中我设置了routemiddleware

'language' => \App\Http\Middleware\Language::class,

我设置web.php的最后一件事

Route::group(['middleware' => ['web','language']  ,'prefix' => 'sv' ], function () {
    Route::get('/test', function(){
        return App::getLocale();
    });
});


Route::group(['middleware' => ['web','language']  ,'prefix' => 'en' ], function () {
    Route::get('/test', function(){
        return \App::getLocale();
    });
});

1 个答案:

答案 0 :(得分:0)

您不应该配置语言名称,只需配置代码(除此之外是Svenska

'locales' => ['en', 'sv'];