2012-04-17 8 views
1

私は自分の言語を自分のウェブサイトのサブページから選択したいと思っています。各ユーザーの言語を保存する最適なソリューションはセッションです。CodeIgniter言語の選択

ウェブサイトのデフォルト言語は英語ですが、ユーザーが選択する他の言語をどのように読み込む必要がありますか? 私はこのようにそれを行う必要がありますね。

$this->lang->load('my_language_file', $this->session->userdata('language'));

しかし、この方法で、私はすべてのコントローラに言語をロードする必要があると思います。 セッションからユーザー言語をグローバルに選択する方法はありませんか?だから、私のウェブサイトのあらゆる場所で$this->lang->line('some-message');を使うことができましたか?

答えて

4

どちらのカスタムhelperの初めに

$CI =& get_instance(); 
$CI->lang->load('my_language_file', $CI->session->userdata('language')); 

を行うと、それをあなたのconfig/autoload.phpでautoloadedを持っています。

それ以外の場合は、hooksまでやります。
Basiclyはaswell __construct()内ここ

$CI =& get_instance(); 
$CI->lang->load('my_language_file', $CI->session->userdata('language')); 

を使用し、フックポイントpost_controller_constructorを持っています。

これにより、すべてのコントローラにlangファイルを含めることができます。しかし、あなたがどれだけ多くのlang-textを自動的にロードしたいのかはあなた次第です。

+0

デフォルトの言語(英語)が自動的に読み込まれるため、ユーザーごとに英語ファイルを読み込んで他のユーザーの言語を読み込むとどうなりますか? – Lucas

+0

私はそうでも構いません。それはなぜだろう? –

+0

あなたは書いています: '[..]それはわずかな程度であってもサーバを使い果たしてしまうからです。 ' – Lucas

関連する問題