Skip to content

Commit 1dae454

Browse files
committed
Make gettextPlurals a constant
1 parent 9cb65e0 commit 1dae454

File tree

2 files changed

+120
-121
lines changed

2 files changed

+120
-121
lines changed

genplurals.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,8 @@ def handle_entityref(self, name):
110110
rules.sort(key = lambda rule: (str(rule[1][0][2]) + rule[0]))
111111

112112
print('// Do not edit this file, it is autogenerated using genplurals.py!');
113-
print('angular.module("gettext").factory("gettextPlurals", function () {');
114-
print(' return function (langCode, n) {')
115-
print(' switch (langCode) {')
113+
print('angular.module("gettext").constant("gettextPlurals", function (langCode, n) {');
114+
print(' switch (langCode) {')
116115
for rule, langs in rules:
117116
last_forms = 0
118117
langs.sort(key = lambda lang: lang[0])
@@ -121,14 +120,13 @@ def handle_entityref(self, name):
121120
space = ' '
122121
if len(code) == 3:
123122
space = ' '
124-
print(' case "%s":%s// %s' % (code, space, name))
123+
print(' case "%s":%s// %s' % (code, space, name))
125124
if last_forms == 1:
126-
print(' // %d form' % last_forms)
125+
print(' // %d form' % last_forms)
127126
else:
128-
print(' // %d forms' % last_forms)
129-
print(' return %s;' % rule)
130-
print(' default: // Everything else')
131-
print(' return n != 1 ? 1 : 0;')
132-
print(' }')
127+
print(' // %d forms' % last_forms)
128+
print(' return %s;' % rule)
129+
print(' default: // Everything else')
130+
print(' return n != 1 ? 1 : 0;')
133131
print(' }')
134132
print('});')

src/plural.js

