我们如何在 zend 框架上创建翻译验证错误消息?
有人可以举个例子吗?
谢谢
来自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 框架附带了已经预翻译的验证消息。
/resources/languages
您可以在 Zend Framework 安装的路径中找到它们。[...]
例如,要将所有验证消息翻译成德语,您所要做的就是附加一个翻译器来Zend_Validate
使用这些资源文件。
$translator = new Zend_Translate(
'array',
'/resources/languages',
$language,
array('scan' => Zend_Locale::LOCALE_DIRECTORY)
);
Zend_Validate_Abstract::setDefaultTranslator($translator);
当然,您也可以提供自己的翻译。您所要做的就是加载使它们对翻译适配器可用。基本上,您只需将上面显示的部分换成您的自定义路径。
我只是想稍微改进一下戈登的答案:一个工作的例子是
$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);
干杯! 布鲁诺