ICU Plural Rules by Language
Reference table of CLDR plural categories used by major languages. Know exactly which plural forms (zero, one, two, few, many, other) each language requires for correct ICU messages.
Detailed Explanation
CLDR Plural Rules by Language
The Unicode CLDR (Common Locale Data Repository) defines plural rules for every language. When writing ICU plural messages, you must provide the correct categories for each target language. This reference covers the most commonly requested languages.
Plural Category Summary
| Language | Categories Used | Notes |
|---|---|---|
| English | one, other | one: 1 |
| Japanese | other | No plural distinction |
| Chinese | other | No plural distinction |
| Korean | other | No plural distinction |
| French | one, many, other | one: 0-1; many: large numbers |
| German | one, other | one: 1 |
| Spanish | one, many, other | one: 1; many: large exact |
| Portuguese | one, many, other | one: 0-1; many: large exact |
| Russian | one, few, many, other | Complex rules based on last digits |
| Polish | one, few, many, other | Similar to Russian |
| Arabic | zero, one, two, few, many, other | All 6 categories |
| Hebrew | one, two, other | two: 2 |
| Czech | one, few, many, other | Similar to Russian |
| Turkish | one, other | one: 1 |
Languages with No Plural (1 category)
Japanese, Chinese (Mandarin), Korean, Vietnamese, Thai, Indonesian, and Malay use only the other category. These languages do not grammatically distinguish singular from plural:
// Japanese: only "other" needed
{count, plural, other {#個のアイテム}}
Languages with 2 Categories
English, German, Dutch, Italian, Turkish, Hindi, Bengali:
// English
{count, plural,
one {# item}
other {# items}
}
Languages with 3 Categories
French, Portuguese (Brazilian), and some others use one, many, and other (CLDR v42+):
// French (CLDR v42+)
{count, plural,
one {# élément}
many {# d'éléments}
other {# éléments}
}
Languages with 4 Categories
Russian, Polish, Czech, Ukrainian:
// Russian
{count, plural,
one {# файл}
few {# файла}
many {# файлов}
other {# файла}
}
Russian rules:
- one: ends in 1 but not 11 (1, 21, 31, ...)
- few: ends in 2-4 but not 12-14 (2, 3, 4, 22, 23, ...)
- many: ends in 0, 5-9, or 11-14 (0, 5, 6, ..., 11, 12, 13, 14, 20, 25, ...)
- other: fractions and remaining cases
Arabic: All 6 Categories
Arabic is the most complex, using every CLDR category:
- zero: 0
- one: 1
- two: 2
- few: 3-10
- many: 11-99
- other: 100+, fractions
Testing Your Plural Rules
Always test with these critical numbers per language:
- 0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 20, 21, 22, 100, 101
These cover the boundary cases where plural categories change in most languages.
Use Case
Translation managers and i18n engineers who need a quick reference to determine which plural categories must be translated for each target language, especially when expanding support to languages with complex plural systems.