[CodeIgniter2] 多言語化時にオートロードで任意言語ファイルを読み込む

公開
更新日

スポンサーリンク

CodeIgniterで多言語対応をする際に, autoloadで任意の言語ファイルを読み込ませる方法のメモ。

言語ファイル内に以下のように日本語と英語を用意しこれをautoloadで読み込ませると, 英語を表示させたい場合でも日本語が読み込まれてしまう。

application/language/japanese/foo_lang.php
application/language/english/foo_lang.php

上の状況でapplication/config/autoload.phpの99行目付近で$autoload['language'] = array('foo');とすると, コントローラー呼び出し時に自動的にfoo_lang.phpがロードされるのですが, これだけだと自動的にjapanese/foo_lang.phpがロードされてしまうわけです。

english/foo_lang.phpをロードさせたい場合は, config/autoload.phpで設定するのではなく, config/config.phpで初期設定の言語を変更する。66行目付近に”Default Language”を設定するところがあるので, そこを、

// $config['language'] = 'japanese';
//   ↓
$config['language'] = 'english';
englishに変更する。これでオートロードされる言語ファイルが英語になる。

スポンサーリンク


Comment