我使用的是基于Symfony2,Twig和xliff的翻译。
现在,我想根据[-Inf,Inf]
之间的数值显示文字。为此,我使用transchoice
。
我的问题:如果7 days ago
,我想显示count=-7
。但是,我得到-7 days ago
。我不能在transchoice字段中使用像abs
这样的树枝过滤器,对吗?如何删除前导减号。
这是我的message.en.xliff
...
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>todo.days-difference</source>
<target>{0} today|{1} tommorow|]1,14] %count% days before|]14,Inf] far away|{-1} yesterday|[-14,-1[{{ count }}%count% days after|[-Inf,-14[ long after</target>
</trans-unit>
</body>
</file>
</xliff>
答案 0 :(得分:1)
传递count变量的绝对值作为参数解决了问题:
{{ "todo.days-differences"|transchoice(task.getDueDateDifference(), {'%count_abs%': task.getDueDateDifference()|abs}) }}
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>todo.days-difference</source>
<target>{0} today|{1} tommorow|]1,14] %count_abs% days before|]14,Inf] far away|{-1} yesterday|[-14,-1[ %count_abs% days after|[-Inf,-14[ long after</target>
</trans-unit>
</body>
</file>
</xliff>