在zend2中设置错误消息的转换

时间:2012-11-25 11:09:30

标签: translation zend-framework2

我很难在Zend 2中为错误消息(在尝试提交无效表单时显示)设置默认语言。我已从快速入门教程下载了代码并将以下行添加到..module \相册\配置\ module.config.php:

 //[...]
'translator' => array(
     'locale' => 'de_DE',
     'translation_patterns' => array(
        array(
            'type' => 'gettext',
            'base_dir' => __DIR__ . '/../language',
            'pattern' => '%s.mo',
        ),
    ),
),

    $translator = $this->getServiceLocator()->get('translator');
    $translator->setLocale('de_DE');

在我的控制器中。似乎都没有用。在\\ vendor \ zendframework \ zendframework \ resources \ languages中有一些翻译。我没有安装Intl PHP扩展程序,但我非常希望翻译在没有此扩展程序的情况下可以正常工作。

感谢您的帮助,

安德烈亚斯

1 个答案:

答案 0 :(得分:1)

经过一些研究,似乎真的需要Intl PHP扩展。使用Intl扩展,您可以将默认转换器设置为抽象验证器。来自docs

$translator = new Zend\I18n\Translator\Translator();
$translator->addTranslationFile(
   'phpArray',
   'resources/languages/en.php',
   'default',
   'en_US'
);
Zend\Validator\AbstractValidator::setDefaultTranslator($translator);