i18n-loader

用法

./colors.json

  1. {
  2. "red": "red",
  3. "green": "green",
  4. "blue": "blue"
  5. }

./de-de.colors.json

  1. {
  2. "red": "rot",
  3. "green": "gr�n"
  4. }

调用

  1. // 假如我们的所在区域是 "de-de-berlin"
  2. var locale = require("i18n!./colors.json");
  3. // 等待准备就绪,在一个 web 项目中所有地区只需要一次
  4. // 因为所有地区的语言被合并到一个块中
  5. locale(function() {
  6. console.log(locale.red); // 输出 rot
  7. console.log(locale.blue); // 输出 blue
  8. });

配置

如果想要一次加载然后可以同步地使用, 你应该告诉 loader 所有要使用的地区。

  1. {
  2. "i18n": {
  3. "locales": [
  4. "de",
  5. "de-de",
  6. "fr"
  7. ],
  8. // "bundleTogether": false
  9. // 可以禁止所有地区打包到一起
  10. }
  11. }

可选的调用方法

  1. require("i18n/choose!./file.js"); // 根据地区选择正确的文件,
  2. // 但是不会合并到对象中
  3. require("i18n/concat!./file.js"); // 拼接所有合适的地区
  4. require("i18n/merge!./file.js"); // 合并到对象中
  5. // ./file.js 在编译时会被排除掉
  6. require("i18n!./file.json") == require("i18n/merge!json!./file.json")

如果需要在 node 中使用,不要忘记填补(polyfill)require。 可以参考 webpack 文档。

License

MIT (http://www.opensource.org/licenses/mit-license.php)