7

Usually i user translation in View with this code :

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

How do i get a translation in the Controller?

storm_buster
  • 7,362
  • 18
  • 53
  • 75

3 Answers3

21

To use translation in the controller:

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

Or create a translation action helper if you want to keep everything clean and pretty (although I don't think it's worth the trouble in this case).

faken
  • 6,572
  • 4
  • 27
  • 28
5

If you're creating the zend_translate object in the bootstrap, you can set it in the Zend_Registry for later use:

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

and then use it in the controller:

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

As far as I know, Zend_Controller doesn't include built-in support for zend_translate.

aporat
  • 5,922
  • 5
  • 32
  • 54
0

Or using the service locator (ZF2):

$translator = $this->getServiceLocator()->get('translator');
$feed->setTitle($translator->translate('My RSS Feed'));
DaFois
  • 2,197
  • 8
  • 26
  • 43