嗨,我正在i18next的项目中使用React翻译。我需要从后端加载json数据。我找到了这个https://github.com/i18next/i18next-xhr-backend。但是,当我将其命名为console时,请告诉我i18next::translator: missingKey en translation Sign in Sign in
,但是在调试时,我会得到正确的响应。我只是这样在index.js中导入i18next->
import i18n from "./core/i18n";
这是我的i18n
import i18n from "i18next";
import { reactI18nextModule } from "react-i18next";
import backend from "i18next-xhr-backend";
18n
.use(backend)
.use(reactI18nextModule) // passes i18n down to react-i18next
.init({
backend: {
loadPath : process.env.API_URL + '/api/dictionaries/',
allowMultiLoading: false,
crossDomain : false
},
lng: "en",
fallbackLng: "en",
keySeparator: false, // we do not use keys in form messages.welcome
interpolation: {
escapeValue: false // react already safes from xss
},
debug: true,
react: {
wait: true
}
});
能帮我吗?我不知道我在做什么错。
谢谢
已解决:我用crossDomain: true
解决了这个问题,文件响应必须只是将单词翻译成实际的语言。例如Login: Login
不是en.translation.Login: Login
今天愉快
答案 0 :(得分:0)
由于我的翻译文件密钥是字符串而不是嵌套对象,因此我不得不指定keySeparator: false
时,我遇到了一个略有不同但仍然相关的问题:https://github.com/i18next/react-i18next/issues/747