为什么在 Symfony 翻译 YAML 文件中不保留换行符 | (管道)?

Why aren't the newlines preserved in Symfony translation YAML files with the | (pipe)?

根据Symfony Documentation,可以使用|(竖线)符号来

indicate that the string will span several lines. In literals, newlines are preserved

我有一个 YAML 文件用于我的翻译,其中一段换行,比方说:

test: |
    foo
    bar
    baz

在我的树枝模板中,我有:

{{ 'test'|trans }}

我浏览器中显示的文字是:

foo bar baz

而不是:

foo
bar
baz

为什么不保留换行符?

indicate that the string will span several lines. In literals, newlines are preserved

我认为这一行引用了 .yml 文件本身。留在我的那个

foo
bar
baz

在你的 twig 文件中呈现为 HTML。这意味着如果您不在单词之间放置任何(例如)<br>,它将呈现为

foo bar baz

使用 nl2br twig 过滤器,YAML 中的换行符不会自动转换为 HTML 中的 <br /> 标签。

{{ 'test'|trans|nl2br }}