无法在Laravel 4中切换语言

时间:2013-05-15 07:41:12

标签: laravel laravel-4

我尝试使用路由来切换语言,但没有任何变化。你能救我吗?

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

2 个答案:

答案 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中的