我在我的语言文件中有这些PHP翻译字符串:
'string.month' => '1 month',
'string.months' => '%month% months',
我在我的Twig文件中使用它:
{% transchoice data.frequencyInMonths() with {'%month%': data.frequencyInMonths()} from "strings" %}
{0,[2,Inf]} string.months|trans({'%month%' : data.frequencyInMonths()})|{1} string.month|raw
{% endtranschoice %}
显然这不起作用。我只想让string.month
使用data.frequencyInMonths() == 1
,string.months
使用其他所有内容注入的数字(即0和2到无穷大)。
我该怎么做?
由于
答案 0 :(得分:1)
最简单的方法来解决您的问题:
翻译文件代码:
'string.months': 'one month|%count% months'
twig文件代码:
{% set count = data.frequencyInMonths() %}
{{ "string.months"|transchoice(count) }}
复杂方式,如果您需要特殊的0月消息(无月):
翻译文件代码:
'string.months': '{0} none months|{1} one month|]1,Inf] %count% months'
twig文件代码与上次相同:
{% set count = data.frequencyInMonths() %}
{{ "string.months"|transchoice(count) }}
<强>注:强> 你没有使用&#39;字符在翻译的第一个值,所以你可以随时使用:
string.month: 'something about month'
如果你的翻译(第二个值)是简单的字符串。所以,如果&#34;关于月份&#34; string isn不包含任何特殊字符,您可以使用:
string.month: something about month