翻译CodeIgniter';s表单验证错误消息


Translating CodeIgniter's form validation error messages

是否可以在不接触系统文件的情况下翻译CodeIgniter的表单验证错误消息?

如果您谈论的是实际翻译成另一种语言,可以通过将配置值$config['language']设置为所需的语言来完成。如果您不想更改实际的config.php文件,可以通过使用config对象的set_item()函数来完成,如下所示:

$this->config->set_item('language', 'spanish');

参见:配置类的CodeIgniter文档

这假设您的language目录中有一个西班牙语目录,其中至少包含form_validation_lang.php文件。

但是,如果您只是想为Form_validation对象创建自定义消息,则可以从system'language目录复制form_validation_lang.php文件并将其移动到application'language目录。您现在可以编辑新的语言文件,使其反映您想要的任何不同消息。您还可以通过从application/language目录中删除该文件,轻松地恢复到默认消息。

如果您甚至不想触摸language文件,另一种方法是手动覆盖消息。您可以通过Form_validation库对象这样做:

$this->form_validation->set_message('required', 'This is a required item!');`

请参阅:表单验证类的CodeIgniter文档

如果需要为某个特定规则的特定字段设置自定义错误消息,请使用set_rules()方法:

    $this->form_validation->set_rules('field_name', 'Field Label', 'rule1|rule2|rule3',
        array('rule2' => 'Error Message on rule2 for this field_name')
);

这将独立解决您的所有字段问题。:)