【備忘録】CakePHP2で言語切り替え

今まで、日本語サイトばっかりだったから、国際化対応って初めてなんです。

CakePHP2は国際化の仕組みを持っているようですが、今回は言語によって入力フィールドやデザインも変えたいので結局独自方式ですることにしました。CakePHP2の国際化

 

 

 

1.先ずは言語を取得しないとね
言語の取得はパラメータで取得しSessionに入れるだけ。言語パラメータがなかったらデフォルトをセットする。

2.切り替え対象は、HTMLとメールテンプレートなのでViewフォルダにja,enフォルダを作る。

View/Controller/ja
View/Controller/en

3.renderで表示

$this->render($this->name . '/' . lang . '/' . $this->action)

HTMLとメールテンプレートは、これで良いけど。入力エラーやメール件名をどうしようかな?これは、CakePHP2の国際化を使った方が良さそう。でも結局、今持ってるメッセージ配列を言語で分けるように変更。

'MessageID' =>array('ja' =>'テスト', 'en' =>'TEST')