翻译 Flash 消息

Translate the Flash Message

如果表单成功,我正在尝试翻译我发送的即显消息。 正常请求如下所示:

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

假设您在控制器中:

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

阅读如何处理 Translations

或者,在树枝中:

{% for flashMessage in app.session.flashbag.get('notice') %}
    <p>{{ flashMessage|trans }}</p>
{% endfor %}