Php 细枝中的符号转换:忽略变量

Php 细枝中的符号转换:忽略变量,php,symfony,twig,Php,Symfony,Twig,我正在使用PHP通过addFlash发送一条成功消息,该消息在HTML上使用Twig显示。此消息包含一个变量。在Twig文件中,我想通过编写我的.yml文件来翻译此消息 {{message | trans({},'location')}} 是否有一种方法可以“忽略”此名称变量,以便使用.yml文件中的一行翻译所有消息 更准确地说,我希望诸如“你好,我的名字是Bob”和“你好,我的名字是未知的”这样的消息链接到翻译“你好,我的名字是”,这在.yml文件中记录 我无法访问Twig文件中的name变量

我正在使用PHP通过addFlash发送一条成功消息,该消息在HTML上使用Twig显示。此消息包含一个变量。在Twig文件中,我想通过编写我的.yml文件来翻译此消息
{{message | trans({},'location')}}

是否有一种方法可以“忽略”此名称变量,以便使用.yml文件中的一行翻译所有消息

更准确地说,我希望诸如“你好,我的名字是Bob”和“你好,我的名字是未知的”这样的消息链接到翻译“你好,我的名字是”,这在.yml文件中记录

我无法访问Twig文件中的name变量,因此无法在trans函数中将其作为变量传递

这是我目前使用的代码:

$this->addFlash('success', "Hello, my name is '$entity->getName()'");

{% if app.session.flashbag.peekAll() is not empty %}
    {% for label, messages in app.flashes %}
        {% for message in messages %}
            <div class="alert alert-{{ label }}" role="alert">
                {{ message|trans({}, 'notifications') }} 
            </div>
        {% endfor %}
    {% endfor %}
{% endif %}
$this->addFlash('success',“您好,我的名字是“$entity->getName()”);
{%如果app.session.flashbag.peekAll()不是空的%}
{%用于标签,app.flash%中的消息}
{消息%中的消息为%s}
{{message | trans({},'notifications')}
{%endfor%}
{%endfor%}
{%endif%}

在模板中循环所有消息,因此传入参数有点棘手。在调用
addFlash
时,您可能希望通过将转换器注入控制器并使用类似以下内容来翻译消息:
$this->translator->trans('我的名字是%name%',['%name%=>$entity->getName())
。缺点是,当用户在请求之间更改语言时,他们仍然会看到旧语言的消息,但在大多数情况下,这应该不是什么大问题。