2014-06-07 91 views
0

我想使用i18next來翻譯我的應用程序,它有一些html複選框。 這裏是html代碼:如何用i18n翻譯html中的部分文字?

<p> <input type="checkbox" data-i18n= "content.body" id="CNCities" /> Beijing, Shanghai, Guangzhou... </p> 
<p> <input type="checkbox" data-i18n= "content.body" id="AsiaCities"/> Beijing, Shanghai, Seoul, Tokyo... </p> 

我可以寫JSON文件,他們這樣翻譯成中國:

{ 
"CNCities": "北京, 上海,廣州...", 
"AsiaCities": "北京,上海,首爾,東京...." 
} 

顯然會有相當一些城市的名字在各種收藏被複制。因此,我試圖有這樣一個json字典,並使其工作:

{ 
"Beijing": "北京", 
"Shanghai": "上海", 
"Seoul": "首爾" 
} 

那麼什麼是正確的JavaScript代碼,使其工作?或者i18n不是用於這個目的的解決方案,我使用gettext的方式?

+0

我在這裏沒有看到任何代碼,你有沒有嘗試過呢? –

回答

1

翻譯位置名稱是相當困難的,而且我不會經常使用I18n庫來處理這種情況。

基本上,正如您已經提到的,很多地方在大多數語言中都有通用名稱。你需要的是,只有在名稱不同的情況下才能翻譯名稱。正確的解決方案,我相信會涉及一些數據庫,如英文名稱作爲ID和特定地點的翻譯,如果它在給定的語言不同。

唯一的問題是,這是很難做到的。到目前爲止,我還沒有看到任何公司做出正確的決定。這並不奇怪,因爲只有很少的力量可以做到這一點(Facebook,Google,...)。
這裏您需要的是大量的國際用戶羣;這些人會翻譯他們家鄉的名字等等。正如你所看到的,只有很少的服務可以允許翻譯地名......我對此感到後悔,但Facebook不是其中之一。