Создать приложение React - загрузка переводов i18n по относительному пути
Приложение My React загружается по относительному пути, задав
homepage
переменная в package.json. Однако i18next-http-backend все еще пытается загрузить переводы из
http://localhost:3000/locales/en/translation.json
вместо
http://localhost:3000/myapp/locales/en/translation.json
. Я даже попытался установить опцию loadPath (хотя не уверен в синтаксисе), но это не сработало. См. Ниже:
i18n
.use(Backend)
.use(initReactI18next)
.init({
fallbackLng: 'en',
debug: true,
loadPath: `${process.env.PUBLIC_URL}/locales/{{lng}}/{{ns}}.json`,
interpolation: {
escapeValue: false // not needed for react as it escapes by default
}
})
Как я могу заставить это работать?
1 ответ
Решение
В
loadPath
должен быть установлен как часть инициализации
Backend
, поэтому вам нужно сделать следующее...
i18n
.use(Backend)
.use(initReactI18next)
.init({
fallbackLng: 'en',
debug: true,
backend: {
loadPath: `${process.env.PUBLIC_URL}/locales/{{lng}}/{{ns}}.json`,
}
interpolation: {
escapeValue: false // not needed for react as it escapes by default
}
})