Как я могу использовать перевод в контроллере с помощью 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'));
Другие вопросы по тегам