具有组件i18next的React翻译不会应用来自后端的响应

时间:2019-02-04 15:15:23

标签: javascript reactjs i18next

嗨,我正在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

今天愉快

1 个答案:

答案 0 :(得分:0)

由于我的翻译文件密钥是字符串而不是嵌套对象,因此我不得不指定keySeparator: false时,我遇到了一个略有不同但仍然相关的问题:https://github.com/i18next/react-i18next/issues/747