Plural/Mediawiki plural rules

From translatewiki.net
Jump to: navigation, search

This page is a draft and may contain errors. Last updated 9 April 2012. This page has not been updated to reflect the switch to CLDR plurals in 2012-09, nor the breaking changes in CLDR 24 and CLDR26

The table shows the MediaWiki plural rules for all languages enabled for localisation at translatewiki.net.

The default rules are those for English, with one form for the number 1 and another for all other numbers.

At present the plural rules in Mediawiki haven't considered decimal numbers - except for a few languages. This means that decimal numbers may or may not work as expected by falling in to one of the plural forms (usually the last one, other). Actually since switch to CLDR decimal numbers have better support.

The rule reference in the column 'Group' follows the references in CLDR, with a suffix 'a' where the rules in Mediawiki and CLDR differ. Needs updating.

Language Code Group Rules Examples Note
Afar aa Default
Abkhazian ab Default
Achinese ace Default
Adyghe ady Default
Tunisian Arabic aeb Default
Afrikaans af Default
अहिराणी ahr Default
Akan ak Default
Alabama akz Default
Gheg Albanian aln Default
Tosk als Default
Amharic am one-zero <=1
other
0, 1
2, 3...
Aragonese an Default
Old English ang Default
Angika anp Default
Arabic ar arabic 0
1
2
mod 100 in 3..10
mod 100 in 11..99
other
0
1
2
3-10, 103-110, 203-210..
11-99, 111-199, 211..
100-102, 200-202, 300..
Aramaic arc Default
Mapuche arn Default
Araona aro Default
Algerian Arabic arq Default
Moroccan Arabic ary Default
Egyptian Arabic arz Default
Assamese as Default
Asturian ast Default
Avaric av Default
Kotava avk Default
Aymara ay Default
Azerbaijani az Default
Bashkir ba Default
Bavarian bar Default
Batak Toba bbc Default
Southern Balochi bcc Default
Bikol Central bcl Default
Belarusian be Rule K n mod 10 is 1 and n mod 100 is not 11
n mod 10 in 2..4 and n mod 100 not in 12..14
n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14
1, 21, 31, 41, 51, 61...
2-4, 22-24, 32-34...
0, 5-20, 25-30, 35-40...
 
1
Belarusian (Taraškievica orthography) be-tarask Rule K n mod 10 is 1 and n mod 100 is not 11
n mod 10 in 2..4 and n mod 100 not in 12..14
n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14
1, 21, 31, 41, 51, 61...
2-4, 22-24, 32-34...
0, 5-20, 25-30, 35-40...
 
1
Betawi bew Default
Badaga bfq Default
Bulgarian bg default Default
भोजपुरी bho one-zero <=1
other
0, 1
2, 3...
Bislama bi Default
Banjar bjn Default
Bambara bm Default
Bengali bn Default
Tibetan bo Default
Bishnupriya bpy Default
Bakhtiari bqi Default
Breton br Default
Brahui brh Default
Bosnian bs Rule K n mod 10 is 1 and n mod 100 is not 11
n mod 10 in 2..4 and n mod 100 not in 12..14
n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14
1, 21, 31, 41, 51, 61...
2-4, 22-24, 32-34...
0, 5-20, 25-30, 35-40..
 
