Реагировать на загрузку файлов перевода 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