最近、ちょっと訳あって Codeigniter をいじってます。
すでに PHP が分かっていれば、学習コストも低く、直感的に使えるんでなかなか良いっすよ。
Codeigniter で、国際化するために用意されてる言語クラスですが、通常は以下のようにして使います。
application/language ディレクトリに各言語のサブフォルダ(例:japanese)を用意する。
その中に _lang.php (例:error_lang.php) というファイルを作成して、連想配列 $lang にテキストをセットする。
$lang['language_key'] = "実際に表示されるメッセージ";
Controller で言語ファイルを読み込む。
$this->lang->load('filename');
lang オブジェクトの line メソッドか、lang() 関数で、キーを指定してテキストを取得する。
$message = $this->lang->line('language_key'); // または echo lang('language_key');
ただ、これだとキーとの対比とか、メンテナンスがめんどくさいので、できれば .mo ファイル作って gettext() で処理したい所です。
続きを読む