我尝试通过路由切换语言,但没有任何变化。你能帮我吗?
Route::get('lang/{lang}', function($lang)
{
App::setLocale($lang);
return Redirect::to('/');
});
App::setLocale()
不是持久的 - 也就是说它不会在请求之间记住您存储的内容。相反,您可以使用会话来记住所选的语言环境,并从会话中读取每个请求的语言环境。如果会话中没有设置,我们还可以读取默认语言环境(来自配置)。
// app/routes.php
Route::get('lang/{lang}', function($lang)
{
Session::put('my.locale', $lang);
return Redirect::to('/');
});
// app/start/global.php
App::setLocale(Session::get('my.locale', Config::get('app.locale')));
我解决了这个问题
App::setLocale(Session::get('lang', 'en'));
在 app/start/global.php