12
我尝试了路由切换语言,但没有任何更改。你能帮我吗?无法在Laravel 4中切换语言
Route::get('lang/{lang}', function($lang)
{
App::setLocale($lang);
return Redirect::to('/');
});
我尝试了路由切换语言,但没有任何更改。你能帮我吗?无法在Laravel 4中切换语言
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'));
在应用程序解决了这个问题/开始/ global.php
酷。怎么样用cookies?我想设置一个永久持续的cookie。我尝试过'Cookie :: forever'和'Cookie :: get',但它不起作用。正如你所展示的那样,会话是有效的。我尝试过打印cookie,但它是空的。打印会话虽然工作。代码在两种情况下都是相似的,我只是将它更改为使用Cookie而不是会话。 – MikkoP