Lines changed: 112 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,114 +1,115 @@
11
// Do not edit this file, it is autogenerated using genplurals.py!
2-
angular.module("gettext").factory("gettextPlurals", function () {
3-
return function (langCode, n) {
4-
switch (langCode) {
5-
case "ay": // Aymará
6-
case "bo": // Tibetan
7-
case "cgg": // Chiga
8-
case "dz": // Dzongkha
9-
case "fa": // Persian
10-
case "id": // Indonesian
11-
case "ja": // Japanese
12-
case "jbo": // Lojban
13-
case "ka": // Georgian
14-
case "kk": // Kazakh
15-
case "km": // Khmer
16-
case "ko": // Korean
17-
case "ky": // Kyrgyz
18-
case "lo": // Lao
19-
case "ms": // Malay
20-
case "my": // Burmese
21-
case "sah": // Yakut
22-
case "su": // Sundanese
23-
case "th": // Thai
24-
case "tt": // Tatar
25-
case "ug": // Uyghur
26-
case "vi": // Vietnamese
27-
case "wo": // Wolof
28-
case "zh": // Chinese
29-
// 1 form
30-
return 0;
31-
case "is": // Icelandic
32-
// 2 forms
33-
return (n%10!=1 || n%100==11) ? 1 : 0;
34-
case "jv": // Javanese
35-
// 2 forms
36-
return n!=0 ? 1 : 0;
37-
case "mk": // Macedonian
38-
// 2 forms
39-
return n==1 || n%10==1 ? 0 : 1;
40-
case "ach": // Acholi
41-
case "ak": // Akan
42-
case "am": // Amharic
43-
case "arn": // Mapudungun
44-
case "br": // Breton
45-
case "fil": // Filipino
46-
case "fr": // French
47-
case "gun": // Gun
48-
case "ln": // Lingala
49-
case "mfe": // Mauritian Creole
50-
case "mg": // Malagasy
51-
case "mi": // Maori
52-
case "oc": // Occitan
53-
case "pt_BR": // Brazilian Portuguese
54-
case "tg": // Tajik
55-
case "ti": // Tigrinya
56-
case "tr": // Turkish
57-
case "uz": // Uzbek
58-
case "wa": // Walloon
59-
case "zh": // Chinese
60-
// 2 forms
61-
return n>1 ? 1 : 0;
62-
case "lv": // Latvian
63-
// 3 forms
64-
return (n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);
65-
case "lt": // Lithuanian
66-
// 3 forms
67-
return (n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);
68-
case "be": // Belarusian
69-
case "bs": // Bosnian
70-
case "hr": // Croatian
71-
case "ru": // Russian
72-
case "sr": // Serbian
73-
case "uk": // Ukrainian
74-
// 3 forms
75-
return (n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
76-
case "mnk": // Mandinka
77-
// 3 forms
78-
return (n==0 ? 0 : n==1 ? 1 : 2);
79-
case "ro": // Romanian
80-
// 3 forms
81-
return (n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2);
82-
case "pl": // Polish
83-
// 3 forms
84-
return (n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
85-
case "cs": // Czech
86-
case "sk": // Slovak
87-
// 3 forms
88-
return (n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;
89-
case "sl": // Slovenian
90-
// 4 forms
91-
return (n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);
92-
case "mt": // Maltese
93-
// 4 forms
94-
return (n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);
95-
case "gd": // Scottish Gaelic
96-
// 4 forms
97-
return (n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;
98-
case "cy": // Welsh
99-
// 4 forms
100-
return (n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;
101-
case "kw": // Cornish
102-
// 4 forms
103-
return (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : 3;
104-
case "ga": // Irish
105-
// 5 forms
106-
return n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4;
107-
case "ar": // Arabic
108-
// 6 forms
109-
return (n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5);
110-
default: // Everything else
111-
return n != 1 ? 1 : 0;
112-
}
2+
angular.module("gettext").constant("gettextPlurals", function (langCode, n) {
3+
switch (langCode) {
4+
case "ay": // Aymará
5+
case "bo": // Tibetan
6+
case "cgg": // Chiga
7+
case "dz": // Dzongkha
8+
case "fa": // Persian
9+
case "id": // Indonesian
10+
case "ja": // Japanese
11+
case "jbo": // Lojban
12+
case "ka": // Georgian
13+
case "kk": // Kazakh
14+
case "km": // Khmer
15+
case "ko": // Korean
16+
case "ky": // Kyrgyz
17+
case "lo": // Lao
18+
case "ms": // Malay
19+
case "my": // Burmese
20+
case "sah": // Yakut
21+
case "su": // Sundanese
22+
case "th": // Thai
23+
case "tt": // Tatar
24+
case "ug": // Uyghur
25+
case "vi": // Vietnamese
26+
case "wo": // Wolof
27+
case "zh": // Chinese
28+
// 1 form
29+
return 0;
30+
case "is": // Icelandic
31+
// 2 forms
32+
return (n%10!=1 || n%100==11) ? 1 : 0;
33+
case "jv": // Javanese
34+
// 2 forms
35+
return n!=0 ? 1 : 0;
36+
case "mk": // Macedonian
37+
// 2 forms
38+
return n==1 || n%10==1 ? 0 : 1;
39+
case "ach": // Acholi
40+
case "ak": // Akan
41+
case "am": // Amharic
42+
case "arn": // Mapudungun
43+
case "br": // Breton
44+
case "fil": // Filipino
45+
case "fr": // French
46+
case "gun": // Gun
47+
case "ln": // Lingala
48+
case "mfe": // Mauritian Creole
49+
case "mg": // Malagasy
50+
case "mi": // Maori
51+
case "oc": // Occitan
52+
case "pt_BR": // Brazilian Portuguese
53+
case "tg": // Tajik
54+
case "ti": // Tigrinya
55+
case "tr": // Turkish
56+
case "uz": // Uzbek
57+
case "wa": // Walloon
58+
case "zh": // Chinese
59+
// 2 forms
60+
return n>1 ? 1 : 0;
61+
case "lv": // Latvian
62+
// 3 forms
63+
return (n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);
64+
case "lt": // Lithuanian
65+
// 3 forms
66+
return (n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);
67+
case "be": // Belarusian
68+
case "bs": // Bosnian
69+
case "hr": // Croatian
70+
case "ru": // Russian
71+
case "sr": // Serbian
72+
case "uk": // Ukrainian
73+
// 3 forms
74+
return (n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
75+
case "mnk": // Mandinka
76+
// 3 forms
77+
return (n==0 ? 0 : n==1 ? 1 : 2);
78+
case "ro": // Romanian
79+
// 3 forms
80+
return (n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2);
81+
case "pl": // Polish
82+
// 3 forms
83+
return (n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
84+
case "cs": // Czech
85+
case "sk": // Slovak
86+
// 3 forms
87+
return (n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;
88+
case "csb": // Kashubian
89+
// 3 forms
90+
return (n==1) ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
91+
case "sl": // Slovenian
92+
// 4 forms
93+
return (n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);
94+
case "mt": // Maltese
95+
// 4 forms
96+
return (n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);
97+
case "gd": // Scottish Gaelic
98+
// 4 forms
99+
return (n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3;
100+
case "cy": // Welsh
101+
// 4 forms
102+
return (n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;
103+
case "kw": // Cornish
104+
// 4 forms
105+
return (n==1) ? 0 : (n==2) ? 1 : (n == 3) ? 2 : 3;
106+
case "ga": // Irish
107+
// 5 forms
108+
return (n==1) ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4;
109+
case "ar": // Arabic
110+
// 6 forms
111+
return (n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5);
112+
default: // Everything else
113+
return n != 1 ? 1 : 0;
113114
}
114115
});

0 commit comments

Comments
 (0)