1

我在 Zend Framework 2 中有一个奇怪的问题。我使用了 Zend Skeleton Application (https://github.com/zendframework/ZendSkeletonApplication) 并将 PhlyContact 添加为供应商模块 (https://github.com/weierophinney/PhlyContact) . 我将 Translation-Type 更改为 PhpArray,以便我可以使用位于 ZF2-Dist 的资源目录中的 Zend_Validate.php。

一切都翻译除了验证消息:/所以我想我错过了一些东西:

  • 我必须将 Translator 传递给 Zend_Validate(但是如何以及在哪里?)
  • 翻译应该使用文本域,但不

当我记得在 ZF1 中时,您必须将 Translator 设置为默认值才能将其传递给 Zend_Validate。对此有任何想法!?

4

2 回答 2

1

看看这些方法

\Zend\Validator\AbstractValidator::setDefaultTranslator();
\Zend\Validator\AbstractValidator::setDefaultTranslatorTextDomain();
于 2012-08-30T19:57:01.327 回答
0

你甚至可以只用一行来做到这一点(第二个参数是文本域):

AbstractValidator::setDefaultTranslator($translator, 'default');

Module.php 中的示例:

use Zend\Validator\AbstractValidator;

class Module 
{

    public function onBootstrap(MvcEvent $e) 
    {
        $translator = ....
        AbstractValidator::setDefaultTranslator($translator, 'default');
    }
}
于 2014-12-03T13:13:10.317 回答