symfony2带选择的翻译

symfony2带选择的翻译,symfony,translation,yaml,twig,pluralize,Symfony,Translation,Yaml,Twig,Pluralize,我正在翻译activity.fr.yml user.list.link:'{1}et%count%autre |]1,Inf[voir les%count%autres' 使用tranchoice 我得到以下错误 在呈现模板时引发异常(“无法选择翻译”) 我认为翻译已经找到了,否则我不会因为无法选择翻译而出错,而是因为钥匙本身 同样,来自同一yaml的所有其他键,甚至其他tranchoice,都经过了很好的翻译 我按照命令添加了,但添加了{'%count%':count},但没有成功 有人

我正在翻译
activity.fr.yml

user.list.link:'{1}et%count%autre |]1,Inf[voir les%count%autres'
使用tranchoice


我得到以下错误

在呈现模板时引发异常(“无法选择翻译”)


我认为翻译已经找到了,否则我不会因为无法选择翻译而出错,而是因为钥匙本身

同样,来自同一yaml的所有其他键,甚至其他tranchoice,都经过了很好的翻译

我按照命令添加了
,但添加了{'%count%':count}
,但没有成功

有人知道这里出了什么问题吗?
提前感谢

您需要传递用于确定将要选择的翻译的参数

请看下面的示例:

根据您的示例进行调整:

{% transchoice count with {'%count%': count} from "activity" %}
    user.list.link
{% endtranschoice %}
如果它不起作用,可能找不到您的翻译。因此,symfony将您的密钥用作回退,并且无法确定有效的选择,因为您的密钥不支持此选项

要检查此项,请尝试使用如下键:

user.list.link | user.list.link.many

不要忘记在活动目录中使用同一个键。

语法很好,但作为%count%传递的值不能为负,也不能等于0,因为多元字符串中没有{0}定义。 因此,我做了一个测试,以确保值>=0,并像这样修改了字符串,它修复了它

user.list.link:'{0}{1}et%count%autre}]1,Inf[voir les%count%autres'

我想翻译已经找到了,否则我就不会出现错误,因为
无法选择翻译
而是键本身。通过添加您的建议
{%transchoice count with{'%count%':count}来自“activity”%}user.list.link.link | user.list.many{%endtranschoice%}
我得到了
user.list.link.many
来代替模板中的字符串如果找不到翻译,则使用的是键。并且不可能用这样的键选择翻译。可能错误是由于翻译与我的示例中的空格造成的。请尝试
user.list.link | user.list.link.many
。(当然,在目录中使用相同的内容并清除缓存。)
user.list.link | user.list.link.many