CakePHPでの多言語設定

testの文字をテストと表示させてみる。

・最初にcontrollerでL10nを読み込む
controllerのbeforeFilterあたりに
App::import(‘Core’, ‘l10n’);

・言語の設定
(日本語決め打ちなら)
config/core.php
Configure::write(‘Config.language’, ‘ja’);

(動作によって言語を変えるなら)
controllerのbeforeFilterあたりに
$this->L10n = new L10n();
$this->L10n->get(“ja”);←ココを動的に変えたらいいと思う

・viewに書く
echo __(‘test’);

この状態で表示すると普通に「test」と出る。

・言語ファイルを作成
locale/jpn/LC_MESSAGES/default.po
——ファイル内容——-
msgid “test”
msgstr “テスト”

再度表示すると「テスト」になる