如何使用Zend在Controller中使用translate?

时间:2011-06-24 23:11:10

标签: zend-framework internationalization zend-translate

通常我在View中使用此代码进行用户翻译:

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

如何在Controller中获得翻译?

3 个答案:

答案 0 :(得分:21)

在控制器中使用翻译:

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

create a translation action helper如果你想保持一切都干净漂亮(虽然我不认为在这种情况下值得麻烦)。

答案 1 :(得分:5)

如果您在引导程序中创建zend_translate对象,可以在Zend_Registry中设置它以供以后使用:

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

然后在控制器中使用它:

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

据我所知,Zend_Controller不包含对zend_translate的内置支持。

答案 2 :(得分:0)

或使用服务定位器(ZF2):

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