我在路径中有英文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框架
答案 0 :(得分:0)
我使用了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”中