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

Javascript 最佳实践:包含HTML的网站本地化,javascript,html,ember.js,internationalization,Javascript,Html,Ember.js,Internationalization,我正在开发一个Javascript MVC网站,使用需要支持国际化的Ember/Handlebar。我已经有了做翻译的代码,但是我很好奇什么是本地化大文本块(多个段落、列表等)的最佳实践。将每个段落、列表项单独本地化还是让本地化包含HTML更好 HTML: VS. HTML: 本地化文件: first_paragraph: 'some text', second_paragraph: 'some text', first_item: 'some text', second_item: 'some

我正在开发一个Javascript MVC网站,使用需要支持国际化的Ember/Handlebar。我已经有了做翻译的代码,但是我很好奇什么是本地化大文本块(多个段落、列表等)的最佳实践。将每个段落、列表项单独本地化还是让本地化包含HTML更好

HTML:

VS.

HTML:

本地化文件:

first_paragraph: 'some text',
second_paragraph: 'some text',
first_item: 'some text',
second_item: 'some text',
third_item: 'some text'
page_content: '<p>some text</p><p>some text</p><ul><li>some text</li><li>some text</li><li>some text</li></ul>
page\u内容:“一些文本

一些文本

    一些文本
  • 一些文本
  • 一些文本

感谢您的建议

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


现在这似乎不那么重要,但是当您突然想要支持另一种语言时会发生什么呢?如果您已经将本地化抽象为一个Handlebar助手(在您的例子中),那么可以在该助手中的数组中添加翻译。如果您的本地化与标记混淆,那么您必须以草率(耗时且容易出错)的方式浏览本地化文件。

我不想在本地化文件中看到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>