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}
}
注意使用 >-
而不是 >
我按照官方 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}
}
注意使用 >-
而不是 >