我正在使用需要支持国际化的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'
与。
.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>
感谢您的任何建议
第一个选项更规范。为什么?因为您要从语义标记中抽象本地化(这是对数据实体执行的逻辑:在本地化情况下为字符串)。
现在这似乎并不那么重要,但是当您突然想要支持另一种语言时会发生什么?如果您已将本地化抽象为(在您的情况下)车把助手,则可以在该助手中的数组中添加翻译。如果您的本地化与标记混杂在一起,那么您将不得不以草率(耗时且容易出错)的方式浏览本地化文件。