Reactjs i18n上的延迟加载
我在一个项目中工作,我们正在使用具有延迟加载的模块来分离它,现在我们还想将翻译分离到不同的模块中,因此只加载属于该模块的翻译 目前我们的翻译如下:Reactjs i18n上的延迟加载,reactjs,internationalization,i18next,react-i18next,Reactjs,Internationalization,I18next,React I18next,我在一个项目中工作,我们正在使用具有延迟加载的模块来分离它,现在我们还想将翻译分离到不同的模块中,因此只加载属于该模块的翻译 目前我们的翻译如下: translations --en --de --it --sp 我们现在想要这样的东西: translations --en |--moduleA |--moduleB |--moduleC --it |--moduleA |--moduleB |--moduleC etc, 我已经阅读了文档并尝试了“UseTransformat
translations
--en
--de
--it
--sp
我们现在想要这样的东西:
translations
--en
|--moduleA
|--moduleB
|--moduleC
--it
|--moduleA
|--moduleB
|--moduleC
etc,
我已经阅读了文档并尝试了“UseTransformation(hook)”和“withTranslation”,这两个选项似乎都不起作用,因为它们都在指定的ns中加载所有翻译,并且在调用i18n时接收到的内容之后,我还介绍了i18next http后端,但文档中没有明确说明如何使用它
基本上我缺少一些关于如何使用它的信息,但根据我的发现似乎是唯一可行的解决方案,我错了吗
安装Dependency后,我的i18n如下所示:
import i18n from 'i18next'
import LanguageDetector from 'i18next-browser-languagedetector'
import moment from 'moment'
import HttpApi from 'i18next-http-backend'
import request from 'superagent'
import {EN} from './translations/eng'
import {test} from './translations/test'
i18n
.use(LanguageDetector)
.use(HttpApi)
.init({
backend: options,
resources: {
en: {
translations: EN,
translations2: test,
},
},
fallbackLng: 'en',
ns: ['translations', 'translations2'],
defaultNS: 'translations',
keySeparator: false,
interpolation: {
escapeValue: false,
formatSeparator: ',',
format: function(value, formatting) {
if (value instanceof Date) return moment(value).format(formatting)
return value.toString()
},
},
react: {
wait: true,
},
})
后端键需要一些选项信息:
const options = {
loadPath: 'path to file',
addPath: 'path to file',
allowMultiLoading: false,
parse: function(data) {
return data.replace(/a/g, '')
},
parsePayload: function(namespace, key, fallbackValue) {
return {key}
},
request: function(options, url, payload, callback) {},
}
但我并不确定如何使用它,我想知道是否有人有这方面的经验,是否有人可以推荐任何可能对我有帮助的指南或文档。
谢谢