2

如何通过在引导文件中创建函数在 zend 框架中设置自定义语言环境?我需要以 zend 形式更改错误消息。

谢谢你的支持

4

1 回答 1

0

您可以使用此代码来设置语言环境

// within your bootstrap
$locale = new Zend_Locale('de_AT');
Zend_Registry::set('Zend_Locale', $locale);

// within your model or controller
$date = new Zend_Date();
print $date->getLocale();
echo $date->getDate();   

关于Zend_Locale的更多信息

要将翻译后的错误消息添加到表单验证器,您必须将它们添加到Zend_Validate_Abstract

来自 ZF 手册

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

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

有关验证器错误消息的更多信息在他们的手册中使用预翻译的验证消息

我没有亲自使用过翻译适配器,但是从手册为翻译创建 CSV 源文件看来,下面的代码将添加translator到应用程序中

$translate = new Zend_Translate(
    array(
        'adapter' => 'csv',
        'content' => '/path/to/mytranslation.csv',
        'locale'  => 'de'
    )
);  

也是 .csv 格式的样本

消息1;Nachricht1 消息2
;Nachricht2

于 2015-05-31T03:13:30.490 回答