从i18next转LinguiJS:WebTranslateIT多复数适配格式选型咨询
适配LinguiJS多复数变体的WebTranslateIT格式选择
嘿,刚好折腾过类似的迁移,给你明确答案:选ICU MessageFormat格式就对了。
LinguiJS 本身就是基于 ICU MessageFormat 标准来处理复杂多复数变体的——就是那种不止单复数,还支持零、二、少数、多数、其他这类细分场景的复数规则,完全匹配你的需求。而WebTranslateIT直接提供了这个格式的导入/导出支持,能完美兼容LinguiJS的复数语法。
举个例子,LinguiJS里你可以写这样的多复数代码:
<Plural value={itemCount} zero="暂无商品" one="1件商品" two="2件商品" few="{{itemCount}}件商品" many="{{itemCount}}件商品" other="{{itemCount}}件商品" />
对应的ICU格式在WebTranslateIT里能被正确识别和编辑,所有复数类别都能正常维护,不会丢失多复数规则。
另外,如果你要把现有的i18next JSON v3格式的翻译内容迁过去,WebTranslateIT的导入工具里应该有格式转换选项,能帮你批量转成ICU格式,省不少手动改的麻烦。
内容的提问来源于stack exchange,提问作者tech-escape
相关产品推荐
相关产品推荐

