Ticket #15: locales-patch.php

File locales-patch.php, 39.2 KB (added by Nao, 2 years ago)
Line 
1Index: gp-includes/locales.php
2===================================================================
3--- gp-includes/locales.php     (revision 324)
4+++ gp-includes/locales.php     (working copy)
5@@ -35,114 +35,109 @@
6        var $locales = array();
7       
8        function GP_Locales() {
9-               $en = new GP_Locale();
10-               $en->english_name = 'English';
11-               $en->native_name = 'English';
12-               $en->lang_code_iso_639_1 = 'en';
13-               $en->country_code = 'us';
14-               $en->wp_locale = 'en_US';
15-               $en->slug = 'en';
16+               $aa = new GP_Locale();
17+               $aa->english_name = 'Afar';
18+               $aa->native_name = 'Afaraf';
19+               $aa->lang_code_iso_639_1 = 'aa';
20+               $aa->lang_code_iso_639_2 = 'aar';
21+               $aa->country_code = '';
22+               $aa->wp_locale = 'aa';
23+               $aa->slug = 'aa';
24 
25-               $bg = new GP_Locale();
26-               $bg->english_name = 'Bulgarian';
27-               $bg->native_name = 'БългаÑ?Ñ?ки';
28-               $bg->lang_code_iso_639_1 = 'bg';
29-               $bg->country_code = 'bg';
30-               $bg->wp_locale = 'bg_BG';
31-               $bg->slug = 'bg';
32+               $ae = new GP_Locale();
33+               $ae->english_name = 'Avestan';
34+               $ae->native_name = 'avesta';
35+               $ae->lang_code_iso_639_1 = 'ae';
36+               $ae->lang_code_iso_639_2 = 'ave';
37+               $ae->country_code = '';
38+               $ae->wp_locale = 'ae';
39+               $ae->slug = 'ae';
40 
41-               $es = new GP_Locale();
42-               $es->english_name = 'Spanish';
43-               $es->native_name = 'Español';
44-               $es->lang_code_iso_639_1 = 'es';
45-               $es->country_code = 'es';
46-               $es->wp_locale = 'es_ES';
47-               $es->slug = 'es';
48+               $af = new GP_Locale();
49+               $af->english_name = 'Afrikaans';
50+               $af->native_name = 'Afrikaans';
51+               $af->lang_code_iso_639_1 = 'af';
52+               $af->lang_code_iso_639_2 = 'afr';
53+               $af->country_code = 'za';
54+               $af->wp_locale = 'af';
55+               $af->slug = 'af';
56 
57-               $de = new GP_Locale();
58-               $de->english_name = 'German';
59-               $de->native_name = 'Deutsch';
60-               $de->lang_code_iso_639_1 = 'de';
61-               $de->country_code = 'de';
62-               $de->wp_locale = 'de_DE';
63-               $de->slug = 'de';
64-               
65-               $fr = new GP_Locale();
66-               $fr->english_name = 'French';
67-               $fr->native_name = 'Français';
68-               $fr->lang_code_iso_639_1 = 'fr';
69-               $fr->country_code = 'fr';
70-               $fr->wp_locale = 'fr_FR';
71-               $fr->slug = 'fr';
72-               
73-               $pt = new GP_Locale();
74-               $pt->english_name = 'Portuguese';
75-               $pt->native_name = 'Português';
76-               $pt->lang_code_iso_639_1 = 'pt';
77-               $pt->country_code = 'pt';
78-               $pt->wp_locale = 'pt_PT';
79-               $pt->slug = 'pt';
80+               $ak = new GP_Locale();
81+               $ak->english_name = 'Akan';
82+               $ak->native_name = 'Akan';
83+               $ak->lang_code_iso_639_1 = 'ak';
84+               $ak->lang_code_iso_639_2 = 'aka';
85+               $ak->country_code = '';
86+               $ak->wp_locale = 'ak';
87+               $ak->slug = 'ak';
88 
89-               $he = new GP_Locale();
90-               $he->english_name = 'Hebrew';
91-               $he->native_name = 'עִבְרִית';
92-               $he->lang_code_iso_639_1 = 'he';
93-               $he->country_code = 'il';
94-               $he->wp_locale = 'he_IL';
95-               $he->slug = 'he';
96-               $he->rtl = true;
97+               $am = new GP_Locale();
98+               $am->english_name = 'Amharic';
99+               $am->native_name = 'áŠ?ማርáŠ?';
100+               $am->lang_code_iso_639_1 = 'am';
101+               $am->lang_code_iso_639_2 = 'amh';
102+               $am->country_code = 'et';
103+               $am->wp_locale = 'am';
104+               $am->slug = 'am';
105 
106-               $ja = new GP_Locale();
107-               $ja->english_name = 'Japanese';
108-               $ja->native_name = '日本èª?';
109-               $ja->lang_code_iso_639_1 = 'ja';
110-               $ja->country_code = 'jp';
111-               $ja->wp_locale = 'ja';
112-               $ja->slug = 'ja';
113-               $ja->nplurals = 1;
114-               $ja->plural_expression = '0';
115+               $an = new GP_Locale();
116+               $an->english_name = 'Aragonese';
117+               $an->native_name = 'Aragonés';
118+               $an->lang_code_iso_639_1 = 'an';
119+               $an->lang_code_iso_639_2 = 'arg';
120+               $an->country_code = 'es';
121+               $an->wp_locale = 'an';
122+               $an->slug = 'an';
123 
124                $ar = new GP_Locale();
125                $ar->english_name = 'Arabic';
126                $ar->native_name = 'اÙ?عربية';
127                $ar->lang_code_iso_639_1 = 'ar';
128+               $ar->lang_code_iso_639_2 = 'ara';
129                $ar->country_code = '';
130                $ar->wp_locale = 'ar';
131                $ar->slug = 'ar';
132                $ar->nplurals = 6;
133                $ar->plural_expression = 'n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5';
134+               $ar->rtl = true;
135 
136-               $af = new GP_Locale();
137-               $af->english_name = 'Afrikaans';
138-               $af->native_name = 'Afrikaans';
139-               $af->lang_code_iso_639_1 = 'af';
140-               $af->country_code = 'za';
141-               $af->wp_locale = 'af';
142-               $af->slug = 'af';
143+               $as= new GP_Locale();
144+               $as->english_name = 'Assamese';
145+               $as->native_name = 'à¦?সমà§?য়া';
146+               $as->lang_code_iso_639_1 = 'asm';
147+               $as->lang_code_iso_639_2 = 'as';
148+               $as->country_code = 'in';
149+               $as->wp_locale = 'as';
150+               $as->slug = 'as';
151 
152-               $am = new GP_Locale();
153-               $am->english_name = 'Armenian';
154-               $am->native_name = 'Õ°Õ¡ÕµÕ¥Ö?Õ¥Õ¶';
155-               $am->lang_code_iso_639_1 = 'hy';
156-               $am->lang_code_iso_639_2 = 'hye';
157-               $am->country_code = 'am';
158-               $am->slug = 'am';
159+               $ast = new GP_Locale();
160+               $ast->english_name = 'Asturian';
161+               $ast->native_name = 'Asturianu';
162+               $ast->lang_code_iso_639_1 = null;
163+               $ast->lang_code_iso_639_2 = 'ast';
164+               $ast->country_code = 'es';
165+               $ast->wp_locale = 'ast';
166+               $ast->slug = 'ast';
167 
168-               $af = new GP_Locale();
169-               $af->english_name = 'Asturian';
170-               $af->native_name = 'Asturianu';
171-               $af->lang_code_iso_639_1 = null;
172-               $af->lang_code_iso_639_2 = 'ast';
173-               $af->country_code = 'es';
174-               $af->slug = 'ast';
175+               $av = new GP_Locale();
176+               $av->english_name = 'Avaric';
177+               $av->native_name = 'аваÑ? маÑ?Ó?';
178+               $av->lang_code_iso_639_1 = 'av';
179+               $av->lang_code_iso_639_2 = 'ava';
180+               $av->country_code = '';         
181+               $av->wp_locale = 'av';
182+               $av->slug = 'av';
183 
184-               $az = new GP_Locale();
185-               $az->english_name = 'Azerbaijani';
186-               $az->native_name = 'Azərbaycan dili';
187-               $az->lang_code_iso_639_1 = 'az';
188-               $az->lang_code_iso_639_2 = 'aze';
189-               $az->country_code = 'az';
190-               $az->slug = 'az';
191+               $ay = new GP_Locale();
192+               $ay->english_name = 'Aymara';
193+               $ay->native_name = 'aymar aru';
194+               $ay->lang_code_iso_639_1 = 'ay';
195+               $ay->lang_code_iso_639_2 = 'aym';
196+               $ay->country_code = '';
197+               $ay->wp_locale = 'ay';
198+               $ay->slug = 'ay';
199+               $ay->nplurals = 1;
200+               $ay->plural_expression = '0';
201 
202                $az = new GP_Locale();
203                $az->english_name = 'Azerbaijani';
204@@ -150,15 +145,55 @@
205                $az->lang_code_iso_639_1 = 'az';
206                $az->lang_code_iso_639_2 = 'aze';
207                $az->country_code = 'az';
208+               $az->wp_locale = 'az';
209                $az->slug = 'az';
210 
211+               $ba = new GP_Locale();
212+               $ba->english_name = 'Bashkir';
213+               $ba->native_name = 'башҡоÑ?Ñ? теле';
214+               $ba->lang_code_iso_639_1 = 'ba';
215+               $ba->lang_code_iso_639_2 = 'bak';
216+               $ba->country_code = '';
217+               $ba->wp_locale = 'ba';
218+               $ba->slug = 'ba';
219+
220                $be = new GP_Locale();
221                $be->english_name = 'Belarusian';
222                $be->native_name = 'БелаÑ?уÑ?каÑ? мова';
223                $be->lang_code_iso_639_1 = 'be';
224                $be->lang_code_iso_639_2 = 'bel';
225                $be->country_code = 'by';
226+               $be->wp_locale = 'be';
227                $be->slug = 'be';
228+               $be->nplurals = 3;
229+               $be->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10< =4 && (n%100<10 or n%100>=20) ? 1 : 2)';
230+
231+               $bg = new GP_Locale();
232+               $bg->english_name = 'Bulgarian';
233+               $bg->native_name = 'БългаÑ?Ñ?ки';
234+               $bg->lang_code_iso_639_1 = 'bg';
235+               $bg->lang_code_iso_639_2 = 'bul';
236+               $bg->country_code = 'bg';
237+               $bg->wp_locale = 'bg_BG';
238+               $bg->slug = 'bg';
239+
240+               $bh = new GP_Locale();
241+               $bh->english_name = 'Bihari';
242+               $bh->native_name = 'भोजपुरà¥?';
243+               $bh->lang_code_iso_639_1 = 'bh';
244+               $bh->lang_code_iso_639_2 = 'bih';
245+               $bh->country_code = '';
246+               $bh->wp_locale = 'bh';
247+               $bh->slug = 'bh';
248+
249+               $bi = new GP_Locale();
250+               $bi->english_name = 'Bislama';
251+               $bi->native_name = 'Bislama';
252+               $bi->lang_code_iso_639_1 = 'bi';
253+               $bi->lang_code_iso_639_2 = 'bis';
254+               $bi->country_code = 'vu';
255+               $bi->wp_locale = 'bi';
256+               $bi->slug = 'bi';
257 
258                $bm = new GP_Locale();
259                $bm->english_name = 'Bambara';
260@@ -166,23 +201,38 @@
261                $bm->lang_code_iso_639_1 = 'bm';
262                $bm->lang_code_iso_639_2 = 'bam';
263                $bm->country_code = '';
264+               $bm->wp_locale = 'bm';
265                $bm->slug = 'bm';
266 
267+               $bn_bd = new GP_Locale();
268+               $bn_bd->english_name = 'Bengali';
269+               $bn_bd->native_name = 'বাংলা';
270+               $bn_bd->lang_code_iso_639_1 = 'bn';
271+               $bn_bd->country_code = 'bn';
272+               $bn_bd->wp_locale = 'bn_BD';
273+               $bn_bd->slug = 'bn';
274+
275                $bo = new GP_Locale();
276                $bo->english_name = 'Tibetan';
277                $bo->native_name = 'བོད་སྐà½?';
278                $bo->lang_code_iso_639_1 = 'bo';
279                $bo->lang_code_iso_639_2 = 'tib';
280                $bo->country_code = '';
281+               $bo->wp_locale = 'bo';
282                $bo->slug = 'bo';
283+               $bo->nplurals = 1;
284+               $bo->plural_expression = '0';
285 
286-               $bs = new GP_Locale();
287-               $bs->english_name = 'Bosnian';
288-               $bs->native_name = 'Bosanski';
289-               $bs->lang_code_iso_639_1 = 'bs';
290-               $bs->lang_code_iso_639_2 = 'bos';
291-               $bs->country_code = 'ba';
292-               $bs->slug = 'bs';
293+               $br = new GP_Locale();
294+               $br->english_name = 'Breton';
295+               $br->native_name = 'brezhoneg';
296+               $br->lang_code_iso_639_1 = 'br';
297+               $br->lang_code_iso_639_2 = 'bre';
298+               $br->country_code = 'fr';
299+               $br->wp_locale = 'br';
300+               $br->slug = 'br';
301+               $br->nplurals = 2;
302+               $br->plural_expression = '(n > 1)';
303 
304                $bs = new GP_Locale();
305                $bs->english_name = 'Bosnian';
306@@ -190,7 +240,10 @@
307                $bs->lang_code_iso_639_1 = 'bs';
308                $bs->lang_code_iso_639_2 = 'bos';
309                $bs->country_code = 'ba';
310+               $bs->wp_locale = 'bs';
311                $bs->slug = 'bs';
312+               $bs->nplurals = 3;
313+               $bs->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10< =4 && (n%100<10 or n%100>=20) ? 1 : 2)';
314 
315                $ca = new GP_Locale();
316                $ca->english_name = 'Catalan';
317@@ -198,6 +251,7 @@
318                $ca->lang_code_iso_639_1 = 'ca';
319                $ca->lang_code_iso_639_2 = 'cat';
320                $ca->country_code = '';
321+               $ca->wp_locale = 'ca';
322                $ca->slug = 'ca';
323 
324                $ce = new GP_Locale();
325@@ -206,15 +260,63 @@
326                $ce->lang_code_iso_639_1 = 'ce';
327                $ce->lang_code_iso_639_2 = 'che';
328                $ce->country_code = '';
329+               $ce->wp_locale = 'ce';
330                $ce->slug = 'ce';
331 
332+               $ch = new GP_Locale();
333+               $ch->english_name = 'Chamorro';
334+               $ch->native_name = 'Chamoru';
335+               $ch->lang_code_iso_639_1 = 'ch';
336+               $ch->lang_code_iso_639_2 = 'cha';
337+               $ch->wp_locale = 'ch';
338+               $ch->slug = 'ch';
339+
340+               $ckb = new GP_Locale();
341+               $ckb->english_name = 'Kurdish';
342+               $ckb->native_name = 'Ù?وردیâ??';
343+               $ckb->lang_code_iso_639_1 = 'ku';
344+               $ckb->country_code = 'ku';
345+               $ckb->wp_locale = 'ckb';
346+               $ckb->slug = 'ckb';
347+
348+               $co = new GP_Locale();
349+               $co->english_name = 'Corsican';
350+               $co->native_name = 'corsu';
351+               $co->lang_code_iso_639_1 = 'co';
352+               $co->lang_code_iso_639_2 = 'cos';
353+               $co->country_code = 'it';
354+               $co->wp_locale = 'co';
355+               $co->slug = 'co';
356+
357+               $cr = new GP_Locale();
358+               $cr->english_name = 'Cree';
359+               $cr->native_name = 'á“?ᐦá?ᔭᐍᐏᐣ';
360+               $cr->lang_code_iso_639_1 = 'cr';
361+               $cr->lang_code_iso_639_2 = 'cre';
362+               $cr->country_code = 'ca';
363+               $cr->wp_locale = 'cr';
364+               $cr->slug = 'cr';
365+
366+               $cs_cz = new GP_Locale();
367+               $cs_cz->english_name = 'Czech';
368+               $cs_cz->native_name = 'čeÅ¡tinaâ€?';
369+               $cs_cz->lang_code_iso_639_1 = 'cs';
370+               $cs_cz->country_code = 'cz';
371+               $cs_cz->wp_locale = 'cs_CZ';
372+               $cs_cz->slug = 'cs';
373+               $cs_cz->nplurals = 3;
374+               $cs_cz->plural_expression = '(n==1) ? 0 : (n>=2 && n< =4) ? 1 : 2';
375+               
376                $cs = new GP_Locale();
377                $cs->english_name = 'Czech';
378-               $cs->native_name = 'čeÅ¡tina';
379+               $cs->native_name = 'čeÅ¡tinaâ€?';
380                $cs->lang_code_iso_639_1 = 'cs';
381                $cs->lang_code_iso_639_2 = 'ces';
382                $cs->country_code = 'cz';
383+               $cs->wp_locale = 'cs_cz';
384                $cs->slug = 'cs';
385+               $cs->nplurals = 3;
386+               $cs->plural_expression = '(n==1) ? 0 : (n>=2 && n< =4) ? 1 : 2';
387 
388                $csb = new GP_Locale();
389                $csb->english_name = 'Kashubian';
390@@ -222,15 +324,28 @@
391                $csb->lang_code_iso_639_1 = null;
392                $csb->lang_code_iso_639_2 = 'csb';
393                $csb->country_code = '';
394+               $csb->wp_locale = 'csb';
395                $csb->slug = 'csb';
396+               $csb->nplurals = 3;
397+               $csb->plural_expression = 'n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 or n%100>=20) ? 1 : 2';
398 
399-               $csb = new GP_Locale();
400-               $csb->english_name = 'Kashubian';
401-               $csb->native_name = 'Kaszëbsczi';
402-               $csb->lang_code_iso_639_1 = null;
403-               $csb->lang_code_iso_639_2 = 'csb';
404-               $csb->country_code = '';
405-               $csb->slug = 'csb';
406+               $cu = new GP_Locale();
407+               $cu->english_name = 'Church Slavic';
408+               $cu->native_name = 'ѩзыкÑ? Ñ?ловѣньÑ?кÑ?';
409+               $cu->lang_code_iso_639_1 = 'cu';
410+               $cu->lang_code_iso_639_2 = 'chu';
411+               $cu->country_code = '';
412+               $cu->wp_locale = 'cu';
413+               $cu->slug = 'cu';
414+
415+               $cv = new GP_Locale();
416+               $cv->english_name = 'Chuvash';
417+               $cv->native_name = 'Ñ?ӑваÑ? Ñ?ӗлÑ?и';
418+               $cv->lang_code_iso_639_1 = 'cv';
419+               $cv->lang_code_iso_639_2 = 'chv';
420+               $cv->country_code = 'ru';
421+               $cv->wp_locale = 'cv';
422+               $cv->slug = 'cv';
423 
424                $cy = new GP_Locale();
425                $cy->english_name = 'Welsh';
426@@ -238,7 +353,10 @@
427                $cy->lang_code_iso_639_1 = 'cy';
428                $cy->lang_code_iso_639_2 = 'cym';
429                $cy->country_code = 'uk';
430+               $cy->wp_locale = 'cy';
431                $cy->slug = 'cy';
432+               $cy->nplurals = 4;
433+               $cy->plural_expression = '(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3';
434 
435                $da = new GP_Locale();
436                $da->english_name = 'Danish';
437@@ -246,7 +364,46 @@
438                $da->lang_code_iso_639_1 = 'da';
439                $da->lang_code_iso_639_2 = 'dan';
440                $da->country_code = 'dk';
441+               $da->wp_locale = 'da_DE';
442                $da->slug = 'da';
443+               
444+               $de = new GP_Locale();
445+               $de->english_name = 'German';
446+               $de->native_name = 'Deutsch';
447+               $de->lang_code_iso_639_1 = 'de';
448+               $de->country_code = 'de';
449+               $de->wp_locale = 'de_DE';
450+               $de->slug = 'de';
451+               
452+               $dv = new GP_Locale();
453+               $dv->english_name = 'Divehi';
454+               $dv->native_name = 'ދިވެÞ?Þ¨';
455+               $dv->lang_code_iso_639_1 = 'dv';
456+               $dv->lang_code_iso_639_1 = 'div';
457+               $dv->country_code = 'mv';
458+               $dv->wp_locale = 'dv';
459+               $dv->slug = 'dv';
460+               $dv->rtl = true;
461+               
462+               $dz = new GP_Locale();
463+               $dz->english_name = 'Dzongkha';
464+               $dz->native_name = 'རྫོà½?་à½?';
465+               $dz->lang_code_iso_639_1 = 'dz';
466+               $dz->lang_code_iso_639_1 = 'dzo';
467+               $dz->country_code = 'bt';
468+               $dz->wp_locale = 'dz';
469+               $dz->slug = 'dz';
470+               $dz->nplurals = 1;
471+               $dz->plural_expression = '0';
472+               
473+               $ee = new GP_Locale();
474+               $ee->english_name = 'Ewe';
475+               $ee->native_name = 'Eʋegbe';
476+               $ee->lang_code_iso_639_1 = 'ee';
477+               $ee->lang_code_iso_639_1 = 'ewe';
478+               $ee->country_code = '';
479+               $ee->wp_locale = 'ee';
480+               $ee->slug = 'ee';
481 
482                $el_po = new GP_Locale();
483                $el_po->english_name = 'Polytonic Greek';
484@@ -254,6 +411,7 @@
485                $el_po->lang_code_po_iso_639_1 = null;
486                $el_po->lang_code_po_iso_639_2 = null;
487                $el_po->country_code = 'gr';
488+               $el_po->wp_locale = 'el_po';
489                $el_po->slug = 'el-po';
490 
491                $el = new GP_Locale();
492@@ -262,7 +420,16 @@
493                $el->lang_code_iso_639_1 = 'el';
494                $el->lang_code_iso_639_2 = 'ell';
495                $el->country_code = 'gr';
496+               $el->wp_locale = 'el';
497                $el->slug = 'el';
498+               
499+               $en = new GP_Locale();
500+               $en->english_name = 'English';
501+               $en->native_name = 'English';
502+               $en->lang_code_iso_639_1 = 'en';
503+               $en->country_code = 'us';
504+               $en->wp_locale = 'en_US';
505+               $en->slug = 'en';
506 
507                $eo = new GP_Locale();
508                $eo->english_name = 'Esperanto';
509@@ -270,7 +437,34 @@
510                $eo->lang_code_iso_639_1 = 'eo';
511                $eo->lang_code_iso_639_2 = 'epo';
512                $eo->country_code = '';
513+               $eo->wp_locale = 'eo';
514                $eo->slug = 'eo';
515+
516+               $es_cl = new GP_Locale();
517+               $es_cl->english_name = 'Chilean Spanish';
518+               $es_cl->native_name = 'Español de Chile';
519+               $es_cl->lang_code_iso_639_1 = 'es';
520+               $es_cl->lang_code_iso_639_2 = 'spa';
521+               $es_cl->country_code = 'cl';
522+               $es_cl->wp_locale = 'es_CL';
523+               $es_cl->slug = 'es_cl';
524+
525+               $es_pe = new GP_Locale();
526+               $es_pe->english_name = 'Peruvian Spanish';
527+               $es_pe->native_name = 'Español de Perú';
528+               $es_pe->lang_code_iso_639_1 = 'es';
529+               $es_pe->lang_code_iso_639_2 = 'spa';
530+               $es_pe->country_code = 'pe';
531+               $es_pe->wp_locale = 'es_PE';
532+               $es_pe->slug = 'es_pe';
533+
534+               $es = new GP_Locale();
535+               $es->english_name = 'Spanish';
536+               $es->native_name = 'Español';
537+               $es->lang_code_iso_639_1 = 'es';
538+               $es->country_code = 'es';
539+               $es->wp_locale = 'es_ES';
540+               $es->slug = 'es';
541               
542                $et = new GP_Locale();
543                $et->english_name = 'Estonian';
544@@ -278,6 +472,7 @@
545                $et->lang_code_iso_639_1 = 'et';
546                $et->lang_code_iso_639_2 = 'est';
547                $et->country_code = 'ee';
548+               $et->wp_locale = 'et';
549                $et->slug = 'et';
550 
551                $eu = new GP_Locale();
552@@ -286,6 +481,7 @@
553                $eu->lang_code_iso_639_1 = 'eu';
554                $eu->lang_code_iso_639_2 = 'eus';
555                $eu->country_code = 'es';
556+               $eu->wp_locale = 'eu';
557                $eu->slug = 'eu';
558 
559                $fa = new GP_Locale();
560@@ -294,7 +490,11 @@
561                $fa->lang_code_iso_639_1 = 'fa';
562                $fa->lang_code_iso_639_2 = 'fas';
563                $fa->country_code = '';
564+               $fa->wp_locale = 'fa';
565                $fa->slug = 'fa';
566+               $fa->nplurals = 1;
567+               $fa->plural_expression = '0';
568+               $fa->rtl = true;
569 
570                $fi = new GP_Locale();
571                $fi->english_name = 'Finnish';
572@@ -302,15 +502,56 @@
573                $fi->lang_code_iso_639_1 = 'fi';
574                $fi->lang_code_iso_639_2 = 'fin';
575                $fi->country_code = 'fi';
576+               $fi->wp_locale = 'fi';
577                $fi->slug = 'fi';
578 
579+               $fj = new GP_Locale();
580+               $fj->english_name = 'Fijian';
581+               $fj->native_name = 'vosa Vakaviti';
582+               $fj->lang_code_iso_639_1 = 'fj';
583+               $fj->lang_code_iso_639_2 = 'fij';
584+               $fj->country_code = 'fj';
585+               $fj->wp_locale = 'fj';
586+               $fj->slug = 'fj';
587+
588+               $fo = new GP_Locale();
589+               $fo->english_name = 'Faroese';
590+               $fo->native_name = 'føroyskt';
591+               $fo->lang_code_iso_639_1 = 'fo';
592+               $fo->lang_code_iso_639_2 = 'fao';
593+               $fo->country_code = 'fo';
594+               $fo->wp_locale = 'fo';
595+               $fo->slug = 'fo';
596+               
597+               $fr = new GP_Locale();
598+               $fr->english_name = 'French';
599+               $fr->native_name = 'Français';
600+               $fr->lang_code_iso_639_1 = 'fr';
601+               $fr->country_code = 'fr';
602+               $fr->wp_locale = 'fr_FR';
603+               $fr->slug = 'fr';
604+               $fr->nplurals = 2;
605+               $fr->plural_expression = 'n > 1';
606+
607+               $fr_be = new GP_Locale();
608+               $fr_be->english_name = 'Belgian French';
609+               $fr_be->native_name = 'Français de Belgique';
610+               $fr_be->lang_code_iso_639_1 = 'fr';
611+               $fr_be->lang_code_iso_639_2 = 'fra';
612+               $fr_be->country_code = 'be';
613+               $fr_be->wp_locale = 'fr_BE';
614+               $fr_be->slug = 'fr_be';
615+
616                $ga = new GP_Locale();
617                $ga->english_name = 'Irish';
618                $ga->native_name = 'Gaelige';
619                $ga->lang_code_iso_639_1 = 'ga';
620                $ga->lang_code_iso_639_2 = 'gle';
621                $ga->country_code = 'ie';
622+               $ga->wp_locale = 'ga';
623                $ga->slug = 'ga';
624+               $ga->nplurals = 5;
625+               $ga->plural_expression = 'n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4';
626 
627                $gl = new GP_Locale();
628                $gl->english_name = 'Galician';
629@@ -318,15 +559,54 @@
630                $gl->lang_code_iso_639_1 = 'gl';
631                $gl->lang_code_iso_639_2 = 'glg';
632                $gl->country_code = 'es';
633+               $gl->wp_locale = 'gl';
634                $gl->slug = 'gl';
635 
636-               $gl = new GP_Locale();
637-               $gl->english_name = 'Galician';
638-               $gl->native_name = 'Galego';
639-               $gl->lang_code_iso_639_1 = 'gl';
640-               $gl->lang_code_iso_639_2 = 'glg';
641-               $gl->country_code = 'es';
642-               $gl->slug = 'gl';
643+               $gn = new GP_Locale();
644+               $gn->english_name = 'Guaraní';
645+               $gn->native_name = 'Avañe\'ẽ';
646+               $gn->lang_code_iso_639_1 = 'gn';
647+               $gn->lang_code_iso_639_2 = 'grn';
648+               $gn->country_code = '';
649+               $gn->wp_locale = 'gn';
650+               $gn->slug = 'gn';
651+
652+               $gu = new GP_Locale();
653+               $gu->english_name = 'Gujarati';
654+               $gu->native_name = 'ગુજરાતà«?';
655+               $gu->lang_code_iso_639_1 = 'gu';
656+               $gu->lang_code_iso_639_2 = 'guj';
657+               $gu->country_code = '';
658+               $gu->wp_locale = 'gu';
659+               $gu->slug = 'gu';
660+
661+               $ha = new GP_Locale();
662+               $ha->english_name = 'Hausa';
663+               $ha->native_name = 'Ù?َوُسÙ?';
664+               $ha->lang_code_iso_639_1 = 'he';
665+               $ha->lang_code_iso_639_2 = 'hau';
666+               $ha->country_code = '';
667+               $ha->wp_locale = 'ha';
668+               $ha->slug = 'ha';
669+               $ha->rtl = true;
670+
671+               $he = new GP_Locale();
672+               $he->english_name = 'Hebrew';
673+               $he->native_name = 'עִבְרִית';
674+               $he->lang_code_iso_639_1 = 'he';
675+               $he->country_code = 'il';
676+               $he->wp_locale = 'he_IL';
677+               $he->slug = 'he';
678+               $he->rtl = true;
679+
680+               $hi = new GP_Locale();
681+               $hi->english_name = 'Hindi';
682+               $hi->native_name = 'हिन्दà¥?';
683+               $hi->lang_code_iso_639_1 = 'hi';
684+               $hi->lang_code_iso_639_2 = 'hin';
685+               $hi->country_code = 'in';
686+               $hi->wp_locale = 'hi_IN';
687+               $hi->slug = 'hi';
688 
689                $hr = new GP_Locale();
690                $hr->english_name = 'Croatian';
691@@ -334,7 +614,10 @@
692                $hr->lang_code_iso_639_1 = 'hr';
693                $hr->lang_code_iso_639_2 = 'hrv';
694                $hr->country_code = 'hr';
695+               $hr->wp_locale = 'hr';
696                $hr->slug = 'hr';
697+               $hr->nplurals = 3;
698+               $hr->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10< =4 && (n%100<10 or n%100>=20) ? 1 : 2)';
699 
700                $hu = new GP_Locale();
701                $hu->english_name = 'Hungarian';
702@@ -342,15 +625,48 @@
703                $hu->lang_code_iso_639_1 = 'hu';
704                $hu->lang_code_iso_639_2 = 'hun';
705                $hu->country_code = 'hu';
706+               $hu->wp_locale = 'hu_HU';
707                $hu->slug = 'hu';
708 
709+               $hy = new GP_Locale();
710+               $hy->english_name = 'Armenian';
711+               $hy->native_name = 'Õ?Õ¡ÕµÕ¥Ö?Õ¥Õ¶';
712+               $hy->lang_code_iso_639_1 = 'hy';
713+               $hy->lang_code_iso_639_2 = 'hye';
714+               $hy->country_code = 'hu';
715+               $hy->wp_locale = 'hy';
716+               $hy->slug = 'hy';
717+               $hy->nplurals = 1;
718+               $hy->plural_expression = '0';
719+
720+               $ia = new GP_Locale();
721+               $ia->english_name = 'Interlingua';
722+               $ia->native_name = 'Interlingua';
723+               $ia->lang_code_iso_639_1 = 'ia';
724+               $ia->lang_code_iso_639_2 = 'ina';
725+               $ia->country_code = '';
726+               $ia->wp_locale = 'ia';
727+               $ia->slug = 'ia';
728+
729                $id = new GP_Locale();
730                $id->english_name = 'Indonesian';
731                $id->native_name = 'Bahasa Indonesia';
732                $id->lang_code_iso_639_1 = 'id';
733                $id->lang_code_iso_639_2 = 'ind';
734                $id->country_code = 'id';
735+               $id->wp_locale = 'id';
736                $id->slug = 'id';
737+               $id->nplurals = 1;
738+               $id->plural_expression = '0';
739+
740+               $ilo = new GP_Locale();
741+               $ilo->english_name = 'Iloko';
742+               $ilo->native_name = 'Pagsasao nga Iloko';
743+               $ilo->lang_code_iso_639_1 = null;
744+               $ilo->lang_code_iso_639_2 = 'ilo';
745+               $ilo->country_code = 'ph';
746+               $ilo->wp_locale = 'ilo';
747+               $ilo->slug = 'ilo';
748 
749                $is = new GP_Locale();
750                $is->english_name = 'Icelandic';
751@@ -358,7 +674,10 @@
752                $is->lang_code_iso_639_1 = 'is';
753                $is->lang_code_iso_639_2 = 'isl';
754                $is->country_code = 'is';
755+               $is->wp_locale = 'is';
756                $is->slug = 'is';
757+               $is->nplurals = 2;
758+               $is->plural_expression = '(n % 100 != 1 && n % 100 != 21 && n % 100 != 31 && n % 100 != 41 && n % 100 != 51 && n % 100 != 61 && n % 100 != 71 && n % 100 != 81 && n % 100 != 91)';
759 
760                $it = new GP_Locale();
761                $it->english_name = 'Italian';
762@@ -366,14 +685,37 @@
763                $it->lang_code_iso_639_1 = 'it';
764                $it->lang_code_iso_639_2 = 'ita';
765                $it->country_code = 'it';
766+               $it->wp_locale = 'it';
767                $it->slug = 'it';
768 
769+               $ja = new GP_Locale();
770+               $ja->english_name = 'Japanese';
771+               $ja->native_name = '日本èª?';
772+               $ja->lang_code_iso_639_1 = 'ja';
773+               $ja->country_code = 'jp';
774+               $ja->wp_locale = 'ja';
775+               $ja->slug = 'ja';
776+               $ja->nplurals = 1;
777+               $ja->plural_expression = '0';
778+
779+               $ka = new GP_Locale();
780+               $ka->english_name = 'Georgian';
781+               $ka->native_name = 'ქართულá??';
782+               $ka->lang_code_iso_639_1 = 'ka';
783+               $ka->lang_code_iso_639_2 = 'kat';
784+               $ka->country_code = 'ge';
785+               $ka->wp_locale = 'ka';
786+               $ka->slug = 'ka';
787+               $ka->nplurals = 1;
788+               $ka->plural_expression = '0';
789+
790                $kk = new GP_Locale();
791                $kk->english_name = 'Kazakh';
792                $kk->native_name = 'ҚазаÒ? тілÑ?';
793                $kk->lang_code_iso_639_1 = 'kk';
794                $kk->lang_code_iso_639_2 = 'kaz';
795                $kk->country_code = 'kz';
796+               $kk->wp_locale = 'kk';
797                $kk->slug = 'kk';
798 
799                $km = new GP_Locale();
800@@ -382,7 +724,39 @@
801                $km->lang_code_iso_639_1 = 'km';
802                $km->lang_code_iso_639_2 = 'khm';
803                $km->country_code = 'kh';
804+               $km->wp_locale = 'km';
805                $km->slug = 'km';
806+               $km->nplurals = 1;
807+               $km->plural_expression = '0';
808+
809+               $kn = new GP_Locale();
810+               $kn->english_name = 'Kannada';
811+               $kn->native_name = 'ಕನ್ನಡ';
812+               $kn->lang_code_iso_639_1 = 'kn';
813+               $kn->lang_code_iso_639_2 = 'kan';
814+               $kn->country_code = 'in';
815+               $kn->wp_locale = 'kn';
816+               $kn->slug = 'kn';
817+
818+               $ko = new GP_Locale();
819+               $ko->english_name = 'Korean';
820+               $ko->native_name = '?•œ?µ­?–´';
821+               $ko->lang_code_iso_639_1 = 'ko';
822+               $ko->lang_code_iso_639_2 = 'kor';
823+               $ko->country_code = 'kr';
824+               $ko->wp_locale = 'ko_KR';
825+               $ko->slug = 'ko';
826+               $ko->nplurals = 1;
827+               $ko->plural_expression = '0';
828+
829+               $ks = new GP_Locale();
830+               $ks->english_name = 'Kashmiri';
831+               $ks->native_name = 'कश्मà¥?रà¥?';
832+               $ks->lang_code_iso_639_1 = 'ks';
833+               $ks->lang_code_iso_639_2 = 'kas';
834+               $ks->country_code = '';
835+               $ks->wp_locale = 'ks';
836+               $ks->slug = 'ks';
837 
838                $ku = new GP_Locale();
839                $ku->english_name = 'Kurdish';
840@@ -390,7 +764,39 @@
841                $ku->lang_code_iso_639_1 = 'ku';
842                $ku->lang_code_iso_639_2 = 'kur';
843                $ku->country_code = '';
844-               $ku->slug = 'km';
845+               $ku->wp_locale = 'ku';
846+               $ku->slug = 'ku';
847+
848+               $ky = new GP_Locale();
849+               $ky->english_name = 'Kirghiz';
850+               $ky->native_name = 'кыÑ?гыз тили';
851+               $ky->lang_code_iso_639_1 = 'ky';
852+               $ky->lang_code_iso_639_2 = 'kir';
853+               $ky->country_code = 'kg';
854+               $ky->wp_locale = 'ky_KY';
855+               $ky->slug = 'ky';
856+               $ky->nplurals = 1;
857+               $ky->plural_expression = '0';
858+
859+               $la = new GP_Locale();
860+               $la->english_name = 'Latin';
861+               $la->native_name = 'latine';
862+               $la->lang_code_iso_639_1 = 'la';
863+               $la->lang_code_iso_639_2 = 'lat';
864+               $la->country_code = '';
865+               $la->wp_locale = 'la';
866+               $la->slug = 'la';
867+
868+               $lo = new GP_Locale();
869+               $lo->english_name = 'Lao';
870+               $lo->native_name = 'ພາສາລາວ';
871+               $lo->lang_code_iso_639_1 = 'lo';
872+               $lo->lang_code_iso_639_2 = 'lao';
873+               $lo->country_code = '';
874+               $lo->wp_locale = 'lo';
875+               $lo->slug = 'lo';
876+               $lo->nplurals = 1;
877+               $lo->plural_expression = '0';
878 
879                $lt = new GP_Locale();
880                $lt->english_name = 'Lithuanian';
881@@ -398,22 +804,40 @@
882                $lt->lang_code_iso_639_1 = 'lt';
883                $lt->lang_code_iso_639_2 = 'lit';
884                $lt->country_code = 'lt';
885+               $lt->wp_locale = 'lt';
886                $lt->slug = 'lt';
887+               $lt->nplurals = 3;
888+               $lt->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 or n%100>=20) ? 1 : 2)';
889 
890                $lv = new GP_Locale();
891                $lv->english_name = 'Latvian';
892-               $lv->native_name = 'LatvieÅ¡u valoda';
893+               $lv->native_name = 'latvieÅ¡u valoda';
894                $lv->lang_code_iso_639_1 = 'lv';
895                $lv->lang_code_iso_639_2 = 'lav';
896                $lv->country_code = 'lv';
897+               $lv->wp_locale = 'lv';
898                $lv->slug = 'lv';
899+               $lv->nplurals = 3;
900+               $lv->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)';
901+
902+               $mk = new GP_Locale();
903+               $mk->english_name = 'Macedonian';
904+               $mk->native_name = 'македонÑ?ки јазик';
905+               $mk->lang_code_iso_639_1 = 'mk';
906+               $mk->lang_code_iso_639_2 = 'mkd';
907+               $mk->country_code = 'mk';
908+               $mk->wp_locale = 'mk_MK';
909+               $mk->slug = 'mk';
910+               $mk->nplurals = 2;
911+               $mk->plural_expression = 'n==1 or n%10==1 ? 0 : 1';
912 
913                $ml = new GP_Locale();
914                $ml->english_name = 'Malayalam';
915                $ml->native_name = 'മലയാളà´?';
916                $ml->lang_code_iso_639_1 = 'ml';
917                $ml->lang_code_iso_639_2 = 'mal';
918-               $ml->country_code = '';
919+               $ml->country_code = 'in';
920+               $ml->wp_locale = 'ml_IN';
921                $ml->slug = 'ml';
922 
923                $mn = new GP_Locale();
924@@ -422,6 +846,7 @@
925                $mn->lang_code_iso_639_1 = 'mn';
926                $mn->lang_code_iso_639_2 = 'mon';
927                $mn->country_code = 'mn';
928+               $mn->wp_locale = 'mn';
929                $mn->slug = 'mn';
930 
931                $mr = new GP_Locale();
932@@ -430,6 +855,7 @@
933                $mr->lang_code_iso_639_1 = 'mr';
934                $mr->lang_code_iso_639_2 = 'mar';
935                $mr->country_code = '';
936+               $mr->wp_locale = 'mr';
937                $mr->slug = 'mr';
938 
939                $ms = new GP_Locale();
940@@ -438,7 +864,10 @@
941                $ms->lang_code_iso_639_1 = 'ms';
942                $ms->lang_code_iso_639_2 = 'msa';
943                $ms->country_code = '';
944+               $ms->wp_locale = 'ms_MY';
945                $ms->slug = 'ms';
946+               $ms->nplurals = 1;
947+               $ms->plural_expression = '0';
948 
949                $mwl = new GP_Locale();
950                $mwl->english_name = 'Mirandese';
951@@ -446,39 +875,71 @@
952                $mwl->lang_code_iso_639_1 = null;
953                $mwl->lang_code_iso_639_2 = 'mwl';
954                $mwl->country_code = '';
955+               $mwl->wp_locale = 'mwl';
956                $mwl->slug = 'mwl';
957 
958+               $my = new GP_Locale();
959+               $my->english_name = 'Burmese';
960+               $my->native_name = 'ဗá?™á?¬á€?ာ';
961+               $my->lang_code_iso_639_1 = 'my';
962+               $my->lang_code_iso_639_2 = 'mya';
963+               $my->country_code = 'mm';
964+               $my->wp_locale = 'my_MM';
965+               $my->slug = 'my';
966+
967+               $nb = new GP_Locale();
968+               $nb->english_name = 'Norwegian BokmÃ¥l';
969+               $nb->native_name = 'Norsk bokmÃ¥l';
970+               $nb->lang_code_iso_639_1 = 'nb';
971+               $nb->lang_code_iso_639_2 = 'nob';
972+               $nb->country_code = 'no';
973+               $nb->wp_locale = 'nb_NO';
974+               $nb->slug = 'nb';
975+
976                $nl = new GP_Locale();
977                $nl->english_name = 'Dutch';
978                $nl->native_name = 'Nederlands';
979                $nl->lang_code_iso_639_1 = 'nl';
980                $nl->lang_code_iso_639_2 = 'nld';
981                $nl->country_code = 'nl';
982+               $nl->wp_locale = 'nl';
983                $nl->slug = 'nl';
984 
985-               $no = new GP_Locale();
986-               $no->english_name = 'Norwegian';
987-               $no->native_name = 'Norsk';
988-               $no->lang_code_iso_639_1 = 'no';
989-               $no->lang_code_iso_639_2 = 'nor';
990-               $no->country_code = 'no';
991-               $no->slug = 'no';
992-
993                $nn = new GP_Locale();
994                $nn->english_name = 'Norwegian Nynorsk';
995                $nn->native_name = 'Norsk nynorsk';
996                $nn->lang_code_iso_639_1 = 'nn';
997                $nn->lang_code_iso_639_2 = 'nno';
998                $nn->country_code = 'no';
999+               $nn->wp_locale = 'nn_NO';
1000                $nn->slug = 'nn';
1001 
1002+               $no = new GP_Locale();
1003+               $no->english_name = 'Norwegian';
1004+               $no->native_name = 'Norsk';
1005+               $no->lang_code_iso_639_1 = 'no';
1006+               $no->lang_code_iso_639_2 = 'nor';
1007+               $no->country_code = 'no';
1008+               $no->wp_locale = 'no';
1009+               $no->slug = 'no';
1010+
1011                $oc = new GP_Locale();
1012                $oc->english_name = 'Occitan';
1013                $oc->native_name = 'Occitan';
1014                $oc->lang_code_iso_639_1 = 'oc';
1015                $oc->lang_code_iso_639_2 = 'oci';
1016                $oc->country_code = '';
1017+               $oc->wp_locale = 'oc';
1018                $oc->slug = 'oc';
1019+               
1020+               $pa = new GP_Locale();
1021+               $pa->english_name = 'Panjabi';
1022+               $pa->native_name = 'ਪੰਜਾਬà©?';
1023+               $pa->lang_code_iso_639_1 = 'pa';
1024+               $pa->lang_code_iso_639_2 = 'pan';
1025+               $pa->country_code = '';
1026+               $pa->wp_locale = 'pa';
1027+               $pa->slug = 'pa';
1028 
1029                $pl = new GP_Locale();
1030                $pl->english_name = 'Polish';
1031@@ -486,7 +947,11 @@
1032                $pl->lang_code_iso_639_1 = 'pl';
1033                $pl->lang_code_iso_639_2 = 'pol';
1034                $pl->country_code = 'pl';
1035+               $pl->wp_locale = 'pl_PL';
1036                $pl->slug = 'pl';
1037+               $pl->nplurals = 3;
1038+               $pl->plural_expression = '(n==1 ? 0 : n%10>=2 && n%10< =4 && (n%100<10 or n%100>=20) ? 1 : 2)';
1039+
1040 
1041                $pt_br = new GP_Locale();
1042                $pt_br->english_name = 'Brazilian Portuguese';
1043@@ -494,7 +959,18 @@
1044                $pt_br->lang_code_iso_639_1 = 'pt';
1045                $pt_br->lang_code_iso_639_2 = 'por';
1046                $pt_br->country_code = 'br';
1047+               $pt_br->wp_locale = 'pt_BR';
1048                $pt_br->slug = 'pt-br';
1049+               $pt_br->nplurals = 2;
1050+               $pt_br->plural_expression = '(n > 1)';
1051+               
1052+               $pt = new GP_Locale();
1053+               $pt->english_name = 'Portuguese';
1054+               $pt->native_name = 'Português';
1055+               $pt->lang_code_iso_639_1 = 'pt';
1056+               $pt->country_code = 'pt';
1057+               $pt->wp_locale = 'pt_PT';
1058+               $pt->slug = 'pt';
1059 
1060                $ro = new GP_Locale();
1061                $ro->english_name = 'Romanian';
1062@@ -502,7 +978,21 @@
1063                $ro->lang_code_iso_639_1 = 'ro';
1064                $ro->lang_code_iso_639_2 = 'ron';
1065                $ro->country_code = 'ro';
1066+               $ro->wp_locale = 'ro_RO';
1067                $ro->slug = 'ro';
1068+               $ro->nplurals = 3;
1069+               $ro->plural_expression = '(n==1 ? 0 : (n==0 or (n%100 > 0 && n%100 < 20)) ? 1 : 2);';
1070+
1071+               $ru_ua = new GP_Locale();
1072+               $ru_ua->english_name = 'Ukrainian Russian';
1073+               $ru_ua->native_name = 'Ukrainian Russian'; // TODO
1074+               $ru_ua->lang_code_iso_639_1 = 'ru';
1075+               $ru_ua->lang_code_iso_639_2 = 'rus';
1076+               $ru_ua->country_code = 'ua';
1077+               $ru_ua->wp_locale = 'ru_UA';
1078+               $ru_ua->slug = 'ru-ua';
1079+               $ru_ua->nplurals = 3;
1080+               $ru_ua->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10< =4 && (n%100<10 or n%100>=20) ? 1 : 2)';
1081 
1082                $ru = new GP_Locale();
1083                $ru->english_name = 'Russian';
1084@@ -510,7 +1000,28 @@
1085                $ru->lang_code_iso_639_1 = 'ru';
1086                $ru->lang_code_iso_639_2 = 'rus';
1087                $ru->country_code = 'ru';
1088+               $ru->wp_locale = 'ru_RU';
1089                $ru->slug = 'ru';
1090+               $ru->nplurals = 3;
1091+               $ru->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10< =4 && (n%100<10 or n%100>=20) ? 1 : 2)';
1092+
1093+               $sc = new GP_Locale();
1094+               $sc->english_name = 'Sardinian';
1095+               $sc->native_name = 'sardu';
1096+               $sc->lang_code_iso_639_1 = 'sc';
1097+               $sc->lang_code_iso_639_2 = 'srd';
1098+               $sc->country_code = '';
1099+               $sc->wp_locale = 'sc';
1100+               $sc->slug = 'sc';
1101+
1102+               $sd = new GP_Locale();
1103+               $sd->english_name = 'Sindhi';
1104+               $sd->native_name = 'سÙ?دھ';
1105+               $sd->lang_code_iso_639_1 = 'sd';
1106+               $sd->lang_code_iso_639_2 = 'snd';
1107+               $sd->country_code = 'pk';
1108+               $sd->wp_locale = 'sd_PK';
1109+               $sd->slug = 'sd';
1110 
1111                $si = new GP_Locale();
1112                $si->english_name = 'Sinhala';
1113@@ -518,6 +1029,7 @@
1114                $si->lang_code_iso_639_1 = 'si';
1115                $si->lang_code_iso_639_2 = 'sin';
1116                $si->country_code = 'lk';
1117+               $si->wp_locale = 'si_LK';
1118                $si->slug = 'si';
1119 
1120                $sk = new GP_Locale();
1121@@ -526,7 +1038,10 @@
1122                $sk->lang_code_iso_639_1 = 'sk';
1123                $sk->lang_code_iso_639_2 = 'slk';
1124                $sk->country_code = 'sk';
1125+               $sk->wp_locale = 'sk';
1126                $sk->slug = 'sk';
1127+               $sk->nplurals = 3;
1128+               $sk->plural_expression = '(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2';
1129 
1130                $sl = new GP_Locale();
1131                $sl->english_name = 'Slovenian';
1132@@ -534,13 +1049,17 @@
1133                $sl->lang_code_iso_639_1 = 'sl';
1134                $sl->lang_code_iso_639_2 = 'slv';
1135                $sl->country_code = 'si';
1136+               $sl->wp_locale = 'sl';
1137                $sl->slug = 'sl';
1138+               $sl->nplurals = 4;
1139+               $sl->plural_expression = '(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 or n%100==4 ? 2 : 3)';
1140 
1141                $sq = new GP_Locale();
1142                $sq->english_name = 'Albanian';
1143                $sq->native_name = 'Shqip';
1144                $sq->lang_code_iso_639_1 = 'sq';
1145                $sq->lang_code_iso_639_2 = 'sqi';
1146+               $sq->wp_locale = 'sq';
1147                $sq->country_code = 'al';
1148                $sq->slug = 'sq';
1149 
1150@@ -550,7 +1069,10 @@
1151                $sr->lang_code_iso_639_1 = 'sr';
1152                $sr->lang_code_iso_639_2 = 'srp';
1153                $sr->country_code = 'rs';
1154+               $sr->wp_locale = 'sr_RS';
1155                $sr->slug = 'sr';
1156+               $sr->nplurals = 4;
1157+               $sr->plural_expression = 'n==1? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 or n%100>=20) ? 1 : 2';
1158 
1159                $su = new GP_Locale();
1160                $su->english_name = 'Sundanese';
1161@@ -558,7 +1080,10 @@
1162                $su->lang_code_iso_639_1 = 'su';
1163                $su->lang_code_iso_639_2 = 'sun';
1164                $su->country_code = 'id';
1165+               $su->wp_locale = 'su_ID';
1166                $su->slug = 'su';
1167+               $su->nplurals = 1;
1168+               $su->plural_expression = '0';
1169 
1170                $sv = new GP_Locale();
1171                $sv->english_name = 'Swedish';
1172@@ -566,14 +1091,25 @@
1173                $sv->lang_code_iso_639_1 = 'sv';
1174                $sv->lang_code_iso_639_2 = 'swe';
1175                $sv->country_code = 'se';
1176+               $sv->wp_locale = 'sv_SE';
1177                $sv->slug = 'sv';
1178 
1179+               $sw = new GP_Locale();
1180+               $sw->english_name = 'Swahili';
1181+               $sw->native_name = 'Kiswahili';
1182+               $sw->lang_code_iso_639_1 = 'sw';
1183+               $sw->lang_code_iso_639_2 = 'swa';
1184+               $sw->country_code = '';
1185+               $sw->wp_locale = 'swa';
1186+               $sw->slug = 'swa';
1187+
1188                $ta = new GP_Locale();
1189                $ta->english_name = 'Tamil';
1190                $ta->native_name = 'தமிழà¯?';
1191                $ta->lang_code_iso_639_1 = 'ta';
1192                $ta->lang_code_iso_639_2 = 'tam';
1193-               $ta->country_code = '';
1194+               $ta->country_code = 'IN';
1195+               $ta->wp_locale = 'ta_IN';
1196                $ta->slug = 'ta';
1197 
1198                $te = new GP_Locale();
1199@@ -582,6 +1118,7 @@
1200                $te->lang_code_iso_639_1 = 'te';
1201                $te->lang_code_iso_639_2 = 'tel';
1202                $te->country_code = '';
1203+               $te->wp_locale = 'te';
1204                $te->slug = 'te';
1205 
1206                $th = new GP_Locale();
1207@@ -590,7 +1127,10 @@
1208                $th->lang_code_iso_639_1 = 'th';
1209                $th->lang_code_iso_639_2 = 'tha';
1210                $th->country_code = '';
1211+               $th->wp_locale = 'th';
1212                $th->slug = 'th';
1213+               $th->nplurals = 1;
1214+               $th->plural_expression = '0';
1215               
1216                $tl = new GP_Locale();
1217                $tl->english_name = 'Tagalog';
1218@@ -598,6 +1138,7 @@
1219                $tl->lang_code_iso_639_1 = 'tl';
1220                $tl->lang_code_iso_639_2 = 'tgl';
1221                $tl->country_code = 'ph';
1222+               $tl->wp_locale = 'tl';
1223                $tl->slug = 'tl';
1224 
1225                $tr = new GP_Locale();
1226@@ -606,7 +1147,28 @@
1227                $tr->lang_code_iso_639_1 = 'tr';
1228                $tr->lang_code_iso_639_2 = 'tur';
1229                $tr->country_code = 'tr';
1230+               $tr->wp_locale = 'tr_TR';
1231                $tr->slug = 'tr';
1232+               $tr->nplurals = 1;
1233+               $tr->plural_expression = '0';
1234+
1235+               $udm = new GP_Locale();
1236+               $udm->english_name = 'Udmurt';
1237+               $udm->native_name = 'удмуÑ?Ñ? кыл';
1238+               $udm->lang_code_iso_639_1 = null;
1239+               $udm->lang_code_iso_639_2 = 'udm';
1240+               $udm->country_code = '';
1241+               $udm->wp_locale = 'udm';
1242+               $udm->slug = 'udm';
1243+
1244+               $ug = new GP_Locale();
1245+               $ug->english_name = 'Uighur';
1246+               $ug->native_name = 'UyÆ£urqÉ?';
1247+               $ug->lang_code_iso_639_1 = 'ug';
1248+               $ug->lang_code_iso_639_2 = 'uig';
1249+               $ug->country_code = 'cn';
1250+               $ug->wp_locale = 'ug_CN';
1251+               $ug->slug = 'ug';
1252 
1253                $uk = new GP_Locale();
1254                $uk->english_name = 'Ukrainian';
1255@@ -614,7 +1176,40 @@
1256                $uk->lang_code_iso_639_1 = 'uk';
1257                $uk->lang_code_iso_639_2 = 'ukr';
1258                $uk->country_code = 'ua';
1259+               $uk->wp_locale = 'uk';
1260                $uk->slug = 'uk';
1261+               $uk->nplurals = 3;
1262+               $uk->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10< =4 && (n%100<10 or n%100>=20) ? 1 : 2)';
1263+
1264+               $ur = new GP_Locale();
1265+               $ur->english_name = 'Urdu';
1266+               $ur->native_name = 'اردÙ?';
1267+               $ur->lang_code_iso_639_1 = 'ur';
1268+               $ur->lang_code_iso_639_2 = 'urd';
1269+               $ur->country_code = '';
1270+               $ur->wp_locale = 'ur';
1271+               $ur->slug = 'ur';
1272+
1273+               $uz = new GP_Locale();
1274+               $uz->english_name = 'Uzbek';
1275+               $uz->native_name = 'Oâ€?zbekcha';
1276+               $uz->lang_code_iso_639_1 = 'uz';
1277+               $uz->lang_code_iso_639_2 = 'uzb';
1278+               $uz->country_code = 'uz';
1279+               $uz->wp_locale = 'uz_UZ';
1280+               $uz->slug = 'uz';
1281+               $uz->rtl = true;
1282+               $uz->nplurals = 1;
1283+               $uz->plural_expression = '0';
1284+
1285+               $vec = new GP_Locale();
1286+               $vec->english_name = 'Venetian';
1287+               $vec->native_name = 'vèneta';
1288+               $vec->lang_code_iso_639_1 = null;
1289+               $vec->lang_code_iso_639_2 = 'roa';
1290+               $vec->country_code = 'uz';
1291+               $vec->wp_locale = 'vec';
1292+               $vec->slug = 'vec';
1293 
1294                $vi = new GP_Locale();
1295                $vi->english_name = 'Vietnamese';
1296@@ -622,15 +1217,29 @@
1297                $vi->lang_code_iso_639_1 = 'vi';
1298                $vi->lang_code_iso_639_2 = 'vie';
1299                $vi->country_code = 'vn';
1300+               $vi->wp_locale = 'vi';
1301                $vi->slug = 'vi';
1302+               $vi->nplurals = 1;
1303+               $vi->plural_expression = '0';
1304 
1305-               $zh = new GP_Locale();
1306-               $zh->english_name = 'Chinese';
1307-               $zh->native_name = '中æ–?';
1308-               $zh->lang_code_iso_639_1 = 'zh';
1309-               $zh->lang_code_iso_639_2 = 'zho';
1310-               $zh->country_code = '';
1311-               $zh->slug = 'zh';
1312+               $wa = new GP_Locale();
1313+               $wa->english_name = 'Walloon';
1314+               $wa->native_name = 'Walon';
1315+               $wa->lang_code_iso_639_1 = 'wa';
1316+               $wa->lang_code_iso_639_2 = 'wln';
1317+               $wa->country_code = 'be';
1318+               $wa->wp_locale = 'wa';
1319+               $wa->slug = 'wa';
1320+
1321+               $yi = new GP_Locale();
1322+               $yi->english_name = 'Yiddish';
1323+               $yi->native_name = 'ייִדיש';
1324+               $yi->lang_code_iso_639_1 = 'yi';
1325+               $yi->lang_code_iso_639_2 = 'yid';
1326+               $yi->country_code = '';
1327+               $yi->wp_locale = 'yi';
1328+               $yi->slug = 'yi';
1329+               $yi->rtl = true;
1330 
1331                $zh_cn = new GP_Locale();
1332                $zh_cn->english_name = 'Chinese (China)';
1333@@ -638,15 +1247,21 @@
1334                $zh_cn->lang_code_iso_639_1 = 'zh';
1335                $zh_cn->lang_code_iso_639_2 = 'zho';
1336                $zh_cn->country_code = 'cn';
1337+               $zh_cn->wp_locale = 'zh_CN';
1338                $zh_cn->slug = 'zh-cn';
1339+               $zh_cn->nplurals = 1;
1340+               $zh_cn->plural_expression = '0';
1341 
1342                $zh_hk = new GP_Locale();
1343                $zh_hk->english_name = 'Chinese (Honk Kong)';
1344-               $zh_hk->native_name = '中æ–?';
1345+               $zh_hk->native_name = '香港中æ–?ç‰?  ';
1346                $zh_hk->lang_code_iso_639_1 = 'zh';
1347                $zh_hk->lang_code_iso_639_2 = 'zho';
1348                $zh_hk->country_code = 'hk';
1349+               $zh_hk->wp_locale = 'zh_HK';
1350                $zh_hk->slug = 'zh-hk';
1351+               $zh_hk->nplurals = 1;
1352+               $zh_hk->plural_expression = '0';
1353 
1354                $zh_sg = new GP_Locale();
1355                $zh_sg->english_name = 'Chinese (Singapore)';
1356@@ -654,7 +1269,10 @@
1357                $zh_sg->lang_code_iso_639_1 = 'zh';
1358                $zh_sg->lang_code_iso_639_2 = 'zho';
1359                $zh_sg->country_code = 'sg';
1360+               $zh_sg->wp_locale = 'zh_SG';
1361                $zh_sg->slug = 'zh-sg';
1362+               $zh_sg->nplurals = 1;
1363+               $zh_sg->plural_expression = '0';
1364 
1365                $zh_tw = new GP_Locale();
1366                $zh_tw->english_name = 'Chinese (Taiwan)';
1367@@ -662,9 +1280,22 @@
1368                $zh_tw->lang_code_iso_639_1 = 'zh';
1369                $zh_tw->lang_code_iso_639_2 = 'zho';
1370                $zh_tw->country_code = 'tw';
1371+               $zh_tw->wp_locale = 'zh_TW';
1372                $zh_tw->slug = 'zh-tw';
1373-
1374+               $zh_tw->nplurals = 1;
1375+               $zh_tw->plural_expression = '0';
1376 
1377+               $zh = new GP_Locale();
1378+               $zh->english_name = 'Chinese';
1379+               $zh->native_name = '中æ–?';
1380+               $zh->lang_code_iso_639_1 = 'zh';
1381+               $zh->lang_code_iso_639_2 = 'zho';
1382+               $zh->country_code = '';
1383+               $zh->wp_locale = 'zh';
1384+               $zh->slug = 'zh';
1385+               $zh->nplurals = 1;
1386+               $zh->plural_expression = '0';
1387+               
1388                foreach( get_defined_vars() as $value ) {
1389                        if ( isset( $value->english_name ) ) {
1390                                if ( !isset( $value->direction ) ) {
1391@@ -699,4 +1330,5 @@
1392                $instance = &GP_Locales::instance();
1393                return isset( $instance->locales[$slug] )? $instance->locales[$slug] : null;
1394        }
1395-}
1396\ No newline at end of file
1397+}
1398+?>
1399\ No newline at end of file