使用.properties文件在React中使用i18n

齐克尔

我正在将(大型)应用重写为Reactjs-redux,内部化是下一个问题。

我一直在寻找一些当前可用的库(redux-react-i18n18n-react),但是似乎都不适合。

为什么呢 因为我的本地化字符串存储在单独的.properties文件中,所以无法更改。但是有可能在编译时从中生成任何格式

示例en_US.properties:

  • key1 =这是一个常量字符串
  • key2 =这是一个带有{parameter}的字符串
  • ....

与de_de.properties文件类似,依此类推

另外,只能在刷新页面时更改语言,因此这使其变得更容易

我的问题是如何解决这个问题。我的第一个天真方法是在应用程序全局中生成一些静态常量js对象,但我感觉这违反了javascript最佳实践,也不知道如何处理参数化字符串

由于我对javascript id相当陌生,喜欢听任何想法

齐克尔

如果有人遇到同样的问题,我最终写了将.properties文件转换为json文件的脚本

然后在React代码中,我创建了HOC组件,将键(或名称空间取决于您如何组织json文件)作为参数并从服务器获取值。这些键通常适用于整个页面,但有时也适用于单个组件(如果有意义)是另外一个HTTP请求,您也可以缓存结果

希望对您有帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章