現在、私は、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. 言語が変更されたときにフォームのサイズを変更します。
- 2. CodeIgniter多言語データベース
- 3. CocoaTouch:言語をランダムに変更するローカライズされたアプリケーション
- 4. 右の言語を変更した後
- 5. CodeIgniter言語の選択
- 6. Joomla言語スイッチャーの変更
- 7. Android:言語の変更
- 8. 言語の変更4
- 9. Codeigniterシステム/言語アプリケーション/言語の違いは何ですか? CodeIgniterの中
- 10. 言語を変更する
- 11. SQl Express変更言語
- 12. CodeIgniterの多言語の言語識別子
- 13. CodeIgniter - 通常のSQLをCI独自の言語に変更する
- 14. 多言語ストア - カスタムメニューの言語を動的に変更する
- 15. React-intl多言語アプリ:言語と翻訳の変更ストレージ
- 16. Django:言語が変更されたときのレコード作成の問題
- 17. URL複数の言語用に設定された場合の変更
- 18. Firefoxで言語が変更されない
- 19. 衛星アセンブリ、ASP.NET言語が変更されない
- 20. メモ帳++キーボードの言語がちょうど変更されました
- 21. 値が変更された制御されたページの再ロード
- 22. Codeigniterのカレンダー言語の問題
- 23. 私のwpfアプリケーションの言語を変更
- 24. コンパイルされた言語やスクリプト言語が好きですか?
- 25. iOS - UIDatePickerの言語をロケールで変更
- 26. Visual Studio Team Services言語の変更
- 27. Facebook接続ボタンの言語変更
- 28. ReportViewer言語の変更ツールバーWindowsフォーム
- 29. フレックスコンポーネントの言語を変更する
- 30. iphoneアプリの言語を変更する
この投稿の回答を確認するhttp://stackoverflow.com/questions/31895341/codeigniter-dynamic-language-functionality/41661355#41661355 –