【问题标题】:Set translation for error messages in zend2在 zend2 中设置错误消息的翻译
【发布时间】:2012-11-25 11:09:29
【问题描述】:

我很难在 Zend 2 中为错误消息(尝试提交无效表单时显示)设置默认语言。我已经从快速入门教程下载了代码,并将以下行添加到 ..module\Album \config\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 扩展,但我非常希望在没有这个扩展的情况下翻译也能正常工作。

感谢您的帮助,

安德烈亚斯

【问题讨论】:

  • 能否请您在错误信息中给出您用来翻译的函数调用?
  • 我希望我不必调用任何函数。例如。我想设置一个必需的表单元素并期望得到翻译后的错误消息。

标签: translation zend-framework2


【解决方案1】:

经过一些研究,似乎确实需要 Intl PHP Extension。使用 Intl Extension,您可以将默认 Translator 设置为抽象验证器。来自docs

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多