Add match_language function in utils to match any user given language code with a list of engine's supported languages. Also add language_aliases dict on each engine to translate standard language codes into the custom codes used by the engine.
|
||
20 | 20 |
|
21 | 21 |
|
22 | 22 |
|
23 |
|
|
23 | 24 |
|
24 | 25 |
|
25 | 26 |
|
26 | 27 |
|
27 | 28 |
|
28 | 29 |
|
29 |
|
|
30 |
|
|
30 | 31 |
|
31 | 32 |
|
32 | 33 |
|
|
||
38 | 39 |
|
39 | 40 |
|
40 | 41 |
|
42 |
|
|
43 |
|
|
41 | 44 |
|
42 | 45 |
|
43 | 46 |
|
|
||
97 | 100 |
|
98 | 101 |
|
99 | 102 |
|
103 |
|
|
104 |
|
|
105 |
|
|
106 |
|
|
107 |
|
|
108 |
|
|
109 |
|
|
110 |
|
|
111 |
|
|
112 |
|
|
113 |
|
|
114 |
|
|
115 |
|
|
116 |
|
|
117 |
|
|
118 |
|
|
100 | 119 |
|
101 | 120 |
|
102 | 121 |
|
|
||
99 | 99 |
|
100 | 100 |
|
101 | 101 |
|
102 |
|
|
102 |
|
|
103 | 103 |
|
104 | 104 |
|
105 | 105 |
|
106 | 106 |
|
107 | 107 |
|
108 |
|
|
108 |
|
|
109 | 109 |
|
110 | 110 |
|
111 | 111 |
|
|
||
16 | 16 |
|
17 | 17 |
|
18 | 18 |
|
19 |
|
|
19 | 20 |
|
20 | 21 |
|
21 | 22 |
|
22 | 23 |
|
23 | 24 |
|
24 | 25 |
|
26 |
|
|
25 | 27 |
|
26 | 28 |
|
27 | 29 |
|
|
||
32 | 34 |
|
33 | 35 |
|
34 | 36 |
|
35 |
|
|
37 |
|
|
36 | 38 |
|
37 |
|
|
39 |
|
|
38 | 40 |
|
39 | 41 |
|
40 | 42 |
|
|
||
19 | 19 |
|
20 | 20 |
|
21 | 21 |
|
22 |
|
|
22 | 23 |
|
23 | 24 |
|
24 | 25 |
|
|
||
46 | 47 |
|
47 | 48 |
|
48 | 49 |
|
49 |
|
|
50 |
|
|
51 |
|
|
52 |
|
|
53 |
|
|
54 |
|
|
55 |
|
|
56 |
|
|
57 |
|
|
58 |
|
|
59 |
|
|
60 |
|
|
61 |
|
|
62 |
|
|
63 |
|
|
64 |
|
|
65 |
|
|
66 |
|
|
67 |
|
|
68 |
|
|
69 | 50 |
|
70 | 51 |
|
71 | 52 |
|
|
||
74 | 55 |
|
75 | 56 |
|
76 | 57 |
|
77 |
|
|
58 |
|
|
78 | 59 |
|
79 | 60 |
|
80 | 61 |
|
|
||
14 | 14 |
|
15 | 15 |
|
16 | 16 |
|
17 |
|
|
18 |
|
|
17 |
|
|
18 |
|
|
19 | 19 |
|
20 | 20 |
|
21 | 21 |
|
|
||
71 | 71 |
|
72 | 72 |
|
73 | 73 |
|
74 |
|
|
74 |
|
|
75 | 75 |
|
76 | 76 |
|
77 | 77 |
|
|
||
12 | 12 |
|
13 | 13 |
|
14 | 14 |
|
15 |
|
|
15 |
|
|
16 | 16 |
|
17 | 17 |
|
18 |
|
|
18 | 19 |
|
19 | 20 |
|
20 | 21 |
|
|
||
47 | 48 |
|
48 | 49 |
|
49 | 50 |
|
50 |
|
|
51 |
|
|
51 |
|
|
52 |
|
|
52 | 53 |
|
53 | 54 |
|
54 | 55 |
|
|
||
15 | 15 |
|
16 | 16 |
|
17 | 17 |
|
18 |
|
|
18 | 19 |
|
19 | 20 |
|
20 | 21 |
|
|
||
32 | 33 |
|
33 | 34 |
|
34 | 35 |
|
35 |
|
|
36 |
|
|
36 | 37 |
|
37 | 38 |
|
38 | 39 |
|
|
||
18 | 18 |
|
19 | 19 |
|
20 | 20 |
|
21 |
|
|
21 | 22 |
|
22 | 23 |
|
23 | 24 |
|
|
||
26 | 27 |
|
27 | 28 |
|
28 | 29 |
|
30 |
|
|
31 |
|
|
32 |
|
|
33 |
|
|
34 |
|
|
35 |
|
|
36 |
|
|
37 |
|
|
38 |
|
|
39 |
|
|
29 | 40 |
|
30 | 41 |
|
31 | 42 |
|
|
||
42 | 53 |
|
43 | 54 |
|
44 | 55 |
|
45 |
|
|
46 |
|
|
47 |
|
|
48 |
|
|
49 |
|
|
50 |
|
|
51 |
|
|
52 |
|
|
53 |
|
|
54 |
|
|
55 |
|
|
56 |
|
|
57 |
|
|
58 |
|
|
59 |
|
|
60 |
|
|
61 |
|
|
62 |
|
|
63 |
|
|
64 |
|
|
65 |
|
|
66 |
|
|
67 |
|
|
68 |
|
|
69 |
|
|
70 |
|
|
71 |
|
|
72 |
|
|
56 |
|
|
57 |
|
|
58 |
|
|
59 |
|
|
60 |
|
|
61 |
|
|
73 | 62 |
|
74 | 63 |
|
75 | 64 |
|
|
||
79 | 68 |
|
80 | 69 |
|
81 | 70 |
|
82 |
|
|
71 |
|
|
83 | 72 |
|
84 | 73 |
|
85 | 74 |
|
|
||
2 | 2 |
|
3 | 3 |
|
4 | 4 |
|
5 |
|
|
5 |
|
|
6 | 6 |
|
7 |
|
|
7 |
|
|
8 | 8 |
|
9 | 9 |
|
10 | 10 |
|
|
||
24 | 24 |
|
25 | 25 |
|
26 | 26 |
|
27 |
|
|
27 |
|
|
28 |
|
|
28 | 29 |
|
29 | 30 |
|
30 | 31 |
|
|
||
15 | 15 |
|
16 | 16 |
|
17 | 17 |
|
18 |
|
|
18 |
|
|
19 |
|
|
20 |
|
|
21 |
|
|
19 | 22 |
|
20 | 23 |
|
21 | 24 |
|
|
||
14 | 14 |
|
15 | 15 |
|
16 | 16 |
|
17 |
|
|
17 | 18 |
|
18 | 19 |
|
19 | 20 |
|
|
||
165 | 166 |
|
166 | 167 |
|
167 | 168 |
|
169 |
|
|
170 |
|
|
171 |
|
|
172 |
|
|
173 |
|
|
174 |
|
|
175 |
|
|
176 |
|
|
177 |
|
|
168 | 178 |
|
169 |
|
|
170 |
|
|
179 |
|
|
180 |
|
|
171 | 181 |
|
172 |
|
|
173 |
|
|
174 |
|
|
175 |
|
|
176 |
|
|
177 |
|
|
178 |
|
|
179 |
|
|
180 |
|
|
181 |
|
|
182 |
|
|
183 |
|
|
182 |
|
|
184 | 183 |
|
185 | 184 |
|
186 | 185 |
|
|
||
196 | 195 |
|
197 | 196 |
|
198 | 197 |
|
199 |
|
|
198 |
|
|
200 | 199 |
|
201 | 200 |
|
202 | 201 |
|
|
||
13 | 13 |
|
14 | 14 |
|
15 | 15 |
|
16 |
|
|
16 | 17 |
|
17 | 18 |
|
18 | 19 |
|
|
||
50 | 51 |
|
51 | 52 |
|
52 | 53 |
|
53 |
|
|
54 |
|
|
54 |
|
|
55 |
|
|
56 |
|
|
55 | 57 |
|
56 | 58 |
|
57 | 59 |
|
|
||
14 | 14 |
|
15 | 15 |
|
16 | 16 |
|
17 |
|
|
17 | 18 |
|
18 | 19 |
|
19 | 20 |
|
|
||
45 | 46 |
|
46 | 47 |
|
47 | 48 |
|
48 |
|
|
49 |
|
|
50 |
|
|
51 |
|
|
52 |
|
|
53 |
|
|
54 |
|
|
55 |
|
|
56 |
|
|
57 |
|
|
49 |
|
|
50 |
|
|
58 | 51 |
|
59 | 52 |
|
60 | 53 |
|
|
||
14 | 14 |
|
15 | 15 |
|
16 | 16 |
|
17 |
|
|
17 | 18 |
|
18 | 19 |
|
19 | 20 |
|
|
||
35 | 36 |
|
36 | 37 |
|
37 | 38 |
|
38 |
|
|
39 |
|
|
40 |
|
|
41 |
|
|
42 |
|
|
39 |
|
|
40 |
|
|
43 | 41 |
|
44 | 42 |
|
45 | 43 |
|
|
||
16 | 16 |
|
17 | 17 |
|
18 | 18 |
|
19 |
|
|
19 | 20 |
|
20 | 21 |
|
21 | 22 |
|
|
||
56 | 57 |
|
57 | 58 |
|
58 | 59 |
|
59 |
|
|
60 |
|
|
60 | 61 |
|
61 | 62 |
|
62 | 63 |
|
|
||
68 | 69 |
|
69 | 70 |
|
70 | 71 |
|
71 |
|
|
72 |
|
|
72 | 73 |
|
73 | 74 |
|
74 | 75 |
|
|
||
13 | 13 |
|
14 | 14 |
|
15 | 15 |
|
16 |
|
|
16 | 17 |
|
17 | 18 |
|
18 | 19 |
|
|
||
30 | 31 |
|
31 | 32 |
|
32 | 33 |
|
33 |
|
|
34 |
|
|
35 |
|
|
36 |
|
|
37 |
|
|
38 |
|
|
39 |
|
|
34 |
|
|
40 | 35 |
|
41 | 36 |
|
42 | 37 |
|
|
||
14 | 14 |
|
15 | 15 |
|
16 | 16 |
|
17 |
|
|
17 | 18 |
|
18 | 19 |
|
19 | 20 |
|
|
||
39 | 40 |
|
40 | 41 |
|
41 | 42 |
|
43 |
|
|
44 |
|
|
42 | 45 |
|
43 | 46 |
|
44 | 47 |
|
|
||
70 | 73 |
|
71 | 74 |
|
72 | 75 |
|
73 |
|
|
74 |
|
|
75 |
|
|
76 |
|
|
77 |
|
|
78 |
|
|
79 |
|
|
80 |
|
|
81 |
|
|
82 |
|
|
83 | 76 |
|
84 | 77 |
|
85 | 78 |
|
86 | 79 |
|
87 | 80 |
|
88 | 81 |
|
89 |
|
|
82 |
|
|
83 |
|
|
84 |
|
|
85 |
|
|
90 | 86 |
|
91 | 87 |
|
92 | 88 |
|
|
||
145 | 141 |
|
146 | 142 |
|
147 | 143 |
|
148 |
|
|
144 |
|
|
145 |
|
|
146 |
|
|
147 |
|
|
148 |
|
|
149 | 149 |
|
150 | 150 |
|
151 | 151 |
|
|
||
13 | 13 |
|
14 | 14 |
|
15 | 15 |
|
16 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
17 | 19 |
|
18 | 20 |
|
21 |
|
|
19 | 22 |
|
20 | 23 |
|
21 | 24 |
|
|
||
38 | 41 |
|
39 | 42 |
|
40 | 43 |
|
41 |
|
|
44 |
|
|
42 | 45 |
|
43 | 46 |
|
44 | 47 |
|
|
||
115 | 115 |
|
116 | 116 |
|
117 | 117 |
|
118 |
|
|
119 |
|
|
120 |
|
|
121 |
|
|
122 | 118 |
|
123 | 119 |
|
124 | 120 |
|
|
||
96 | 96 |
|
97 | 97 |
|
98 | 98 |
|
99 |
|
|
100 |
|
|
101 |
|
|
99 |
|
|
100 |
|
|
101 |
|
|
102 |
|
|
103 |
|
|
104 |
|
|
105 |
|
|
102 | 106 |
|
103 | 107 |
|
104 | 108 |
|
|
||
187 | 187 |
|
188 | 188 |
|
189 | 189 |
|
190 |
|
|
190 |
|
|
191 | 191 |
|
192 | 192 |
|
193 | 193 |
|
|
||
197 | 197 |
|
198 | 198 |
|
199 | 199 |
|
200 |
|
|
200 |
|
|
201 | 201 |
|
202 | 202 |
|
203 | 203 |
|
|
||
4 | 4 |
|
5 | 5 |
|
6 | 6 |
|
7 |
|
|
7 | 8 |
|
8 | 9 |
|
9 | 10 |
|
|
||
12 | 13 |
|
13 | 14 |
|
14 | 15 |
|
16 |
|
|
15 | 17 |
|
16 | 18 |
|
17 | 19 |
|
|
||
322 | 324 |
|
323 | 325 |
|
324 | 326 |
|
327 |
|
|
328 |
|
|
329 |
|
|
330 |
|
|
331 |
|
|
332 |
|
|
333 |
|
|
334 |
|
|
335 |
|
|
336 |
|
|
337 |
|
|
338 |
|
|
339 |
|
|
340 |
|
|
341 |
|
|
342 |
|
|
343 |
|
|
344 |
|
|
345 |
|
|
346 |
|
|
347 |
|
|
348 |
|
|
349 |
|
|
350 |
|
|
351 |
|
|
352 |
|
|
353 |
|
|
354 |
|
|
355 |
|
|
356 |
|
|
357 |
|
|
358 |
|
|
359 |
|
|
360 |
|
|
361 |
|
|
362 |
|
|
363 |
|
|
364 |
|
|
365 |
|
|
366 |
|
|
367 |
|
|
368 |
|
|
369 |
|
|
370 |
|
|
371 |
|
|
372 |
|
|
373 |
|
|
374 |
|
|
375 |
|
|
376 |
|
|
377 |
|
|
378 |
|
|
379 |
|
|
380 |
|
|
381 |
|
|
382 |
|
|
383 |
|
|
384 |
|
|
385 |
|
|
325 | 386 |
|
326 | 387 |
|
327 | 388 |
|
|
||
58 | 58 |
|
59 | 59 |
|
60 | 60 |
|
61 |
|
|
61 |
|
|
62 | 62 |
|
63 | 63 |
|
64 |
|
|
64 |
|
|
65 | 65 |
|
66 | 66 |
|
67 | 67 |
|
68 | 68 |
|
69 | 69 |
|
70 |
|
|
70 |
|
|
71 | 71 |
|
72 | 72 |
|
73 | 73 |
|
|
||
133 | 133 |
|
134 | 134 |
|
135 | 135 |
|
136 |
|
|
136 |
|
|
137 | 137 |
|
138 | 138 |
|
139 | 139 |
|
|
||
352 | 352 |
|
353 | 353 |
|
354 | 354 |
|
355 |
|
|
355 |
|
|
356 | 356 |
|
357 |
|
|
357 |
|
|
358 |
|
|
359 |
|
|
358 | 360 |
|
359 | 361 |
|
360 | 362 |
|
|
||
590 | 592 |
|
591 | 593 |
|
592 | 594 |
|
593 |
|
|
595 |
|
|
596 |
|
|
597 |
|
|
594 | 598 |
|
595 | 599 |
|
596 | 600 |
|
|
||
687 | 691 |
|
688 | 692 |
|
689 | 693 |
|
694 |
|
|
695 |
|
|
696 |
|
|
697 |
|
|
690 | 698 |
|
691 | 699 |
|
692 | 700 |
|
|
||
19 | 19 |
|
20 | 20 |
|
21 | 21 |
|
22 |
|
|
22 |
|
|
23 | 23 |
|
24 | 24 |
|
25 | 25 |
|
26 | 26 |
|
27 | 27 |
|
28 |
|
|
29 |
|
|
30 |
|
|
31 |
|
|
32 |
|
|
28 | 33 |
|
29 | 34 |
|
30 | 35 |
|
|
||
7 | 7 |
|
8 | 8 |
|
9 | 9 |
|
10 |
|
|
10 | 11 |
|
11 | 12 |
|
12 | 13 |
|
|
||
9 | 9 |
|
10 | 10 |
|
11 | 11 |
|
12 |
|
|
13 | 12 |
|
14 | 13 |
|
15 | 14 |
|
|
||
8 | 8 |
|
9 | 9 |
|
10 | 10 |
|
11 |
|
|
11 | 12 |
|
12 | 13 |
|
13 | 14 |
|
14 |
|
|
15 |
|
|
15 | 16 |
|
16 | 17 |
|
17 | 18 |
|
|
||
9 | 9 |
|
10 | 10 |
|
11 | 11 |
|
12 |
|
|
13 | 12 |
|
14 | 13 |
|
15 | 14 |
|
|
||
8 | 8 |
|
9 | 9 |
|
10 | 10 |
|
11 |
|
|
11 | 12 |
|
12 | 13 |
|
13 | 14 |
|
14 |
|
|
15 |
|
|
15 | 16 |
|
16 | 17 |
|
17 | 18 |
|
|
||
1 | 1 |
|
2 | 2 |
|
3 | 3 |
|
4 |
|
|
4 |
|
|
5 | 5 |
|
6 | 6 |
|
7 | 7 |
|
8 | 8 |
|
9 | 9 |
|
10 | 10 |
|
11 |
|
|
12 |
|
|
11 | 13 |
|
12 | 14 |
|
13 | 15 |
|
14 |
|
|
15 | 16 |
|
17 |
|
|
18 |
|
|
16 | 19 |
|
17 | 20 |
|
18 | 21 |
|
|
||
20 | 23 |
|
21 | 24 |
|
22 | 25 |
|
23 |
|
|
26 |
|
|
27 |
|
|
28 |
|
|
29 |
|
|
30 |
|
|
24 | 31 |
|
25 | 32 |
|
26 | 33 |
|
27 | 34 |
|
28 | 35 |
|
29 |
|
|
30 |
|
|
36 |
|
|
31 | 37 |
|
32 |
|
|
38 |
|
|
33 | 39 |
|
34 | 40 |
|
35 | 41 |
|
|
||
18 | 18 |
|
19 | 19 |
|
20 | 20 |
|
21 |
|
|
21 | 22 |
|
22 | 23 |
|
23 | 24 |
|
|
||
9 | 9 |
|
10 | 10 |
|
11 | 11 |
|
12 |
|
|
13 | 12 |
|
14 | 13 |
|
15 | 14 |
|
|
||
15 | 15 |
|
16 | 16 |
|
17 | 17 |
|
18 |
|
|
19 |
|
|
18 | 20 |
|
19 | 21 |
|
20 | 22 |
|
|
||
31 | 33 |
|
32 | 34 |
|
33 | 35 |
|
36 |
|
|
37 |
|
|
38 |
|
|
39 |
|
|
40 |
|
|
34 | 41 |
|
35 | 42 |
|
36 | 43 |
|
|
||
9 | 9 |
|
10 | 10 |
|
11 | 11 |
|
12 |
|
|
12 | 13 |
|
13 | 14 |
|
14 | 15 |
|
|
||
7 | 7 |
|
8 | 8 |
|
9 | 9 |
|
10 |
|
|
10 | 11 |
|
11 | 12 |
|
12 | 13 |
|
|
||
26 | 27 |
|
27 | 28 |
|
28 | 29 |
|
29 |
|
|
30 | 30 |
|
31 | 31 |
|
32 | 32 |
|
|
||
7 | 7 |
|
8 | 8 |
|
9 | 9 |
|
10 |
|
|
10 | 11 |
|
11 | 12 |
|
12 | 13 |
|
|
||
9 | 9 |
|
10 | 10 |
|
11 | 11 |
|
12 |
|
|
12 | 13 |
|
13 | 14 |
|
14 | 15 |
|
|
||
25 | 25 |
|
26 | 26 |
|
27 | 27 |
|
28 |
|
|
28 | 29 |
|
29 | 30 |
|
30 | 31 |
|
31 | 32 |
|
32 |
|
|
33 |
|
|
33 | 34 |
|
34 | 35 |
|
35 | 36 |
|
|
||
39 | 40 |
|
40 | 41 |
|
41 | 42 |
|
43 |
|
|
44 |
|
|
45 |
|
|
46 |
|
|
47 |
|
|
48 |
|
|
49 |
|
|
50 |
|
|
51 |
|
|
52 |
|
|
42 | 53 |
|
43 | 54 |
|
44 | 55 |
|
|
||
168 | 179 |
|
169 | 180 |
|
170 | 181 |
|
171 |
|
|
172 |
|
|
182 |
|
|
183 |
|
|
||
9 | 9 |
|
10 | 10 |
|
11 | 11 |
|
12 |
|
|
12 | 13 |
|
13 | 14 |
|
14 | 15 |
|
15 |
|
|
16 |
|
|
16 | 17 |
|
17 | 18 |
|
18 | 19 |
|
|
||
65 | 65 |
|
66 | 66 |
|
67 | 67 |
|
68 |
|
|
69 |
|
|
70 |
|
|
71 |
|
|
72 |
|
|
73 |
|
|
74 |
|
|
75 |
|
|
76 |
|
|
77 |
|
|
78 |
|
|
79 |
|
|
80 |
|
|
81 |
|
|
82 |
|
|
83 |
|
|
84 |
|
|
85 |
|
|
86 |
|
|
87 |
|
|
88 |
|
|
89 |
|
|
90 |
|
|
91 |
|
|
92 |
|
|
68 | 93 |
|
69 | 94 |
|
70 | 95 |
|
|
||
19 | 19 |
|
20 | 20 |
|
21 | 21 |
|
22 |
|
|
23 |
|
|
24 |
|
|
25 |
|
|
26 |
|
|
27 |
|
|
28 |
|
|
29 |
|
|
30 |
|
|
31 |
|
|
32 |
|
|
33 |
|
|
34 |
|
|
35 | 22 |
|
36 | 23 |
|
37 | 24 |
|
|
||
76 | 63 |
|
77 | 64 |
|
78 | 65 |
|
79 |
|
|
80 |
|
|
66 |
|
|
67 |
|
|
68 |
|
|
81 | 69 |
|
82 | 70 |
|
83 | 71 |
|