i18n-loader
i18n-loader
用法
./colors.json
{
"red": "red",
"green": "green",
"blue": "blue"
}
./de-de.colors.json
{
"red": "rot",
"green": "gr�n"
}
call it
// 假如我们的所在区域是“de-de-berlin”
var locale = require("i18n!./colors.json"
// 等待准备就绪,在一个web项目中所有地区只需要一次
// 因为所有区域的语言被合并到一个chunk里
locale(function() {
console.log(locale.red // prints rot
console.log(locale.blue // prints blue
}
选项
如果想要一次加载然后可以同步地使用, 你应该告诉 loader 所有要使用的地区。
{
"i18n": {
"locales": [
"de",
"de-de",
"fr"
],
// "bundleTogether": false
// this can disable the bundling of locales
}
}
可选的调用方法
require("i18n/choose!./file.js" // 根据地区选择正确的文件
// 但是不会合并到对象中
require("i18n/concat!./file.js" // 拼接所有合适的地区
require("i18n/merge!./file.js" // 合并到对象中
// ./file.js 在编译时会被排除掉
require("i18n!./file.json") == require("i18n/merge!json!./file.json")
如果需要在 node 中使用,不要忘记填补(polyfill)require
。 可以参考 webpack
文档。