Реагировать на загрузку файлов перевода i18next как из внешнего интерфейса (например, localhost: 3000), так и из внутреннего интерфейса (например, localhost: 5000)

Я делаю одно приложение для реагирования, которое извлекает данные из бэкэнда и отображается в браузере. Для изменения языка для статических имен (например, в верхнем и нижнем колонтитуле) он изменяется, если я устанавливаю папку локалей внутри общей папки и создаю все файлы json для требуемого языкового кода.

Теперь я хочу загрузить файлы перевода из бэкэнда, потому что данные, полученные из бэкэнда, всегда случайны, и бэкэнд отправит соответствующие файлы перевода.

Я так не понимаю, как этого добиться.

Я прошел через множество решений stackoverflow, которые предлагают использовать настраиваемый внутренний плагин. Но я не понимаю, как создать собственный бэкэнд-плагин.

вот часть кода моей конфигурации i18next.js:

      import i18n from 'i18next';
import {  initReactI18next } from 'react-i18next';
import Backend from 'i18next-http-backend';

i18n
.use(initReactI18next)
.use(Backend)
.init({
    ns:['common', 'translation'],
    defaultNS : 'common',
//still loads the translation files if I do not define below line (because it is in public folder in react app)
    backend: { loadPath: "/locales/{{lng}}/{{ns}}.json" }
});

Из приведенного выше кода я могу просто загрузить файлы перевода, которые находятся во внешнем интерфейсе. Если я изменю строку «backend» как:

      backend : { loadPath : "http://localhost:5000/locales/{{lng}}/{{ns}}.json"

Он загрузит файлы перевода с внутреннего сервера по адресу localhost: 5000. Но файлы перевода, расположенные в общей папке, сейчас не загружаются.

Может ли кто-нибудь помочь с каким-либо примером, как загрузить оба пути, чтобы файлы перевода из внешнего и внутреннего интерфейса работали.

1 ответ

Когда у вас есть как определенные ресурсы в локальном проекте, так и бэкэнд-переводы, вы можете использовать i18next-chained-backendбиблиотека для поддержки обоих. См. Короткий пример здесь .

Ссылка: https://www.i18next.com/how-to/add-or-load-translations

Другие вопросы по тегам