如何为Zend_Dojo_Form元素设置本地化


How set localization for Zend_Dojo_Form elements?

假设我有一个简单的表单:

class Form_Simple extends Zend_Dojo_Form
{
  public function  init() {
    $this->addElements(array(
      new Zend_Dojo_Form_Element_ValidationTextBox('name', array(
        'required'   => true,
        'label'      => 'Name:'
    ))
  }
}

"name"元素是必需的,因此错误消息将是"this field is required"。如何改变这一信息?

您可以像在应用程序的其他部分一样本地化表单标签。

在你的引导文件中,你必须设置Zend_LocaleZend_Translate对象。它将在整个应用程序中可用。

E。G在你的引导:

//init locale
        $translate = new Zend_Translate('gettext', 
                        APPLICATION_PATH.'/languages',null,
                        array('scan' => Zend_Translate::LOCALE_FILENAME));
        $locale = new Zend_Locale();
        $locale->setLocale(Zend_Locale::BROWSER);
        $requestedLanguage = key($locale->getBrowser());
        if(in_array($requestedLanguage, $translate->getList())){
            $language = $requestedLanguage;
        }else{
            $language = 'en';
        }
        $translate->setLocale($language);
        $view->translate = $translate;

由于设置非常详细,可能很复杂,我建议您观看本教程http://www.youtube.com/watch?v=FwPgqla-cRk