Language Plurals
Revision as of 13:50, 9 January 2026 by Damekyung98 (talk | contribs)
To maintain consistency during the migration/integration process, we strictly adhere to the Zanata language code format.
In all cases, Zanata's plural forms are prioritized.
- Langauge code format: Zanata Language Codes.
- Plurals: If Weblate’s plural rules differ from Zanata’s, the Zanata rule must be applied to ensure compatibility with existing localized resources. Specifically, plurals should be enclosed in () as per the Zanata format.
- Note: The presence or absence of parentheses () is not considered when determining plural identity.
| Language Code (Zanata) | Language Name | Plurals (Zanata) | Language Code (Weblate) | Plurals (Weblate) | Different? | Note |
|---|---|---|---|---|---|---|
| sq | Albanian | nplurals=2; plural=(n != 1) | sq | nplurals=2; plural=n != 1; | No | |
| ar | Arabic | nplurals=6; plural= n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5; | ar | nplurals=6; plural= n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5; | No | |
| as | Assamese | nplurals=2; plural=(n != 1) | as | nplurals=2; plural=n > 1; | Yes | |
| bn-IN | Bengali (India) | nplurals=2; plural=(n != 1) | bn_IN | nplurals=2; plural=n > 1; | Yes | |
| brx | Bodo | nplurals=2; plural=(n != 1) | brx | nplurals=2; plural=n != 1; | No | |
| bg-BG | Bulgarian (Bulgaria) | nplurals=2; plural=(n != 1) | bg | nplurals=2; plural=n != 1; | No | |
| ca | Catalan | nplurals=2; plural=(n != 1) | ca | nplurals=2; plural=n != 1; | No | |
| zh-CN | Chinese (China) | nplurals=1; plural=0 | zh_Hans | nplurals=1; plural=0; | No | |
| zh-TW | Chinese (Taiwan) | nplurals=1; plural=0 | zh_Hant | nplurals=1; plural=0; | No | |
| cs | Czech | nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2 | cs | nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; | No | |
| nl-NL | Dutch (Netherlands) | nplurals=2; plural=(n != 1) | nl | nplurals=2; plural=n != 1; | No | |
| en-AU | English (Australia) | nplurals=2; plural=(n != 1) | en_AU | nplurals=2; plural=n != 1; | No | |
| en-GB | English (United Kingdom) | nplurals=2; plural=(n != 1) | en_GB | nplurals=2; plural=n != 1; | No | |
| en-US | English (United States) | nplurals=2; plural=(n != 1) | en_US | nplurals=2; plural=n != 1; | No | |
| eo | Esperanto | nplurals=2; plural=(n != 1) | eo | nplurals=2; plural=n != 1; | No | |
| fil | Filipino | nplurals=2; plural=n > 1 | fil | nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 || n % 10 == 6 || n % 10 == 9); | Yes | |
| fi-FI | Finnish (Finland) | nplurals=2; plural=(n != 1) | fi | nplurals=2; plural=n != 1; | No | |
| fr | French | nplurals=2; plural=(n > 1) | fr | nplurals=2; plural=n > 1; | No | |
| ka-GE | Georgian (Georgia) | nplurals=1; plural=0 | ka | nplurals=2; plural=n != 1; | Yes | |
| de | German | nplurals=2; plural=(n != 1) | de | nplurals=2; plural=n != 1; | No | |
| el | Greek | nplurals=2; plural=(n != 1) | el | nplurals=2; plural=n != 1; | No | |
| gu | Gujarati | nplurals=2; plural=(n != 1) | gu | nplurals=2; plural=n > 1; | Yes | |
| he | Hebrew | nplurals=2; plural=(n != 1) | he | nplurals=4; plural= (n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && n % 10 == 0) ? 2 : 3)); | Yes | |
| hi | Hindi | nplurals=2; plural=(n != 1) | hi | nplurals=2; plural=n > 1; | Yes | |
| hu | Hungarian | nplurals=2; plural=(n != 1) | hu | nplurals=2; plural=n != 1; | No | |
| id | Indonesian | nplurals=1; plural=0 | id | nplurals=1; plural=0; | No | |
| it | Italian | nplurals=2; plural=(n != 1) | it | nplurals=2; plural=n != 1; | No | |
| ja | Japanese | nplurals=1; plural=0 | ja | nplurals=1; plural=0; | No | |
| kn | Kannada | nplurals=2; plural=(n!=1) | kn | nplurals=2; plural=n > 1; | Yes | |
| ks | Kashmiri | nplurals=2; plural=(n != 1) | ks | nplurals=2; plural=n != 1; | No | |
| kok | Konkani | nplurals=2; plural=(n != 1) | kok | nplurals=2; plural=n != 1; | No | |
| ko-KR | Korean (South Korea) | nplurals=1; plural=0 | ko | nplurals=1; plural=0; | No | |
| lo | Lao | nplurals=1; plural=0 | lo | nplurals=1; plural=0; | No | |
| mai | Maithili | nplurals=2; plural=(n != 1) | mai | nplurals=2; plural=n != 1; | No | |
| mni | Manipuri | nplurals=2; plural=(n != 1) | mni | nplurals=2; plural=n != 1; | No | |
| mr | Marathi | nplurals=2; plural=(n != 1) | mr | nplurals=2; plural=n != 1; | No | |
| ne | Nepali | nplurals=2; plural=(n != 1) | ne | nplurals=2; plural=n != 1; | No | |
| fa | Persian | nplurals=1; plural=0 | fa | nplurals=2; plural=n > 1; | Yes | |
| pl-PL | Polish (Poland) | nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) | pl | nplurals=3; plural= n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; | No | |
| pt | Portuguese | nplurals=2; plural=(n != 1) | pt | nplurals=2; plural=n > 1; | Yes | |
| pt-BR | Portuguese (Brazil) | nplurals=2; plural=(n > 1) | pt_BR | nplurals=2; plural=n > 1; | No | |
| pa-IN | Punjabi (India) | nplurals=2; plural=(n != 1) | pa | nplurals=2; plural=n > 1; | Yes | |
| Ro | Romanian | nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2); | ro | nplurals=3; plural= n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2; | Yes | The language code format differs from the standard convention. |
| ru | Russian | nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) | ru | nplurals=3; plural= n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; | No | |
| sr | Serbian | nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) | sr | nplurals=3; plural= n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; | No | |
| sl-SI | Slovenian (Slovenia) | nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0) | sl | nplurals=4; plural= n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3; | Yes | |
| es | Spanish | nplurals=2; plural=(n != 1) | es | nplurals=2; plural=n != 1; | No | |
| es-MX | Spanish (Mexico) | nplurals=2; plural=(n != 1) | es_MX | nplurals=2; plural=n != 1; | No | |
| ta | Tamil | nplurals=2; plural=(n != 1) | ta | nplurals=2; plural=n != 1; | No | |
| te-IN | Telugu (India) | nplurals=2; plural=(n != 1) | te | nplurals=2; plural=n != 1; | No | |
| Th | Thai | nplurals=1; plural=0 | th | nplurals=1; plural=0; | No | Identical plural logic, but an alternative code 'Th' also exists. |
| tr-TR | Turkish (Turkey) | nplurals=2; plural=(n>1) | tr | nplurals=2; plural=n != 1; | Yes | |
| ur | Urdu | nplurals=2; plural=(n != 1) | ur | nplurals=2; plural=n != 1; | No | |
| vi-VN | Vietnamese (Vietnam) | nplurals=1; plural=0 | vi | nplurals=1; plural=0; | No |