14 个版本 (7 个稳定版)
1.5.0 | 2024年5月28日 |
---|---|
1.4.0 | 2023年11月16日 |
1.3.2 | 2023年10月3日 |
1.2.0 | 2023年4月14日 |
0.1.0 | 2020年10月15日 |
401 在 国际化(i18n) 中排名
每月75,173次下载
在 43 个crate中(15 个直接) 使用
1MB
20K SLoC
icu_plurals
确定给定语言中给定数字的适当复数类别。
此模块作为其自身的crate(icu_plurals
)和作为icu
crate的一部分发布。有关ICU4X项目的更多详细信息,请参阅后者。
例如,在英语中,当构造如{ num } items
的消息时,用户必须准备消息的两个变体
1项目
0 items
、2 items
、5 items
、0.5 items
等。
前一种变体用于占位符变量的值为1
时,而后一种变体用于变量的所有其他值。
Unicode 定义了 语言复数规则 作为对这些变体的编码机制,并提供了计算适当的 PluralCategory
的数据和算法。
示例
use icu::locid::locale;
use icu::plurals::{PluralCategory, PluralRuleType, PluralRules};
let pr =
PluralRules::try_new(&locale!("en").into(), PluralRuleType::Cardinal)
.expect("locale should be present");
assert_eq!(pr.category_for(5_usize), PluralCategory::Other);
复数规则
该库提供主要结构体 PluralRules
,用于处理给定语言和 PluralRuleType
的正确 PluralCategory
选择。
复数类别
每种语言中的每一个数字都属于一个特定的 PluralCategory
。例如,波兰语使用四种
复数规则类型
复数规则取决于使用场景。此库支持两种类型的复数规则
更多信息
有关开发、作者身份、贡献等方面的更多信息,请访问 ICU4X 主页
。
依赖项
~1.1–1.7MB
~34K SLoC