| 100 | # Languages plural forms |
| 101 | # From http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms |
| 102 | LANGUAGES_PLURAL = { |
| 103 | # Only one form |
| 104 | 'ja': 'nplurals=1; plural=0;', |
| 105 | 'ko': 'nplurals=1; plural=0;', |
| 106 | # Two forms, singular used for one only |
| 107 | 'da': 'nplurals=2; plural=n != 1;', |
| 108 | 'de': 'nplurals=2; plural=n != 1;', |
| 109 | 'en': 'nplurals=2; plural=n != 1;', |
| 110 | 'es': 'nplurals=2; plural=n != 1;', |
| 111 | 'es-ar': 'nplurals=2; plural=n != 1;', |
| 112 | 'et': 'nplurals=2; plural=n != 1;', |
| 113 | 'fi': 'nplurals=2; plural=n != 1;', |
| 114 | 'gr': 'nplurals=2; plural=n != 1;', |
| 115 | 'he': 'nplurals=2; plural=n != 1;', |
| 116 | 'hu': 'nplurals=2; plural=n != 1;', |
| 117 | 'it': 'nplurals=2; plural=n != 1;', |
| 118 | 'nl': 'nplurals=2; plural=n != 1;', |
| 119 | 'no': 'nplurals=2; plural=n != 1;', |
| 120 | 'pt': 'nplurals=2; plural=n != 1;', |
| 121 | 'sv': 'nplurals=2; plural=n != 1;', |
| 122 | # Two forms, singular used for zero and one |
| 123 | 'fr': 'nplurals=2; plural=n>1;', |
| 124 | 'pt-br': 'nplurals=2; plural=n>1;', |
| 125 | # Three forms, special case for zero |
| 126 | 'lv': 'nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;', |
| 127 | # Three forms, special cases for one and two |
| 128 | 'ga': 'nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;', |
| 129 | # Three forms, special case for numbers ending in 00 or [2-9][0-9] |
| 130 | 'ro': 'nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2;', |
| 131 | # Three forms, special case for numbers ending in 1[2-9] |
| 132 | 'lt': 'nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;', |
| 133 | # Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4] |
| 134 | 'hr': 'nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;', |
| 135 | '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;', |
| 136 | '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;', |
| 137 | 'uk': 'nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;', |
| 138 | # Three forms, special cases for 1 and 2, 3, 4 |
| 139 | 'cs': 'nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;', |
| 140 | 'sk': 'nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;', |
| 141 | # Three forms, special case for one and some numbers ending in 2, 3, or 4 |
| 142 | 'pl': 'nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;', |
| 143 | # Four forms, special case for one and all numbers ending in 02, 03, or 04 |
| 144 | 'sl': 'nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;', |
| 145 | } |
| 146 | |