Как я могу использовать перевод в контроллере с помощью Zend?
Обычно я пользовательский перевод в View с этим кодом:
<?php echo $this->translate("hello"); ?>
Как получить перевод в контроллере?
2 ответа
Решение
Если вы создаете объект zend_translate в начальной загрузке, вы можете установить его в Zend_Registry для дальнейшего использования:
Zend_Registry::set('translate', $translate);
а затем использовать его в контроллере:
$translate = Zend_Registry::get('translate');
$translate->translate("hello");
Насколько я знаю, Zend_Controller не включает встроенную поддержку zend_translate.
Чтобы использовать перевод в контроллере:
$this->view->translate('Something to translate');
Или создайте помощник для перевода, если вы хотите, чтобы все было чисто и красиво (хотя я не думаю, что в этом случае это стоит того).
Или используя сервисный локатор (ZF2):
$translator = $this->getServiceLocator()->get('translator');
$feed->setTitle($translator->translate('My RSS Feed'));