在我的应用程序中,我有一段本地化文本。它是由换行符分隔的两段。我看到它在每个段落的开头插入一个额外的行并缩进。这些段落不应缩进。
翻译:
translated_text:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Suspendisse facilisis scelerisque orci ut mattis. Nunc
vehicula fermentum. Praesent euismod congue condimentum.
turpis ac risus vulputate pellentesque. Proin non metus
lorem est, dictum in venenatis ac, tristique vitae leo.
nec ultrices. Integer viverra, velit ac rutrum lobortis,
iaculis quis justo et posuere.
Fusce eu sem dictum, tristique nisi ullamcorper, porttitor n
accumsan id pretium nec, mollis eu erat. Suspendisse adipisc
consequat diam, eu facilisis est. Vivamus vitae congue risus.
a sagittis. Aliquam fermentum mattis justo. Nam pretium libero
adipiscing augue molestie erat lobortis, eu semper velit consequat."
当我删除分隔线中断时,文本左对齐按预期方式。我检查了CSS规则(text-indent,white-space),HAML / i18n配置,并尝试使用YAML的|
,|+
和|-
块语法。没有运气。
答案 0 :(得分:1)
我和Saedar一起工作。我们挖掘了HAML代码并意识到缩进只发生在“丑陋”的时候。选项是假的。问题是,它试图缩进多行文字,以便它与格式化的HTML相得益彰。
例如,如果您在一个范围内有一行文字,那么:
<div>
<div>
<span>This is a single line... doesn't matter how long it is.</span>
</div>
</div>
但是一旦你开始分割线条,文本就会自行消失并且在源代码中缩进:
<div>
<div>
<span>
This has multiple lines.
It's formatted to be pretty in the source code.
</span>
</div>
</div>
这会导致文本在我们的案例中缩进每个段落,因为在该元素上我们将text-wrap
CSS样式设置为pre-wrap
。
我们采用的解决方案是在config / initializers / haml.rb中设置Haml::Template.options[:ugly] = true
此更改会将所有html缩进设置为关闭:
<div>
<div>
<span>
This has multiple lines.
It's formatted to be pretty in the source code.
</span>
</div>
</div>