是否可以根据API的内容与react-redux-i18n
动态同步一组翻译?
现在,我在我的应用程序中静态存储了几种语言(fr,en,es,nl)的一组翻译,并且非常适合我的网络应用程序的网站端的翻译目的。
例如,我有一种语言的对象(locale-data/nl.js
下的荷兰语):
export default {
application: {
title: 'Toffe app met i18n!',
hello: 'Hallo, %{name}!'
},
date: {
long: 'D MMMM YYYY'
},
export: 'Exporteer %{count} dingen',
export_0: 'Niks te exporteren',
export_1: 'Exporteer %{count} ding',
two_lines: 'Regel 1<br />Regel 2',
action: {
sign_up: 'Registreren',
sign_out: 'Afmelden',
log_in: 'Aanmelden',
dashboard: 'Dashboard'
}
}
等于locale-data/en.js
export default {
application: {
title: 'Awesome app with i18n!',
hello: 'Hello, %{name}!'
},
date: {
long: 'MMMM Do, YYYY'
},
export: 'Export %{count} items',
export_0: 'Nothing to export',
export_1: 'Export %{count} item',
two_lines: 'Line 1<br />Line 2',
action: {
sign_up: 'Sign Up',
sign_out: 'Sign Out',
log_in: 'Log In',
dashboard: 'Dashboard'
}
}
通过使用嵌入式方法,我可以在初始化时定义我的应用程序中的默认语言:
// locale-data/index.js
import fr from './fr'
import en from './en'
import nl from './nl'
import es from './es'
// in index.js
...
export default { fr, en, nl, es }
import translations_data from './locale-data'
const translationsObject = {
...translations_data
}
syncTranslationWithStore(store)
store.dispatch(loadTranslations(translationsObject))
store.dispatch(setLocale('en'))
问题是,如果我想为每种语言使用大量的字符串集合,那么它会大大降低我的前端应用程序的速度。是否可以在开头加载某些语言(例如:英语)并在用户触发redux操作时更新商店,以便从API重新同步所需的翻译?