我尝试在我的hooks文件夹中的LanguageLoader.php中更改form_validation_lang的语言文件,如下所示:
class LanguageLoader
{
function initialize() {
$ci =& get_instance();
$ci->load->helper('language');
$siteLang = $ci->session->userdata('site_lang');
if ($siteLang) {
$ci->lang->load('message',$siteLang);
$ci->lang->load('form_validation',$siteLang);
} else {
$ci->lang->load('message','english');
$ci->lang->load('form_validation','english');
}
}
}
对于我的message_lang.php文件,它工作正常,但是codeigniter在更改语言后没有正确加载form_validation_lang.php。
在我的应用程序文件夹中:
-language
- 英语
--- message_lang.php
--- form_validation_lang.php
--german
--- message_lang.php
--- form_validation_lang.php
总是需要英语下的form_validation_lang.php文件。当我更改为德语时,它采用正确的message_lang.php文件,但不是form_validation_lang.php文件。我做错了什么?
感谢您的帮助!
祝你好运, Yab86
答案 0 :(得分:2)
form_validation的错误消息总是以您在config.php中设置的语言加载。要更改form_validation消息的语言,您需要做一个小技巧,更改默认语言,如下所示:
$ci->config->set_item('language', $siteLang);