Symfony2选择标签

Symfony2选择标签,symfony,translation,Symfony,Translation,我已经为我的Symfony2项目添加了翻译服务。我在控制器和细枝模板中都使用它。它的配置很好,所有的{%trans%}标记都能正常工作。但是在某些情况下,我需要使用{%transchoice%}标记,而它没有得到翻译。下面是我的代码中的一个示例 {% transchoice post['comments']['count'] %} {0} Comments| {1} Comment| ]1,Inf] Comments {% endtranschoice %} 我也试着用一行来写 我得到

我已经为我的Symfony2项目添加了翻译服务。我在控制器和细枝模板中都使用它。它的配置很好,所有的
{%trans%}
标记都能正常工作。但是在某些情况下,我需要使用
{%transchoice%}
标记,而它没有得到翻译。下面是我的代码中的一个示例

{% transchoice post['comments']['count'] %}
    {0} Comments| {1} Comment| ]1,Inf] Comments
{% endtranschoice %}
我也试着用一行来写

我得到了评论计数的正确选择,但是单词本身没有被翻译。喜欢的译者是找不到相应的译文的。在messages.de.yml中,我有

Comment: "Kommentar"
Comments: "Kommentare"

我的转换语法有问题吗?也许我需要在某个地方放置空格,或者类似的东西?

在翻译文件中,您应该这样写:

{0} Comments| {1} Comment| ]1,Inf] Comments: "{0} Kommentare| {1} Kommentar| ]1,Inf] Kommentare"
更新: 一个适用于我的xliff示例:

        <trans-unit id="search.results.summary">
            <source>search.results.summary</source>
            <target>{0}Pas d'annotations trouvée pour "%search_text%"|{1}Une annotation trouvée pour "%search_text%"|]1,Inf]%search_count% annotations trouvées pour "%search_text%"</target>
        </trans-unit>


祝你好运。

对于翻译选择来说,这是不正确的。顺便问一下,这甚至不能在细枝中解析。你为什么说这不正确?我不熟悉yml的翻译,但我确实在xliff中使用了它,而且它工作(并且解析得非常好)。也许你需要调整一些东西。顺便说一句,我重复了你写的东西,所以如果它没有解析,那是你的错。我认为它不会解析,因为管道和括号之间有空格。我将用一个对我有用的xliff示例更新我的帖子,我希望它能帮助你。现在它可以了。唯一的问题是,如果缺少翻译,将显示
注释.summary
文本…如果您有一组受限的语言,请记住config.yml中定义了备用语言环境,这应该不是问题。如果你愿意,你仍然可以用另一种方式。
<h2>{{ 'search.results.summary' | transchoice(search_count, {
'%search_text%': search_text,
'%search_count%': search_count}) }}</h2>
comment.summary: "{0} Kommentare|{1} Kommentar|]1,Inf] Kommentare"
{% transchoice post['comments']['count'] %}
    'comment.summary'
{% endtranschoice %}