反应组件以呈现本地化文本(属性)

时间:2018-11-07 13:00:50

标签: reactjs localization

我正在尝试渲染来自REST API的本地化文本。假设道具看起来像(格式可以随时更改):

"name": {
    "default": "Clock",
    "en": "Clock",
    "de": "Uhr"
}

并且输出应该是当前语言环境的文本。有能力做到这一点吗?

在搜索“ React中的i18n”时,我发现的所有库/模块/组件都可以从静态本地化文件中呈现本地化文本。

1 个答案:

答案 0 :(得分:0)

这取决于您当前如何处理定义当前语言环境。您可以创建自己的组件,例如RenderTextLocale,可以将其连接到Redux或类似的状态管理工具,并在其中保存了当前区域设置。然后,在调用此组件时,将整个文本对象传递给它:<RenderTextLocale text={name} />并在组件内部将当前选择的语言环境解析为该对象的属性,即,如果当前语言环境为en,则渲染{{1 }}。