現在、私は、CI_Controllerを拡張するMY_Controllerの中にロードされた言語を持っています。しかし、コントローラー(ABCコントローラーと呼ぶ)がMY_Controllerを拡張する特別なページの中で、ロードされた言語を別の言語でオーバーライドする必要があります。このABCコントローラの中に別の言語を読み込もうとしましたが、失敗しました。ロードされた言語をアンロードし、別の言語をロードする方法はありますか?Codeigniterロードされた言語の変更
答えて
必要な言語ファイルを読み込もうとしましたか?
$this->lang->load('filename', 'language');
それはちょうどあなたのデフォルトの言語のように、次にアクセスできる必要があります。私はこのthoをテストしていないが、私の理解から、これはそれについて行く方法でなければならない。
参考:http://codeigniter.com/user_guide/libraries/language.html
は、私は(あなたのコントローラのデフォルトとしてそれを定義する)あなたのためにもう少し掘り終わった、とあなたは、デフォルトの言語をロードできないことが判明
を改訂しました後でそれを他のものに変更しようとします。
は、次の手順に従います。
- あなたが英語(デフォルト)以外の言語が必要な場合は、お使いの設定にすることを設定します。
- あなたは、コントローラごとに別の言語をロードする場合は、セッションの配列/ユーザ選択のようなものを使用して
constructor
で最も一般的に(それを定義する必要があります。 - その後、2つの言語(コンストラクタで1を、ロードすることはできません別のクラス内の別のは..動作しません)ここにフォーラムの投稿につき
はい、私は、拡張されたMY_Controller内にデフォルト言語(英語)を読み込んでいます他のコントローラ。私は、これもMY_Controllerを拡張しているこのABCコントローラ内の英語を上書きすることを望むが、英語のみがアクセス可能であることを希望する二次(中国語)言語の読み込みを試みた。 – coder
私はあなたのコントローラを修正する必要があるように私の答えを更新した、1つのコントローラ(またはあなたが拡張コントローラ)で2つの言語を宣言することはできません。 – Jakub
Cool thx。私は、ロードする言語を決定するために、MY_Controllerコンストラクターに別のオプションのパラメーターを実装する必要があると考えました。それは私の場合にはうまくいくはずです。努力のためのTHX! – coder
私はこの問題が発生し、トリッキーな解決策を見つける
$this->lang->load('text', 'english');
echo $this->lang->line('__YOUR_LANG_VARIABLE__');
//CI will record your lang file is loaded, unset it and then you will able to load another
//unset the lang file to allow the loading of another file
if(isset($this->lang->is_loaded)){
for($i=0; $i<=sizeof($this->lang->is_loaded); $i++){
unset($this->lang->is_loaded[$i]);
}
}
$this->lang->load('text', 'chinese');
echo $this->lang->line('__YOUR_LANG_VARIABLE__');
。
希望します。
これは、同じキーを持つ言語ファイルを扱う場合の唯一の実用的な解決策です。 –
チャームのように働きました!ありがとう! – Roomm
簡単な方法は、言語データをリセットすることであり、私はそれがこれに答えるために少し遅れて知っているが、私はあなたが設定項目「言語」動的ページの要件に基づいてを変更することができると思い
$this->lang->is_loaded = array();
$this->lang->language = array();
は完璧に機能します!ちょうど私が探していたもの。 – JoshHighland
偉大な答え、それをもたらすためのおかげで! – Ando
これは私にとって完璧に機能します。ありがとう! – grpaiva
is_loaded。
$this->config->set_item('language', 'chinese');
$this->config->set_item('language', 'english'); // based on the language folder of course holding language files
私は、ユーザーベースLANGにニュースレターを送信する必要があったが、これは私はこれが役立つかもしれない願って、その場で言語を変更助けました。..あなたはcodeigniter
に建設され、あなたが言語パックを追加したいインストールされたアプリケーションを持っている場合は
私のために働く:D ...これは受け入れられた答えでなければならない、私は信じて、それはすべての答えの中で最も簡単な解決策です。 –
、次の手順に従ってください。
- が
application/language/arabic
フォルダに言語ファイルを追加します(私は、CIに建てSMA2にアラビアLANGを追加しました
<div class="controls">
<?php /*
$lang = array (
'english' => 'English',
'arabic' => 'Arabic', // +++ Add this line
'spanish' => 'Español'
012:あなたは、配列を見つけるでしょうで
setting.php
という名前のファイルに)
アプリケーションを保存して実行します。
- 1. CodeIgniterカレンダーライブラリの言語を変更
- 2. 言語の変更
- 3. デバイス言語の変更でAndroidアプリが変更される
- 4. codeigniterのtimespan()関数で言語を変更するには
- 5. カルチャー(言語)が変更された場合の動的フォントサイズ
- 6. CodeIgniter多言語データベース
- 7. 言語が変更されたときにフォームのサイズを変更します。
- 8. $ translate.instant( 'id);言語が変更されたときに更新されない
- 9. アップロードテキスト言語codeigniterを変更するには?
- 10. CocoaTouch:言語をランダムに変更するローカライズされたアプリケーション
- 11. CodeIgniterの多言語サイト
- 12. CodeIgniter言語の選択
- 13. codeigniterファイルの多言語エラーアップロードクラス
- 14. 右の言語を変更した後
- 15. Android:言語の変更
- 16. Joomla言語スイッチャーの変更
- 17. ジャンゴ言語の変更アンカー
- 18. dateDropdown言語プロパティの変更
- 19. Yii2 - 言語の変更
- 20. Powerpoint VBA:言語の変更
- 21. 言語の変更4
- 22. 変更アプリの言語
- 23. I18Next&Polymer:言語が変更されたときのデータバインディングの更新
- 24. Codeigniterを使用した多言語
- 25. Codeigniterシステム/言語アプリケーション/言語の違いは何ですか? CodeIgniterの中
- 26. URLを変更したUmbraco多言語
- 27. ギアウォッチデザイナーステップ数言語変更
- 28. SQl Express変更言語
- 29. 言語を変更する
- 30. CodeIgniterの多言語の言語識別子
この投稿の回答を確認するhttp://stackoverflow.com/questions/31895341/codeigniter-dynamic-language-functionality/41661355#41661355 –