9

如果表单成功,我正在尝试翻译我发送的 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”。所以它没有找到翻译,但变量是正确的。我在模板文件中对其进行了测试。有谁知道,我该如何解决这个问题?我还没有发现任何有用的东西。

4

2 回答 2

13

假设您在控制器中:

$request->getSession()->getFlashBag()->add(
    'notice',
    $this->get('translator')->trans('contact.message.email_has_been_sent'));

阅读如何处理翻译

于 2015-02-18T19:25:58.543 回答
3

或者,在树枝中:

{% for flashMessage in app.session.flashbag.get('notice') %}
    <p>{{ flashMessage|trans }}</p>
{% endfor %}
于 2016-11-18T15:19:05.613 回答