我试图翻译我发送的Flash消息,如果表单成功的话。 正常请求如下所示:
$request->getSession()->getFlashBag()->add(
'notice',
'Your E-Mail has been sent.'
);
所以我尝试使用以下变量翻译消息:
$request->getSession()->getFlashBag()->add(
'notice',
'contact.message.email_has_been_sent'
);
发送表单后,消息显示" contact.message.email_has_been_sent"。所以它没有找到翻译,但变量是正确的。我在模板文件中测试了它。 有谁有想法,我怎么能解决这个问题?我还没有找到任何有用的东西。
答案 0 :(得分:9)
假设您在控制器中:
$request->getSession()->getFlashBag()->add(
'notice',
$this->get('translator')->trans('contact.message.email_has_been_sent'));
阅读如何处理Translations。
答案 1 :(得分:1)
或者,在树枝上:
{% for flashMessage in app.session.flashbag.get('notice') %}
<p>{{ flashMessage|trans }}</p>
{% endfor %}