codeigniter更改语言form_validation_lang

时间:2016-03-14 20:37:07

标签: php codeigniter

我尝试在我的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

1 个答案:

答案 0 :(得分:2)

form_validation的错误消息总是以您在config.php中设置的语言加载。要更改form_validation消息的语言,您需要做一个小技巧,更改默认语言,如下所示:

$ci->config->set_item('language', $siteLang);