Symfony ICU 翻译在翻译消息后尾随换行符

Symfony ICU translation trailing newline after the translated message

我按照官方 Symfony 文档 how to translate messages 使用新的 ICU 消息格式。

messages+intl-icu.pl.yaml 文件中,我有以下条目:

pages:
  show:
    ratings_title: Opinie
    ratings_count: >
      {count, plural,
        =0    {brak opinii}
        one   {jedna opinia}
        few   {# opinie}
        other {# opinii}
      }

消耗如下:

<div>
    <h1>{{ 'pages.show.ratings_title'|trans }}</h1>
    <sub>({{ 'pages.show.ratings_count|trans({'count': count}) }})</sub>
</div>

这导致:

<div>
    <h1>Opinie</h1>
    <sub>(brak opinii
)</sub>
</div>

虽然预期的输出应该是:

<div>
    <h1>Opinie</h1>
    <sub>(brak opinii)</sub>
</div>

所以我的问题是:如何删除翻译消息后的尾随换行符?

好的,这仅仅是因为 YAML 文件配置错误。为了在 multi-line string 中去除 YAML 的尾随换行符,我应该按如下方式编写翻译条目:

pages:
  show:
    ratings_title: Opinie
    ratings_count: >-
      {count, plural,
        =0    {brak opinii}
        one   {jedna opinia}
        few   {# opinie}
        other {# opinii}
      }

注意使用 >- 而不是 >