Iriga Bicolano bto Default
Buginese bug Default
буряад bxr Default
Catalan ca Default
Chavacano de Zamboanga cbk-zam Default
Min Dong Chinese cdo Default Plural checks disabled
Chechen ce Default
Cebuano ceb Default
Chamorro ch Default
Choctaw cho Default
Cherokee chr Default
Cheyenne chy Default
Central Kurdish ckb Default
Corsican co Default
Capiznon cps Default
Cree cr Default
Crimean Turkish crh Default
Czech cs Rule L n is 1
n in 2-4
other
1
2-4
0, 5..
Kashubian csb Default
Church Slavic cu Rule AAa n mod 10 is 1
n mod 10 is 2
n mod 10 in 3-4
other
1, 11, 21..
2, 12, 22..
3-4, 13-14, 23-24..
0, 5-10, 15-20..
Chuvash cv Default
Welsh cy Rule Q 0
1
2
3
6
other
0
1
2
3
6
4, 5, 7, 8...
Danish da Default
German de Default
Zazaki diq Default
Lower Sorbian dsb Rule ACa n mod 100 is 1
n mod 100 is 2
n mod 100 in 3-4
other
1, 101, 201..
2, 102, 202...
3-4, 103-104, 203-204..
0, 5-100, 105-200..
Central Dusun dtp Default
Divehi dv Default
Dzongkha dz Default
Ewe ee Default
Emilian egl Default
Greek el Default
Emiliano-Romagnolo eml Default
English en 1
other
1
0, 2, 3...
Esperanto eo default Default
Spanish es Default
Central Yupik esu Default
Estonian et default Default
Basque eu Default
Extremaduran ext Default
Persian fa Default
Fulah ff Default
Finnish fi default Default
Tornedalen Finnish fit Default
Fijian fj Default
Faroese fo Default
French fr one-zero <=1
other
0, 1
2, 3...
Cajun French frc Default
Arpitan frp Default
Northern Frisian frr Default
Friulian fur Default
Western Frisian fy Default
Irish ga has-duala
Broken link!
n is 0
n is 1
2-6, 12-16, 21-26, 31-36...
7-10, 17-19, 27-29...
other
0
1
2-6, 12-16, 21-26, 31-36...
7-10, 17-19, 27-29...
other
see Talk page for details
Gagauz gag Default
Alekano gah Default
Gan Chinese gan default Default
Zoroastrian Dari gbz Default
Guadeloupean Creole French gcf Default
Scottish Gaelic gd Rule Xa 1
2
11
12
3..10, 13..19
0, 20..
1
2
11
12
3..10, 13..19
0, 20..
Galician gl Default
Gilaki glk Default
Guarani gn Default
Goan Konkani gom Default
Gothic got Default
Ancient Greek grc Default
Swiss German gsw Default
Gujarati gu Default
Wayuu guc Default
Frafra gur Default
Manx gv Rule Wa n mod 20 is 0 and n is not 0
n mod 10 is 1
n mod 10 is 2
other
20, 40..
1, 11, 21..
2, 12, 22..
0, 3-10, 13-19..
Hausa ha Default
Hakka Chinese hak Default
Hawaiian haw Default
Hebrew he has-dual 1
2
other
1
2
0, 3..
Hindi hi one-zero <=1
other
0, 1
2, 3...
Fiji Hindi hif Default
Hiligaynon hil Default
छत्तीसगढ़ी hne Default
Hiri Motu ho Default
Croatian hr Rule K n mod 10 is 1 and n mod 100 is not 11
n mod 10 in 2..4 and n mod 100 not in 12..14
n mod 10 is 0 or n mod 10 in 5..9 or n mod
100 in 11..14
1, 21, 31, 41, 51, 61...
2-4, 22-24, 32-34...
0, 5-20, 25-30, 35-40...
 
Upper Sorbian hsb Rule ACa n mod 100 is 1
n mod 100 is 2
n mod 100 in 3-4
other
1, 101, 201..
2, 102, 202...
3-4, 103-104, 203-204..
0, 5-100, 105-200..
Xiang Chinese hsn Default
Haitian Creole ht Default
Hungarian hu default Default
Armenian hy one-zero <=1
other
0, 1
2, 3...
Herero hz Default
Interlingua ia Default
Indonesian id Default
Interlingue ie Default
Igbo ig Default
Sichuan Yi ii Default
Inupiaq ik Default
Iloko ilo Default
Ingush inh Default
Ido io Default
Icelandic is Default
Italian it Default
Inuktitut iu default Default
Japanese ja default Default
Jamaican Creole English jam Default
Lojban jbo Default
Jutish jut Default
Javanese jv Default
Georgian ka Default
Kara-Kalpak kaa default Default
Kabyle kab Default
Kabardian kbd Default
Kabuverdianu kea Default
Kongo kg Default
Kaingang kgp Default
Khowar khw Default
Kikuyu ki Default
Kirmanjki kiu Default
Kuanyama kj Default
Kazakh kk default Default
Kalaallisut kl Default
Khmer km default Default
Kannada kn Default
Korean ko Default
Komi-Permyak koi Default
Kanuri kr Default
Karachay-Balkar krc Default
Krio kri Default
Kinaray-a krj Default
Karelian krl Default
Kashmiri ks Default
Bafia ksf Default
Colognian ksh Rule U 1
other
0
1
2, 3, 4...
0
Kurdish ku default Default
Komi kv Default
Cornish kw Default
Kyrgyz ky Default
Latin la default Default
Ladino lad Default
Luxembourgish lb Default
лакку lbe Default
Lezghian lez Default
Lingua Franca Nova lfn Default
Ganda lg Default
Limburgish li Default
Ligurian lij Default
Livonian liv Default
Ladin lld Default
Lombard lmo Default
Lingala ln one-zero <=1
other
0, 1
2, 3...
Lao lo Default
Lozi loz Default
Lithuanian lt Rule J n mod 10 is 1 and n mod 100 not in 11..19
n mod 10 in 2..9 and n mod 100 not in 11..19
other
1, 21, 31...
2-9, 22-29, 32-39...
0, 10-20, 30, 40...
1
Latgalian ltg Default
Mizo lus Default
Latvian lv Rule Fa n mod 10 is 1 and n mod 100 is not 11
other
1, 21, 31, ... 101, 121...
0, 2, 3...
Literary Chinese lzh Default
Laz lzz Default
Maithili mai Default
Basa Banyumasan map-bms Default
Moksha mdf Default
Morisyen mfe Default
Malagasy mg one-zero <=1
other
0, 1
2, 3...
Marshallese mh Default
Eastern Mari mhr Default
Maori mi Default
Micmac mic Default
Minangkabau min Default
Macedonian mk Rule Pa n mod 10 is 1 and n mod 100 is not 11
other
1, 21, 31, ... 101, 121...
0, 2, 3...
Malayalam ml default Default
Mongolian mn Default
Manchu mnc Default
Manipuri mni Default
молдовеняскэ mo Rule I 1
n is 0 OR n is not 1 AND n mod 100 in 1..19
other
1
0, 2..19, 101..119, 201..
20..100, 120..
Marathi mr Default
Western Mari mrj Default
Malay ms Default
Maltese mt Rule O 1
n is 0 or n mod 100 in 2..10
n mod 100 in 11..19
other
1
0, 2-10, 102-110, ..
11-19, 111-119, ..
20-101, 120-201, ..
Musi mui Default
Creek mus Default
Mirandese mwl Default
Mentawai mwv Default
Burmese my default Default
Erzya myv Default
Mazanderani mzn Default
Nauru na Default
Nāhuatl nah Default
Min Nan Chinese nan Default
Neapolitan nap Default
Norwegian Bokmål nb Default
Low German nds Default
Nepali ne Default
Newari new Default
Ndonga ng Default
Niuean niu Default
Ao Naga njo Default
Dutch nl Default
Norwegian Nynorsk nn Default
Novial nov Default
N’Ko nqo Default
Nouormand nrm Default
Northern Sotho nso one-zero <=1
other
0, 1
2, 3...
Navajo nv Default
Nyanja ny Default
Occitan oc Default
Oromo om Default
Oriya or Default
Ossetic os default Default
Punjabi pa Default
Pangasinan pag Default
Pampanga pam Default
Papiamento pap Default
Picard pcd Default
Pennsylvania German pdc Default
Plautdietsch pdt Default
Palatine German pfl Default
Pali pi Default
Norfuk / Pitkern pih Default
Pijin pis Default
Pökoot pko Default
Polish pl Rule M 1
n mod 10 in 2-4 and n mod 100 not in 12-14
other
1
2-4, 22-24, .. 102..
0, 5-21, 25-31, .. 105..
Piedmontese pms Default
Western Punjabi pnb Default
Pontic pnt Default
Nawat ppl Default
Prussian prg Default
Pashto ps Default
Portuguese pt Default
Quechua qu Default
Chimborazo Highland Quichua qug Default
Rapanui rap Default
Romagnol rgn Default
Riffian rif Default
ရခိုင် rki Default
Romansh rm Default
Romani rmy Default
Rundi rn Default
Romanian ro Rule I 1
n is 0 OR n is not 1 AND n mod 100 in 1..19
other
1
0, 2..19, 101..119, 201..
20..100, 120..
tarandíne roa-tara Default
Rotuman rtm Default
Russian ru Rule K n mod 10 is 1 and n mod 100 is not 11
n mod 10 in 2..4 and n mod 100 not in 12..14
n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14
1, 21, 31, 41, 51, 61...
2-4, 22-24, 32-34...
0, 5-20, 25-30, 35-40..
 
1
Rusyn rue Default
Aromanian rup Default
Megleno-Romanian ruq Default
Kinyarwanda rw Default
ʔucināguci ryu Default
Sanskrit sa Default
Sakha sah Default
Santali sat Default
Saurashtra saz Default
Sardinian sc Default
Sicilian scn Default
Scots sco Default
Sindhi sd Default
Sassarese Sardinian sdc Default
Northern Sami se has-dual 1
2
other
1
2
0, 3, 4...
Seri sei Default
Sango sg Default
Samogitian sgs Rule ABa n mod 10 is 1 and n mod 100 is not 11
n mod 10 is 2 and n mod 100 is not 12
o or n mod 100 is 0 or n mod 100 in 10-19
other
1, 21, 31.. 101, 121..
2, 22, 32.. 102, 122..
0, 10-19, 100, 110-119..
3-9, 20, 23-30..
Serbo-Croatian sh Rule K n mod 10 is 1 and n mod 100 is not 11
n mod 10 in 2..4 and n mod 100 not in 12..14
n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14
1, 21, 31, 41, 51, 61...
2-4, 22-24, 32-34...
0, 5-20, 25-30, 35-40..
 
1
Tachelhit shi default Default
Shan shn Default
Sinhala si Default
Slovak sk Rule L 1
2..4
other
1
2, 3, 4
0, 5, 6...
Slovenian sl Rule Na n mod 100 is 1
n mod 100 is 2
n mod 100 in 3-4
other
n is 0
1, 101, 201, 301, 402..
2, 102, 202, 302, 402..
3-4, 103-104, 203-204..
5-100, 105-200..
0
Lower Silesian sli Default
Selayar sly Default
Samoan sm Default
Southern Sami sma has-dual 1
2
other
1
2
0, 3, 4..
Shona sn Default
Somali so Default
Albanian sq Default
Serbian sr Rule K n mod 10 is 1 and n mod 100 is not 11
n mod 10 in 2..4 and n mod 100 not in 12..14
n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14
1, 21, 31, 41, 51, 61...
2-4, 22-24, 32-34...
0, 5-20, 25-30, 35-40..
 
1
Sranan Tongo srn Default
Swati ss Default
Southern Sotho st Default
Saterland Frisian stq Default
Sundanese su Default
Swedish sv Default
Swahili sw Default
Comorian swb Default
Säggssch sxu Default
Silesian szl Default
Tamil ta Default
Tulu tcy Default
Telugu te Default
Tetum tet Default
Tajik tg default Default
Thai th Default
Tigrinya ti one-zero <=1
other
0, 1
2, 3...
Turkmen tk Default
Tsakhur tkr Default
Tagalog tl one-zero <=1
other
0, 1
2, 3...
Talysh tly Default
Tswana tn Default
Tongan to Default
Tok Pisin tpi Default
Turkish tr default Default
Kokborok (Tripuri) trp Default
Turoyo tru Default
Tsonga ts Default
Tsakonian tsd Default
Tatar tt Default
Muslim Tat ttt Default
Tumbuka tum Default
Twi tw Default
Tweants twd Default
Tahitian ty Default
Tuvinian tyv default Default
Central Atlas Tamazight tzm Default
Udmurt udm Default
Uyghur ug Default
Ukrainian uk Rule K n mod 10 is 1 and n mod 100 is not 11
n mod 10 in 2..4 and n mod 100 not in 12..14
n mod 10 is 0 or n mod 10 in 5..9 or n mod 100 in 11..14
1, 21, 31, 41, 51, 61...
2-4, 22-24, 32-34...
0, 5-20, 25-30, 35-40..
 
1
Urdu ur Default
Uzbek uz Default
Venda ve Default
Venetian vec Default
Veps vep Default
Vietnamese vi Default
West Flemish vls Default
Main-Franconian vmf Default
Volapük vo Default
Votic vot Default
Võro vro Default
Walloon wa one-zero <=1
other
0, 1
2, 3...
Waray war Default
Faka'uvea wls Default
Wolof wo Default
Wu Chinese wuu Default
Kalmyk xal Default
Xhosa xh Default
Mingrelian xmf Default
Eastern Yiddish ydd Default
Yiddish yi Default
Yoruba yo Default
Ненэцяʼ вада yrk Default
Nheengatu yrl Default
Maaya T'aan yua Default
Cantonese yue default Default
Zhuang za Default
Zeelandic zea Default
Chinese zh default Default
Zulu zu Default
  • Note 1: An alternative ruleset has been defined for this language, with 2 forms; n is 1 and n is not 1.