Я разработал приложение Reaction с интернационализацией с использованием библиотеки activ-i18next. У меня есть обычный конфиг для этого (как в readme библиотеки):
import i18n from 'i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
import Backend from 'i18next-xhr-backend';
import { initReactI18next } from 'react-i18next';
i18n
.use(Backend)
.use(LanguageDetector)
.use(initReactI18next)
.init({
fallbackLng: "en",
interpolation: {
escapeValue: false
}
});
export default i18n;
И мои файлы перевода помещаются в public/locales/de/translation.json
(и отличные от de
папки), так же, как в документах.
Работает в режиме разработки. Я развернул приложение к героку, там тоже все отлично работает. Но мне нужно, чтобы он работал на сайте github pages, и мои jsons (перевод. json файлы) не загружаются туда, и я получаю эти ошибки (из консоли браузера):
Failed to load http://hereIsMyUsername.github.io/locales/en/translation.json resource: the server responded with a status of 404 ()
После создания приложения реагирования у меня есть следующая структура моей папки build
:
build
- locales
- static
- css
- js
- media
Таким образом, в целом мое приложение отлично работает на страницах github, за исключением того, что оно не может загружать jsons. Я прочитал в документах, что это потому, что страницы github пытаются загрузить эти jsons из каталога root и не могут найти их там, потому что они хранятся в локалях / {lang} /translation.json. Поэтому рекомендуемый способ - поместить все json и другие файлы в root. Но так как у меня много разных файлов перевода. json, это не способ управлять им.
Итак, мой вопрос: как заставить страницы github работать с ним? Или как настроить мой i18n для работы на страницах github?