ZF2对默认Validator消息使用非默认区域设置



我正在与ZF2进行斗争,以强制为任何传入的浏览器区域设置转换一个特定的验证消息。所以我只想让ZF2始终使用它自己提供的错误消息到俄语的翻译,这个文件:vendorzendframeworkzendframeworkresourceslanguagesruZend_Validate.php

我已经尝试创建Translator并在onBootstrap:中将其设置为Default

$translator = new ZendMvcI18nTranslator();
$translator->addTranslationFile(
    'phpArray',
    'vendor/zendframework/zendframework/resources/languages/ru/Zend_Validate.php',
    'default',
    'ru_RU'
);
AbstractValidator::setDefaultTranslator($translator);

正如本主题所建议的那样-Zend Framework 2-翻译标准表单验证和错误消息,但没有效果!

我尝试过在模块配置中强制使用Locale,但同样没有结果:

'translator' => array(
    'locale' => 'ru_RU'
),

我不确定,也许翻译文件的URL有问题?因为当我尝试Z-Dumb翻译器时,它声称有1个文件被0条消息注册。

无论如何,强制默认验证器翻译始终为俄语的最简单方法是什么?

非常感谢!

您提到的路径是resourceslanguagesruZend_Validate.php,但您的配置中的路径是resourceslanguagesZend_Validate.php。注意文件夹ru的不同。

我想这已经产生了很大的影响。如果没有,你可以尝试在onBootstrap()中添加以下内容来强制设置区域设置吗:

Locale::setDefault('ru_RU');

最新更新