如何用i18n翻译html中的部分文本?

时间:2014-06-07 11:15:24

标签: javascript json internationalization gettext

我正在尝试使用i18next翻译我的应用程序,其中包含一些html复选框。 这是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?

1 个答案:

答案 0 :(得分:1)

翻译位置名称是相当困难的,我不会经常使用I18n库来处理这种情况。

基本上,正如您已经提到的,很多地方在大多数语言中都有通用名称。您需要的是,只有在名称不同时才翻译名称。正确的解决方案,我认为会涉及一些数据库,如果在给定的语言中它们不同,可以说英文名称为ID,特定地点的翻译。

唯一的问题是,这很难做到。到目前为止,我还没有看到任何公司做出正确的决定。这并不奇怪,因为只有少数足够强大的尝试(Facebook,谷歌......) 您需要的是大型国际用户群;这些人会翻译他们家乡的名字等等。正如你所看到的,只有少数服务可以翻译位置名称......我很后悔,但Facebook并不是其中之一。