San*_*nju 4 zend-translate zend-framework2
有没有办法在控制器中翻译字符串而不是视图?
现在,在我的控制器中,如果我传递如下字符串:
public function indexAction() {
return array('message' => 'example message');
}
Run Code Online (Sandbox Code Playgroud)
它将在index.phtml中翻译
<?php print $this->translate($message);?>
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是poeditor无法从控制器文件中找到字符串
猜猜如果我可以使用类似的东西会很酷:
public function indexAction() {
return array('message' => $view->translate('example message'));
}
Run Code Online (Sandbox Code Playgroud)
在控制器中
在此先感谢您的帮助
web*_*der 23
要在控制器中使用视图助手,可以使用"getServiceLocator"
$helper = $this->getServiceLocator()->get('ViewHelperManager')->get('helperName');
Run Code Online (Sandbox Code Playgroud)
您可以使用php getText函数___('我的自定义消息')并在poedit中添加"_"作为sources关键字(在目录属性中),因此poedit将从控制器中过滤字符串.例如:
array('message' => _('my custom message'));
Run Code Online (Sandbox Code Playgroud)
根据您的代码,您可以像这样直接使用帮助程序
$translate = $this->getServiceLocator()->get('ViewHelperManager')->get('translate');
array('message' => $translate('my custom message'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12254 次 |
| 最近记录: |