【发布时间】:2012-02-22 14:56:06
【问题描述】:
是否可以在不涉及系统文件的情况下翻译 CodeIgniter 的表单验证错误消息?
【问题讨论】:
-
这是我的回答stackoverflow.com/a/36331269/3143384。我们需要更改验证语言文件,但这样您可以将自定义消息设置到任何字段。
标签: php codeigniter localization internationalization validation
是否可以在不涉及系统文件的情况下翻译 CodeIgniter 的表单验证错误消息?
【问题讨论】:
标签: php codeigniter localization internationalization validation
如果您正在谈论实际翻译成另一种语言,可以通过将配置值 $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 对象创建自定义消息,您可以从system\language 目录复制form_validation_lang.php 文件并将其移动到application\language 目录。您现在可以编辑新语言文件以使其反映您想要的任何不同的消息。您还可以通过从application/language 目录中删除文件轻松恢复为默认消息。
如果您不想碰language 文件,另一种方法是手动覆盖消息。您可以通过 Form_validation 库对象来做到这一点,如下所示:
$this->form_validation->set_message('required', 'This is a required item!');`
【讨论】:
如果您需要为某个特定规则的特定字段设置自定义错误消息,请使用 set_rules() 方法:
$this->form_validation->set_rules('field_name', 'Field Label', 'rule1|rule2|rule3',
array('rule2' => 'Error Message on rule2 for this field_name')
);
这将独立解决您的所有领域问题。 :)
【讨论】: