• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1---
2title: Plural Rules
3---
4
5# Plural Rules
6
7Languages vary in how they handle plurals of nouns or unit expressions ("hour" vs "hours", and so on). Some languages have two forms, like English; some languages have only a single form; and some languages have multiple forms. CLDR uses short, mnemonic tags for these plural categories:
8
9- zero
10- one (singular)
11- two (dual)
12- few (paucal)
13- many (also used for fractions if they have a separate class)
14- other (required—general plural form—also used if the language only has a single form)
15
16*See [Language Plural Rules](https://www.unicode.org/cldr/charts/45/supplemental/language_plural_rules.html) for the categories for each language in CLDR.*
17
18These categories are used to provide localized units, with a more natural ways of expressing phrases that vary in plural form, such as "1 hour" vs "2 hours". While they cannot express all the intricacies of natural languages, they allow for more natural phrasing than constructions like "1 hour(s)".
19
20## Reporting Defects
21
22When you find errors or omissions in this data, please report the information with a [bug report](https://cldr.unicode.org/index/bug-reports#TOC-Filing-a-Ticket). Please give examples of how the forms may differ. You don't have to give the exact rules, but it is extremely helpful! Here's an example:  
23
24**Sample Bug Report**
25
26The draft Ukrainian (uk) plural rules are:
27
28one: 1, 21, 31, 41, 51, 61\...
29
30few: 2\-4, 22\-24, 32\-34\...
31
32other: 0, 5\-20, 25\-30, 35\-40\...; 1\.31, 2\.31, 5\.31\...
33
34Although rules for integer values are correct, there needs to be four categories,
35
36with an extra one for fractions. For example:
37
381 день<br>
392 дні<br>
405 днів<br>
411\.31 дня<br>
422\.31 дня<br>
435\.31 дня
44
45## Determining Plural Categories
46
47The CLDR plural categories do not necessarily match the traditional grammatical categories. Instead, the categories are determined by changes required in a phrase or sentence if a numeric placeholder changes value. 
48
49### Minimal pairs
50
51The categories are verified by looking a minimal pairs: where a change in numeric value (expressed in digits) forces a change in the other words. For example, the following is a minimal pair for English, establishing a difference in category between "1" and "2".
52
53| Category | Resolved String | Minimal Pair Template |
54|---|---|---|
55| one | 1 day | {NUMBER} day |
56| other | 2 day s | {NUMBER}  day s |
57
58Warning for Vetters
59
60The Category (Code) values indicate a certain range of numbers that differ between languages. To see the meaning of each Code value for your language see [Language Plural Rules](https://www.unicode.org/cldr/charts/45/supplemental/language_plural_rules.html) chart.
61
62*The minimal pairs in the Survey Tool are not direct translations of English*. They *may* be translations of English, such as in [German](https://st.unicode.org/cldr-apps/v#/de/MinimalPairs/), but must be different if those words or terms do not show the right plural differences for your language. For example, if we look at [Belarusian](https://st.unicode.org/cldr-apps/v#/be/MinimalPairs/), they are quite different, corresponding to “{0} books in {0} days”, while [Welsh](https://st.unicode.org/cldr-apps/v#/cy/MinimalPairs/43b7793f1f673abe) has the equivalent of “{0} dog, {0} cat”. *Be sure to read the following examples carefully and pay attention to error messages.*
63
64For example, English has no separate plural form for "sheep". It would be wrong for the two phrases to be: 
65
66- one: {0} sheep
67- other: {0} sheep
68
69You have to pick a different phrase if that is the case in your language. Do not change the sentence in other ways, such as an "unforced change". For example, don't have the 'one' phrase be "{0} sheep" and the 'other' be "{0} deer".
70
71The {0} will always have just a number composed of pure digits in it, such as 0, 1, 2, 3, … 11, 12, … 21, 22, .… 99, 100, …. For example, “1 dog, 1 cat” or “21 dog, 21 cat”. If there are multiple instances of {0}, they will always have the same number. The sentences must be parallel, with exactly the same construction except for what is forced by a change in digits. That is, for a language that has "one" and "other" categories: 
72
73- take the phrase for "other"
74- change the {0} to "1"
75- make only the other changes to the phrase that are grammatically necessary because of that change
76- change the "1" back to "{0}"
77- you should then have the phrase for "one"
78
79Gender is irrelevant. Do not contort your phrasing so that it could cover some (unspecified) item of a different gender. (Eg, don't have “Prenez la {0}re à droite; Prenez le {0}er à droite.”) The exception to that is where two nouns of different genders to cover all plural categories, such as Russian “из {0} книг за {0} дня”.
80
81Non\-inflecting Nouns—Verbs
82
83Some languages, like Bengali, do not change the form of the following noun when the numeric value changes. Even where nouns are invariant, other parts of a sentence might change. That is sufficient to establish a minimal pair. For example, even if all nouns in English were invariant (like 'fish' or 'sheep'), the verb changes are sufficient to establish a minimal pair:
84
85| Category | Resolved String | Minimal Pair Template |
86|---|---|---|
87| one | 1 fish is swimming | {NUMBER}  fish is swimming |
88| other | 2 fish **are** swimming | {NUMBER}  fish **are** swimming |
89
90Non\-inflecting Nouns—Pronouns
91
92In other cases, even the verb doesn't change, but *referents* (such as pronouns) change. So a minimal pair in such a language might look something like:
93
94| Category | Resolved String | Minimal Pair Template |
95|---|---|---|
96| one | You have 1 fish in your cart; do you want to buy **it**? | You have {NUMBER} fish in your cart; do you want to buy **it**? |
97| other | You have 2 fish in your cart; do you want to buy **them**? | You have {NUMBER} fish in your cart; do you want to buy **them**? |
98
99Multiple Nouns
100
101In many cases, a single noun doesn't exhibit all the numeric forms. For example, in Welsh the following is a minimal pair that separates 1 and 2:
102
103| **Category** | **Resolved String** |
104|---|---|
105| one | 1 ci |
106| two | 2 **g**i |
107
108But the form of this word is the same for 1 and 4\. We need a separate word to get a minimal pair that separates 1 and 4:
109
110| **Category** | **Resolved String** |
111|---|---|
112| one | 1 gath |
113| two | 1 cath |
114
115These combine into a single Minimal Pair Template that can be used to separate all 6 forms in Welsh.
116
117| Category | Resolved String | Minimal Pair Template |
118|---|---|---|
119| zero | 0 cŵn, 0 cathod | {NUMBER}  cŵn, {NUMBER}  cathod |
120| one | 1 ci, 1 gath | {NUMBER}  ci, {NUMBER}  gath |
121| two | 2 gi, 2 gath | {NUMBER}  gi, {NUMBER}  gath |
122| few | 3 chi, 3 cath | {NUMBER}  chi, {NUMBER}  cath |
123| many | 6 chi, 6 chath | {NUMBER}  chi, {NUMBER}  chath |
124| other | 4 ci, 4 cath | {NUMBER}  ci, {NUMBER}  cath |
125
126Russian is similar, needing two different nouns:
127
128| Category | Resolved String | Minimal Pair Template |
129|---|---|---|
130| one | из 1 книги за 1 день | из {NUMBER}  книги за {NUMBER}  день |
131| few | из 2 книг за 2 дня | из {NUMBER}  книг за {NUMBER}  дня |
132| many | из 5 книг за 5 дней | из {NUMBER}  книг за {NUMBER}  дней |
133| other | из 1,5 книги за 1,5 дня | из {NUMBER}  книги за {NUMBER}  дня |
134
135The minimal pairs are those that are required for correct grammar. So because 0 and 1 don't have to form a minimal pair (it is ok—even though often not optimal—to say "0 people") , 0 doesn't establish a separate category. However, implementations are encouraged to provide the ability to have special plural messages for 0 in particular, so that more natural language can be used:
136
137- None of your friends are online.
138- *rather than*
139- You have 0 friends online.
140
141Fractions
142
143In some languages, fractions require a separate category. For example, Russian 'other' in the example above. In some languages, they all in a single category with some integers, and in some languages they are in multiple categories. In any case, they also need to be examined to make sure that there are sufficial minimal pairs.
144
145### Rules
146
147The next step is to determine the rules: which numbers go into which categories.
148
149Integers
150
151Test a variety of integers. Look for cases where the 'teens' (11\-19\) behave differently. Many languages only care about the last 2 digits only, or the last digit only.
152
153Fractions
154
155Fractions are often a bit tricky to determine: languages have very different behavior for them. In some languages the fraction is ignored (when selecting the category), in some languages the final digits of the fraction are important, in some languages a number changes category just if there are visible trailing zeros. Make sure to try out a range of fractions to make sure how the numbers behave: values like 1 vs 1\.0 may behave differently, as may numbers like 1\.1 vs 1\.2 vs 1\.21, and so on.
156
157### Choosing Plural Category Names
158
159In some sense, the names for the categories are somewhat arbitrary. Yet for consistency across languages, the following guidelines should be used when selecting the plural category names.
160
1611. If no forms change, then stop (there are no plural rules — everything gets '**other**')
1622. '**one**': Use the category '**one**' for the form used with 1\.
1633. '**other**': Use the category '**other**' for the form used with the most integers.
1644. '**two**': Use the category '**two**' for the form used with 2, *if it is limited to numbers whose integer values end with '2'.*
165	- If everything else has the same form, stop (everything else gets '**other**')
1665. '**zero**': Use the category '**zero**' for the form used with 0, *if it is limited to numbers whose integer values end with '0'.*
167	- If everything else has the same form, stop (everything else gets '**other**')
1686. '**few**': Use the category '**few**' for the form used with the least remaining number (such as '4')
169	- If everything else has the same form, stop (everything else gets '**other**')
1707. '**many**': Use the category '**many**' for the form used with the least remaining number (such as '10')
171	- If everything else has the same form, stop (everything else gets '**other**')
172	- If there needs to be a category for items only have fractional values, use '**many**'
1738. If there are more categories needed for the language, describe what those categories need to cover in the bug report.
174
175See [*Language Plural Rules*](http://www.unicode.org/cldr/data/charts/supplemental/language_plural_rules.html) for examples of rules, such as for [Czech](https://www.unicode.org/cldr/charts/45/supplemental/language_plural_rules.html#cs), and for [comparisons of values](https://www.unicode.org/cldr/charts/45/supplemental/language_plural_rules.html#cs-comp). Note that in the integer comparison chart, most languages have 'x' (other—gray) for most integers. There are some exceptions (Russian and Arabic, for example), where the categories of 'many' and 'other' should have been swapped when they were defined, but are too late now to change.
176
177## Important Notes
178
179*These categories are only mnemonics \-\- the names don't necessarily imply the exact contents of the category.* For example, for both English and French the number 1 has the category one (singular). In English, every other number has a plural form, and is given the category other. French is similar, except that the number 0 also has the category one and not other or zero, because the form of units qualified by 0 is also singular.
180
181*This is worth emphasizing:* A common mistake is to think that "one" is only for only the number 1\. Instead, "one" is a category for any number that behaves like 1\. So in some languages, for example, one → numbers that end in "1" (like 1, 21, 151\) but that don't end in 11 (like "11, 111, 10311\).
182
183Note that these categories may be different from the forms used for pronouns or other parts of speech. *In particular, they are solely concerned with changes that would need to be made if different numbers, expressed with decimal digits,* are used with a sentence. If there is a dual form in the language, but it isn't used with decimal numbers, it should not be reflected in the categories. That is, the key feature to look for is: 
184
185If you were to substitute a different number for "1" in a sentence or phrase, would the rest of the text be required to change? For example, in a caption for a video:
186
187&emsp;"Duration: 1 hour" → "Duration: 3\.2 hours"
188
189## Plural Rule Syntax
190
191See [LDML Language Plural Rules](http://unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules).
192
193## Plural Message Migration
194
195The plural categories are used not only within CLDR, but also for localizing messages for different products. When the plural rules change (such as in [CLDR 24](https://cldr.unicode.org/index/downloads/cldr-24-release-note)), the following issues should be considered. Fractional support in plurals is new in CLDR 24\. Because the fractions didn't work before, the changes in categories from 23 to 24 should not cause an issue for implementations. The other changes can be categorized as Splitting or Merging categories.
196
197There are some more complicated cases, but the following outlines the main issues to watch for, using examples. For illustration, assume a language uses "" for singular, "u" for dual, and "s" for other.​ ​
198
199- **OLD Rules \& OLD Messages** marks the situation before the change,
200- **NEW Rules \& OLD Messages** marks the situation after the change (but before any fixes to messages), and
201- **NEW Rules \& NEW Messages** shows the changes to the messages
202
203### Merging
204
205The language really doesn't need 3 cases, because the dual is always identical to one of the other forms. 
206
207**OLD Rules \& OLD Messages**
208
209one: book
210
211two: books
212
213other: books
214
2151  ➞ book, 2 ➞ books, 3 ➞ ​ books​
216
217**NEW Rules \& OLD or NEW Messages**
218
219one: book
220
221other: books
222
2231  ➞ book, 2 ➞ books, 3  ➞​ books​
224
225This is fairly harmless; merging two of the categories shouldn't affect anyone because the messages for the merged category should not have material differences. The old messages for 'two' are ignored in processing. They could be deleted if desired.
226
227This was done in CLDR 24 for Russian, for example.
228
229### Splitting Other
230
231In this case, the 'other' needs to be fixed by moving some numbers to a 'two' category. The way plurals are defined in CLDR, when a message (eg for 'two') is missing, it always falls back to 'other'. So the translation is no worse than before. There are two subcases.
232
233Specific Other Message
234
235In this case, the *other* message is appropriate for the other case, and not for the new 'two' case.
236
237**OLD Rules \& OLD Messages**
238
239one: book
240
241other: books
242
2431  ➞ book, 2 ➞ books, 3  ➞​ books​
244
245**NEW Rules \& OLD Messages**
246
247one: book
248
249two: **books**
250
251other: books
252
2531  ➞ book, 2 ➞ **books**, 3  ➞​ books​
254
255The quality is no different than previously. The message can be improved by adding the correct message for 'two', so that the result is:
256
257**NEW Rules \& NEW Messages**
258
259one: book
260
261two: booku
262
263other: books
264
2651  ➞ book, 2 ➞ **booku**, 3  ➞​ books​
266
267***However, if the translated message is not missing, but has some special text like "UNUSED MESSAGE", then it will need to be fixed; otherwise the special text will show up to users!***
268
269Generic Other Message
270
271In this case, the *other* message was written to be generic by trying to handle (with parentheses or some other textual device) both the plural and dual categories.
272
273**OLD Rules \& OLD Messages**
274
275one: book
276
277other: book(u/s)
278
2791  ➞ book, 2 ➞ **book(u/s)**, 3  ➞​ **book(u/s)**
280
281**NEW Rules \& OLD Messages**
282
283one: book
284
285two: book(u/s)
286
287other: book(u/s)
288
2891  ➞ book, 2 ➞ **book(u/s)**, 3  ➞​ **book(u/s)**
290
291The message can be improved by adding a message for 'two', and fixing the message for 'other' to not have the (u/s) workaround:
292
293**NEW Rules \& NEW Messages**
294
295one: book
296
297two: booku
298
299other: books
300
3011  ➞ book, 2 ➞ booku, 3  ➞​ books
302
303### Splitting Non\-Other
304
305In this case, the 'one' category needs to be fixed by moving some numbers to a 'two' category.
306
307**OLD Rules \& OLD Messages**
308
309one: book/u
310
311other: books
312
3131  ➞ book/u, 2 ➞ book/u, 3  ➞​ books​
314
315**NEW Rules \& OLD Messages**
316
317one: book/u
318
319other: books
320
3211  ➞ **book/u**, 2 ➞ **books**, 3  ➞​ books​
322
323This is the one case where there is a regression in quality. In order to fix the problem, the message for 'two' needs to be fixed. If the messages for 'one' was written to be generic, then it needs to be fixed as well.
324
325**NEW Rules \& NEW Messages**
326
327one: book
328
329two: booku
330
331other: books
332
3331  ➞ **book**, 2 ➞ **booku**, 3  ➞​ books​
334
335