首页 > 解决方案 > Symfony ICU 翻译在翻译后的消息后尾随换行符

问题描述

我遵循了 Symfony 官方文档,了解如何使用新的 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>

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

标签: symfonyinternationalizationsymfony4

解决方案


好的,这仅仅是由于 YAML 文件配置错误。为了在多行字符串中去除 YAML 的尾随换行符,我应该将翻译条目编写如下:

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

注意使用>-代替>


推荐阅读