Hi I have a form element error and it keeps breaking it when I wrap it in the translation function. I am using gettext for the translation.
I understand that if I have it set in the registry and Zend_Form it should pick it up automatically but how does poedit see it if at all?
My Bootstrap (Relevant Part):
// 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);
My Error Form:
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 '';
}
Note:
$this->translate('string to translate'); or $this->getView()->translate('string');
works everywhere else but not here
The usage within a form which I used on the last project was
$this->getTranslator()->translate('text to translate')
This was only used minorly as we had auto-detect resource paths so we did not need to call it. The way you want to use it does seem slightly different. I would recommend adding the extra call after getView() though as it could be the solution.