我尝试使用路由来切换语言,但没有任何变化。你能救我吗?
Route::get('lang/{lang}', function($lang)
{
App::setLocale($lang);
return Redirect::to('/');
});
答案 0 :(得分:24)
App::setLocale()
不是持久性的 - 也就是说它不会在请求之间记住您存储的内容。相反,您可以使用会话记住所选的区域设置,并从会话中读取每个请求的区域设置。如果会话中没有一个集合,我们也可以读取默认的语言环境(来自config)。
// 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')));
答案 1 :(得分:1)
我把
解决了问题App::setLocale(Session::get('lang', 'en'));
app / start / global.php中的