2013-10-18 54 views
0

我正在使用需要支持國際化的Ember/Handlebars的Javascript MVC網站。我已經有了翻譯的代碼,但對於本地化大塊文本(多段落,列表等)的最佳做法感到好奇。將每個段落本地化,單獨列出項目還是讓本地化包含HTML更好?最佳實踐:包含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> 

感謝您的任何意見

+0

我不想在本地化文件中看到html –

回答

1

第一個選項是更加規範。爲什麼?因爲您要從語義標記中抽取本地化(這是對數據實體執行的邏輯:在本地化情況下,字符串)。

這現在看起來可能不那麼重要,但是當你突然想要支持另一種語言時會發生什麼?如果你已經抽象出你的本地化(在你的情況下) - 一個Handlebars助手,你可以在該助手的數組中添加翻譯。如果您的本地化與您的標記混雜在一起,那麼您將不得不以拖放(耗時且容易出錯)的方式瀏覽本地化文件。

+0

謝謝,我傾向於此。 – Gramma2005