我们如何在zend框架上创建翻译验证错误消息?
有人可以举个例子吗?谢谢
答案 0 :(得分:7)
来自ZF Manual on Zend_Validate
Validation Messages
$validator = new Zend_Validate_GreaterThan();
$validator->setMessage('Please enter a lower value',
Zend_Validate_GreaterThan::NOT_GREATER);
还有:
Zend Framework附带了超过45种不同的验证器,其中包含200多条失败消息。翻译所有这些消息可能是一项艰巨的任务。但为了您的方便,Zend Framework附带已经预先翻译的验证消息。您可以在Zend Framework安装的路径
/resources/languages
中找到它们。 [...]
因此,要将所有验证消息转换为德语,您需要做的就是使用这些资源文件将翻译器附加到Zend_Validate
。
$translator = new Zend_Translate(
'array',
'/resources/languages',
$language,
array('scan' => Zend_Locale::LOCALE_DIRECTORY)
);
Zend_Validate_Abstract::setDefaultTranslator($translator);
当然,您也可以提供自己的翻译。您所要做的就是加载使它们可供翻译适配器使用。基本上你只需将上面显示的部分换成自定义路径。
答案 1 :(得分:2)
我只想改善戈登的答案: 一个工作的例子是
$translator = new Zend_Translate(
'array',
'resources/languages', // you need to copy the resources folder
// (from your Zend Framework installation)
// in the application folder
'it', // 'it' for italian, 'fr' for french, etc.
// Just look at the directories
// Zend_Translate, NOT Zend_Locale
array(
'scan' => Zend_Translate::LOCALE_DIRECTORY
)
);
Zend_Validate_Abstract::setDefaultTranslator($translator);
干杯! 布鲁诺