Как я могу использовать перевод в контроллере с помощью Zend? - PullRequest
7 голосов
/ 25 июня 2011

Обычно я пользовательский перевод в View с этим кодом:

<?php echo $this->translate("hello"); ?>

Как мне получить перевод в Controller?

Ответы [ 3 ]

21 голосов
/ 25 июня 2011

Чтобы использовать перевод в контроллере:

$this->view->translate('Something to translate');

или создайте помощник для перевода , если вы хотите, чтобы все было чисто и красиво (хотя я не думаю, что оно того стоитбеда в этом случае).

5 голосов
/ 25 июня 2011

Если вы создаете объект zend_translate в начальной загрузке, вы можете установить его в Zend_Registry для дальнейшего использования:

Zend_Registry::set('translate', $translate);

, а затем использовать его в контроллере:

$translate = Zend_Registry::get('translate');
$translate->translate("hello");

Насколько я знаю, Zend_Controller не включает встроенную поддержку zend_translate.

0 голосов
/ 13 июня 2019

Или используя сервисный локатор (ZF2):

$translator = $this->getServiceLocator()->get('translator');
$feed->setTitle($translator->translate('My RSS Feed'));
...