【发布时间】:2015-05-28 12:43:37
【问题描述】:
我在我的 webapp 中使用属性文件来满足 i18n 的需求。有时我正在翻译的文本需要有单独的样式。例如:
options.reduce.co2.label = To reduce your CO2 emission, click here!
实际上应该呈现为:
To reduce your CO<span class="subscript">2</span> emission, <a href="www.blackle.com">click here</a>!
最简单的解决方法是将此样式包含在我的属性文件中。但是,我真的很想避免这种情况!
更简洁的方法是拆分文本的所有部分:
options.reduce.co2.label.part1 = To reduce your CO
options.reduce.co2.label.part2 = 2
options.reduce.co2.label.part3 = emission,
options.reduce.co2.label.part4 = click here
options.reduce.co2.label.part5 = !
但是,这会使属性文件变得一团糟,而不是结构化的句子。
您通常如何处理这种情况?我想为开发人员实现最大的可读性和可维护性。
【问题讨论】:
-
你不能只使用一个数组吗?
-
数组如何在属性文件中工作?
-
我不确定,我以前从未使用过 webapps ;) 也许你可以查一下,看看是否可行
-
在我看来你应该创建一个结构化的 Json 数组!!!!它更容易,并且对于维护它是您可以拥有的最佳选择。例如,您所要做的就是让您的服务器代码生成一个 Json 文件。
-
唯一正确的方法是在属性文件中包含 HTML 标记。尽管丑陋,但它允许: a) 改变句子的顺序(这很常见); b) 删除由于文化差异而无法使用的样式,或者可能将它们更改为其他样式。我尝试使用标记而不是 HTML 标记,但没有成功。
标签: html css properties internationalization