2

我们如何在 zend 框架上创建翻译验证错误消息?

有人可以举个例子吗?

谢谢

4

2 回答 2

7

来自ZF Manual on Zend_ValidateValidation Messages

  $validator = new Zend_Validate_GreaterThan();
  $validator->setMessage('Please enter a lower value', 
                         Zend_Validate_GreaterThan::NOT_GREATER);

并且:

Zend Framework 附带了超过 45 个不同的验证器,其中包含超过 200 条失败消息。翻译所有这些信息可能是一项艰巨的任务。但是为了您的方便,Zend 框架附带了已经预翻译的验证消息。/resources/languages您可以在 Zend Framework 安装的路径中找到它们。[...]
例如,要将所有验证消息翻译成德语,您所要做的就是附加一个翻译器来Zend_Validate 使用这些资源文件。

  $translator = new Zend_Translate(
      'array',
      '/resources/languages',
      $language,
      array('scan' => Zend_Locale::LOCALE_DIRECTORY)
  );
  Zend_Validate_Abstract::setDefaultTranslator($translator);

当然,您也可以提供自己的翻译。您所要做的就是加载使它们对翻译适配器可用。基本上,您只需将上面显示的部分换成您的自定义路径。

于 2010-04-13T07:00:46.937 回答
2

我只是想稍微改进一下戈登的答案:一个工作的例子是

$translator = new Zend_Translate(
    'array',
    'resources/languages',  // you need to copy the resources folder
                            // (from your Zend Framework installation)
                            // in the application folder 

    'it', // 'it' for italian, 'fr' for french, etc. 
          // Just look at the directories

    // Zend_Translate, NOT Zend_Locale
    array(
        'scan' => Zend_Translate::LOCALE_DIRECTORY
    )
);

Zend_Validate_Abstract::setDefaultTranslator($translator);

干杯! 布鲁诺

于 2011-10-12T14:26:55.793 回答