我正在尝试渲染来自REST API的本地化文本。假设道具看起来像(格式可以随时更改):
"name": {
"default": "Clock",
"en": "Clock",
"de": "Uhr"
}
并且输出应该是当前语言环境的文本。有能力做到这一点吗?
在搜索“ React中的i18n”时,我发现的所有库/模块/组件都可以从静态本地化文件中呈现本地化文本。
答案 0 :(得分:0)
这取决于您当前如何处理定义当前语言环境。您可以创建自己的组件,例如RenderTextLocale
,可以将其连接到Redux或类似的状态管理工具,并在其中保存了当前区域设置。然后,在调用此组件时,将整个文本对象传递给它:<RenderTextLocale text={name} />
并在组件内部将当前选择的语言环境解析为该对象的属性,即,如果当前语言环境为en
,则渲染{{1 }}。