目前我在MY_Controller中加载了一种语言,它扩展了CI_Controller.但是在一个特殊的页面中,哪个控制器(我们称之为ABC控制器)扩展了MY_Controller,我需要用另一种语言覆盖加载的语言.我尝试在这个ABC控制器中加载另一种语言,但不成功.有没有办法卸载加载的语言并加载另一种语言?
Dam*_*nis 18
一种更简单的方法是重置语言数据并is_loaded
$this->lang->is_loaded = array();
$this->lang->language = array();
Run Code Online (Sandbox Code Playgroud)
我知道回答这个问题有点迟,但我认为您可以根据页面要求动态更改配置项"语言".
$this->config->set_item('language', 'chinese');
$this->config->set_item('language', 'english'); // based on the language folder of course holding language files
Run Code Online (Sandbox Code Playgroud)
我需要在用户基础上发送简讯,这有助于我动态更改语言,希望这可能会有所帮助..
您是否尝试过仅加载所需的语言文件?
$this->lang->load('filename', 'language');
Run Code Online (Sandbox Code Playgroud)
然后它应该可以像您的默认语言一样访问。我还没有测试过这个,但根据我的理解,这应该是解决问题的方法。
参考: http: //codeigniter.com/user_guide/libraries/language.html
修改
我最终为您挖掘了更多信息,发现您无法加载默认语言(将其定义为控制器中的默认语言),然后尝试将其更改为其他语言。
按着这些次序:
constructor 使用会话数组/用户选择之类的东西。每个论坛帖子参考此处:http://codeigniter.com/forums/viewthread/176223/