Обработка переводов React на уровне компонентов

Чего я хочу добиться, так это того, что у меня есть переводы для всех компонентов. Когда я устанавливаю эти компоненты, они должны отображаться сами по себе. Еще одна вещь, которую я хочу добиться, заключается в том, что мой проект может отменять переводы на уровне компонентов. Это на тот случай, если кто-то решит, что переводы, которые там есть, не то, что нам нужно.

Что я сделал в своих компонентах, так это загрузил i18n:

import i18n from 'i18next';
import XHR from 'i18next-xhr-backend';
import Cache from 'i18next-localstorage-cache';
import LanguageDetector from 'i18next-browser-languagedetector';

i18n
  .use(XHR)
  .use(Cache)
  .use(LanguageDetector)
  .init({
    backend: {
      loadPath: '../dist/locales/{{lng}}/{{ns}}.json',
    },
    fallbackLng: 'en',
    react: {
      wait: true
    },
    ns: ['authentication'],
    defaultNS: 'authentication',
    debug: false,
    cache: {
      enabled: true
    },
    interpolation: {
      escapeValue: false, // not needed for react!!
      formatSeparator: ',',
      format: function(value, format) {
        if (format === 'uppercase') return value.toUpperCase();
        return value;
      }
    }
  });

export default i18n;

Это отлично работает в моем сборнике рассказов, но когда я загружаю это в свой основной проект, он использует ../ из моего корня сборки, который на самом деле является не самим компонентом, а моим основным проектом реализации.

Как я могу это решить и как я могу гарантировать, что я могу даже расширить это?

ОБНОВЛЕНИЕ: Ниже приведен список текущей структуры папок, как задано в следующих вопросах:

#Component
dist
--.gitkeep
--locales
--commonjs
--es
src
--actions
----index.js
--components
----compname
------index.js
--reducers
----foo.js
--i18n.js
--index.js
test
.babelrc
package.json
Jenkinsfile

#Project
react
--assets
----css
------app.scss
--dist
----.gitkeep
--src
----index.js
----store.js
webpack.config.js

Спасибо


person Dirkos    schedule 06.10.2017    source источник
comment
Похоже, проблема не в i18, а в общем вопросе о структурировании вашей кодовой базы. Что вы используете для связывания кода? Как выглядит ваша текущая структура?   -  person Theo.T    schedule 06.10.2017
comment
@ Theo.T, я обновил сам пост, указав структуру папок. Я использую babel для компиляции кода моего компонента. В проекте я использую веб-пакет, чтобы связать все вместе, чтобы его можно было отправить.   -  person Dirkos    schedule 06.10.2017
comment
аналогично stackoverflow.com/questions /46098400/   -  person jamuhl    schedule 06.10.2017
comment
и github.com/i18next/react-i18next/issues/299   -  person jamuhl    schedule 06.10.2017
comment
Другой пост был не об этом @jamuhl, а о внутреннем переводе. Но в целом сейчас речь идет больше о том, как расширить его на уровне реализации и как правильно с этим справиться. Когда я перевожу сам компонент и создаю его, он работает нормально, но в этот момент вы не можете ничего расширить при его использовании.   -  person Dirkos    schedule 07.10.2017