Zend Framework在bootstrap.php自定义区域设置上设置

时间:2015-05-30 22:37:14

标签: zend-framework zend-locale

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

感谢您的支持

1 个答案:

答案 0 :(得分: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中的路径/资源/语言中   安装。所以要将所有验证消息翻译成德语   例如,您所要做的就是将翻译器附加到Zend_Validate   使用这些资源文件。

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

有关验证程序错误消息的详细信息,请参阅其手册Using pre-translated validation messages

我没有亲自使用翻译适配器,但是从手册Creating CSV source files for Translation看来,以下代码会将translator添加到应用程序

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

也是.csv格式的样本

  

MESSAGE1; Nachricht1
  消息2; Nachricht2