在 Symfony / Twig 中,我可以通过在翻译块中使用百分比来使用标签。例如:
Hello {{nickname}}
会成为
{% trans %}Hello %nickname%{% endtrans %}
这按预期工作。我传递给 Twig 的带有占位符的数组会自动映射到 %placeHolder%。不涉及额外的工作。因此,这适用于控制器中的我的 PHP 数组:
Array('nickname' => 'rolandow')
当我想在翻译块中使用昵称时,我所要做的就是用百分比 % 包围它。不幸的是,当我将它传递给trans
.
现在我想使用标签翻译整个文本块。我不知道如何在翻译中使用标签。所以,我的树枝看起来像这样:
{{ say.hello|trans }}
还有我的翻译片段
<trans-unit id="1">
<source>say.hello</source>
<target>Hello %nickName%, how are you doing today? lots-of-text-here</target>
</trans-unit>
我通过在我的模板中使用它来让它工作,但感觉就像做两次一样。我现在需要再次将占位符数组放入 trans 函数中。例如:
{{ say.hello|trans('%nickName%' : nickName) }}
如果我想在我的控制器中使用给树枝的其他标签,我也需要将它们传递给翻译器。我不能以某种方式传递完整的数组吗?