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()
は、永続的ではありません。つまり、保存したリクエストの間には記憶されません。代わりに、セッションを使用して、選択したロケールを覚えて、セッションから各要求のロケールを読み取ることができます。セッションに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')));
私はアプリで/
クールをglobal.php /スタート
を置くことによって、問題を解決しました。クッキーはどうですか?私は永遠に続くクッキーを設定したいと思います。私は 'Cookie :: forever'と' Cookie :: get'を試しましたが、うまくいきません。あなたが示したように、セッションでそれは動作します。私はクッキーを印刷しようとしましたが、それは空です。しかし、セッションの印刷は動作します。コードはどちらの場合も似ていますが、セッションの代わりにクッキーを使用するように変更しました。 – MikkoP