Реагировать на переводы с компонентом i18next не применять ответ от бэкэнда - PullRequest
0 голосов
/ 04 февраля 2019

Привет, я использую реагирующий перевод в моем проекте от i18next.Мне нужно загрузить данные JSON из бэкэнда.Я нашел это https://github.com/i18next/i18next-xhr-backend. Но когда я звоню, консоль говорит мне i18next::translator: missingKey en translation Sign in Sign in, но при отладке я получаю правильный ответ.Я просто импортирую i18next в index.js вот так ->

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
    }
});

Можете ли вы мне помочь, пожалуйста?Я не знаю, что я делаю не так.

Спасибо 101

РЕШЕНО: Я исправляю это с помощью crossDomain: true и ответ файла должен быть просто переводом слова для фактического языка.Например Login: Login не en.translation.Login: Login

Хорошего дня ?

1 Ответ

0 голосов
/ 20 февраля 2019

У меня была немного другая, но все еще связанная проблема, где мне пришлось указать keySeparator: false из-за того, что ключи моего файла перевода были строками, а не вложенными объектами: https://github.com/i18next/react-i18next/issues/747

...