ICU MessageFormat 是什么?
ICU MessageFormat 是处理 UI 字符串中的复数、性别和占位符的行业标准。它得到了 react-intl (FormatJS)、i18next、Angular、Fluent、Java、PHP 和大多数本地化库的支持。
复数消息根据数字选择多个分支之一。每种语言的分支关键词(零、一个、两个、几个、许多、其他)由Unicode CLDR定义——英语只需要'一个'和'其他',俄语需要'一个'、'几个'和'许多',阿拉伯语使用所有六个。
{count, plural,
one {You have # unread message}
other {You have # unread messages}
}
最常见的错误是缺失的 'other' 分支(在 ICU 中是一个严重错误)、目标语言从不使用的复数类别,以及不平衡的括号。此验证器捕获所有这些错误,并显示每种语言实际需要的类别。