1

ユーザーが自分の Web サイトのサブページから自分の言語を選択できるようにします。各ユーザー言語を保存するための最良のソリューションは、セッションです。

私のウェブサイトのデフォルト言語は英語ですが、ユーザーが選択した他の言語を読み込むにはどうすればよいですか? 私はこのようにすべきだと思います:

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

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

4

1 に答える 1

4

どちらかを行います

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

カスタムヘルパーの先頭に配置し、config/autoload.phpで自動ロードします。

それ以外の場合は、フックを介して実行できます。
基本的に使う

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

ここでも __construct() 内にあり、 Hook Point がありpost_controller_constructorます。

これにより、すべてのコントローラーに lang ファイルが含まれるようになります。ただし、たとえ少量であってもサーバーを使い果たすため、どのくらいの言語テキストを自動的にロードするかはあなた次第です。

于 2012-04-17T12:33:56.950 に答える