我们希望将我们的主站点后台作为我们用户的多语言解决方案。我们已经决定为此使用 React + Redux,因为将已经部署的 API 用于授权和数据获取等多种功能非常有意义。
我过去使用过自定义方法,但它太复杂了,也许我们在这里缺少 best practices
方法。主站点已经支持 4 种语言,并且很快就会支持其他语言。
我查看了一些正在进行的库,例如 React-intl ( https://github.com/yahoo/react-intl ) 和 Airbnb Polyglot ( http://airbnb.io/polyglot.js/ )
在 React 中构建多语言站点的最佳方法/库/解决方案是什么? (只是在前端,而不是同构应用程序)
原文由 elQueFaltaba 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 redux-polyglot 在 React/Redux 应用程序中轻松使用 Airbnb 的 Polyglot。 (注:我是作者之一)
它提供 :
setLanguage(lang, messages)
getP(state)
选择器检索一个P
公开 4 个方法的对象:t(key)
: 原始多语言 T 函数tc(key)
: 大写翻译tu(key)
: 大写翻译tm(morphism)(key)
:自定义变形翻译getLocale(state)
获取当前语言的选择器translate
高阶组件,通过在道具中注入p
对象来增强你的 React 组件简单用法示例:
发送新语言:
在组件中:
如果您有任何问题/建议,请告诉我!