首页 > 解决方案 > React Native i18next 后端不加载 json 文件

问题描述

嗨,我正在使用 i18next 和 React Native 进行翻译,但在尝试加载 json 文件时出现以下错误:

i18next::backendConnector: lloading namespace translation for language en failed failed loading ./locales/en/translation.json

并且

i18next::translator: missingKey en translation screens.login.header screens.login.header

应用程序/i18n.js

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import Fetch from 'i18next-fetch-backend';

const languageDetector = {
  type: 'languageDetector',
  async: true,
  detect: cb => cb('en'),
  init: () => {},
  cacheUserLanguage: () => {},
};

i18n
.use(Fetch)
.use(languageDetector)
.use(initReactI18next)
.init({
  lng: 'en',
  debug: true,
  interpolation: {
    escapeValue: false,
    formatSeparator: ',',
  },
  keySeparator: '.',
  whitelist: ['en'],
  nonExplicitWhitelist: true,
  fallbackLng: 'en',
  backend: {
    loadPath: './locales/{{lng}}/{{ns}}.json',
    allowMultiLoading: true,
  },
  react: {
    wait: true,
  },
});

export default i18n;

app/locales/en/translation.json

{
  "screens": {
    "login": {
      "header": "Login to your your account",
      "loginButton": "Login"
    }
  }
}

应用程序/screens/auth/LoginScreen.js

{t('screens.login.header')}

有没有人成功使用这个库和 React Native?

标签: react-nativei18nextreact-i18next

解决方案


推荐阅读