在一个javascript文件中为整个网站创建标签

时间:2016-05-17 10:37:19

标签: javascript reactjs internationalization

我正在使用react js,我正在创建一个多语言网站。

有没有办法创建一个javascript文件,我可以放置所有文本,标签,然后在网站上使用它们?

我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

如果您想将i18n添加到您的应用中,有几种方法可以实现。在SO中,您可以找到this之类的解决方案。雅虎创建了一个名为React Intl的库(插件?)来完成同样的工作。

但是如果你想创建自己的文件,你可以创建一个json文件,如:

{
  "en":{
    "okButton": "OK",
    ...
  },
  "es:{
    "okButton": "Aceptar",
    ...
  }
  "de": { ... }
}

然后只选择一种语言。或者您可以为每种语言创建一个语言文件,这将为您提供更大的灵活性和更小的文件。

假设您为每种语言(i18n_en.json, i18n_es.json ...)创建了一个文件,然后您可以检查要加载的当前语言是什么,并使用Ajax调用加载所需的文件,生成URL类似的东西:

const LANG_URL='/myPath/lang/i18n_';
var langFileUrl= LANG_URL+ language+'.json';