目前我有一個語言加載在MY_Controller中,它擴展了CI_Controller。但是在一個特殊的頁面中,控制器(我們稱之爲ABC控制器)擴展了MY_Controller,我需要用另一種語言覆蓋加載的語言。我嘗試在這個ABC控制器中加載另一種語言,但沒有成功。有沒有辦法卸載加載的語言並加載另一種語言?Codeigniter更改加載語言
回答
您是否嘗試過只加載所需的語言文件?
$this->lang->load('filename', 'language');
應該然後訪問就像你的默認語言。我還沒有測試過這個壽命,但從我的理解來看,這應該是一條路。
參考:http://codeigniter.com/user_guide/libraries/language.html
修訂
我結束了挖多一點給你,發現你不能加載默認語言(在你的控制器將其定義爲默認)然後再嘗試將其更改爲其他內容。
遵循以下步驟:
- 如果你需要比英語(默認)之外的語言,設置,在你的配置。
- 如果要加載其他語言的控制器的基礎上,你需要使用類似會議陣列/用戶選擇在
constructor
定義(最常見的。 - 你不能在構造函數中加載2種語言(1,則另一個不同的類..不會每次論壇的帖子在這裏工作)
我遇到這樣的問題,並找到一個棘手的解決方案
$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
一個更簡單的辦法就是重新設置語言數據和is_loaded
$this->lang->is_loaded = array();
$this->lang->language = array();
我知道這是一個有點晚來回答這個問題,但我認爲你可以更改配置項目「語言」動態基於網頁的要求。
$this->config->set_item('language', 'chinese');
$this->config->set_item('language', 'english'); // based on the language folder of course holding language files
我不得不在用戶基礎郎發送簡訊的要求,幫我更改語言上飛,希望這可以幫助..
適用於我:D ...這應該是我接受的答案,我相信這是所有給出答案中最簡單的解決方案。 –
如果您安裝了內置codeigniter
和您要添加的語言包的任何應用程序,只需按以下步驟操作:
- 添加文件夾
application/language/arabic
語言文件(我加了阿拉伯語郎SMA2建於CI )
- 轉到指定的文件
setting.php
在你會發現陣列:
<div class="controls">
<?php /*
$lang = array (
'english' => 'English',
'arabic' => 'Arabic', // +++ Add this line
'spanish' => 'Español'
現在保存並運行應用程序。
- 1. 更改語言動態codeigniter
- 2. 自動加載語言codeigniter
- 3. 更改語言而不重新加載
- 4. Codeigniter:實時更改語言(AJAX)
- 5. 視圖中的Codeigniter語言更改語言
- 6. 更改語言
- 7. 更改語言
- 8. 更改語言
- 9. Django:i18n - 更改語言
- 10. Yii2 - 更改語言
- 11. TinyMCE更改語言
- 12. FolderBrowserDialog更改語言
- 13. 更改語言5
- 14. Ajax更改語言
- 15. NSSpeechSynthesizer更改語言
- 16. Android更改語言
- 17. 更改Behat語言
- 18. Android - 更改語言環境(語言)
- 19. Codeigniter:加載視圖後更改URL
- 20. 防止語言環境更改後的應用語言更改
- 21. 作爲設備語言更改更改應用程序語言
- 22. 更改應用語言更改的文本框輸入語言
- 23. 將語言更改器添加到Cookies
- 24. codeigniter語言修改+數據庫交互
- 25. 如何在JavaFX中更改語言時重新加載屏幕?
- 26. 在語言環境更改後重新加載FXML JavaFx
- 27. 重新加載故事板以更改語言
- 28. 更改設置後重新加載UI語言字符串
- 29. 如何更改dojo加載後的dojo語言環境?
- 30. (XCODE IPHONE)通過change.php更改語言?lang = en加載網頁後
檢查在這篇文章中的答案http://stackoverflow.com/questions/31895341/codeigniter-dynamic-language-functionality/41661355#41661355 –