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