使用i18next进行翻译的标准方法通常是在加载Web应用程序后立即加载所有翻译文件。
即
i18n
.use(XHR)
.use(LanguageDetector)
.init({
fallbackLng: 'en',
debug: false,
keySeparator: false,
interpolation: {
escapeValue: false,
formatSeparator: ','
},
resources: {
en: {
translations: en
},
ru: {
translations: ru
},
es: {
translations: es
}
},
ns: ['translations'],
defaultNS: 'translations',
react: {
wait: true
}
});
我发现这种方法效率很低,并且想根据需要从服务器请求翻译文件(即,当客户端切换语言时)。不幸的是,我在官方文档中没有找到任何引用,但是肯定应该有一种方法可以实现。
我要实现的方案:
1)随同仅默认翻译文件(例如english.json
)一起加载Web应用
2)如果用户切换了语言(例如西班牙语),则spanish.json
正在从服务器加载,并且整个翻译都已调整。
答案 0 :(得分:3)
从API documentation中获取.init()
方法的配置选项:
partialBundledLanguages —允许在初始化时设置一些资源,而其他资源则可以使用后端连接器加载
因此,将选项设置为true将实现您的目标。