我很难在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扩展程序,但我非常希望翻译在没有此扩展程序的情况下可以正常工作。
感谢您的帮助,
安德烈亚斯
答案 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);