0
我没有一个想法,为什么翻译不与Zend_Form工作。 我希望能够翻译选项的选项。 现在我有这样的事情:ZEND trandslations for addMultiOption text for poEdit
我的表单类:
(...)
$this->translate = Zend_Registry::get('translate');
Zend_Form::setDefaultTranslator(Zend_Registry::get('translate'));
(...)
$select = new Zend_Form_Element_Select('select');
// $select->addMultiOption('0', $this->translate('Aktywny'));
$select->addMultiOption('0', $this->translate->_('Aktywny'));
$select->addMultiOption('1', 'Nieaktywny');
在我的引导文件
我有这样的事情:
protected function _initTranslate()
{
Zend_Loader::loadClass('Zend_Translate');
Zend_Loader::loadClass('Zend_Registry');
$translate = new Zend_Translate('gettext', APPLICATION_PATH.'/languages',
'browser',
array('scan' => Zend_Translate::LOCALE_FILENAME));
//changing language and setting it to session if changed
$session = new Zend_Session_Namespace('jezyk');
if(isset($session->language)) {
$translate->setLocale($session->language);
} else
$translate->setLocale('pl');
$registry = Zend_Registry::getInstance();
$registry->set('Zend_Translate', $translate);
}
,它的控制器,PHTML文件工作正常和插件,我打电话通过
$this->translate('string to translate');
和在插件
$this->view->translate('string to translate');
但这些方法不会在窗体中工作。它抛出异常:
警告:异常的形式捕获:没有条目被登记为关键的“翻译”堆栈跟踪:#0
愚蠢的我再作翻译........我错过了,我得叫'要是Zend_Registry ::得到('Zend_Translate')'在bootstrap中被赋值,而不是'Zend_Registry :: get('translate')':)线程到colse – DarAss
不能关闭。只需将您的答案发布为真实答案,并接受它以供将来的用户使用。 –