2013-05-15 20 views

答えて

24

App::setLocale()は、永続的ではありません。つまり、保存したリクエストの間には記憶されません。代わりに、セッションを使用して、選択したロケールを覚えて、セッションから各要求のロケールを読み取ることができます。セッションに1つも設定されていない場合は、デフォルトのロケール(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'))); 
+0

クールをglobal.php /スタート

App::setLocale(Session::get('lang', 'en')); 

を置くことによって、問題を解決しました。クッキーはどうですか?私は永遠に続くクッキーを設定したいと思います。私は 'Cookie :: forever'と' Cookie :: get'を試しましたが、うまくいきません。あなたが示したように、セッションでそれは動作します。私はクッキーを印刷しようとしましたが、それは空です。しかし、セッションの印刷は動作します。コードはどちらの場合も似ていますが、セッションの代わりにクッキーを使用するように変更しました。 – MikkoP

1

私はアプリで/

関連する問題