我正在与ZF2抗争,强制为任何传入的浏览器语言环境转换一个特定的验证消息。
所以我只想让ZF2始终使用它自己提供的错误消息的翻译到俄语,这个文件:
\vendor\zendframework\zendframework\resources\languages\ru\Zend_Validate.php
我已尝试创建转换程序并将其设置为默认值onBootstrap
:
$translator = new \Zend\Mvc\I18n\Translator();
$translator->addTranslationFile(
'phpArray',
'vendor/zendframework/zendframework/resources/languages/ru/Zend_Validate.php',
'default',
'ru_RU'
);
AbstractValidator::setDefaultTranslator($translator);
正如本主题所示 - Zend Framework 2 - Translate Standard Form Validation and Error messages但没有效果!
我尝试在模块配置中强制使用相同的无效结果:
'translator' => array(
'locale' => 'ru_RU'
),
我不确定,翻译文件网址可能有问题吗?因为当我尝试Z-Dumb翻译时,它声称有0个消息注册了1个文件。
无论如何,强制默认验证器翻译的最简单方法是什么,总是俄语?
非常感谢!
答案 0 :(得分:1)
您提到的路径为\resources\languages\ru\Zend_Validate.php
,但配置中的路径为\resources\languages\Zend_Validate.php
。注意文件夹ru
的区别。
我希望这已经产生了很大的不同。如果没有,你可以尝试强制添加在onBootstrap()中的语言环境:
Locale::setDefault('ru_RU');