如何在i18next中加载带前缀的json文件?

时间:2018-07-11 13:54:34

标签: i18next

我的项目在 i18next 库中运行良好。这是我的文件正在工作:

i18n / index.js

import i18n from 'i18next';
// import LanguageDetector from 'i18next-browser-languagedetector';
import pt from './locales/pt/common.json';
import en from './locales/en/common.json';

const options = {
  interpolation: { escapeValue: false },
  lng: 'en',

  resources: {
    pt: {
      common: pt,
    },
    en: {
      common: en,
    },
  },

  fallbackLng: 'pt',

  ns: ['common'],

  defaultNS: 'common',

  react: {
    wait: true,
  },
};

i18n.init(options);


export default i18n;

i18n / locales / en / common.json

"editor": {
  "sidebar": {
    "header": {
      ...
    }
  }
}

i18n / locales / pt / common.json

"editor": {
  "sidebar": {
    "header": {
      ...
    }
  }
}

但是,我需要为我的json文件添加enpt-BR前缀。这样,我的项目停止工作。有没有人有一个简单的解决方案?

i18n / locales / en / common.json

"en" {
  "editor": {
    "sidebar": {
      "header": {
        ...
      }
    }
  }
}

i18n / locales / pt / common.json

"pt-BR" {
  "editor": {
    "sidebar": {
      "header": {
        ...
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

我在Gitbub上发布了这个问题,@ jamuhl回答了。他的解决方案是:

resources: {
  pt: {
    common: pt[pt-BR],
  },
  en: {
    common: en.en,
  },
},