嗨,我有一个表单元素错误,当我将它包装在翻译函数中时,它一直在破坏它。我正在使用 gettext 进行翻译。
我知道如果我在注册表和 Zend_Form 中设置了它,它应该会自动拾取它,但是 poedit 是如何看到它的呢?
我的引导程序(相关部分):
// Set the instance of Zend_Translate in the registry
$registry->set('Zend_Translate', $translate);
// Set an instance of Zend Translate object for validators
Zend_Form::setDefaultTranslator($translate);
我的错误表格:
public function formErrors(Zend_Form $form)
{
$registry = Zend_Registry::getInstance();
$translate = $registry->get('Zend_Translate');
$form->setTranslator($translate);
if ($form->getMessages()) {
$error = '<p class="errorBox">Error text here</p>';
$error->setTranslator($translate);
$error->getView()->translate($error);
return $error;
}
return '';
}
笔记:
$this->translate('string to translate'); or $this->getView()->translate('string');
在其他任何地方都可以工作,但在这里不行