質問: filter_input(INPUT_COOKIE, 'lang' ); ini_set('intl.default_locale', $lang); ``` そこでわからないことが2つでてきました。 1 同一のコントローラー内のアクションでは、クッキーが保持され、セレクトボックスからのポストよりクッキー保存がうまくいくいきセレクトボックスで表示した言語で表示されるのですが、コントローラーが変わると、クッキーが、保持されず、どうやら次のコントローラーで別のクッキーが作られているので、コントローラーが変わるともう一度セレクトボックスで言語を指定しなくてはいけなくなります。 おそらく、setcookie()の部分のオプションがおかしいのだとおもったので、 下記のようにかいたのですが、サイト全体に共通するような形でクッキーが保持されません。 ``` setcookie( 'lang', $lg, 0 , '/' ); ``` どのように全体にでもクッキーを適応するのかがわかりません。 2 サイトURLのルートからのアクセスだと、セレクトボックスで選択しても、クッキーに保存されません。なので、セレクトボックスが機能しないです。 URLのルートでは、もともとは、ルーティングでindexに設定した、コントローラーとアクション(私の場合、indexs/index)を設定しています。なのでURIが表示されないので、フォームからポストするときは、ポスト先をindexs/index になるようにしています。しかし、ルートへのアクセスからだとセレクトボックスでクッキーに保存できませんでした。 私自身、フレームワークを利用しはじめてから、1か月くらいなので、よくわかってない部分の方が多いので、どこにどのように書けばよいのかが、非効率になっていると思います。おそらく、もっと楽にできると思うので、手動で言語を変換する際に、もっとよい方法がありましたら、上記の回答以外にもアドバイスください。よろしくお願いします。
回答: 前提となる知識として、 セッション -> サーバー クッキー -> ブラウザ にデータを保存する仕組みであることは、問題ないですね。 記述されたソースを簡略化すると、 ```