翻译CodeIgniter的表单验证错误消息

时间:2012-01-30 20:19:56

标签: php codeigniter localization internationalization validation

是否有翻译CodeIgniter的表单验证错误消息而不触及系统文件?

2 个答案:

答案 0 :(得分:28)

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

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

请参阅:CodeIgniter Doc for the Config Class

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

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

另一种方法是,如果您不想触摸language文件,则手动覆盖消息。您可以通过Form_validation库对象执行此操作,如下所示:

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

请参阅:CodeIgniter Doc for the Form Validation Class

答案 1 :(得分:0)

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

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

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