WordPress.org

Make WordPress Core

Ticket #15677: 15677.4.diff

File 15677.4.diff, 64.4 KB (added by iandunn, 8 years ago)

Fall back to iso code or slug if wp locale not present

  • wp-admin/includes/locales.php

     
     1<?php
     2
     3/**
     4 * locales.php from GlotPress
     5 * This includes a comprehensive and well-maintained list of locales, so it's better to use it than to try and reproduce it independently. See #15677.
     6 *
     7 * @package GlotPress
     8 * @link http://glotpress.org/ Official site
     9 * @link http://glotpress.svn.wordpress.org/trunk/locales/locales.php Original file
     10 * @license GPLv2 http://www.gnu.org/licenses/gpl-2.0.txt
     11 */
     12
     13class GP_Locale {
     14        var $english_name;
     15        var $native_name;
     16        var $text_direction = 'ltr';
     17        var $lang_code_iso_639_1 = null;
     18        var $country_code;
     19        var $wp_locale;
     20        var $slug;
     21        var $nplurals = 2;
     22        var $plural_expression = 'n != 1';
     23        var $google_code = null;
     24        var $preferred_sans_serif_font_family = null;
     25        var $facebook_locale = null;
     26        // TODO: days, months, decimals, quotes
     27
     28        public function GP_Locale( $args = array() ) {
     29                foreach( $args as $key => $value ) {
     30                        $this->$key = $value;
     31                }
     32        }
     33
     34        public static function __set_state( $state ) {
     35                return new GP_Locale( $state );
     36        }
     37
     38        public function combined_name() {
     39                /* translators: combined name for locales: 1: name in English, 2: native name */
     40                return sprintf( _x( '%1$s/%2$s', 'locales' ), $this->english_name, $this->native_name );
     41        }
     42
     43        public function numbers_for_index( $index, $how_many = 3, $test_up_to = 1000 ) {
     44                $numbers = array();
     45                for( $number = 0; $number < $test_up_to; ++$number ) {
     46                        if ( $this->index_for_number( $number ) == $index ) {
     47                                $numbers[] = $number;
     48                                if ( count( $numbers ) >= $how_many ) break;
     49                        }
     50                }
     51                return $numbers;
     52        }
     53
     54        public function index_for_number( $number ) {
     55                if ( !isset( $this->_index_for_number ) ) {
     56                        $gettext = new Gettext_Translations;
     57                        $expression = $gettext->parenthesize_plural_exression( $this->plural_expression );
     58                        $this->_index_for_number = $gettext->make_plural_form_function( $this->nplurals, $expression );
     59                }
     60                $f = $this->_index_for_number;
     61                return $f( $number );
     62        }
     63}
     64
     65class GP_Locales {
     66
     67        var $locales = array();
     68
     69        public function GP_Locales() {
     70                $aa = new GP_Locale();
     71                $aa->english_name = 'Afar';
     72                $aa->native_name = 'Afaraf';
     73                $aa->lang_code_iso_639_1 = 'aa';
     74                $aa->lang_code_iso_639_2 = 'aar';
     75                $aa->country_code = '';
     76                $aa->slug = 'aa';
     77
     78                $ae = new GP_Locale();
     79                $ae->english_name = 'Avestan';
     80                $ae->native_name = 'avesta';
     81                $ae->lang_code_iso_639_1 = 'ae';
     82                $ae->lang_code_iso_639_2 = 'ave';
     83                $ae->country_code = '';
     84                $ae->slug = 'ae';
     85
     86                $af = new GP_Locale();
     87                $af->english_name = 'Afrikaans';
     88                $af->native_name = 'Afrikaans';
     89                $af->lang_code_iso_639_1 = 'af';
     90                $af->lang_code_iso_639_2 = 'afr';
     91                $af->country_code = 'za';
     92                $af->wp_locale = 'af';
     93                $af->slug = 'af';
     94                $af->google_code = 'af';
     95                $af->facebook_locale = 'af_ZA';
     96
     97                $ak = new GP_Locale();
     98                $ak->english_name = 'Akan';
     99                $ak->native_name = 'Akan';
     100                $ak->lang_code_iso_639_1 = 'ak';
     101                $ak->lang_code_iso_639_2 = 'aka';
     102                $ak->country_code = '';
     103                $ak->wp_locale = 'ak';
     104                $ak->slug = 'ak';
     105
     106                $am = new GP_Locale();
     107                $am->english_name = 'Amharic';
     108                $am->native_name = 'አማርኛ';
     109                $am->lang_code_iso_639_1 = 'am';
     110                $am->lang_code_iso_639_2 = 'amh';
     111                $am->country_code = 'et';
     112                $am->slug = 'am';
     113                $am->google_code = 'am';
     114
     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->slug = 'an';
     122
     123                $ar = new GP_Locale();
     124                $ar->english_name = 'Arabic';
     125                $ar->native_name = 'العربية';
     126                $ar->lang_code_iso_639_1 = 'ar';
     127                $ar->lang_code_iso_639_2 = 'ara';
     128                $ar->country_code = '';
     129                $ar->wp_locale = 'ar';
     130                $ar->slug = 'ar';
     131                $ar->google_code = 'ar';
     132                $ar->facebook_locale = 'ar_AR';
     133                $ar->nplurals = 6;
     134                $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';
     135                $ar->rtl = true;
     136                $ar->preferred_sans_serif_font_family = 'Tahoma';
     137
     138                $as= new GP_Locale();
     139                $as->english_name = 'Assamese';
     140                $as->native_name = 'অসমীয়া';
     141                $as->lang_code_iso_639_1 = 'asm';
     142                $as->lang_code_iso_639_2 = 'as';
     143                $as->country_code = 'in';
     144                $as->wp_locale = 'as';
     145                $as->slug = 'as';
     146                $as->nplurals = 2;
     147                $as->plural_expression = '(n != 1)';
     148
     149                $ast = new GP_Locale();
     150                $ast->english_name = 'Asturian';
     151                $ast->native_name = 'Asturianu';
     152                $ast->lang_code_iso_639_1 = null;
     153                $ast->lang_code_iso_639_2 = 'ast';
     154                $ast->country_code = 'es';
     155                $ast->slug = 'ast';
     156
     157                $av = new GP_Locale();
     158                $av->english_name = 'Avaric';
     159                $av->native_name = 'авар мацӀ';
     160                $av->lang_code_iso_639_1 = 'av';
     161                $av->lang_code_iso_639_2 = 'ava';
     162                $av->country_code = '';
     163                $av->slug = 'av';
     164
     165                $ay = new GP_Locale();
     166                $ay->english_name = 'Aymara';
     167                $ay->native_name = 'aymar aru';
     168                $ay->lang_code_iso_639_1 = 'ay';
     169                $ay->lang_code_iso_639_2 = 'aym';
     170                $ay->country_code = '';
     171                $ay->slug = 'ay';
     172                $ay->nplurals = 1;
     173                $ay->plural_expression = '0';
     174
     175                $az = new GP_Locale();
     176                $az->english_name = 'Azerbaijani';
     177                $az->native_name = 'Azərbaycan dili';
     178                $az->lang_code_iso_639_1 = 'az';
     179                $az->lang_code_iso_639_2 = 'aze';
     180                $az->country_code = 'az';
     181                $az->wp_locale = 'az';
     182                $az->slug = 'az';
     183                $az->google_code = 'az';
     184                $az->facebook_locale = 'az_AZ';
     185
     186                $azb = new GP_Locale();
     187                $azb->english_name = 'South Azerbaijani';
     188                $azb->native_name = 'گؤنئی آذربایجان';
     189                $azb->lang_code_iso_639_1 = 'az';
     190                $azb->lang_code_iso_639_2 = 'azb';
     191                $azb->country_code = 'az';
     192                $azb->wp_locale = 'azb';
     193                $azb->slug = 'azb';
     194                $azb->rtl = true;
     195
     196                $az_tr = new GP_Locale();
     197                $az_tr->english_name = 'Azerbaijani (Turkey)';
     198                $az_tr->native_name = 'Azərbaycan Türkcəsi';
     199                $az_tr->lang_code_iso_639_1 = 'az';
     200                $az_tr->lang_code_iso_639_2 = 'aze';
     201                $az_tr->country_code = 'tr';
     202                $az_tr->wp_locale = 'az_TR';
     203                $az_tr->slug = 'az-tr';
     204                $az_tr->rtl = true;
     205
     206                $ba = new GP_Locale();
     207                $ba->english_name = 'Bashkir';
     208                $ba->native_name = 'башҡорт теле';
     209                $ba->lang_code_iso_639_1 = 'ba';
     210                $ba->lang_code_iso_639_2 = 'bak';
     211                $ba->country_code = '';
     212                $ba->wp_locale = 'ba';
     213                $ba->slug = 'ba';
     214
     215                $bal = new GP_Locale();
     216                $bal->english_name = 'Catalan (Balear)';
     217                $bal->native_name = 'Català (Balear)';
     218                $bal->lang_code_iso_639_1 = null;
     219                $bal->lang_code_iso_639_2 = 'bal';
     220                $bal->country_code = 'es';
     221                $bal->wp_locale = 'bal';
     222                $bal->slug = 'bal';
     223
     224                $be = new GP_Locale();
     225                $be->english_name = 'Belarusian';
     226                $be->native_name = 'Беларуская мова';
     227                $be->lang_code_iso_639_1 = 'be';
     228                $be->lang_code_iso_639_2 = 'bel';
     229                $be->country_code = 'by';
     230                $be->wp_locale = 'bel';
     231                $be->slug = 'bel';
     232                $be->google_code = 'be';
     233                $be->facebook_locale = 'be_BY';
     234                $be->nplurals = 3;
     235                $be->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     236
     237                $bg = new GP_Locale();
     238                $bg->english_name = 'Bulgarian';
     239                $bg->native_name = 'Български';
     240                $bg->lang_code_iso_639_1 = 'bg';
     241                $bg->lang_code_iso_639_2 = 'bul';
     242                $bg->country_code = 'bg';
     243                $bg->wp_locale = 'bg_BG';
     244                $bg->slug = 'bg';
     245                $bg->google_code = 'bg';
     246                $bg->facebook_locale = 'bg_BG';
     247
     248                $bh = new GP_Locale();
     249                $bh->english_name = 'Bihari';
     250                $bh->native_name = 'भोजपुरी';
     251                $bh->lang_code_iso_639_1 = 'bh';
     252                $bh->lang_code_iso_639_2 = 'bih';
     253                $bh->country_code = '';
     254                $bh->slug = 'bh';
     255
     256                $bi = new GP_Locale();
     257                $bi->english_name = 'Bislama';
     258                $bi->native_name = 'Bislama';
     259                $bi->lang_code_iso_639_1 = 'bi';
     260                $bi->lang_code_iso_639_2 = 'bis';
     261                $bi->country_code = 'vu';
     262                $bi->slug = 'bi';
     263
     264                $bm = new GP_Locale();
     265                $bm->english_name = 'Bambara';
     266                $bm->native_name = 'Bamanankan';
     267                $bm->lang_code_iso_639_1 = 'bm';
     268                $bm->lang_code_iso_639_2 = 'bam';
     269                $bm->country_code = '';
     270                $bm->slug = 'bm';
     271
     272                $bn_bd = new GP_Locale();
     273                $bn_bd->english_name = 'Bengali';
     274                $bn_bd->native_name = 'বাংলা';
     275                $bn_bd->lang_code_iso_639_1 = 'bn';
     276                $bn_bd->country_code = 'bn';
     277                $bn_bd->wp_locale = 'bn_BD';
     278                $bn_bd->slug = 'bn';
     279                $bn_bd->google_code = 'bn';
     280                $bn_bd->facebook_locale = 'bn_IN';
     281
     282                $bo = new GP_Locale();
     283                $bo->english_name = 'Tibetan';
     284                $bo->native_name = 'བོད་སྐད';
     285                $bo->lang_code_iso_639_1 = 'bo';
     286                $bo->lang_code_iso_639_2 = 'tib';
     287                $bo->country_code = '';
     288                $bo->wp_locale = 'bo';
     289                $bo->slug = 'bo';
     290                $bo->google_code = 'bo';
     291                $bo->nplurals = 1;
     292                $bo->plural_expression = '0';
     293
     294                $br = new GP_Locale();
     295                $br->english_name = 'Breton';
     296                $br->native_name = 'brezhoneg';
     297                $br->lang_code_iso_639_1 = 'br';
     298                $br->lang_code_iso_639_2 = 'bre';
     299                $br->country_code = 'fr';
     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                $bs->native_name = 'Bosanski';
     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_BA';
     311                $bs->slug = 'bs';
     312                $bs->google_code = 'bs';
     313                $bs->facebook_locale = 'bs_BA';
     314                $bs->nplurals = 3;
     315                $bs->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     316
     317                $ca = new GP_Locale();
     318                $ca->english_name = 'Catalan';
     319                $ca->native_name = 'Català';
     320                $ca->lang_code_iso_639_1 = 'ca';
     321                $ca->lang_code_iso_639_2 = 'cat';
     322                $ca->country_code = '';
     323                $ca->wp_locale = 'ca';
     324                $ca->slug = 'ca';
     325                $ca->google_code = 'ca';
     326                $ca->facebook_locale = 'ca_ES';
     327
     328                $ce = new GP_Locale();
     329                $ce->english_name = 'Chechen';
     330                $ce->native_name = 'Нохчийн мотт';
     331                $ce->lang_code_iso_639_1 = 'ce';
     332                $ce->lang_code_iso_639_2 = 'che';
     333                $ce->country_code = '';
     334                $ce->slug = 'ce';
     335
     336                $ch = new GP_Locale();
     337                $ch->english_name = 'Chamorro';
     338                $ch->native_name = 'Chamoru';
     339                $ch->lang_code_iso_639_1 = 'ch';
     340                $ch->lang_code_iso_639_2 = 'cha';
     341                $ch->slug = 'ch';
     342
     343                $ckb = new GP_Locale();
     344                $ckb->english_name = 'Kurdish (Sorani)';
     345                $ckb->native_name = 'كوردی‎';
     346                $ckb->lang_code_iso_639_1 = 'ku';
     347                $ckb->lang_code_iso_639_2 = 'ckb';
     348                $ckb->country_code = 'ku';
     349                $ckb->wp_locale = 'ckb';
     350                $ckb->slug = 'ckb';
     351
     352                $co = new GP_Locale();
     353                $co->english_name = 'Corsican';
     354                $co->native_name = 'corsu';
     355                $co->lang_code_iso_639_1 = 'co';
     356                $co->lang_code_iso_639_2 = 'cos';
     357                $co->country_code = 'it';
     358                $co->wp_locale = 'co';
     359                $co->slug = 'co';
     360
     361                $cr = new GP_Locale();
     362                $cr->english_name = 'Cree';
     363                $cr->native_name = 'ᓀᐦᐃᔭᐍᐏᐣ';
     364                $cr->lang_code_iso_639_1 = 'cr';
     365                $cr->lang_code_iso_639_2 = 'cre';
     366                $cr->country_code = 'ca';
     367                $cr->slug = 'cr';
     368
     369                $cs = new GP_Locale();
     370                $cs->english_name = 'Czech';
     371                $cs->native_name = 'čeština‎';
     372                $cs->lang_code_iso_639_1 = 'cs';
     373                $cs->lang_code_iso_639_2 = 'ces';
     374                $cs->country_code = 'cz';
     375                $cs->wp_locale = 'cs_CZ';
     376                $cs->slug = 'cs';
     377                $cs->google_code = 'cs';
     378                $cs->facebook_locale = 'cs_CZ';
     379                $cs->nplurals = 3;
     380                $cs->plural_expression = '(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2';
     381
     382                $csb = new GP_Locale();
     383                $csb->english_name = 'Kashubian';
     384                $csb->native_name = 'Kaszëbsczi';
     385                $csb->lang_code_iso_639_1 = null;
     386                $csb->lang_code_iso_639_2 = 'csb';
     387                $csb->country_code = '';
     388                $csb->slug = 'csb';
     389                $csb->nplurals = 3;
     390                $csb->plural_expression = 'n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2';
     391
     392                $cu = new GP_Locale();
     393                $cu->english_name = 'Church Slavic';
     394                $cu->native_name = 'ѩзыкъ словѣньскъ';
     395                $cu->lang_code_iso_639_1 = 'cu';
     396                $cu->lang_code_iso_639_2 = 'chu';
     397                $cu->country_code = '';
     398                $cu->slug = 'cu';
     399
     400                $cv = new GP_Locale();
     401                $cv->english_name = 'Chuvash';
     402                $cv->native_name = 'чӑваш чӗлхи';
     403                $cv->lang_code_iso_639_1 = 'cv';
     404                $cv->lang_code_iso_639_2 = 'chv';
     405                $cv->country_code = 'ru';
     406                $cv->slug = 'cv';
     407
     408                $cy = new GP_Locale();
     409                $cy->english_name = 'Welsh';
     410                $cy->native_name = 'Cymraeg';
     411                $cy->lang_code_iso_639_1 = 'cy';
     412                $cy->lang_code_iso_639_2 = 'cym';
     413                $cy->country_code = 'uk';
     414                $cy->wp_locale = 'cy';
     415                $cy->slug = 'cy';
     416                $cy->google_code = 'cy';
     417                $cy->facebook_locale = 'cy_GB';
     418                $cy->nplurals = 4;
     419                $cy->plural_expression = '(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3';
     420
     421                $da = new GP_Locale();
     422                $da->english_name = 'Danish';
     423                $da->native_name = 'Dansk';
     424                $da->lang_code_iso_639_1 = 'da';
     425                $da->lang_code_iso_639_2 = 'dan';
     426                $da->country_code = 'dk';
     427                $da->wp_locale = 'da_DK';
     428                $da->slug = 'da';
     429                $da->google_code = 'da';
     430                $da->facebook_locale = 'da_DK';
     431
     432                $de = new GP_Locale();
     433                $de->english_name = 'German';
     434                $de->native_name = 'Deutsch';
     435                $de->lang_code_iso_639_1 = 'de';
     436                $de->country_code = 'de';
     437                $de->wp_locale = 'de_DE';
     438                $de->slug = 'de';
     439                $de->google_code = 'de';
     440                $de->facebook_locale = 'de_DE';
     441
     442                $dv = new GP_Locale();
     443                $dv->english_name = 'Divehi';
     444                $dv->native_name = 'ދިވެހި';
     445                $dv->lang_code_iso_639_1 = 'dv';
     446                $dv->lang_code_iso_639_2 = 'div';
     447                $dv->country_code = 'mv';
     448                $dv->wp_locale = 'dv';
     449                $dv->slug = 'dv';
     450                $dv->google_code = 'dv';
     451                $dv->rtl = true;
     452
     453                $dz = new GP_Locale();
     454                $dz->english_name = 'Dzongkha';
     455                $dz->native_name = 'རྫོང་ཁ';
     456                $dz->lang_code_iso_639_1 = 'dz';
     457                $dz->lang_code_iso_639_2 = 'dzo';
     458                $dz->country_code = 'bt';
     459                $dz->slug = 'dz';
     460                $dz->nplurals = 1;
     461                $dz->plural_expression = '0';
     462
     463                $ee = new GP_Locale();
     464                $ee->english_name = 'Ewe';
     465                $ee->native_name = 'Eʋegbe';
     466                $ee->lang_code_iso_639_1 = 'ee';
     467                $ee->lang_code_iso_639_2 = 'ewe';
     468                $ee->country_code = '';
     469                $ee->slug = 'ee';
     470
     471                $el_po = new GP_Locale();
     472                $el_po->english_name = 'Greek (Polytonic)';
     473                $el_po->native_name = 'Greek (Polytonic)'; // TODO
     474                $el_po->lang_code_po_iso_639_1 = null;
     475                $el_po->lang_code_po_iso_639_2 = null;
     476                $el_po->country_code = 'gr';
     477                $el_po->slug = 'el-po';
     478
     479                $el = new GP_Locale();
     480                $el->english_name = 'Greek';
     481                $el->native_name = 'Ελληνικά';
     482                $el->lang_code_iso_639_1 = 'el';
     483                $el->lang_code_iso_639_2 = 'ell';
     484                $el->country_code = 'gr';
     485                $el->wp_locale = 'el';
     486                $el->slug = 'el';
     487                $el->google_code = 'el';
     488                $el->facebook_locale = 'el_GR';
     489
     490                $en = new GP_Locale();
     491                $en->english_name = 'English';
     492                $en->native_name = 'English';
     493                $en->lang_code_iso_639_1 = 'en';
     494                $en->country_code = 'us';
     495                $en->wp_locale = 'en_US';
     496                $en->slug = 'en';
     497                $en->google_code = 'en';
     498                $en->facebook_locale = 'en_US';
     499
     500                $en_au = new GP_Locale();
     501                $en_au->english_name = 'English (Australia)';
     502                $en_au->native_name = 'English (Australia)';
     503                $en_au->lang_code_iso_639_1 = 'en';
     504                $en_au->lang_code_iso_639_2 = 'eng';
     505                $en_au->lang_code_iso_639_3 = 'eng';
     506                $en_au->country_code = 'au';
     507                $en_au->wp_locale = 'en_AU';
     508                $en_au->slug = 'en-au';
     509                $en_au->google_code = 'en';
     510
     511                $en_ca = new GP_Locale();
     512                $en_ca->english_name = 'English (Canada)';
     513                $en_ca->native_name = 'English (Canada)';
     514                $en_ca->lang_code_iso_639_1 = 'en';
     515                $en_ca->lang_code_iso_639_2 = 'eng';
     516                $en_ca->lang_code_iso_639_3 = 'eng';
     517                $en_ca->country_code = 'ca';
     518                $en_ca->wp_locale = 'en_CA';
     519                $en_ca->slug = 'en-ca';
     520                $en_ca->google_code = 'en';
     521
     522                $en_gb = new GP_Locale();
     523                $en_gb->english_name = 'English (UK)';
     524                $en_gb->native_name = 'English (UK)';
     525                $en_gb->lang_code_iso_639_1 = 'en';
     526                $en_gb->lang_code_iso_639_2 = 'eng';
     527                $en_gb->lang_code_iso_639_3 = 'eng';
     528                $en_gb->country_code = 'gb';
     529                $en_gb->wp_locale = 'en_GB';
     530                $en_gb->slug = 'en-gb';
     531                $en_gb->google_code = 'en';
     532                $en_gb->facebook_locale = 'en_GB';
     533
     534                $eo = new GP_Locale();
     535                $eo->english_name = 'Esperanto';
     536                $eo->native_name = 'Esperanto';
     537                $eo->lang_code_iso_639_1 = 'eo';
     538                $eo->lang_code_iso_639_2 = 'epo';
     539                $eo->country_code = '';
     540                $eo->wp_locale = 'eo';
     541                $eo->slug = 'eo';
     542                $eo->google_code = 'eo';
     543                $eo->facebook_locale = 'eo_EO';
     544
     545                $es_ar = new GP_Locale();
     546                $es_ar->english_name = 'Spanish (Argentina)';
     547                $es_ar->native_name = 'Español de Argentina';
     548                $es_ar->lang_code_iso_639_1 = 'es';
     549                $es_ar->lang_code_iso_639_2 = 'spa';
     550                $es_ar->country_code = 'ar';
     551                $es_ar->wp_locale = 'es_AR';
     552                $es_ar->slug = 'es-ar';
     553                $es_ar->google_code = 'es';
     554                $es_ar->facebook_locale = 'es_AR';
     555
     556                $es_cl = new GP_Locale();
     557                $es_cl->english_name = 'Spanish (Chile)';
     558                $es_cl->native_name = 'Español de Chile';
     559                $es_cl->lang_code_iso_639_1 = 'es';
     560                $es_cl->lang_code_iso_639_2 = 'spa';
     561                $es_cl->country_code = 'cl';
     562                $es_cl->wp_locale = 'es_CL';
     563                $es_cl->slug = 'es-cl';
     564                $es_cl->google_code = 'es';
     565                $es_cl->facebook_locale = 'es_LA';
     566
     567                $es_mx = new GP_Locale();
     568                $es_mx->english_name = 'Spanish (Mexico)';
     569                $es_mx->native_name = 'Español de México';
     570                $es_mx->lang_code_iso_639_1 = 'es';
     571                $es_mx->lang_code_iso_639_2 = 'spa';
     572                $es_mx->country_code = 'mx';
     573                $es_mx->wp_locale = 'es_MX';
     574                $es_mx->slug = 'es-mx';
     575                $es_mx->google_code = 'es';
     576                $es_mx->facebook_locale = 'es_LA';
     577
     578                $es_pe = new GP_Locale();
     579                $es_pe->english_name = 'Spanish (Peru)';
     580                $es_pe->native_name = 'Español de Perú';
     581                $es_pe->lang_code_iso_639_1 = 'es';
     582                $es_pe->lang_code_iso_639_2 = 'spa';
     583                $es_pe->country_code = 'pe';
     584                $es_pe->wp_locale = 'es_PE';
     585                $es_pe->slug = 'es-pe';
     586                $es_pe->google_code = 'es';
     587                $es_pe->facebook_locale = 'es_LA';
     588
     589                $es_pr = new GP_Locale();
     590                $es_pr->english_name = 'Spanish (Puerto Rico)';
     591                $es_pr->native_name = 'Español de Puerto Rico';
     592                $es_pr->lang_code_iso_639_1 = 'es';
     593                $es_pr->lang_code_iso_639_2 = 'spa';
     594                $es_pr->country_code = 'pr';
     595                $es_pr->wp_locale = 'es_PR';
     596                $es_pr->slug = 'es-pr';
     597                $es_pr->google_code = 'es';
     598                $es_pr->facebook_locale = 'es_LA';
     599
     600                $es_ve = new GP_Locale();
     601                $es_ve->english_name = 'Spanish (Venezuela)';
     602                $es_ve->native_name = 'Español de Venezuela';
     603                $es_ve->lang_code_iso_639_1 = 'es';
     604                $es_ve->lang_code_iso_639_2 = 'spa';
     605                $es_ve->country_code = 'pe';
     606                $es_ve->wp_locale = 'es_VE';
     607                $es_ve->slug = 'es-ve';
     608                $es_ve->google_code = 'es';
     609                $es_ve->facebook_locale = 'es_LA';
     610
     611                $es_co = new GP_Locale();
     612                $es_co->english_name = 'Spanish (Colombia)';
     613                $es_co->native_name = 'Español de Colombia';
     614                $es_co->lang_code_iso_639_1 = 'es';
     615                $es_co->lang_code_iso_639_2 = 'spa';
     616                $es_co->country_code = 'co';
     617                $es_co->wp_locale = 'es_CO';
     618                $es_co->slug = 'es-co';
     619                $es_co->google_code = 'es';
     620                $es_co->facebook_locale = 'es_LA';
     621
     622                $es = new GP_Locale();
     623                $es->english_name = 'Spanish (Spain)';
     624                $es->native_name = 'Español';
     625                $es->lang_code_iso_639_1 = 'es';
     626                $es->country_code = 'es';
     627                $es->wp_locale = 'es_ES';
     628                $es->slug = 'es';
     629                $es->google_code = 'es';
     630                $es->facebook_locale = 'es_ES';
     631
     632                $et = new GP_Locale();
     633                $et->english_name = 'Estonian';
     634                $et->native_name = 'Eesti';
     635                $et->lang_code_iso_639_1 = 'et';
     636                $et->lang_code_iso_639_2 = 'est';
     637                $et->country_code = 'ee';
     638                $et->wp_locale = 'et';
     639                $et->slug = 'et';
     640                $et->google_code = 'et';
     641                $et->facebook_locale = 'et_EE';
     642
     643                $eu = new GP_Locale();
     644                $eu->english_name = 'Basque';
     645                $eu->native_name = 'Euskara';
     646                $eu->lang_code_iso_639_1 = 'eu';
     647                $eu->lang_code_iso_639_2 = 'eus';
     648                $eu->country_code = 'es';
     649                $eu->wp_locale = 'eu';
     650                $eu->slug = 'eu';
     651                $eu->google_code = 'eu';
     652                $eu->facebook_locale = 'eu_ES';
     653
     654                $fa = new GP_Locale();
     655                $fa->english_name = 'Persian';
     656                $fa->native_name = 'فارسی';
     657                $fa->lang_code_iso_639_1 = 'fa';
     658                $fa->lang_code_iso_639_2 = 'fas';
     659                $fa->country_code = '';
     660                $fa->wp_locale = 'fa_IR';
     661                $fa->slug = 'fa';
     662                $fa->google_code = 'fa';
     663                $fa->facebook_locale = 'fa_IR';
     664                $fa->nplurals = 1;
     665                $fa->plural_expression = '0';
     666                $fa->rtl = true;
     667
     668                $fa_af = new GP_Locale();
     669                $fa_af->english_name = 'Persian (Afghanistan)';
     670                $fa_af->native_name = '(فارسی (افغانستان';
     671                $fa_af->lang_code_iso_639_1 = 'fa';
     672                $fa_af->lang_code_iso_639_2 = 'fas';
     673                $fa_af->country_code = '';
     674                $fa_af->wp_locale = 'fa_AF';
     675                $fa_af->slug = 'fa-af';
     676                $fa_af->google_code = 'fa';
     677                $fa_af->nplurals = 1;
     678                $fa_af->plural_expression = '0';
     679                $fa_af->rtl = true;
     680
     681                $fi = new GP_Locale();
     682                $fi->english_name = 'Finnish';
     683                $fi->native_name = 'Suomi';
     684                $fi->lang_code_iso_639_1 = 'fi';
     685                $fi->lang_code_iso_639_2 = 'fin';
     686                $fi->country_code = 'fi';
     687                $fi->wp_locale = 'fi';
     688                $fi->slug = 'fi';
     689                $fi->google_code = 'fi';
     690                $fi->facebook_locale = 'fi_FI';
     691
     692                $fj = new GP_Locale();
     693                $fj->english_name = 'Fijian';
     694                $fj->native_name = 'vosa Vakaviti';
     695                $fj->lang_code_iso_639_1 = 'fj';
     696                $fj->lang_code_iso_639_2 = 'fij';
     697                $fj->country_code = 'fj';
     698                $fj->slug = 'fj';
     699
     700                $fo = new GP_Locale();
     701                $fo->english_name = 'Faroese';
     702                $fo->native_name = 'føroyskt';
     703                $fo->lang_code_iso_639_1 = 'fo';
     704                $fo->lang_code_iso_639_2 = 'fao';
     705                $fo->country_code = 'fo';
     706                $fo->wp_locale = 'fo';
     707                $fo->slug = 'fo';
     708                $fo->facebook_locale = 'fo_FO';
     709
     710                $fr = new GP_Locale();
     711                $fr->english_name = 'French (France)';
     712                $fr->native_name = 'Français';
     713                $fr->lang_code_iso_639_1 = 'fr';
     714                $fr->country_code = 'fr';
     715                $fr->wp_locale = 'fr_FR';
     716                $fr->slug = 'fr';
     717                $fr->google_code = 'fr';
     718                $fr->facebook_locale = 'fr_FR';
     719                $fr->nplurals = 2;
     720                $fr->plural_expression = 'n > 1';
     721
     722                $fr_be = new GP_Locale();
     723                $fr_be->english_name = 'French (Belgium)';
     724                $fr_be->native_name = 'Français de Belgique';
     725                $fr_be->lang_code_iso_639_1 = 'fr';
     726                $fr_be->lang_code_iso_639_2 = 'fra';
     727                $fr_be->country_code = 'be';
     728                $fr_be->wp_locale = 'fr_BE';
     729                $fr_be->slug = 'fr-be';
     730
     731                $fr_ca = new GP_Locale();
     732                $fr_ca->english_name = 'French (Canada)';
     733                $fr_ca->native_name = 'Français du Canada';
     734                $fr_ca->lang_code_iso_639_1 = 'fr';
     735                $fr_ca->lang_code_iso_639_2 = 'fra';
     736                $fr_ca->country_code = 'ca';
     737                $fr_ca->facebook_locale = 'fr_CA';
     738                $fr_ca->slug = 'fr-ca';
     739
     740                $fr_ch = new GP_Locale();
     741                $fr_ch->english_name = 'French (Switzerland)';
     742                $fr_ch->native_name = 'Français de Suisse';
     743                $fr_ch->lang_code_iso_639_1 = 'fr';
     744                $fr_ch->lang_code_iso_639_2 = 'fra';
     745                $fr_ch->country_code = 'ch';
     746                $fr_ch->slug = 'fr-ch';
     747
     748                $fy = new GP_Locale();
     749                $fy->english_name = 'Frisian';
     750                $fy->native_name = 'Frysk';
     751                $fy->lang_code_iso_639_1 = 'fy';
     752                $fy->lang_code_iso_639_2 = 'fry';
     753                $fy->country_code = 'fy';
     754                $fy->facebook_locale = 'fy_NL';
     755                $fy->slug = 'fy';
     756                $fy->wp_locale = 'fy';
     757
     758                $ga = new GP_Locale();
     759                $ga->english_name = 'Irish';
     760                $ga->native_name = 'Gaelige';
     761                $ga->lang_code_iso_639_1 = 'ga';
     762                $ga->lang_code_iso_639_2 = 'gle';
     763                $ga->country_code = 'ie';
     764                $ga->slug = 'ga';
     765                $ga->google_code = 'ga';
     766                $ga->facebook_locale = 'ga_IE';
     767                $ga->nplurals = 5;
     768                $ga->plural_expression = 'n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4';
     769
     770                $gd = new GP_Locale();
     771                $gd->english_name = 'Scottish Gaelic';
     772                $gd->native_name = 'Gàidhlig';
     773                $gd->lang_code_iso_639_1 = 'gd';
     774                $gd->lang_code_iso_639_2 = 'gla';
     775                $gd->lang_code_iso_639_3 = 'gla';
     776                $gd->country_code = 'uk';
     777                $gd->wp_locale = 'gd';
     778                $gd->slug = 'gd';
     779                $gd->google_code = 'gd';
     780                $gd->nplurals = 4;
     781                $gd->plural_expression = '(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : (n > 2 && n < 20) ? 2 : 3';
     782
     783                $gl = new GP_Locale();
     784                $gl->english_name = 'Galician';
     785                $gl->native_name = 'Galego';
     786                $gl->lang_code_iso_639_1 = 'gl';
     787                $gl->lang_code_iso_639_2 = 'glg';
     788                $gl->country_code = 'es';
     789                $gl->wp_locale = 'gl_ES';
     790                $gl->slug = 'gl';
     791                $gl->google_code = 'gl';
     792                $gl->facebook_locale = 'gl_ES';
     793
     794                $gn = new GP_Locale();
     795                $gn->english_name = 'Guaraní';
     796                $gn->native_name = 'Avañe\'ẽ';
     797                $gn->lang_code_iso_639_1 = 'gn';
     798                $gn->lang_code_iso_639_2 = 'grn';
     799                $gn->country_code = '';
     800                $gn->wp_locale = 'gn';
     801                $gn->slug = 'gn';
     802                $gn->google_code = 'gn';
     803
     804                $gsw = new GP_Locale();
     805                $gsw->english_name = 'Swiss German';
     806                $gsw->native_name = 'Schwyzerdütsch';
     807                $gsw->lang_code_iso_639_1 = null;
     808                $gsw->lang_code_iso_639_2 = 'gsw';
     809                $gsw->lang_code_iso_639_3 = 'gsw';
     810                $gsw->country_code = 'ch';
     811                $gsw->wp_locale = 'gsw';
     812                $gsw->slug = 'gsw';
     813
     814                $gu = new GP_Locale();
     815                $gu->english_name = 'Gujarati';
     816                $gu->native_name = 'ગુજરાતી';
     817                $gu->lang_code_iso_639_1 = 'gu';
     818                $gu->lang_code_iso_639_2 = 'guj';
     819                $gu->country_code = '';
     820                $gu->slug = 'gu';
     821                $gu->google_code = 'gu';
     822
     823                $ha = new GP_Locale();
     824                $ha->english_name = 'Hausa';
     825                $ha->native_name = 'هَوُسَ';
     826                $ha->lang_code_iso_639_1 = 'he';
     827                $ha->lang_code_iso_639_2 = 'hau';
     828                $ha->country_code = '';
     829                $ha->slug = 'ha';
     830                $ha->rtl = true;
     831
     832                $haw = new GP_Locale();
     833                $haw->english_name = 'Hawaiian';
     834                $haw->native_name = 'Ōlelo Hawaiʻi';
     835                $haw->lang_code_iso_639_1 = null;
     836                $haw->lang_code_iso_639_2 = 'haw';
     837                $haw->country_code = 'us';
     838                $haw->wp_locale = 'haw_US';
     839                $haw->slug = 'haw';
     840
     841                $haz = new GP_Locale();
     842                $haz->english_name = 'Hazaragi';
     843                $haz->native_name = 'هزاره گی';
     844                $haz->lang_code_iso_639_1 = null;
     845                $haz->lang_code_iso_639_2 = 'haz';
     846                $haz->country_code = 'af';
     847                $haz->wp_locale = 'haz';
     848                $haz->slug = 'haz';
     849                $haz->rtl = true;
     850
     851                $he = new GP_Locale();
     852                $he->english_name = 'Hebrew';
     853                $he->native_name = 'עִבְרִית';
     854                $he->lang_code_iso_639_1 = 'he';
     855                $he->country_code = 'il';
     856                $he->wp_locale = 'he_IL';
     857                $he->slug = 'he';
     858                $he->google_code = 'iw';
     859                $he->facebook_locale = 'he_IL';
     860                $he->rtl = true;
     861
     862                $hi = new GP_Locale();
     863                $hi->english_name = 'Hindi';
     864                $hi->native_name = 'हिन्दी';
     865                $hi->lang_code_iso_639_1 = 'hi';
     866                $hi->lang_code_iso_639_2 = 'hin';
     867                $hi->country_code = 'in';
     868                $hi->wp_locale = 'hi_IN';
     869                $hi->slug = 'hi';
     870                $hi->google_code = 'hi';
     871                $hi->facebook_locale = 'hi_IN';
     872
     873                $hr = new GP_Locale();
     874                $hr->english_name = 'Croatian';
     875                $hr->native_name = 'Hrvatski';
     876                $hr->lang_code_iso_639_1 = 'hr';
     877                $hr->lang_code_iso_639_2 = 'hrv';
     878                $hr->country_code = 'hr';
     879                $hr->wp_locale = 'hr';
     880                $hr->slug = 'hr';
     881                $hr->google_code = 'hr';
     882                $hr->facebook_locale = 'hr_HR';
     883                $hr->nplurals = 3;
     884                $hr->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     885
     886                $hu = new GP_Locale();
     887                $hu->english_name = 'Hungarian';
     888                $hu->native_name = 'Magyar';
     889                $hu->lang_code_iso_639_1 = 'hu';
     890                $hu->lang_code_iso_639_2 = 'hun';
     891                $hu->country_code = 'hu';
     892                $hu->wp_locale = 'hu_HU';
     893                $hu->slug = 'hu';
     894                $hu->google_code = 'hu';
     895                $hu->facebook_locale = 'hu_HU';
     896
     897                $hy = new GP_Locale();
     898                $hy->english_name = 'Armenian';
     899                $hy->native_name = 'Հայերեն';
     900                $hy->lang_code_iso_639_1 = 'hy';
     901                $hy->lang_code_iso_639_2 = 'hye';
     902                $hy->country_code = 'am';
     903                $hy->wp_locale = 'hy';
     904                $hy->slug = 'hy';
     905                $hy->google_code = 'hy';
     906                $hy->facebook_locale = 'hy_AM';
     907                $hy->nplurals = 2;
     908
     909                $ia = new GP_Locale();
     910                $ia->english_name = 'Interlingua';
     911                $ia->native_name = 'Interlingua';
     912                $ia->lang_code_iso_639_1 = 'ia';
     913                $ia->lang_code_iso_639_2 = 'ina';
     914                $ia->country_code = '';
     915                $ia->slug = 'ia';
     916
     917                $id = new GP_Locale();
     918                $id->english_name = 'Indonesian';
     919                $id->native_name = 'Bahasa Indonesia';
     920                $id->lang_code_iso_639_1 = 'id';
     921                $id->lang_code_iso_639_2 = 'ind';
     922                $id->country_code = 'id';
     923                $id->wp_locale = 'id_ID';
     924                $id->slug = 'id';
     925                $id->google_code = 'id';
     926                $id->facebook_locale = 'id_ID';
     927                $id->nplurals = 2;
     928                $id->plural_expression = 'n > 1';
     929
     930                $ike = new GP_Locale();
     931                $ike->english_name = 'Inuktitut';
     932                $ike->native_name = 'ᐃᓄᒃᑎᑐᑦ';
     933                $ike->lang_code_iso_639_1 = 'iu';
     934                $ike->lang_code_iso_639_2 = 'iku';
     935                $ike->country_code = 'ca';
     936                $ike->slug = 'ike';
     937
     938                $ilo = new GP_Locale();
     939                $ilo->english_name = 'Iloko';
     940                $ilo->native_name = 'Pagsasao nga Iloko';
     941                $ilo->lang_code_iso_639_1 = null;
     942                $ilo->lang_code_iso_639_2 = 'ilo';
     943                $ilo->country_code = 'ph';
     944                $ilo->slug = 'ilo';
     945
     946                $is = new GP_Locale();
     947                $is->english_name = 'Icelandic';
     948                $is->native_name = 'Íslenska';
     949                $is->lang_code_iso_639_1 = 'is';
     950                $is->lang_code_iso_639_2 = 'isl';
     951                $is->country_code = 'is';
     952                $is->slug = 'is';
     953                $is->google_code = 'is';
     954                $is->facebook_locale = 'is_IS';
     955                $is->wp_locale = 'is_IS';
     956                $is->nplurals = 2;
     957                $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)';
     958
     959                $it = new GP_Locale();
     960                $it->english_name = 'Italian';
     961                $it->native_name = 'Italiano';
     962                $it->lang_code_iso_639_1 = 'it';
     963                $it->lang_code_iso_639_2 = 'ita';
     964                $it->country_code = 'it';
     965                $it->wp_locale = 'it_IT';
     966                $it->slug = 'it';
     967                $it->google_code = 'it';
     968                $it->facebook_locale = 'it_IT';
     969
     970                $ja = new GP_Locale();
     971                $ja->english_name = 'Japanese';
     972                $ja->native_name = '日本語';
     973                $ja->lang_code_iso_639_1 = 'ja';
     974                $ja->country_code = 'jp';
     975                $ja->wp_locale = 'ja';
     976                $ja->slug = 'ja';
     977                $ja->google_code = 'ja';
     978                $ja->facebook_locale = 'ja_JP';
     979                $ja->nplurals = 1;
     980                $ja->plural_expression = '0';
     981
     982                $jv = new GP_Locale();
     983                $jv->english_name = 'Javanese';
     984                $jv->native_name = 'Basa Jawa';
     985                $jv->lang_code_iso_639_1 = 'jv';
     986                $jv->lang_code_iso_639_2 = 'jav';
     987                $jv->country_code = 'id';
     988                $jv->wp_locale = 'jv_ID';
     989                $jv->slug = 'jv';
     990                $jv->google_code = 'jw';
     991
     992                $ka = new GP_Locale();
     993                $ka->english_name = 'Georgian';
     994                $ka->native_name = 'ქართული';
     995                $ka->lang_code_iso_639_1 = 'ka';
     996                $ka->lang_code_iso_639_2 = 'kat';
     997                $ka->country_code = 'ge';
     998                $ka->wp_locale = 'ka_GE';
     999                $ka->slug = 'ka';
     1000                $ka->google_code = 'ka';
     1001                $ka->facebook_locale = 'ka_GE';
     1002                $ka->nplurals = 1;
     1003                $ka->plural_expression = '0';
     1004
     1005                $kin = new GP_Locale();
     1006                $kin->english_name = 'Kinyarwanda';
     1007                $kin->native_name = 'Kinyarwanda';
     1008                $kin->lang_code_iso_639_1 = 'rw';
     1009                $kin->lang_code_iso_639_2 = 'kin';
     1010                $kin->lang_code_iso_639_3 = 'kin';
     1011                $kin->wp_locale = 'kin';
     1012                $kin->country_code = 'rw';
     1013                $kin->slug = 'rw';
     1014                $kin->nplurals = 2;
     1015                $kin->plural_expression = '(n > 1)';
     1016
     1017                $kk = new GP_Locale();
     1018                $kk->english_name = 'Kazakh';
     1019                $kk->native_name = 'Қазақ тілі';
     1020                $kk->lang_code_iso_639_1 = 'kk';
     1021                $kk->lang_code_iso_639_2 = 'kaz';
     1022                $kk->country_code = 'kz';
     1023                $kk->wp_locale = 'kk';
     1024                $kk->slug = 'kk';
     1025                $kk->google_code = 'kk';
     1026
     1027                $km = new GP_Locale();
     1028                $km->english_name = 'Khmer';
     1029                $km->native_name = 'ភាសាខ្មែរ';
     1030                $km->lang_code_iso_639_1 = 'km';
     1031                $km->lang_code_iso_639_2 = 'khm';
     1032                $km->country_code = 'kh';
     1033                $km->wp_locale = 'km';
     1034                $km->slug = 'km';
     1035                $km->google_code = 'km';
     1036                $km->facebook_locale = 'km_KH';
     1037                $km->nplurals = 1;
     1038                $km->plural_expression = '0';
     1039
     1040                $kn = new GP_Locale();
     1041                $kn->english_name = 'Kannada';
     1042                $kn->native_name = 'ಕನ್ನಡ';
     1043                $kn->lang_code_iso_639_1 = 'kn';
     1044                $kn->lang_code_iso_639_2 = 'kan';
     1045                $kn->country_code = 'in';
     1046                $kn->wp_locale = 'kn';
     1047                $kn->slug = 'kn';
     1048                $kn->google_code = 'kn';
     1049
     1050                $ko = new GP_Locale();
     1051                $ko->english_name = 'Korean';
     1052                $ko->native_name = '한국어';
     1053                $ko->lang_code_iso_639_1 = 'ko';
     1054                $ko->lang_code_iso_639_2 = 'kor';
     1055                $ko->country_code = 'kr';
     1056                $ko->wp_locale = 'ko_KR';
     1057                $ko->slug = 'ko';
     1058                $ko->google_code = 'ko';
     1059                $ko->facebook_locale = 'ko_KR';
     1060                $ko->nplurals = 1;
     1061                $ko->plural_expression = '0';
     1062
     1063                $ks = new GP_Locale();
     1064                $ks->english_name = 'Kashmiri';
     1065                $ks->native_name = 'कश्मीरी';
     1066                $ks->lang_code_iso_639_1 = 'ks';
     1067                $ks->lang_code_iso_639_2 = 'kas';
     1068                $ks->country_code = '';
     1069                $ks->slug = 'ks';
     1070
     1071                $ku = new GP_Locale();
     1072                $ku->english_name = 'Kurdish (Kurmanji)';
     1073                $ku->native_name = 'Kurdî';
     1074                $ku->lang_code_iso_639_1 = 'ku';
     1075                $ku->lang_code_iso_639_2 = 'kur';
     1076                $ku->country_code = 'ku';
     1077                $ku->slug = 'ku';
     1078                $ku->google_code = 'ku';
     1079                $ku->facebook_locale = 'ku_TR';
     1080
     1081                $ky = new GP_Locale();
     1082                $ky->english_name = 'Kirghiz';
     1083                $ky->native_name = 'кыргыз тили';
     1084                $ky->lang_code_iso_639_1 = 'ky';
     1085                $ky->lang_code_iso_639_2 = 'kir';
     1086                $ky->country_code = 'kg';
     1087                $ky->wp_locale = 'ky_KY';
     1088                $ky->slug = 'ky';
     1089                $ky->nplurals = 1;
     1090                $ky->plural_expression = '0';
     1091
     1092                $la = new GP_Locale();
     1093                $la->english_name = 'Latin';
     1094                $la->native_name = 'latine';
     1095                $la->lang_code_iso_639_1 = 'la';
     1096                $la->lang_code_iso_639_2 = 'lat';
     1097                $la->country_code = '';
     1098                $la->slug = 'la';
     1099                $la->facebook_locale = 'la_VA';
     1100
     1101                $lb = new GP_Locale();
     1102                $lb->english_name = 'Luxembourgish';
     1103                $lb->native_name = 'Lëtzebuergesch';
     1104                $lb->lang_code_iso_639_1 = 'lb';
     1105                $lb->country_code = 'lu';
     1106                $lb->wp_locale = 'lb_LU';
     1107                $lb->slug = 'lb';
     1108
     1109                $li = new GP_Locale();
     1110                $li->english_name = 'Limburgish';
     1111                $li->native_name = 'Limburgs';
     1112                $li->lang_code_iso_639_1 = 'li';
     1113                $li->lang_code_iso_639_2 = 'lim';
     1114                $li->lang_code_iso_639_3 = 'lim';
     1115                $li->country_code = 'nl';
     1116                $li->wp_locale = 'li';
     1117                $li->slug = 'li';
     1118                $li->google_code = 'li';
     1119
     1120                $lo = new GP_Locale();
     1121                $lo->english_name = 'Lao';
     1122                $lo->native_name = 'ພາສາລາວ';
     1123                $lo->lang_code_iso_639_1 = 'lo';
     1124                $lo->lang_code_iso_639_2 = 'lao';
     1125                $lo->country_code = '';
     1126                $lo->wp_locale = 'lo';
     1127                $lo->slug = 'lo';
     1128                $lo->google_code = 'lo';
     1129                $lo->nplurals = 1;
     1130                $lo->plural_expression = '0';
     1131
     1132                $lt = new GP_Locale();
     1133                $lt->english_name = 'Lithuanian';
     1134                $lt->native_name = 'Lietuvių kalba';
     1135                $lt->lang_code_iso_639_1 = 'lt';
     1136                $lt->lang_code_iso_639_2 = 'lit';
     1137                $lt->country_code = 'lt';
     1138                $lt->wp_locale = 'lt_LT';
     1139                $lt->slug = 'lt';
     1140                $lt->google_code = 'lt';
     1141                $lt->facebook_locale = 'lt_LT';
     1142                $lt->nplurals = 3;
     1143                $lt->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)';
     1144
     1145                $lv = new GP_Locale();
     1146                $lv->english_name = 'Latvian';
     1147                $lv->native_name = 'latviešu valoda';
     1148                $lv->lang_code_iso_639_1 = 'lv';
     1149                $lv->lang_code_iso_639_2 = 'lav';
     1150                $lv->country_code = 'lv';
     1151                $lv->wp_locale = 'lv';
     1152                $lv->slug = 'lv';
     1153                $lv->google_code = 'lv';
     1154                $lv->facebook_locale = 'lv_LV';
     1155                $lv->nplurals = 3;
     1156                $lv->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)';
     1157
     1158                $me = new GP_Locale();
     1159                $me->english_name = 'Montenegrin';
     1160                $me->native_name = 'Crnogorski jezik';
     1161                $me->lang_code_iso_639_1 = 'me';
     1162                $me->country_code = 'me';
     1163                $me->wp_locale = 'me_ME';
     1164                $me->google_code = 'srp';
     1165                $me->slug = 'me';
     1166                $me->nplurals = 3;
     1167                $me->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     1168
     1169                $mg = new GP_Locale();
     1170                $mg->english_name = 'Malagasy';
     1171                $mg->native_name = 'Malagasy';
     1172                $mg->lang_code_iso_639_1 = 'mg';
     1173                $mg->lang_code_iso_639_2 = 'mlg';
     1174                $mg->country_code = 'mg';
     1175                $mg->wp_locale = 'mg_MG';
     1176                $mg->slug = 'mg';
     1177
     1178                $mhr = new GP_Locale();
     1179                $mhr->english_name = 'Mari (Meadow)';
     1180                $mhr->native_name = 'олык марий';
     1181                $mhr->lang_code_iso_639_1 = null;
     1182                $mhr->lang_code_iso_639_2 = null;
     1183                $mhr->lang_code_iso_639_3 = 'mhr';
     1184                $mhr->country_code = 'ru';
     1185                $mhr->slug = 'mhr';
     1186                $mhr->google_code = 'chm';
     1187
     1188                $mk = new GP_Locale();
     1189                $mk->english_name = 'Macedonian';
     1190                $mk->native_name = 'македонски јазик';
     1191                $mk->lang_code_iso_639_1 = 'mk';
     1192                $mk->lang_code_iso_639_2 = 'mkd';
     1193                $mk->country_code = 'mk';
     1194                $mk->wp_locale = 'mk_MK';
     1195                $mk->slug = 'mk';
     1196                $mk->google_code = 'mk';
     1197                $mk->facebook_locale = 'mk_MK';
     1198                $mk->nplurals = 2;
     1199                $mk->plural_expression = 'n==1 || n%10==1 ? 0 : 1';
     1200
     1201                $ml = new GP_Locale();
     1202                $ml->english_name = 'Malayalam';
     1203                $ml->native_name = 'മലയാളം';
     1204                $ml->lang_code_iso_639_1 = 'ml';
     1205                $ml->lang_code_iso_639_2 = 'mal';
     1206                $ml->country_code = 'in';
     1207                $ml->wp_locale = 'ml_IN';
     1208                $ml->slug = 'ml';
     1209                $ml->google_code = 'ml';
     1210                $ml->facebook_locale = 'ml_IN';
     1211
     1212                $mn = new GP_Locale();
     1213                $mn->english_name = 'Mongolian';
     1214                $mn->native_name = 'Монгол';
     1215                $mn->lang_code_iso_639_1 = 'mn';
     1216                $mn->lang_code_iso_639_2 = 'mon';
     1217                $mn->country_code = 'mn';
     1218                $mn->slug = 'mn';
     1219                $mn->google_code = 'mn';
     1220
     1221                $mr = new GP_Locale();
     1222                $mr->english_name = 'Marathi';
     1223                $mr->native_name = 'मराठी';
     1224                $mr->lang_code_iso_639_1 = 'mr';
     1225                $mr->lang_code_iso_639_2 = 'mar';
     1226                $mr->country_code = '';
     1227                $mr->slug = 'mr';
     1228                $mr->google_code = 'mr';
     1229
     1230                $mri = new GP_Locale();
     1231                $mri->english_name = 'Maori';
     1232                $mri->native_name = 'Te Reo Māori';
     1233                $mri->lang_code_iso_639_1 = null;
     1234                $mri->lang_code_iso_639_2 = null;
     1235                $mri->lang_code_iso_639_3 = 'mri';
     1236                $mri->country_code = 'nz';
     1237                $mri->slug = 'mri';
     1238                $mri->nplurals = 2;
     1239                $mri->plural_expression = '(n > 1)';
     1240
     1241                $mrj = new GP_Locale();
     1242                $mrj->english_name = 'Mari (Hill)';
     1243                $mrj->native_name = 'кырык мары';
     1244                $mrj->lang_code_iso_639_1 = null;
     1245                $mrj->lang_code_iso_639_2 = null;
     1246                $mrj->lang_code_iso_639_3 = 'mrj';
     1247                $mrj->country_code = 'ru';
     1248                $mrj->slug = 'mrj';
     1249                $mrj->google_code = 'chm';
     1250
     1251                $ms = new GP_Locale();
     1252                $ms->english_name = 'Malay';
     1253                $ms->native_name = 'Bahasa Melayu';
     1254                $ms->lang_code_iso_639_1 = 'ms';
     1255                $ms->lang_code_iso_639_2 = 'msa';
     1256                $ms->country_code = '';
     1257                $ms->wp_locale = 'ms_MY';
     1258                $ms->slug = 'ms';
     1259                $ms->google_code = 'ms';
     1260                $ms->facebook_locale = 'ms_MY';
     1261                $ms->nplurals = 1;
     1262                $ms->plural_expression = '0';
     1263
     1264                $mwl = new GP_Locale();
     1265                $mwl->english_name = 'Mirandese';
     1266                $mwl->native_name = 'Mirandés';
     1267                $mwl->lang_code_iso_639_1 = null;
     1268                $mwl->lang_code_iso_639_2 = 'mwl';
     1269                $mwl->country_code = '';
     1270                $mwl->slug = 'mwl';
     1271
     1272                $my = new GP_Locale();
     1273                $my->english_name = 'Burmese';
     1274                $my->native_name = 'ဗမာစာ';
     1275                $my->lang_code_iso_639_1 = 'my';
     1276                $my->lang_code_iso_639_2 = 'mya';
     1277                $my->country_code = 'mm';
     1278                $my->wp_locale = 'my_MM';
     1279                $my->slug = 'mya';
     1280                $my->google_code = 'my';
     1281
     1282                $ne = new GP_Locale();
     1283                $ne->english_name = 'Nepali';
     1284                $ne->native_name = 'नेपाली';
     1285                $ne->lang_code_iso_639_1 = 'ne';
     1286                $ne->lang_code_iso_639_2 = 'nep';
     1287                $ne->country_code = 'np';
     1288                $ne->wp_locale = 'ne_NP';
     1289                $ne->slug = 'ne';
     1290                $ne->facebook_locale = 'ne_NP';
     1291
     1292                $nb = new GP_Locale();
     1293                $nb->english_name = 'Norwegian (Bokmål)';
     1294                $nb->native_name = 'Norsk bokmål';
     1295                $nb->lang_code_iso_639_1 = 'nb';
     1296                $nb->lang_code_iso_639_2 = 'nob';
     1297                $nb->country_code = 'no';
     1298                $nb->wp_locale = 'nb_NO';
     1299                $nb->slug = 'nb';
     1300                $nb->google_code = 'no';
     1301                $nb->facebook_locale = 'nb_NO';
     1302
     1303                $nl = new GP_Locale();
     1304                $nl->english_name = 'Dutch';
     1305                $nl->native_name = 'Nederlands';
     1306                $nl->lang_code_iso_639_1 = 'nl';
     1307                $nl->lang_code_iso_639_2 = 'nld';
     1308                $nl->country_code = 'nl';
     1309                $nl->wp_locale = 'nl_NL';
     1310                $nl->slug = 'nl';
     1311                $nl->google_code = 'nl';
     1312                $nl->facebook_locale = 'nl_NL';
     1313
     1314                $nl_be = new GP_Locale();
     1315                $nl_be->english_name = 'Dutch (Belgium)';
     1316                $nl_be->native_name = 'Nederlands (België)';
     1317                $nl_be->lang_code_iso_639_1 = 'nl';
     1318                $nl_be->lang_code_iso_639_2 = 'nld';
     1319                $nl_be->country_code = 'be';
     1320                $nl_be->wp_locale = 'nl_BE';
     1321                $nl_be->slug = 'nl-be';
     1322                $nl_be->google_code = 'nl';
     1323
     1324                $nn = new GP_Locale();
     1325                $nn->english_name = 'Norwegian (Nynorsk)';
     1326                $nn->native_name = 'Norsk nynorsk';
     1327                $nn->lang_code_iso_639_1 = 'nn';
     1328                $nn->lang_code_iso_639_2 = 'nno';
     1329                $nn->country_code = 'no';
     1330                $nn->wp_locale = 'nn_NO';
     1331                $nn->slug = 'nn';
     1332                $nn->facebook_locale = 'nn_NO';
     1333
     1334                $no = new GP_Locale();
     1335                $no->english_name = 'Norwegian';
     1336                $no->native_name = 'Norsk';
     1337                $no->lang_code_iso_639_1 = 'no';
     1338                $no->lang_code_iso_639_2 = 'nor';
     1339                $no->country_code = 'no';
     1340                $no->slug = 'no';
     1341                $no->google_code = 'no';
     1342
     1343                $oc = new GP_Locale();
     1344                $oc->english_name = 'Occitan';
     1345                $oc->native_name = 'Occitan';
     1346                $oc->lang_code_iso_639_1 = 'oc';
     1347                $oc->lang_code_iso_639_2 = 'oci';
     1348                $oc->country_code = '';
     1349                $oc->slug = 'oc';
     1350
     1351                $os = new GP_Locale();
     1352                $os->english_name = 'Ossetic';
     1353                $os->native_name = 'Ирон';
     1354                $os->lang_code_iso_639_1 = 'os';
     1355                $os->lang_code_iso_639_2 = 'oss';
     1356                $os->wp_locale = 'os';
     1357                $os->country_code = '';
     1358                $os->slug = 'os';
     1359
     1360                $pa = new GP_Locale();
     1361                $pa->english_name = 'Punjabi';
     1362                $pa->native_name = 'ਪੰਜਾਬੀ';
     1363                $pa->lang_code_iso_639_1 = 'pa';
     1364                $pa->lang_code_iso_639_2 = 'pan';
     1365                $pa->country_code = 'in';
     1366                $pa->wp_locale = 'pa_IN';
     1367                $pa->slug = 'pa';
     1368                $pa->facebook_locale = 'pa_IN';
     1369
     1370                $pl = new GP_Locale();
     1371                $pl->english_name = 'Polish';
     1372                $pl->native_name = 'Polski';
     1373                $pl->lang_code_iso_639_1 = 'pl';
     1374                $pl->lang_code_iso_639_2 = 'pol';
     1375                $pl->country_code = 'pl';
     1376                $pl->wp_locale = 'pl_PL';
     1377                $pl->slug = 'pl';
     1378                $pl->google_code = 'pl';
     1379                $pl->facebook_locale = 'pl_PL';
     1380                $pl->nplurals = 3;
     1381                $pl->plural_expression = '(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     1382
     1383
     1384                $pt_br = new GP_Locale();
     1385                $pt_br->english_name = 'Portuguese (Brazil)';
     1386                $pt_br->native_name = 'Português do Brasil';
     1387                $pt_br->lang_code_iso_639_1 = 'pt';
     1388                $pt_br->lang_code_iso_639_2 = 'por';
     1389                $pt_br->country_code = 'br';
     1390                $pt_br->wp_locale = 'pt_BR';
     1391                $pt_br->slug = 'pt-br';
     1392                $pt_br->google_code = 'pt-PT';
     1393                $pt_br->facebook_locale = 'pt_BR';
     1394                $pt_br->nplurals = 2;
     1395                $pt_br->plural_expression = '(n > 1)';
     1396
     1397                $pt = new GP_Locale();
     1398                $pt->english_name = 'Portuguese (Portugal)';
     1399                $pt->native_name = 'Português';
     1400                $pt->lang_code_iso_639_1 = 'pt';
     1401                $pt->country_code = 'pt';
     1402                $pt->wp_locale = 'pt_PT';
     1403                $pt->slug = 'pt';
     1404                $pt->google_code = 'pt-PT';
     1405                $pt->facebook_locale = 'pt_PT';
     1406
     1407                $ps = new GP_Locale();
     1408                $ps->english_name = 'Pashto';
     1409                $ps->native_name = 'پښتو';
     1410                $ps->lang_code_iso_639_1 = 'ps';
     1411                $ps->country_code = '';
     1412                $ps->wp_locale = 'ps';
     1413                $ps->slug = 'ps';
     1414                $ps->google_code = 'ps';
     1415                $ps->facebook_locale = 'ps_AF';
     1416                $ps->rtl = true;
     1417
     1418                $ro = new GP_Locale();
     1419                $ro->english_name = 'Romanian';
     1420                $ro->native_name = 'Română';
     1421                $ro->lang_code_iso_639_1 = 'ro';
     1422                $ro->lang_code_iso_639_2 = 'ron';
     1423                $ro->country_code = 'ro';
     1424                $ro->wp_locale = 'ro_RO';
     1425                $ro->slug = 'ro';
     1426                $ro->google_code = 'ro';
     1427                $ro->facebook_locale = 'ro_RO';
     1428                $ro->nplurals = 3;
     1429                $ro->plural_expression = '(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2)';
     1430
     1431                $ru = new GP_Locale();
     1432                $ru->english_name = 'Russian';
     1433                $ru->native_name = 'Русский';
     1434                $ru->lang_code_iso_639_1 = 'ru';
     1435                $ru->lang_code_iso_639_2 = 'rus';
     1436                $ru->country_code = 'ru';
     1437                $ru->wp_locale = 'ru_RU';
     1438                $ru->slug = 'ru';
     1439                $ru->google_code = 'ru';
     1440                $ru->facebook_locale = 'ru_RU';
     1441                $ru->nplurals = 3;
     1442                $ru->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     1443
     1444                $ru_ua = new GP_Locale();
     1445                $ru_ua->english_name = 'Russian (Ukraine)';
     1446                $ru_ua->native_name = 'украї́нська мо́ва';
     1447                $ru_ua->lang_code_iso_639_1 = 'ru';
     1448                $ru_ua->lang_code_iso_639_2 = 'rus';
     1449                $ru_ua->country_code = 'ua';
     1450                $ru_ua->wp_locale = 'ru_UA';
     1451                $ru_ua->slug = 'ru-ua';
     1452                $ru_ua->google_code = 'ru';
     1453                $ru_ua->nplurals = 3;
     1454                $ru_ua->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     1455
     1456                $rue = new GP_Locale();
     1457                $rue->english_name = 'Rusyn';
     1458                $rue->native_name = 'Русиньскый';
     1459                $rue->lang_code_iso_639_1 = null;
     1460                $rue->lang_code_iso_639_2 = null;
     1461                $rue->lang_code_iso_639_3 = 'rue';
     1462                $rue->country_code = null;
     1463                $rue->wp_locale = 'rue';
     1464                $rue->slug = 'rue';
     1465                $rue->nplurals = 3;
     1466                $rue->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     1467
     1468                $rup = new GP_Locale();
     1469                $rup->english_name = 'Aromanian';
     1470                $rup->native_name = 'Armãneashce';
     1471                $rup->lang_code_iso_639_1 = null;
     1472                $rup->lang_code_iso_639_2 = 'rup';
     1473                $rup->lang_code_iso_639_3 = 'rup';
     1474                $rup->country_code = 'mk';
     1475                $rup->wp_locale = 'rup_MK';
     1476                $rup->slug = 'rup';
     1477
     1478                $sah = new GP_Locale();
     1479                $sah->english_name = 'Sakha';
     1480                $sah->native_name = 'Sakha';
     1481                $sah->lang_code_iso_639_1 = null;
     1482                $sah->lang_code_iso_639_2 = 'sah';
     1483                $sah->lang_code_iso_639_3 = 'sah';
     1484                $sah->country_code = 'ru';
     1485                $sah->wp_locale = 'sah';
     1486                $sah->slug = 'sah';
     1487
     1488                $sa_in = new GP_Locale();
     1489                $sa_in->english_name = 'Sanskrit';
     1490                $sa_in->native_name = 'भारतम्';
     1491                $sa_in->lang_code_iso_639_1 = null;
     1492                $sa_in->lang_code_iso_639_2 = 'san';
     1493                $sa_in->lang_code_iso_639_3 = 'san';
     1494                $sa_in->country_code = 'in';
     1495                $sa_in->wp_locale = 'sa_IN';
     1496                $sa_in->slug = 'sa-in';
     1497
     1498                $sd = new GP_Locale();
     1499                $sd->english_name = 'Sindhi';
     1500                $sd->native_name = 'سندھ';
     1501                $sd->lang_code_iso_639_1 = 'sd';
     1502                $sd->lang_code_iso_639_2 = 'snd';
     1503                $sd->country_code = 'pk';
     1504                $sd->wp_locale = 'sd_PK';
     1505                $sd->slug = 'sd';
     1506                $sd->google_code = 'sd';
     1507
     1508                $si = new GP_Locale();
     1509                $si->english_name = 'Sinhala';
     1510                $si->native_name = 'සිංහල';
     1511                $si->lang_code_iso_639_1 = 'si';
     1512                $si->lang_code_iso_639_2 = 'sin';
     1513                $si->country_code = 'lk';
     1514                $si->wp_locale = 'si_LK';
     1515                $si->slug = 'si';
     1516                $si->google_code = 'si';
     1517
     1518                $sk = new GP_Locale();
     1519                $sk->english_name = 'Slovak';
     1520                $sk->native_name = 'Slovenčina';
     1521                $sk->lang_code_iso_639_1 = 'sk';
     1522                $sk->lang_code_iso_639_2 = 'slk';
     1523                $sk->country_code = 'sk';
     1524                $sk->slug = 'sk';
     1525                $sk->wp_locale = 'sk_SK';
     1526                $sk->google_code = 'sk';
     1527                $sk->facebook_locale = 'sk_SK';
     1528                $sk->nplurals = 3;
     1529                $sk->plural_expression = '(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2';
     1530
     1531                $sl = new GP_Locale();
     1532                $sl->english_name = 'Slovenian';
     1533                $sl->native_name = 'slovenščina';
     1534                $sl->lang_code_iso_639_1 = 'sl';
     1535                $sl->lang_code_iso_639_2 = 'slv';
     1536                $sl->country_code = 'si';
     1537                $sl->wp_locale = 'sl_SI';
     1538                $sl->slug = 'sl';
     1539                $sl->google_code = 'sl';
     1540                $sl->facebook_locale = 'sl_SI';
     1541                $sl->nplurals = 4;
     1542                $sl->plural_expression = '(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)';
     1543
     1544                $so = new GP_Locale();
     1545                $so->english_name = 'Somali';
     1546                $so->native_name = 'Afsoomaali';
     1547                $so->lang_code_iso_639_1 = 'so';
     1548                $so->lang_code_iso_639_2 = 'som';
     1549                $so->lang_code_iso_639_3 = 'som';
     1550                $so->country_code = 'so';
     1551                $so->wp_locale = 'so_SO';
     1552                $so->slug = 'so';
     1553                $so->google_code = 'so';
     1554
     1555                $sq = new GP_Locale();
     1556                $sq->english_name = 'Albanian';
     1557                $sq->native_name = 'Shqip';
     1558                $sq->lang_code_iso_639_1 = 'sq';
     1559                $sq->lang_code_iso_639_2 = 'sqi';
     1560                $sq->wp_locale = 'sq';
     1561                $sq->country_code = 'al';
     1562                $sq->slug = 'sq';
     1563                $sq->google_code = 'sq';
     1564                $sq->facebook_locale = 'sq_AL';
     1565
     1566                $sr = new GP_Locale();
     1567                $sr->english_name = 'Serbian';
     1568                $sr->native_name = 'Српски језик';
     1569                $sr->lang_code_iso_639_1 = 'sr';
     1570                $sr->lang_code_iso_639_2 = 'srp';
     1571                $sr->country_code = 'rs';
     1572                $sr->wp_locale = 'sr_RS';
     1573                $sr->slug = 'sr';
     1574                $sr->google_code = 'sr';
     1575                $sr->facebook_locale = 'sr_RS';
     1576                $sr->nplurals = 3;
     1577                $sr->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     1578
     1579                $srd = new GP_Locale();
     1580                $srd->english_name = 'Sardinian';
     1581                $srd->native_name = 'sardu';
     1582                $srd->lang_code_iso_639_1 = 'sc';
     1583                $srd->lang_code_iso_639_2 = 'srd';
     1584                $srd->country_code = 'srd';
     1585                $srd->wp_locale = 'srd';
     1586                $srd->slug = 'srd';
     1587
     1588                $su = new GP_Locale();
     1589                $su->english_name = 'Sundanese';
     1590                $su->native_name = 'Basa Sunda';
     1591                $su->lang_code_iso_639_1 = 'su';
     1592                $su->lang_code_iso_639_2 = 'sun';
     1593                $su->country_code = 'id';
     1594                $su->wp_locale = 'su_ID';
     1595                $su->slug = 'su';
     1596                $su->nplurals = 1;
     1597                $su->plural_expression = '0';
     1598
     1599                $sv = new GP_Locale();
     1600                $sv->english_name = 'Swedish';
     1601                $sv->native_name = 'Svenska';
     1602                $sv->lang_code_iso_639_1 = 'sv';
     1603                $sv->lang_code_iso_639_2 = 'swe';
     1604                $sv->country_code = 'se';
     1605                $sv->wp_locale = 'sv_SE';
     1606                $sv->slug = 'sv';
     1607                $sv->google_code = 'sv';
     1608                $sv->facebook_locale = 'sv_SE';
     1609
     1610                $sw = new GP_Locale();
     1611                $sw->english_name = 'Swahili';
     1612                $sw->native_name = 'Kiswahili';
     1613                $sw->lang_code_iso_639_1 = 'sw';
     1614                $sw->lang_code_iso_639_2 = 'swa';
     1615                $sw->country_code = '';
     1616                $sw->wp_locale = 'sw';
     1617                $sw->slug = 'sw';
     1618                $sw->google_code = 'sw';
     1619                $sw->facebook_locale = 'sw_KE';
     1620
     1621                $ta = new GP_Locale();
     1622                $ta->english_name = 'Tamil';
     1623                $ta->native_name = 'தமிழ்';
     1624                $ta->lang_code_iso_639_1 = 'ta';
     1625                $ta->lang_code_iso_639_2 = 'tam';
     1626                $ta->country_code = 'IN';
     1627                $ta->wp_locale = 'ta_IN';
     1628                $ta->slug = 'ta';
     1629                $ta->google_code = 'ta';
     1630                $ta->facebook_locale = 'ta_IN';
     1631
     1632                $ta_lk = new GP_Locale();
     1633                $ta_lk->english_name = 'Tamil (Sri Lanka)';
     1634                $ta_lk->native_name = 'தமிழ்';
     1635                $ta_lk->lang_code_iso_639_1 = 'ta';
     1636                $ta_lk->lang_code_iso_639_2 = 'tam';
     1637                $ta_lk->country_code = 'LK';
     1638                $ta_lk->wp_locale = 'ta_LK';
     1639                $ta_lk->slug = 'ta-lk';
     1640                $ta_lk->google_code = 'ta';
     1641
     1642                $te = new GP_Locale();
     1643                $te->english_name = 'Telugu';
     1644                $te->native_name = 'తెలుగు';
     1645                $te->lang_code_iso_639_1 = 'te';
     1646                $te->lang_code_iso_639_2 = 'tel';
     1647                $te->country_code = '';
     1648                $te->wp_locale = 'te';
     1649                $te->slug = 'te';
     1650                $te->google_code = 'te';
     1651                $te->facebook_locale = 'te_IN';
     1652
     1653                $tg = new GP_Locale();
     1654                $tg->english_name = 'Tajik';
     1655                $tg->native_name = 'тоҷикӣ';
     1656                $tg->lang_code_iso_639_1 = 'tg';
     1657                $tg->lang_code_iso_639_2 = 'tgk';
     1658                $tg->country_code = '';
     1659                $tg->wp_locale = 'tg';
     1660                $tg->slug = 'tg';
     1661                $tg->google_code = 'tg';
     1662                $tg->nplurals = 2;
     1663                $tg->plural_expression = 'n != 1;';
     1664
     1665                $th = new GP_Locale();
     1666                $th->english_name = 'Thai';
     1667                $th->native_name = 'ไทย';
     1668                $th->lang_code_iso_639_1 = 'th';
     1669                $th->lang_code_iso_639_2 = 'tha';
     1670                $th->country_code = '';
     1671                $th->wp_locale = 'th';
     1672                $th->slug = 'th';
     1673                $th->google_code = 'th';
     1674                $th->facebook_locale = 'th_TH';
     1675                $th->nplurals = 1;
     1676                $th->plural_expression = '0';
     1677
     1678                $tlh = new GP_Locale();
     1679                $tlh->english_name = 'Klingon';
     1680                $tlh->native_name = 'TlhIngan';
     1681                $tlh->lang_code_iso_639_1 = '';
     1682                $tlh->lang_code_iso_639_2 = 'tlh';
     1683                $tlh->country_code = '';
     1684                $tlh->slug = 'tlh';
     1685                $tlh->nplurals = 1;
     1686                $tlh->plural_expression = '0';
     1687
     1688                $tl = new GP_Locale();
     1689                $tl->english_name = 'Tagalog';
     1690                $tl->native_name = 'Tagalog';
     1691                $tl->lang_code_iso_639_1 = 'tl';
     1692                $tl->lang_code_iso_639_2 = 'tgl';
     1693                $tl->country_code = 'ph';
     1694                $tl->wp_locale = 'tl';
     1695                $tl->slug = 'tl';
     1696                $tl->google_code = 'tl';
     1697                $tl->facebook_locale = 'tl_PH';
     1698
     1699                $tr = new GP_Locale();
     1700                $tr->english_name = 'Turkish';
     1701                $tr->native_name = 'Türkçe';
     1702                $tr->lang_code_iso_639_1 = 'tr';
     1703                $tr->lang_code_iso_639_2 = 'tur';
     1704                $tr->country_code = 'tr';
     1705                $tr->wp_locale = 'tr_TR';
     1706                $tr->slug = 'tr';
     1707                $tr->google_code = 'tr';
     1708                $tr->facebook_locale = 'tr_TR';
     1709                $tr->nplurals = 2;
     1710                $tr->plural_expression = '(n > 1)';
     1711
     1712                $tt_ru = new GP_Locale();
     1713                $tt_ru->english_name = 'Tatar';
     1714                $tt_ru->native_name = 'Татар теле';
     1715                $tt_ru->lang_code_iso_639_1 = 'tt';
     1716                $tt_ru->lang_code_iso_639_2 = 'tat';
     1717                $tt_ru->country_code = 'tt';
     1718                $tt_ru->wp_locale = 'tt_RU';
     1719                $tt_ru->slug = 'tt';
     1720                $tt_ru->google_code = 'tt';
     1721                $tt_ru->nplurals = 3;
     1722                $tt_ru->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     1723
     1724                $tuk = new GP_Locale();
     1725                $tuk->english_name = 'Turkmen';
     1726                $tuk->native_name = 'Türkmençe';
     1727                $tuk->lang_code_iso_639_1 = 'tk';
     1728                $tuk->lang_code_iso_639_2 = 'tuk';
     1729                $tuk->country_code = 'tm';
     1730                $tuk->wp_locale = 'tuk';
     1731                $tuk->slug = 'tuk';
     1732                $tuk->nplurals = 2;
     1733                $tuk->plural_expression = '(n > 1)';
     1734
     1735                $tzm = new GP_Locale();
     1736                $tzm->english_name = 'Tamazight (Central Atlas)';
     1737                $tzm->native_name = 'ⵜⴰⵎⴰⵣⵉⵖⵜ';
     1738                $tzm->lang_code_iso_639_1 = null;
     1739                $tzm->lang_code_iso_639_2 = 'tzm';
     1740                $tzm->country_code = 'ma';
     1741                $tzm->wp_locale = 'tzm';
     1742                $tzm->slug = 'tzm';
     1743                $tzm->nplurals = 2;
     1744                $tzm->plural_expression = '(n > 1)';
     1745
     1746                $udm = new GP_Locale();
     1747                $udm->english_name = 'Udmurt';
     1748                $udm->native_name = 'удмурт кыл';
     1749                $udm->lang_code_iso_639_1 = null;
     1750                $udm->lang_code_iso_639_2 = 'udm';
     1751                $udm->country_code = '';
     1752                $udm->slug = 'udm';
     1753
     1754                $ug = new GP_Locale();
     1755                $ug->english_name = 'Uighur';
     1756                $ug->native_name = 'Uyƣurqə';
     1757                $ug->lang_code_iso_639_1 = 'ug';
     1758                $ug->lang_code_iso_639_2 = 'uig';
     1759                $ug->country_code = 'cn';
     1760                $ug->wp_locale = 'ug_CN';
     1761                $ug->slug = 'ug';
     1762                $ug->google_code = 'ug';
     1763
     1764                $uk = new GP_Locale();
     1765                $uk->english_name = 'Ukrainian';
     1766                $uk->native_name = 'Українська';
     1767                $uk->lang_code_iso_639_1 = 'uk';
     1768                $uk->lang_code_iso_639_2 = 'ukr';
     1769                $uk->country_code = 'ua';
     1770                $uk->wp_locale = 'uk';
     1771                $uk->slug = 'uk';
     1772                $uk->google_code = 'uk';
     1773                $uk->facebook_locale = 'uk_UA';
     1774                $uk->nplurals = 3;
     1775                $uk->plural_expression = '(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)';
     1776
     1777                $ur = new GP_Locale();
     1778                $ur->english_name = 'Urdu';
     1779                $ur->native_name = 'اردو';
     1780                $ur->lang_code_iso_639_1 = 'ur';
     1781                $ur->lang_code_iso_639_2 = 'urd';
     1782                $ur->country_code = '';
     1783                $ur->wp_locale = 'ur';
     1784                $ur->slug = 'ur';
     1785                $ur->google_code = 'ur';
     1786
     1787                $uz = new GP_Locale();
     1788                $uz->english_name = 'Uzbek';
     1789                $uz->native_name = 'O‘zbekcha';
     1790                $uz->lang_code_iso_639_1 = 'uz';
     1791                $uz->lang_code_iso_639_2 = 'uzb';
     1792                $uz->country_code = 'uz';
     1793                $uz->wp_locale = 'uz_UZ';
     1794                $uz->slug = 'uz';
     1795                $uz->google_code = 'uz';
     1796                $uz->nplurals = 1;
     1797                $uz->plural_expression = '0';
     1798
     1799                $vec = new GP_Locale();
     1800                $vec->english_name = 'Venetian';
     1801                $vec->native_name = 'vèneta';
     1802                $vec->lang_code_iso_639_1 = null;
     1803                $vec->lang_code_iso_639_2 = 'roa';
     1804                $vec->country_code = 'uz';
     1805                $vec->slug = 'vec';
     1806
     1807                $vi = new GP_Locale();
     1808                $vi->english_name = 'Vietnamese';
     1809                $vi->native_name = 'Tiếng Việt';
     1810                $vi->lang_code_iso_639_1 = 'vi';
     1811                $vi->lang_code_iso_639_2 = 'vie';
     1812                $vi->country_code = 'vn';
     1813                $vi->wp_locale = 'vi';
     1814                $vi->slug = 'vi';
     1815                $vi->google_code = 'vi';
     1816                $vi->facebook_locale = 'vi_VN';
     1817                $vi->nplurals = 1;
     1818                $vi->plural_expression = '0';
     1819
     1820                $wa = new GP_Locale();
     1821                $wa->english_name = 'Walloon';
     1822                $wa->native_name = 'Walon';
     1823                $wa->lang_code_iso_639_1 = 'wa';
     1824                $wa->lang_code_iso_639_2 = 'wln';
     1825                $wa->country_code = 'be';
     1826                $wa->wp_locale = 'wa';
     1827                $wa->slug = 'wa';
     1828
     1829                $xmf = new GP_Locale();
     1830                $xmf->english_name = 'Mingrelian';
     1831                $xmf->native_name = 'მარგალური ნინა';
     1832                $xmf->lang_code_iso_639_1 = null;
     1833                $xmf->lang_code_iso_639_2 = null;
     1834                $xmf->lang_code_iso_639_3 = 'xmf';
     1835                $xmf->country_code = 'ge';
     1836                $xmf->wp_locale = 'xmf';
     1837                $xmf->slug = 'xmf';
     1838
     1839                $yi = new GP_Locale();
     1840                $yi->english_name = 'Yiddish';
     1841                $yi->native_name = 'ייִדיש';
     1842                $yi->lang_code_iso_639_1 = 'yi';
     1843                $yi->lang_code_iso_639_2 = 'yid';
     1844                $yi->country_code = '';
     1845                $yi->slug = 'yi';
     1846                $yi->google_code = 'yi';
     1847                $yi->rtl = true;
     1848
     1849                $yo = new GP_Locale();
     1850                $yo->english_name = 'Yorùbá';
     1851                $yo->native_name = 'èdè Yorùbá';
     1852                $yo->lang_code_iso_639_1 = 'yo';
     1853                $yo->lang_code_iso_639_2 = 'yor';
     1854                $yo->country_code = '';
     1855                $yo->slug = 'yo';
     1856
     1857                $zh_cn = new GP_Locale();
     1858                $zh_cn->english_name = 'Chinese (China)';
     1859                $zh_cn->native_name = '中文';
     1860                $zh_cn->lang_code_iso_639_1 = 'zh';
     1861                $zh_cn->lang_code_iso_639_2 = 'zho';
     1862                $zh_cn->country_code = 'cn';
     1863                $zh_cn->wp_locale = 'zh_CN';
     1864                $zh_cn->slug = 'zh-cn';
     1865                $zh_cn->google_code = 'zh-CN';
     1866                $zh_cn->facebook_locale = 'zh_CN';
     1867                $zh_cn->nplurals = 1;
     1868                $zh_cn->plural_expression = '0';
     1869
     1870                $zh_hk = new GP_Locale();
     1871                $zh_hk->english_name = 'Chinese (Hong Kong)';
     1872                $zh_hk->native_name = '香港中文版    ';
     1873                $zh_hk->lang_code_iso_639_1 = 'zh';
     1874                $zh_hk->lang_code_iso_639_2 = 'zho';
     1875                $zh_hk->country_code = 'hk';
     1876                $zh_hk->wp_locale = 'zh_HK';
     1877                $zh_hk->slug = 'zh-hk';
     1878                $zh_hk->facebook_locale = 'zh_HK';
     1879                $zh_hk->nplurals = 1;
     1880                $zh_hk->plural_expression = '0';
     1881
     1882                $zh_sg = new GP_Locale();
     1883                $zh_sg->english_name = 'Chinese (Singapore)';
     1884                $zh_sg->native_name = '中文';
     1885                $zh_sg->lang_code_iso_639_1 = 'zh';
     1886                $zh_sg->lang_code_iso_639_2 = 'zho';
     1887                $zh_sg->country_code = 'sg';
     1888                $zh_sg->slug = 'zh-sg';
     1889                $zh_sg->nplurals = 1;
     1890                $zh_sg->plural_expression = '0';
     1891
     1892                $zh_tw = new GP_Locale();
     1893                $zh_tw->english_name = 'Chinese (Taiwan)';
     1894                $zh_tw->native_name = '中文';
     1895                $zh_tw->lang_code_iso_639_1 = 'zh';
     1896                $zh_tw->lang_code_iso_639_2 = 'zho';
     1897                $zh_tw->country_code = 'tw';
     1898                $zh_tw->slug = 'zh-tw';
     1899                $zh_tw->wp_locale= 'zh_TW';
     1900                $zh_tw->google_code = 'zh-TW';
     1901                $zh_tw->facebook_locale = 'zh_TW';
     1902                $zh_tw->nplurals = 1;
     1903                $zh_tw->plural_expression = '0';
     1904
     1905                $zh = new GP_Locale();
     1906                $zh->english_name = 'Chinese';
     1907                $zh->native_name = '中文';
     1908                $zh->lang_code_iso_639_1 = 'zh';
     1909                $zh->lang_code_iso_639_2 = 'zho';
     1910                $zh->country_code = '';
     1911                $zh->slug = 'zh';
     1912                $zh->nplurals = 1;
     1913                $zh->plural_expression = '0';
     1914
     1915                foreach( get_defined_vars() as $locale ) {
     1916                        $this->locales[ $locale->slug ] = $locale;
     1917                }
     1918        }
     1919
     1920        public static function &instance() {
     1921                if ( ! isset( $GLOBALS['gp_locales'] ) )
     1922                        $GLOBALS['gp_locales'] = new GP_Locales;
     1923
     1924                return $GLOBALS['gp_locales'];
     1925        }
     1926
     1927        public static function locales() {
     1928                $instance = GP_Locales::instance();
     1929                return $instance->locales;
     1930        }
     1931
     1932        public static function exists( $slug ) {
     1933                $instance = GP_Locales::instance();
     1934                return isset( $instance->locales[ $slug ] );
     1935        }
     1936
     1937        public static function by_slug( $slug ) {
     1938                $instance = GP_Locales::instance();
     1939                return isset( $instance->locales[ $slug ] )? $instance->locales[ $slug ] : null;
     1940        }
     1941
     1942        public static function by_field( $field_name, $field_value ) {
     1943                $instance = GP_Locales::instance();
     1944                $result   = false;
     1945
     1946                foreach( $instance->locales() as $locale ) {
     1947                        if ( isset( $locale->$field_name ) && $locale->$field_name == $field_value ) {
     1948                                $result = $locale;
     1949                                break;
     1950                        }
     1951                }
     1952
     1953                return $result;
     1954        }
     1955}
  • wp-admin/includes/ms.php

     
    476476        return $id;
    477477}
    478478
    479 function format_code_lang( $code = '' ) {
    480         $code = strtolower( substr( $code, 0, 2 ) );
    481         $lang_codes = array(
    482                 'aa' => 'Afar', 'ab' => 'Abkhazian', 'af' => 'Afrikaans', 'ak' => 'Akan', 'sq' => 'Albanian', 'am' => 'Amharic', 'ar' => 'Arabic', 'an' => 'Aragonese', 'hy' => 'Armenian', 'as' => 'Assamese', 'av' => 'Avaric', 'ae' => 'Avestan', 'ay' => 'Aymara', 'az' => 'Azerbaijani', 'ba' => 'Bashkir', 'bm' => 'Bambara', 'eu' => 'Basque', 'be' => 'Belarusian', 'bn' => 'Bengali',
    483                 'bh' => 'Bihari', 'bi' => 'Bislama', 'bs' => 'Bosnian', 'br' => 'Breton', 'bg' => 'Bulgarian', 'my' => 'Burmese', 'ca' => 'Catalan; Valencian', 'ch' => 'Chamorro', 'ce' => 'Chechen', 'zh' => 'Chinese', 'cu' => 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic', 'cv' => 'Chuvash', 'kw' => 'Cornish', 'co' => 'Corsican', 'cr' => 'Cree',
    484                 'cs' => 'Czech', 'da' => 'Danish', 'dv' => 'Divehi; Dhivehi; Maldivian', 'nl' => 'Dutch; Flemish', 'dz' => 'Dzongkha', 'en' => 'English', 'eo' => 'Esperanto', 'et' => 'Estonian', 'ee' => 'Ewe', 'fo' => 'Faroese', 'fj' => 'Fijjian', 'fi' => 'Finnish', 'fr' => 'French', 'fy' => 'Western Frisian', 'ff' => 'Fulah', 'ka' => 'Georgian', 'de' => 'German', 'gd' => 'Gaelic; Scottish Gaelic',
    485                 'ga' => 'Irish', 'gl' => 'Galician', 'gv' => 'Manx', 'el' => 'Greek, Modern', 'gn' => 'Guarani', 'gu' => 'Gujarati', 'ht' => 'Haitian; Haitian Creole', 'ha' => 'Hausa', 'he' => 'Hebrew', 'hz' => 'Herero', 'hi' => 'Hindi', 'ho' => 'Hiri Motu', 'hu' => 'Hungarian', 'ig' => 'Igbo', 'is' => 'Icelandic', 'io' => 'Ido', 'ii' => 'Sichuan Yi', 'iu' => 'Inuktitut', 'ie' => 'Interlingue',
    486                 'ia' => 'Interlingua (International Auxiliary Language Association)', 'id' => 'Indonesian', 'ik' => 'Inupiaq', 'it' => 'Italian', 'jv' => 'Javanese', 'ja' => 'Japanese', 'kl' => 'Kalaallisut; Greenlandic', 'kn' => 'Kannada', 'ks' => 'Kashmiri', 'kr' => 'Kanuri', 'kk' => 'Kazakh', 'km' => 'Central Khmer', 'ki' => 'Kikuyu; Gikuyu', 'rw' => 'Kinyarwanda', 'ky' => 'Kirghiz; Kyrgyz',
    487                 'kv' => 'Komi', 'kg' => 'Kongo', 'ko' => 'Korean', 'kj' => 'Kuanyama; Kwanyama', 'ku' => 'Kurdish', 'lo' => 'Lao', 'la' => 'Latin', 'lv' => 'Latvian', 'li' => 'Limburgan; Limburger; Limburgish', 'ln' => 'Lingala', 'lt' => 'Lithuanian', 'lb' => 'Luxembourgish; Letzeburgesch', 'lu' => 'Luba-Katanga', 'lg' => 'Ganda', 'mk' => 'Macedonian', 'mh' => 'Marshallese', 'ml' => 'Malayalam',
    488                 'mi' => 'Maori', 'mr' => 'Marathi', 'ms' => 'Malay', 'mg' => 'Malagasy', 'mt' => 'Maltese', 'mo' => 'Moldavian', 'mn' => 'Mongolian', 'na' => 'Nauru', 'nv' => 'Navajo; Navaho', 'nr' => 'Ndebele, South; South Ndebele', 'nd' => 'Ndebele, North; North Ndebele', 'ng' => 'Ndonga', 'ne' => 'Nepali', 'nn' => 'Norwegian Nynorsk; Nynorsk, Norwegian', 'nb' => 'Bokmål, Norwegian, Norwegian Bokmål',
    489                 'no' => 'Norwegian', 'ny' => 'Chichewa; Chewa; Nyanja', 'oc' => 'Occitan, Provençal', 'oj' => 'Ojibwa', 'or' => 'Oriya', 'om' => 'Oromo', 'os' => 'Ossetian; Ossetic', 'pa' => 'Panjabi; Punjabi', 'fa' => 'Persian', 'pi' => 'Pali', 'pl' => 'Polish', 'pt' => 'Portuguese', 'ps' => 'Pushto', 'qu' => 'Quechua', 'rm' => 'Romansh', 'ro' => 'Romanian', 'rn' => 'Rundi', 'ru' => 'Russian',
    490                 'sg' => 'Sango', 'sa' => 'Sanskrit', 'sr' => 'Serbian', 'hr' => 'Croatian', 'si' => 'Sinhala; Sinhalese', 'sk' => 'Slovak', 'sl' => 'Slovenian', 'se' => 'Northern Sami', 'sm' => 'Samoan', 'sn' => 'Shona', 'sd' => 'Sindhi', 'so' => 'Somali', 'st' => 'Sotho, Southern', 'es' => 'Spanish; Castilian', 'sc' => 'Sardinian', 'ss' => 'Swati', 'su' => 'Sundanese', 'sw' => 'Swahili',
    491                 'sv' => 'Swedish', 'ty' => 'Tahitian', 'ta' => 'Tamil', 'tt' => 'Tatar', 'te' => 'Telugu', 'tg' => 'Tajik', 'tl' => 'Tagalog', 'th' => 'Thai', 'bo' => 'Tibetan', 'ti' => 'Tigrinya', 'to' => 'Tonga (Tonga Islands)', 'tn' => 'Tswana', 'ts' => 'Tsonga', 'tk' => 'Turkmen', 'tr' => 'Turkish', 'tw' => 'Twi', 'ug' => 'Uighur; Uyghur', 'uk' => 'Ukrainian', 'ur' => 'Urdu', 'uz' => 'Uzbek',
    492                 've' => 'Venda', 'vi' => 'Vietnamese', 'vo' => 'Volapük', 'cy' => 'Welsh','wa' => 'Walloon','wo' => 'Wolof', 'xh' => 'Xhosa', 'yi' => 'Yiddish', 'yo' => 'Yoruba', 'za' => 'Zhuang; Chuang', 'zu' => 'Zulu' );
     479function format_code_lang( $code = '', $lang_codes = array() ) {
     480        if ( empty ( $lang_codes ) ) {
     481                $lang_codes = get_locale_names();
     482        }
    493483
     484        $short_code = strtolower( substr( $code, 0, 2 ) );      // only exists for backwards-compatibility, see #15677
     485       
    494486        /**
    495487         * Filter the language codes.
    496488         *
     
    497489         * @since MU
    498490         *
    499491         * @param array  $lang_codes Key/value pair of language codes where key is the short version.
    500          * @param string $code       A two-letter designation of the language.
     492         * @param string $short_code A two-letter designation of the language.
     493         * @param string $code       The 2-4 letter wp_locale assigned by GlotPress
    501494         */
    502         $lang_codes = apply_filters( 'lang_codes', $lang_codes, $code );
    503         return strtr( $code, $lang_codes );
     495        $lang_codes = apply_filters( 'lang_codes', $lang_codes, $short_code, $code );   // only exists for backwards-compatibility, use 'locale_names' instead. see #15677
     496       
     497        return $lang_codes[ $code ];
    504498}
    505499
    506500function sync_category_tag_slugs( $term, $taxonomy ) {
     
    562556function mu_dropdown_languages( $lang_files = array(), $current = '' ) {
    563557        $flag = false;
    564558        $output = array();
    565 
     559        $locale_names = get_locale_names();
     560       
    566561        foreach ( (array) $lang_files as $val ) {
    567562                $code_lang = basename( $val, '.mo' );
    568563
     
    575570                        $be = __( 'British English' );
    576571                        $output[$be] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang, false ) . '> ' . $be . '</option>';
    577572                } else {
    578                         $translated = format_code_lang( $code_lang );
     573                        $translated = format_code_lang( $code_lang, $locale_names );
    579574                        $output[$translated] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang, false ) . '> ' . esc_html ( $translated ) . '</option>';
    580575                }
    581576
     
    599594        echo implode( "\n\t", $output );
    600595}
    601596
     597/**
     598 * Build an array of locale names, indexed by their corresponding WordPress locale code
     599 * @return array The array of local codes and names
     600 */
     601function get_locale_names() {
     602        require_once( dirname( __FILE__ ) . '/locales.php' );
     603        $locales = GP_Locales::instance();
     604        $locale_names = array();
     605       
     606        foreach( $locales->locales as $locale ) {
     607                if ( isset( $locale->wp_locale ) && ! empty( $locale->wp_locale ) ) {
     608                        $code = $locale->wp_locale;
     609                } elseif ( isset ( $locale->lang_code_iso_639_1 ) && ! empty( $locale->lang_code_iso_639_1 ) ) {
     610                        $code = $locale->lang_code_iso_639_1;
     611                } else {
     612                        $code = $locale->slug;
     613                }
     614               
     615                if ( isset( $locale->english_name ) ) {
     616                        $locale_names[ $code ] = $locale->english_name;
     617                }
     618        }
     619
     620        /**
     621         * Filter the locale names
     622         *
     623         * @since 3.8
     624         *
     625         * @param array $locale_names Key/value pair of locale names, indexed by their corresponding WordPress locale code.
     626         */
     627        return apply_filters( 'locale_names', $locale_names );
     628}
     629
    602630function site_admin_notice() {
    603631        global $wp_db_version;
    604632        if ( !is_super_admin() )