使用邮件占位符时,Symfony/Twig无法正确转换

gre*_*emo 5 translation symfony twig

我正在尝试使用带有Twig模板引擎的消息占位符.我navlist.it.yml存储此消息及其占位符:

users:
  label: Gestione utenti %app%
Run Code Online (Sandbox Code Playgroud)

在我的Twig模板中,我想将应用程序名称作为字符串传递.所以我正在做的是:

<ul class="nav nav-list">
    <li class="nav-header">
        {{ 'users.label'|trans({'app' : 'Fid'}, 'navlist')|raw }}
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

注意我正在使用raw因为users.label可能包含HTML.输出正是:

<li class="nav-header">Gestione utenti %Fid%</li>
Run Code Online (Sandbox Code Playgroud)

因此消息被翻译但是额外%...%被添加.我错过了什么?

Mae*_*lyn 8

百分号是模式的一部分,因此您应该将它们添加到翻译值数组的键中,如下所示:

{{ 'users.label'|trans({'%app%' : 'Fid'}, 'navlist')|raw }}
Run Code Online (Sandbox Code Playgroud)