Zend Framework 2 - 翻译标准表格验证和错误消息

Ron*_*Ron 4 php validation zend-form zend-translate zend-framework2

我正在编写一个完整的德语应用程序,因此需要将所有内容设置为德语.

我的问题:将表单验证设置为德语的最佳和最简单方法是什么?

我找到了这个页面,但无法弄清楚如何使这个代码工作:

Zend_Validate_Abstract::setDefaultTranslator($translate);
Run Code Online (Sandbox Code Playgroud)

谁能给我一些建议如何使用它?

编辑:

感谢@Gordon,我将以下内容放入我的Application/Module.php中:

use Zend\I18n\Translator\Translator;
use Zend\Validator\AbstractValidator;

class Module
{
public function onBootstrap(MvcEvent $e)
{
    ...

     $translator = new Translator();
     $translator->addTranslationFile(
      'phpArray',
      'resources/languages/de.php',
      'default',
      'de_DE'
     );
         AbstractValidator::setDefaultTranslator($translator);
    ...
}
Run Code Online (Sandbox Code Playgroud)

编辑2: 好吧,这很奇怪.当我设置时,de_DE我收到无法打开de.php文件的消息 - 这是真的,因为"de"是包含两个其他PHP文件的文件夹.

无法打开文件资源/ languages/de.php进行阅读

改变文件夹的路径或其中的任何现有文件都没有帮助...

当我将"de_DE"更改为"de"或"de_de"时,没有任何反应.没有错误和英语验证错误.有线索吗?

Whi*_*her 8

对我来说它适用

public function onBootstrap(MvcEvent $e)
{
    $translator=$e->getApplication()->getServiceManager()->get('translator');
    $translator->addTranslationFile(
        'phpArray',
        './vendor/zendframework/zendframework/resources/languages/it/Zend_Validate.php'

    );
    AbstractValidator::setDefaultTranslator($translator);
   // \Zend\Debug\Debug::dump($application);
}
Run Code Online (Sandbox Code Playgroud)

'./vendor/zendframework/zendframework/resources/languages/langfolderyouwant/Zend_Validate.php'