i18next 从 json 个文件加载翻译
i18next Load translations from json files
我在路径中有英语 json 翻译文件:translation/en.json
我这样初始化 i18next:
i18next.init({
lng: navigator.language,
fallbackLng : "en",
backend: {
loadPath: '/translation/{{lng}}.json',
}
});
在 运行
之后
i18next.t(KEY);
将打印 "KEY" 而不是它在翻译文件中的值
当翻译位于 i18next 对象的 'resource' 参数内时,它运行良好。如下所示:
i18next.init({
lng: navigator.language,
fallbackLng : "en",
resources: {
en: {
translation: {
"KEY": "keyValue"
}
}
}
});
我使用 i18next 框架
我使用 initImmediate:false 等待翻译加载。
i18next
.use(i18nextXHRBackend)
.init({
//debug:true,
initImmediate: false, // set initImmediate false -> init method finished only when all resources/translation finish loading (async behaviour)
lng: "en",
fallbackLng : "en",
backend:{
loadPath: chrome.runtime.getURL('translation/{{lng}}.json')
}
});
我使用了 chrome.runtime.getURL
因为我在 chrome 中使用了 i18next 扩展和翻译文件应该加载到这个文件夹 "translation"
我在路径中有英语 json 翻译文件:translation/en.json
我这样初始化 i18next:
i18next.init({
lng: navigator.language,
fallbackLng : "en",
backend: {
loadPath: '/translation/{{lng}}.json',
}
});
在 运行
之后i18next.t(KEY);
将打印 "KEY" 而不是它在翻译文件中的值
当翻译位于 i18next 对象的 'resource' 参数内时,它运行良好。如下所示:
i18next.init({
lng: navigator.language,
fallbackLng : "en",
resources: {
en: {
translation: {
"KEY": "keyValue"
}
}
}
});
我使用 i18next 框架
我使用 initImmediate:false 等待翻译加载。
i18next
.use(i18nextXHRBackend)
.init({
//debug:true,
initImmediate: false, // set initImmediate false -> init method finished only when all resources/translation finish loading (async behaviour)
lng: "en",
fallbackLng : "en",
backend:{
loadPath: chrome.runtime.getURL('translation/{{lng}}.json')
}
});
我使用了 chrome.runtime.getURL
因为我在 chrome 中使用了 i18next 扩展和翻译文件应该加载到这个文件夹 "translation"