如何从PHP变量动态加载和显示TWIG中的翻译?

如何从PHP变量动态加载和显示TWIG中的翻译?,php,symfony,twig,Php,Symfony,Twig,我试图通过PHP提供变量或在TWIG上准备变量来实现trans('key':value)方法的工作,到目前为止,这两种方法都没有成功 到目前为止,我已经尝试从PHP控制器发送完整的行,这将是 {{bodymail| trans({'%user.name%': user.name,'%user.surname%': user.surname}) | raw}} 以下内容在硬编码时正常工作,但在发送/编写时,它会按字面意思显示上述代码,或显示正确的消息,但不应用翻译 这是我尝试过的其他东西,现在在

我试图通过PHP提供变量或在TWIG上准备变量来实现trans('key':value)方法的工作,到目前为止,这两种方法都没有成功

到目前为止,我已经尝试从PHP控制器发送完整的行,这将是

{{bodymail| trans({'%user.name%': user.name,'%user.surname%': user.surname}) | raw}}
以下内容在硬编码时正常工作,但在发送/编写时,它会按字面意思显示上述代码,或显示正确的消息,但不应用翻译

这是我尝试过的其他东西,现在在细枝上

{% set message = "'"~bodymail~"'| trans({" %}
{% for sub in variables %}
  {% set message = message~"'%"~sub~"%': "~sub~"," %}
{% endfor %}
{% set message = message | trim (',', 'right') %}
{% set message = message~"}) | raw" %}
{{message}}
上面的代码也是我在TWIG中构建整个东西时尝试过的。。。这导致无法直接呈现bodymail邮件(参考.yml文件)


尝试将其作为我按照格式输入的任何内容的泛型(现在我使用user.name和user.姓氏,但稍后我可能会使用产品引用作为示例)。

请添加第一段代码的结果。也可以尝试不使用“点”作为
{'%user\u name%':user.name
赞赏的用户名姓氏(但使用真实的用户名和姓氏数据)这是一个很好的方法,但是因为它是硬编码的。当尝试动态复制相同的代码时,它会直接显示第一个代码片段,或者
赞赏的user.name user.name
。我尝试了你所说的,但我一直得到相同的结果。它会直接打印第一个代码片段,而不是翻译+变量ables。我似乎找不到一种方法让TWIG正确地阅读而不是逐字阅读。
“app.greetings”| trans({'%user\u name%':user.name',%user\u lasname%':user.lasname})| raw
这是我现在在视图中看到的,而不是
欣赏的用户名姓氏