如何在 ICU MessageFormat 中表示俄语或其他复杂复数语言的复数规则
How to represent plural rules for Russian or other complex plural languages in ICU MessageFormat
鉴于复数规则的不寻常性质,我们如何在 ICU MessageFormat 中表示俄语?
MessageFormat 支持 {arg, plural, =1 {one} other {other}}
和更复杂的 {arg, plural, =0 {none} =1 {one} =2 {few} other {several}}
。
但是,有时不经过一些计算不能直接根据数字确定要使用的文本;我们该怎么做?俄语有三个复数规则,基于数字的最后一位数字,11-14 除外。
我查看过的信息:
俄语语言多元化
http://www.russianlessons.net/lessons/lesson11_main.php
MessageFormat 规则
http://userguide.icu-project.org/formatparse/messages
各种语言的复数规则数
https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_and_Plurals
苹果 (яблоко) 的俄罗斯 ICU 多元化示例。
{arg, plural, =0 {нет яблок} one {одно яблоко} few {{arg} яблока} other {{arg} яблок}}
one
适用于以 1 结尾的数字,但 11
除外
few
适用于以 2、3、4 结尾的数字,除了 12、13 和 14
other
只是“多”形式
鉴于复数规则的不寻常性质,我们如何在 ICU MessageFormat 中表示俄语?
MessageFormat 支持 {arg, plural, =1 {one} other {other}}
和更复杂的 {arg, plural, =0 {none} =1 {one} =2 {few} other {several}}
。
但是,有时不经过一些计算不能直接根据数字确定要使用的文本;我们该怎么做?俄语有三个复数规则,基于数字的最后一位数字,11-14 除外。
我查看过的信息:
俄语语言多元化
http://www.russianlessons.net/lessons/lesson11_main.php
MessageFormat 规则
http://userguide.icu-project.org/formatparse/messages
各种语言的复数规则数
https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_and_Plurals
苹果 (яблоко) 的俄罗斯 ICU 多元化示例。
{arg, plural, =0 {нет яблок} one {одно яблоко} few {{arg} яблока} other {{arg} яблок}}
one
适用于以 1 结尾的数字,但 11
few
适用于以 2、3、4 结尾的数字,除了 12、13 和 14
other
只是“多”形式