7

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

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

我如何在 Controller 中获得翻译?

4

3 回答 3

21

要在控制器中使用翻译:

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

或者,如果您想保持一切干净漂亮,请创建一个翻译操作助手(尽管我认为在这种情况下不值得麻烦)。

于 2011-06-25T00:06:38.627 回答
5

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

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

然后在控制器中使用它:

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

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

于 2011-06-24T23:56:38.323 回答
0

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

$translator = $this->getServiceLocator()->get('translator');
$feed->setTitle($translator->translate('My RSS Feed'));
于 2019-06-13T08:55:54.977 回答