最佳实践:包含HTML的网站本地化

时间:2013-10-18 15:29:33

标签: javascript html ember.js internationalization

我正在使用需要支持国际化的Ember / Handlebars的Javascript MVC网站。我已经有了完成翻译的代码,但我很好奇本地化大块文本(多个段落,列表等)的最佳实践。是否更好地本地化每个段落,单独列出项目或使本地化包含HTML?

HTML:

<p>{{i18n first_paragraph}}</p>
<p>{{i18n second_paragraph}}</p>
<ul>
  <li>{{i18n first_item}}</li>
  <li>{{i18n second_item}}</li>
  <li>{{i18n third_item}}</li>
</ul>

本地化文件:

first_paragraph: 'some text',
second_paragraph: 'some text',
first_item: 'some text',
second_item: 'some text',
third_item: 'some text'

VS

HTML:

{{i18n page_content}}

本地化文件:

page_content: '<p>some text</p><p>some text</p><ul><li>some text</li><li>some text</li><li>some text</li></ul>

感谢您的任何建议

1 个答案:

答案 0 :(得分:1)

第一种选择更具规范性。为什么?因为您从语义标记中抽象出了本地化(这是对数据实体执行的逻辑:在本地化案例中,字符串)。

这可能现在看起来不那么重要,但是当你突然想要支持另一种语言时会发生什么?如果你已经将你的本地化抽象为 - 在你的情况下 - 一个Handlebars Helper,你可以在该Helper中的数组中添加翻译。如果您的本地化与您的标记混杂在一起,那么您将不得不以一种草率(耗时且容易出错)的方式浏览您的本地化文件。