如何使用语言文件(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/