こんにちは、フォーム要素エラーがあり、翻訳関数でラップすると壊れ続けます。翻訳には 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');
他の場所では機能しますが、ここでは機能しません