icu_plurals 
icu_plurals is one of the ICU4X components.
This API provides functionality to determine the plural category appropriate for a given number in a given language.
For example in English language, when constructing a message
such as { num } items, the user has to prepare
two variants of the message:
1 item0 items,2 items,5 items,0.5 itemsetc.
The former variant is used when the placeholder variable has value 1,
while the latter is used for all other values of the variable.
Unicode defines Language Plural Rules as a mechanism to codify those
variants and provides data and algorithms to calculate
appropriate Plural Category.
Examples
use langid;
use ;
let lid = langid!;
let provider = get_provider;
let pr = try_new
.expect;
assert_eq!;
Plural Rules
The crate provides the main struct PluralRules which handles selection
of the correct Plural Category for a given language and Plural Type.
Plural Category
Every number in every language belongs to a certain Plural Category.
For example, Polish language uses four:
One:1 miesiącFew:2 miesiąceMany:5 miesięcyOther:1.5 miesiąca
Plural Rule Type
Plural rules depend on the use case. This crate supports two types of plural rules:
Cardinal:3 doors,1 month,10 dollarsOrdinal:1st place,10th day,11th floor
More Information
For more information on development, authorship, contributing etc. please visit ICU4X home page.