i18next - 从 JSON 文件加载翻译
i18next - Loading translations from a JSON file
我正在尝试使用 Node.js 上的 i18next 库从 JSON 文件加载翻译。 JSON 文件的路径指向正确的位置。
我收到以下错误:
i18next::translator: missingKey en translation test test
import i18next from 'i18next';
import Backend from 'i18next-fs-backend';
const instance = i18next.use(Backend).createInstance({
lng: config.language,
debug: true,
fallbackLng: 'en',
initImmediate: false,
backend: {
loadPath: join(__dirname, `${config.language}.json`),
},
}, (error, t) => {
console.log(t('foo'));
});
JSON 文件:
{
"foo": "bar"
}
使用 resources
属性 在 createInstance
中直接指定翻译非常有效。
我尝试了所有我能想到的方法,但没有成功。
找到解决方案!
import i18next from 'i18next';
import Backend from 'i18next-fs-backend';
const instance = i18next.use(Backend).createInstance();
instance.init({
lng: config.language,
debug: true,
fallbackLng: 'en',
initImmediate: false,
backend: {
loadPath: join(__dirname, `${config.language}.json`),
},
}, (error, t) => {
console.log(t('foo'));
});
我正在尝试使用 Node.js 上的 i18next 库从 JSON 文件加载翻译。 JSON 文件的路径指向正确的位置。
我收到以下错误:
i18next::translator: missingKey en translation test test
import i18next from 'i18next';
import Backend from 'i18next-fs-backend';
const instance = i18next.use(Backend).createInstance({
lng: config.language,
debug: true,
fallbackLng: 'en',
initImmediate: false,
backend: {
loadPath: join(__dirname, `${config.language}.json`),
},
}, (error, t) => {
console.log(t('foo'));
});
JSON 文件:
{
"foo": "bar"
}
使用 resources
属性 在 createInstance
中直接指定翻译非常有效。
我尝试了所有我能想到的方法,但没有成功。
找到解决方案!
import i18next from 'i18next';
import Backend from 'i18next-fs-backend';
const instance = i18next.use(Backend).createInstance();
instance.init({
lng: config.language,
debug: true,
fallbackLng: 'en',
initImmediate: false,
backend: {
loadPath: join(__dirname, `${config.language}.json`),
},
}, (error, t) => {
console.log(t('foo'));
});