在React

时间:2016-06-01 04:27:33

标签: reactjs internationalization i18next formatjs

我正在将相对较大的Java应用程序迁移到React,并且需要在React应用程序中实现国际化。当然,在React中有很多可用于i18n的库,比如FormaJS和i18next,但我发现大多数库都没有满足我的要求:

  1. 所有翻译都是以java资源包的形式完成的,其中键和消息如下所示:

    simpleKey = Hi!
    multiParamterKey = Dear {0}, I have {1} messages for you
    formattingKey = Ticket {0,number,#} has been closed 
    multiLineKey = Dear {0}, \n\
    \n\
    Have a nice day \n\
    otherKey = ...
    

    我们不需要复数,但是如果可能的话,我们希望避免用命名参数{0}替换数字参数{key1},因为它可能很棘手,特别是涉及格式(formattingKey)。此外,我必须使用现有的密钥。

  2. 该库应该支持回退转换的语言环境。即如果我将德语语言环境设置为后备语言环境并翻译英语键,则_en文件/源中所有缺少的键应使用_ge文件/源

  3. 进行翻译
  4. (理想情况下)库应允许动态更改后备和当前区域设置

  5. (理想情况下)库应该允许使用ajax

  6. 加载包

    我决定反对FormatJS主要是因为id不支持回退语言环境。它有一个默认翻译的概念,应该在使用时在组件中提供。

    我接近决定反对i18next   - React集成项目似乎不太受欢迎   - 需要更改消息以使用命名参数

    有人可以推荐其他一些图书馆吗?

0 个答案:

没有答案