JMS Translation Bundle不从Symfony2中的控制器提取密钥 - getTranslationMessages()

时间:2015-04-29 19:57:50

标签: symfony internationalization jms translation

我在Symfony 2项目中使用JMS Translation Bundle。

twig文件中的所有翻译都运行良好。如果我编写需要翻译的新密钥并从命令行运行extract命令,它们将被解压缩,然后我可以设置适当的值。

我的问题是:我在Symfony2控制器中有一些消息/密钥需要先被提取然后由我翻译。我是这样写的:

$translator = $this->get('translator');
$message = $translator->trans('FavTrans.No_trans_found');

现在运行提取命令时,新的翻译键无法创建,我无法对其进行编辑或添加翻译。我运行的命令如下。

php app/console translation:extract en ro fr --dir=./src/Smart/Bundle/AdminBundle/Controller/ --output-dir=./app/Resources/translations --output-format=xliff --domain=SmartAdminBundle --keep

我试图实现" TranslationContainerInterface"比如说here

问题是我不知道在getTranslationMessages函数中需要写什么。

有人可以帮忙吗?要么告诉我我的提取命令是错误的,还是我以不合适的方式在控制器中进行翻译?或者如果有人知道我需要在getTranslationMessages()函数中编写什么代码。

1 个答案:

答案 0 :(得分:0)

找到解决方案。 您需要提供应提取翻译的域。

$translator = $this->get('translator');
$translator->trans('FavTrans.No_trans_found', array(), 'SmartAdminBundle')