263
|
1 # -*- coding: utf-8 -*-
|
|
2 #
|
|
3 # Copyright (C) 2007 Edgewall Software
|
|
4 # All rights reserved.
|
|
5 #
|
|
6 # This software is licensed as described in the file COPYING, which
|
|
7 # you should have received as part of this distribution. The terms
|
|
8 # are also available at http://babel.edgewall.org/wiki/License.
|
|
9 #
|
|
10 # This software consists of voluntary contributions made by many
|
|
11 # individuals. For the exact contribution history, see the revision
|
|
12 # history and logs, available at http://babel.edgewall.org/log/.
|
|
13
|
|
14 """Plural form definitions."""
|
|
15
|
|
16 PLURALS = {
|
|
17 # Afrikaans - From Pootle's PO's
|
|
18 'af': (2, '(n != 1)'),
|
|
19 # Arabic - From Pootle's PO's
|
|
20 'ar': (6, '(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n>=3 && n<=10 ? 3 : n>=11 && n<=99 ? 4 : 5)'),
|
|
21 # Bulgarian - From Pootle's PO's
|
|
22 'bg': (2, '(n != 1)'),
|
|
23 # Bengali - From Pootle's PO's
|
|
24 'bn': (2, '(n != 1)'),
|
302
|
25 # Tibetan - as discussed in private with Andrew West
|
|
26 'bo': (1, '0'),
|
263
|
27 # Catalan - From Pootle's PO's
|
|
28 'ca': (2, '(n != 1)'),
|
|
29 # Czech
|
|
30 'cs': (3, '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)'),
|
|
31 # Danish
|
|
32 'da': (2, '(n != 1)'),
|
|
33 # German
|
|
34 'de': (2, '(n != 1)'),
|
|
35 # Greek
|
|
36 'el': (2, '(n != 1)'),
|
|
37 # English
|
|
38 'en': (2, '(n != 1)'),
|
|
39 # Esperanto
|
|
40 'eo': (2, '(n != 1)'),
|
|
41 # Spanish
|
|
42 'es': (2, '(n != 1)'),
|
|
43 # Estonian
|
|
44 'et': (2, '(n != 1)'),
|
|
45 # Basque - From Pootle's PO's
|
|
46 'eu': (2, '(n != 1)'),
|
|
47 # Persian - From Pootle's PO's
|
|
48 'fa': (1, '0'),
|
|
49 # Finnish
|
|
50 'fi': (2, '(n != 1)'),
|
|
51 # French
|
|
52 'fr': (2, '(n > 1)'),
|
302
|
53 # Friulian - From Pootle's PO's
|
263
|
54 'fur': (2, '(n > 1)'),
|
|
55 # Irish
|
|
56 'ga': (3, 'n==1 ? 0 : n==2 ? 1 : 2'),
|
302
|
57 # Galician - From Pootle's PO's
|
263
|
58 'gl': (2, '(n != 1)'),
|
|
59 # Hausa - From Pootle's PO's
|
|
60 'ha': (2, '(n != 1)'),
|
|
61 # Hebrew
|
|
62 'he': (2, '(n != 1)'),
|
|
63 # Hindi - From Pootle's PO's
|
|
64 'hi': (2, '(n != 1)'),
|
|
65 # Croatian
|
|
66 'hr': (3, '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)'),
|
|
67 # Hungarian
|
|
68 'hu': (1, '0'),
|
|
69 # Armenian - From Pootle's PO's
|
|
70 'hy': (1, '0'),
|
|
71 # Icelandic - From Pootle's PO's
|
|
72 'is': (2, '(n != 1)'),
|
|
73 # Italian
|
|
74 'it': (2, '(n != 1)'),
|
|
75 # Japanese
|
|
76 'ja': (1, '0'),
|
|
77 # Georgian - From Pootle's PO's
|
|
78 'ka': (1, '0'),
|
|
79 # Kongo - From Pootle's PO's
|
|
80 'kg': (2, '(n != 1)'),
|
|
81 # Khmer - From Pootle's PO's
|
|
82 'km': (1, '0'),
|
|
83 # Korean
|
|
84 'ko': (1, '0'),
|
302
|
85 # Kurdish - From Pootle's PO's
|
263
|
86 'ku': (2, '(n != 1)'),
|
|
87 # Lithuanian
|
|
88 'lt': (3, '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)'),
|
|
89 # Latvian
|
|
90 'lv': (3, '(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)'),
|
|
91 # Maltese - From Pootle's PO's
|
|
92 'mt': (4, '(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3)'),
|
302
|
93 # Norwegian Bokmål
|
263
|
94 'nb': (2, '(n != 1)'),
|
|
95 # Dutch
|
|
96 'nl': (2, '(n != 1)'),
|
|
97 # Norwegian Nynorsk
|
|
98 'nn': (2, '(n != 1)'),
|
|
99 # Norwegian
|
|
100 'no': (2, '(n != 1)'),
|
|
101 # Punjabi - From Pootle's PO's
|
|
102 'pa': (2, '(n != 1)'),
|
|
103 # Polish
|
|
104 'pl': (3, '(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)'),
|
|
105 # Portuguese
|
|
106 'pt': (2, '(n != 1)'),
|
|
107 # Brazilian
|
|
108 'pt_BR': (2, '(n > 1)'),
|
|
109 # Romanian - From Pootle's PO's
|
|
110 'ro': (3, '(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2)'),
|
|
111 # Russian
|
|
112 'ru': (3, '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)'),
|
|
113 # Slovak
|
|
114 'sk': (3, '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)'),
|
|
115 # Slovenian
|
|
116 'sl': (4, '(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)'),
|
|
117 # Serbian - From Pootle's PO's
|
|
118 'sr': (3, '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10< =4 && (n%100<10 || n%100>=20) ? 1 : 2)'),
|
302
|
119 # Southern Sotho - From Pootle's PO's
|
263
|
120 'st': (2, '(n != 1)'),
|
|
121 # Swedish
|
|
122 'sv': (2, '(n != 1)'),
|
302
|
123 # Thai
|
|
124 'th': (1, '0'),
|
263
|
125 # Turkish
|
|
126 'tr': (1, '0'),
|
|
127 # Ukrainian
|
|
128 'uk': (3, '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)'),
|
|
129 # Venda - From Pootle's PO's
|
|
130 've': (2, '(n != 1)'),
|
|
131 # Vietnamese - From Pootle's PO's
|
|
132 'vi': (1, '0'),
|
|
133 # Xhosa - From Pootle's PO's
|
|
134 'xh': (2, '(n != 1)'),
|
|
135 # Chinese - From Pootle's PO's
|
|
136 'zh_CN': (1, '0'),
|
|
137 'zh_HK': (1, '0'),
|
|
138 'zh_TW': (1, '0'),
|
|
139 }
|