【问题标题】:Styling text inside a property files在属性文件中设置文本样式
【发布时间】: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


【解决方案1】:

我总是对这类东西使用占位符:

options.reduce.co2.label = To reduce your CO%s2%s emission, click %shere%s!

【讨论】:

  • 在你的jsp页面中填写%s部分的语法是什么?
  • 我不会用jsp,所以不知道,抱歉
  • 好吧,我在一个简单的应用程序中使用了 JSON 全景图,没有任何问题。我发现更新/维护很容易。我只是创建一些 Json 片段并根据语言请求单独调用它们!!! @Paweł Dyda - 翻译费用是多少?
猜你喜欢
  • 2013-10-03
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
  • 2017-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多