我想在Controller
使用translator.default
服務,但我想通過trans
方法來翻譯的任何消息返回翻譯的關鍵。翻譯::的getMessages返回一個空數組
/**
* @Route("/testT")
*/
public function testTAction(Request $req)
{
$translator = $this->get('translator.default');
$translated = $translator->trans('Hello from the other side');
die(dump($translated));
}
爲了確保我的鑰匙被正確地加載我已經做了以下檢查:
php app/console translation:update it --dump-messages
其輸出以下:
Translation Messages Extractor and Dumper
=========================================
// Generating "it" translation files for "app folder"
// Parsing templates...
// Loading translation files...
Messages extracted for domain "messages" (1 messages)
-----------------------------------------------------
* Hello from the other side
[OK] 1 messages were successfully extracted
我的密鑰<root>/app/resources/translations/messages.it.yml
下保存 和我的語言環境,當請求翻譯密鑰設置良好時:
$translator = $this->get('translator.default');
die(dump($translator->getLocale()));
如果在我的控制器中調用,這將生成以下輸出:「it」,我想這是正確的。那麼,我錯在哪裏?
編輯
這裏是我的<root>/app/Resources/translations/messages.it.yml
Hello from the other side: Ciao dall'altra parte
,這裏是我的<root>/app/config/config.yml
framework:
translator: { fallbacks: it }
我使用的開發配置相關的翻譯服務塊,但沒有任何關係到那裏的翻譯。
是你config.yml配置的翻譯,你可以發表你的messages.it.yml? –
我剛剛編輯我的帖子與您請求的信息 – Bertuz