嗨我有一个表单元素错误,当我将它包装在翻译函数中时它会不断破坏它。我正在使用gettext进行翻译。
据我所知,如果我在注册表和Zend_Form中设置它,它应该自动选择它,但是poedit如何看待它呢?
My Bootstrap(相关部分):
// 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');
在其他地方工作但不在这里
答案 0 :(得分:1)
我在上一个项目中使用的表单中的用法是
$this->getTranslator()->translate('text to translate')
由于我们有自动检测资源路径所以只使用了很少,所以我们不需要调用它。您想要使用它的方式确实略有不同。我建议在getView()之后添加额外的调用,因为它可能是解决方案。