2015-04-29 30 views
0

我在Symfony 2項目中使用JMS翻譯包。JMS翻譯包不會從Symfony2中的控制器中提取密鑰 - getTranslationMessages()

在樹枝文件中的所有翻譯運作良好。如果我編寫需要翻譯的新密鑰並從命令行運行提取命令,那麼它們將被提取,然後我可以設置適當的值。

我的問題是這樣的:我在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()函數中編寫什麼代碼。

回答

0

找到解決辦法。 您需要提供翻譯應提取到的域。

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