0

我正在与 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 - 翻译标准表单验证和错误消息但没有效果!

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

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

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

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

非常感谢!

4

1 回答 1

1

您提到\resources\languages\ru\Zend_Validate.php的路径是,但您的配置中的路径是\resources\languages\Zend_Validate.php. 注意文件夹的区别ru

我希望这已经产生了很大的不同。如果没有,你可以尝试在你的 onBootstrap() 中添加这个来强制语言环境:

Locale::setDefault('ru_RU');
于 2013-08-09T15:45:53.940 回答