У меня та же проблема, что и здесь ( вопрос переполнения стека ), за исключением того, что оба моих предмета настроены правильно.
Моя конфигурация i18n.js настроена следующим образом.
import i18n from 'i18next';
import Backend from 'i18next-xhr-backend';
import { reactI18nextModule } from 'react-i18next';
i18n
.use(Backend)
.use(reactI18nextModule)
.init({
interpolation: {
// React already does escaping
escapeValue: false
},
lng: 'en',
fallbackLng: 'en',
backend: {
loadPath: '/locales/{{lng}}/translation.json',
allowMultiLoading: true
},
debug: true,
react: {
wait: true
}
});
export default i18n;
Я получаю эту ошибку i18next::backendConnector: loading namespace translation for language en failed failed parsing locales/en/translation.json to json
Я убедился, что мой каталог locales
находится в моем каталоге public
. Я также подтвердил, что каталог post npm run build
locales
копируется в каталог build
.
В моей промежуточной среде я открываю вкладку «Сеть» в Chrome Dev Tools и открываю translations.json
в новой вкладке. Меня перенаправили на правильный URL https://example.com/locales/en/translation.json
, но я перенаправлен на свой index.html