我使用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();
});
});
答案 0 :(得分:0)
您不应该配置语言名称,只需配置代码(除此之外是Svenska
)
'locales' => ['en', 'sv'];