翻译Flash消息

时间:2015-02-18 16:38:12

标签: forms translation symfony flash-message

我试图翻译我发送的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"。所以它没有找到翻译,但变量是正确的。我在模板文件中测试了它。 有谁有想法,我怎么能解决这个问题?我还没有找到任何有用的东西。

2 个答案:

答案 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 %}