如何使用语言文件(messages.en.xliff)中的键转换当前的硬编码文本?
我尝试使用

{% trans %} translation_key{% endtrans %}
没有成功。 Symfony返回此错误
{% transchoice count %}
{0} The current hardcoded text|{1} is attending|{2} are attending|]2,Inf] and %count% - 2 others are attending
{% endtranschoice %}
提前致谢。

最佳答案

我会使用这样的解决方案:

messages.en.xliff:

<trans-unit id="1">
    <source>some.translation.key</source>
    <target>{0} no.attendee|{1} one attendee|{2} two attendees|{3} three attendees|]3,Inf] many attendees</target>
</trans-unit>

Twig 模板:
{{ 'some.translation.key'|transchoice(count) }}

如果需要添加一些参数,则应将它们作为第二个参数传递。

这是过滤器的原型(prototype):
public function transchoice($message, $count, array $arguments = array(), $domain = "messages", $locale = null)

关于translation - 如何在Twig中进行复数翻译?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7384745/

10-10 04:22