Index: /sites/trunk/wordpress.org/public_html/wp-content/mu-plugins/pub/locales/locales.php
===================================================================
--- /sites/trunk/wordpress.org/public_html/wp-content/mu-plugins/pub/locales/locales.php	(revision 12079)
+++ /sites/trunk/wordpress.org/public_html/wp-content/mu-plugins/pub/locales/locales.php	(revision 12080)
@@ -3,8 +3,7 @@
  * Locales used on WordPress.org.
  *
- * - Copy of https://github.com/GlotPress/GlotPress-WP/blob/4e75ab6/locales/locales.php
+ * - Copy of https://github.com/GlotPress/GlotPress/blob/bf614ee290531da6ced571a79d5701dcf68d2212/locales/locales.php
  * - With support for custom locale variants.
  * - Without https://github.com/GlotPress/GlotPress-WP/pull/1012 and https://github.com/GlotPress/GlotPress-WP/pull/1017.
- * - Without other dependencies because the file gets also loaded in api.wordpress.org context.
  */
 if ( ! class_exists( 'GP_Locale' ) ) :
@@ -25,4 +24,6 @@
 	public $preferred_sans_serif_font_family = null;
 	public $facebook_locale = null;
+	public $alphabet = 'latin';
+	public $word_count_type = 'words';
 
 	/**
@@ -68,4 +69,5 @@
 			return isset( $this->text_direction );
 		}
+		return false;
 	}
 
@@ -80,9 +82,11 @@
 			return ( 'rtl' === $this->text_direction );
 		}
+
+		return null;
 	}
 
 	public function combined_name() {
 		/* translators: combined name for locales: 1: name in English, 2: native name */
-		return sprintf( _x( '%1$s/%2$s', 'locales' ), $this->english_name, $this->native_name );
+		return sprintf( __( '%1$s/%2$s', 'glotpress' ), $this->english_name, $this->native_name );
 	}
 
@@ -149,4 +153,5 @@
 		$ae->lang_code_iso_639_2 = 'ave';
 		$ae->slug = 'ae';
+		$ae->alphabet = 'avestan';
 
 		$af = new GP_Locale();
@@ -168,4 +173,5 @@
 		$ak->slug = 'ak';
 		$ak->facebook_locale = 'ak_GH';
+		$ak->alphabet = 'adinkra';
 
 		$am = new GP_Locale();
@@ -178,4 +184,5 @@
 		$am->slug = 'am';
 		$am->facebook_locale = 'am_ET';
+		$am->alphabet = 'geez';
 
 		$an = new GP_Locale();
@@ -202,4 +209,5 @@
 		$ar->google_code = 'ar';
 		$ar->facebook_locale = 'ar_AR';
+		$ar->alphabet = 'arabic';
 
 		$arq = new GP_Locale();
@@ -214,4 +222,5 @@
 		$arq->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))))';
 		$arq->text_direction = 'rtl';
+		$arq->alphabet = 'arabic';
 
 		$ary = new GP_Locale();
@@ -226,4 +235,5 @@
 		$ary->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))))';
 		$ary->text_direction = 'rtl';
+		$ary->alphabet = 'arabic';
 
 		$as = new GP_Locale();
@@ -237,4 +247,5 @@
 		$as->slug = 'as';
 		$as->facebook_locale = 'as_IN';
+		$as->alphabet = 'assamese';
 
 		$ast = new GP_Locale();
@@ -253,4 +264,5 @@
 		$av->lang_code_iso_639_2 = 'ava';
 		$av->slug = 'av';
+		$av->alphabet = 'cyrillic';
 
 		$ay = new GP_Locale();
@@ -285,4 +297,5 @@
 		$azb->slug = 'azb';
 		$azb->text_direction = 'rtl';
+		$azb->alphabet = 'persian';
 
 		$az_tr = new GP_Locale();
@@ -302,4 +315,5 @@
 		$ba->wp_locale = 'ba';
 		$ba->slug = 'ba';
+		$ba->alphabet = 'cyrillic';
 
 		$bal = new GP_Locale();
@@ -321,4 +335,5 @@
 		$bcc->plural_expression = '0';
 		$bcc->text_direction = 'rtl';
+		$bcc->alphabet = 'balochi';
 
 		$be = new GP_Locale();
@@ -334,4 +349,5 @@
 		$be->google_code = 'be';
 		$be->facebook_locale = 'be_BY';
+		$be->alphabet = 'cyrillic';
 
 		$bg = new GP_Locale();
@@ -345,4 +361,15 @@
 		$bg->google_code = 'bg';
 		$bg->facebook_locale = 'bg_BG';
+		$bg->alphabet = 'cyrillic';
+
+		$bgn = new GP_Locale();
+		$bgn->english_name = 'Western Balochi';
+		$bgn->native_name = 'بلوچی‎';
+		$bgn->lang_code_iso_639_3 = 'bgn';
+		$bgn->country_code = 'pk';
+		$bgn->wp_locale = 'bgn';
+		$bgn->slug = 'bgn';
+		$bgn->text_direction = 'rtl';
+		$bgn->alphabet = 'balochi';
 
 		$bh = new GP_Locale();
@@ -352,4 +379,5 @@
 		$bh->lang_code_iso_639_2 = 'bih';
 		$bh->slug = 'bh';
+		$bh->alphabet = 'devanagari';
 
 		$bho = new GP_Locale();
@@ -360,4 +388,5 @@
 		$bho->wp_locale = 'bho';
 		$bho->slug = 'bho';
+		$bho->alphabet = 'devanagari';
 
 		$bi = new GP_Locale();
@@ -384,4 +413,5 @@
 		$bn_bd->slug = 'bn';
 		$bn_bd->google_code = 'bn';
+		$bn_bd->alphabet = 'bengali';
 
 		$bn_in = new GP_Locale();
@@ -396,4 +426,5 @@
 		$bn_in->nplurals = 2;
 		$bn_in->plural_expression = 'n > 1';
+		$bn_in->alphabet = 'bengali';
 
 		$bo = new GP_Locale();
@@ -406,4 +437,6 @@
 		$bo->nplurals = 1;
 		$bo->plural_expression = '0';
+		$bo->alphabet = 'tibetan';
+		$bo->word_count_type = 'characters_excluding_spaces';
 
 		$br = new GP_Locale();
@@ -427,4 +460,5 @@
 		$brx->wp_locale = 'brx';
 		$brx->slug = 'brx';
+		$brx->alphabet = 'devanagari';
 
 		$bs = new GP_Locale();
@@ -451,4 +485,14 @@
 		$ca->facebook_locale = 'ca_ES';
 
+		$ca_valencia = new GP_Locale();
+		$ca_valencia->english_name = 'Catalan (Valencian)';
+		$ca_valencia->native_name = 'Català (Valencià)';
+		$ca_valencia->lang_code_iso_639_1 = 'ca';
+		$ca_valencia->lang_code_iso_639_2 = 'cat';
+		$ca_valencia->wp_locale = 'ca_valencia';
+		$ca_valencia->slug = 'ca-valencia';
+		$ca_valencia->google_code = 'ca';
+		$ca_valencia->facebook_locale = 'ca_ES';
+
 		$ce = new GP_Locale();
 		$ce->english_name = 'Chechen';
@@ -457,4 +501,5 @@
 		$ce->lang_code_iso_639_2 = 'che';
 		$ce->slug = 'ce';
+		$ce->alphabet = 'cyrillic';
 
 		$ceb = new GP_Locale();
@@ -485,4 +530,5 @@
 		$ckb->text_direction = 'rtl';
 		$ckb->facebook_locale = 'cb_IQ';
+		$ckb->alphabet = 'sorani';
 
 		$co = new GP_Locale();
@@ -514,4 +560,5 @@
 		$cr->country_code = 'ca';
 		$cr->slug = 'cr';
+		$cr->alphabet = 'syllabics';
 
 		$cs = new GP_Locale();
@@ -542,4 +589,5 @@
 		$cu->lang_code_iso_639_2 = 'chu';
 		$cu->slug = 'cu';
+		$cu->alphabet = 'cyrillic';
 
 		$cv = new GP_Locale();
@@ -550,4 +598,5 @@
 		$cv->country_code = 'ru';
 		$cv->slug = 'cv';
+		$cv->alphabet = 'cyrillic';
 
 		$cy = new GP_Locale();
@@ -596,5 +645,5 @@
 		$de_at->native_name = 'Deutsch (Österreich)';
 		$de_at->lang_code_iso_639_1 = 'de';
-		$de_at->country_code = 'de';
+		$de_at->country_code = 'at';
 		$de_at->wp_locale = 'de_AT';
 		$de_at->slug = 'de-at';
@@ -637,4 +686,5 @@
 		$dv->slug = 'dv';
 		$dv->text_direction = 'rtl';
+		$dv->alphabet = 'thaana';
 
 		$dzo = new GP_Locale();
@@ -648,4 +698,5 @@
 		$dzo->nplurals = 1;
 		$dzo->plural_expression = '0';
+		$dzo->alphabet  = 'tibetan';
 
 		$ewe = new GP_Locale();
@@ -669,4 +720,5 @@
 		$el->google_code = 'el';
 		$el->facebook_locale = 'el_GR';
+		$el->alphabet = 'greek';
 
 		$el_po = new GP_Locale();
@@ -675,4 +727,5 @@
 		$el_po->country_code = 'gr';
 		$el_po->slug = 'el-po';
+		$el_po->alphabet  = 'polytonic';
 
 		$emoji = new GP_Locale();
@@ -684,4 +737,5 @@
 		$emoji->nplurals = 1;
 		$emoji->plural_expression = '0';
+		$emoji->alphabet = 'emoji';
 
 		$en = new GP_Locale();
@@ -913,4 +967,5 @@
 		$es_us->country_code = 'us';
 		$es_us->slug = 'es-us';
+		$es_us->google_code = 'es';
 
 		$es_uy = new GP_Locale();
@@ -972,4 +1027,5 @@
 		$fa->google_code = 'fa';
 		$fa->facebook_locale = 'fa_IR';
+		$fa->alphabet = 'persian';
 
 		$fa_af = new GP_Locale();
@@ -978,4 +1034,5 @@
 		$fa_af->lang_code_iso_639_1 = 'fa';
 		$fa_af->lang_code_iso_639_2 = 'fas';
+		$fa_af->country_code = 'af';
 		$fa_af->wp_locale = 'fa_AF';
 		$fa_af->slug = 'fa-af';
@@ -984,4 +1041,5 @@
 		$fa_af->text_direction = 'rtl';
 		$fa_af->google_code = 'fa';
+		$fa_af->alphabet = 'persian';
 
 		$ff_sn = new GP_Locale();
@@ -1187,4 +1245,5 @@
 		$gu->google_code = 'gu';
 		$gu->facebook_locale = 'gu_IN';
+		$gu->alphabet = 'gujarati';
 
 		$ha = new GP_Locale();
@@ -1196,4 +1255,5 @@
 		$ha->text_direction = 'rtl';
 		$ha->google_code = 'ha';
+		$ha->alphabet = 'arabic';
 
 		$hat = new GP_Locale();
@@ -1235,4 +1295,5 @@
 		$haz->slug = 'haz';
 		$haz->text_direction = 'rtl';
+		$haz->alphabet = 'arabic';
 
 		$he = new GP_Locale();
@@ -1246,4 +1307,5 @@
 		$he->google_code = 'iw';
 		$he->facebook_locale = 'he_IL';
+		$he->alphabet = 'hebrew';
 
 		$hi = new GP_Locale();
@@ -1257,4 +1319,5 @@
 		$hi->google_code = 'hi';
 		$hi->facebook_locale = 'hi_IN';
+		$hi->alphabet = 'devanagari';
 
 		$hr = new GP_Locale();
@@ -1303,4 +1366,5 @@
 		$hy->google_code = 'hy';
 		$hy->facebook_locale = 'hy_AM';
+		$hy->alphabet = 'armenian';
 
 		$ia = new GP_Locale();
@@ -1355,4 +1419,5 @@
 		$ike->nplurals = 3;
 		$ike->plural_expression = '(n == 1) ? 0 : ((n == 2) ? 1 : 2)';
+		$ike->alphabet = 'syllabics';
 
 		$ilo = new GP_Locale();
@@ -1398,4 +1463,6 @@
 		$ja->nplurals = 1;
 		$ja->plural_expression = '0';
+		$ja->alphabet = 'kanji';
+		$ja->word_count_type = 'characters_including_spaces';
 
 		$jv = new GP_Locale();
@@ -1422,4 +1489,5 @@
 		$ka->google_code = 'ka';
 		$ka->facebook_locale = 'ka_GE';
+		$ka->alphabet = 'georgian';
 
 		$kaa = new GP_Locale();
@@ -1474,4 +1542,5 @@
 		$kk->google_code = 'kk';
 		$kk->facebook_locale = 'kk_KZ';
+		$kk->alphabet = 'cyrillic';
 
 		$km = new GP_Locale();
@@ -1487,4 +1556,6 @@
 		$km->google_code = 'km';
 		$km->facebook_locale = 'km_KH';
+		$km->alphabet = 'khmer';
+		$km->word_count_type = 'characters_excluding_spaces';
 
 		$kmr = new GP_Locale();
@@ -1508,4 +1579,5 @@
 		$kn->google_code = 'kn';
 		$kn->facebook_locale = 'kn_IN';
+		$kn->alphabet = 'kannada';
 
 		$ko = new GP_Locale();
@@ -1521,4 +1593,5 @@
 		$ko->google_code = 'ko';
 		$ko->facebook_locale = 'ko_KR';
+		$ko->alphabet = 'hangul';
 
 		$ks = new GP_Locale();
@@ -1528,4 +1601,5 @@
 		$ks->lang_code_iso_639_2 = 'kas';
 		$ks->slug = 'ks';
+		$ks->alphabet = 'devanagari';
 
 		$kir = new GP_Locale();
@@ -1541,4 +1615,5 @@
 		$kir->plural_expression = '0';
 		$kir->google_code = 'ky';
+		$kir->alphabet = 'cyrillic';
 
 		$la = new GP_Locale();
@@ -1610,4 +1685,5 @@
 		$lo->google_code = 'lo';
 		$lo->facebook_locale = 'lo_LA';
+		$lo->alphabet = 'lao';
 
 		$lt = new GP_Locale();
@@ -1655,4 +1731,5 @@
 		$mai->wp_locale = 'mai';
 		$mai->slug = 'mai';
+		$mai->alphabet = 'devanagari';
 
 		$me = new GP_Locale();
@@ -1692,4 +1769,5 @@
 		$mhr->country_code = 'ru';
 		$mhr->slug = 'mhr';
+		$mhr->alphabet = 'cyrillic';
 
 		$mk = new GP_Locale();
@@ -1705,4 +1783,5 @@
 		$mk->google_code = 'mk';
 		$mk->facebook_locale = 'mk_MK';
+		$mk->alphabet = 'cyrillic';
 
 		$ml = new GP_Locale();
@@ -1716,4 +1795,5 @@
 		$ml->google_code = 'ml';
 		$ml->facebook_locale = 'ml_IN';
+		$ml->alphabet = 'malayalam';
 
 		$mlt = new GP_Locale();
@@ -1741,4 +1821,5 @@
 		$mn->google_code = 'mn';
 		$mn->facebook_locale = 'mn_MN';
+		$mn->alphabet = 'cyrillic';
 
 		$mr = new GP_Locale();
@@ -1751,4 +1832,5 @@
 		$mr->google_code = 'mr';
 		$mr->facebook_locale = 'mr_IN';
+		$mr->alphabet = 'devanagari';
 
 		$mri = new GP_Locale();
@@ -1770,4 +1852,5 @@
 		$mrj->country_code = 'ru';
 		$mrj->slug = 'mrj';
+		$mrj->alphabet = 'cyrillic';
 
 		$ms = new GP_Locale();
@@ -1798,4 +1881,5 @@
 		$my->slug = 'mya';
 		$my->google_code = 'my';
+		$my->alphabet = 'burmese';
 
 		$ne = new GP_Locale();
@@ -1809,4 +1893,5 @@
 		$ne->google_code = 'ne';
 		$ne->facebook_locale = 'ne_NP';
+		$ne->alphabet = 'devanagari';
 
 		$nb = new GP_Locale();
@@ -1878,4 +1963,5 @@
 		$nqo->slug = 'nqo';
 		$nqo->text_direction = 'rtl';
+		$nqo->alphabet = 'nko';
 
 		$nso = new GP_Locale();
@@ -1916,4 +2002,5 @@
 		$ory->slug = 'ory';
 		$ory->facebook_locale = 'or_IN';
+		$ory->alphabet = 'odia';
 
 		$os = new GP_Locale();
@@ -1924,7 +2011,8 @@
 		$os->wp_locale = 'os';
 		$os->slug = 'os';
+		$os->alphabet = 'cyrillic';
 
 		$pa = new GP_Locale();
-		$pa->english_name = 'Punjabi';
+		$pa->english_name = 'Panjabi (India)';
 		$pa->native_name = 'ਪੰਜਾਬੀ';
 		$pa->lang_code_iso_639_1 = 'pa';
@@ -1934,5 +2022,21 @@
 		$pa->slug = 'pa';
 		$pa->google_code = 'pa';
+		$pa->nplurals = 2;
+		$pa->plural_expression = 'n > 1';
 		$pa->facebook_locale = 'pa_IN';
+		$pa->alphabet = 'gurmukhi';
+
+		$pa_pk = new GP_Locale();
+		$pa_pk->english_name = 'Punjabi (Pakistan)';
+		$pa_pk->native_name = 'پنجابی';
+		$pa_pk->lang_code_iso_639_1 = 'pa';
+		$pa_pk->lang_code_iso_639_2 = 'pan';
+		$pa_pk->country_code = 'pk';
+		$pa_pk->wp_locale = 'pa_PK';
+		$pa_pk->slug = 'pa-pk';
+		$pa_pk->nplurals = 2;
+		$pa_pk->plural_expression = 'n > 1';
+		$pa_pk->google_code = 'pa';
+		$pa_pk->alphabet = 'shahmukhi';
 
 		$pap_cw = new GP_Locale();
@@ -2042,4 +2146,5 @@
 		$ps->text_direction = 'rtl';
 		$ps->facebook_locale = 'ps_AF';
+		$ps->alphabet = 'pashto';
 
 		$rhg = new GP_Locale();
@@ -2088,4 +2193,5 @@
 		$ru->google_code = 'ru';
 		$ru->facebook_locale = 'ru_RU';
+		$ru->alphabet = 'cyrillic';
 
 		$rue = new GP_Locale();
@@ -2096,4 +2202,5 @@
 		$rue->nplurals = 3;
 		$rue->plural_expression = '(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2)';
+		$rue->alphabet = 'cyrillic';
 
 		$rup = new GP_Locale();
@@ -2113,4 +2220,5 @@
 		$sah->wp_locale = 'sah';
 		$sah->slug = 'sah';
+		$sah->alphabet = 'cyrillic';
 
 		$sa_in = new GP_Locale();
@@ -2124,4 +2232,5 @@
 		$sa_in->slug = 'sa-in';
 		$sa_in->facebook_locale = 'sa_IN';
+		$sa_in->alphabet = 'brahmic';
 
 		$scn = new GP_Locale();
@@ -2143,4 +2252,5 @@
 		$si->google_code = 'si';
 		$si->facebook_locale = 'si_LK';
+		$si->alphabet = 'sinhala';
 
 		$sk = new GP_Locale();
@@ -2167,4 +2277,5 @@
 		$skr->plural_expression = 'n > 1';
 		$skr->text_direction = 'rtl';
+		$skr->alphabet = 'saraiki';
 
 		$sl = new GP_Locale();
@@ -2200,4 +2311,5 @@
 		$snd->slug = 'snd';
 		$snd->text_direction = 'rtl';
+		$snd->alphabet = 'arabic';
 
 		$so = new GP_Locale();
@@ -2244,4 +2356,5 @@
 		$sr->google_code = 'sr';
 		$sr->facebook_locale = 'sr_RS';
+		$sr->alphabet = 'cyrillic';
 
 		$sr_latin = clone $sr;
@@ -2312,4 +2425,5 @@
 		$syr->wp_locale = 'syr';
 		$syr->slug = 'syr';
+		$syr->alphabet = 'syriac';
 
 		$szl = new GP_Locale();
@@ -2334,4 +2448,5 @@
 		$ta->google_code = 'ta';
 		$ta->facebook_locale = 'ta_IN';
+		$ta->alphabet = 'tamil';
 
 		$ta_lk = new GP_Locale();
@@ -2344,4 +2459,5 @@
 		$ta_lk->slug = 'ta-lk';
 		$ta_lk->google_code = 'ta';
+		$ta_lk->alphabet = 'tamil';
 
 		$tah = new GP_Locale();
@@ -2366,4 +2482,5 @@
 		$te->google_code = 'te';
 		$te->facebook_locale = 'te_IN';
+		$te->alphabet = 'telugu';
 
 		$tg = new GP_Locale();
@@ -2377,4 +2494,5 @@
 		$tg->google_code = 'tg';
 		$tg->facebook_locale = 'tg_TJ';
+		$tg->alphabet = 'cyrillic';
 
 		$th = new GP_Locale();
@@ -2389,4 +2507,6 @@
 		$th->google_code = 'th';
 		$th->facebook_locale = 'th_TH';
+		$th->alphabet = 'thai';
+		$th->word_count_type = 'characters_excluding_spaces';
 
 		$tir = new GP_Locale();
@@ -2400,4 +2520,5 @@
 		$tir->nplurals = 1;
 		$tir->plural_expression = '0';
+		$tir->alphabet = 'geez';
 
 		$tlh = new GP_Locale();
@@ -2445,4 +2566,5 @@
 		$tt_ru->plural_expression = '0';
 		$tt_ru->facebook_locale = 'tt_RU';
+		$tt_ru->alphabet = 'cyrillic';
 
 		$tuk = new GP_Locale();
@@ -2475,4 +2597,5 @@
 		$tzm->nplurals = 2;
 		$tzm->plural_expression = 'n > 1';
+		$tzm->alphabet = 'tifinagh';
 
 		$udm = new GP_Locale();
@@ -2481,4 +2604,5 @@
 		$udm->lang_code_iso_639_2 = 'udm';
 		$udm->slug = 'udm';
+		$udm->alphabet = 'cyrillic';
 
 		$ug = new GP_Locale();
@@ -2491,4 +2615,5 @@
 		$ug->slug = 'ug';
 		$ug->text_direction = 'rtl';
+		$ug->alphabet = 'uyghur';
 
 		$uk = new GP_Locale();
@@ -2504,4 +2629,5 @@
 		$uk->google_code = 'uk';
 		$uk->facebook_locale = 'uk_UA';
+		$uk->alphabet = 'cyrillic';
 
 		$ur = new GP_Locale();
@@ -2516,4 +2642,5 @@
 		$ur->google_code = 'ur';
 		$ur->facebook_locale = 'ur_PK';
+		$ur->alphabet = 'persian';
 
 		$uz = new GP_Locale();
@@ -2590,4 +2717,5 @@
 		$xmf->country_code = 'ge';
 		$xmf->slug = 'xmf';
+		$xmf->alphabet = 'georgian';
 
 		$yi = new GP_Locale();
@@ -2599,4 +2727,5 @@
 		$yi->text_direction = 'rtl';
 		$yi->google_code = 'yi';
+		$yi->alphabet = 'hebrew';
 
 		$yor = new GP_Locale();
@@ -2622,4 +2751,5 @@
 		$zgh->nplurals = 2;
 		$zgh->plural_expression = 'n >= 2 && (n < 11 || n > 99)';
+		$zgh->alphabet = 'tifinagh';
 
 		$zh = new GP_Locale();
@@ -2631,4 +2761,5 @@
 		$zh->nplurals = 1;
 		$zh->plural_expression = '0';
+		$zh->alphabet = 'hanyu';
 
 		$zh_cn = new GP_Locale();
@@ -2644,8 +2775,10 @@
 		$zh_cn->google_code = 'zh-CN';
 		$zh_cn->facebook_locale = 'zh_CN';
+		$zh_cn->alphabet = 'simplified-chinese';
+		$zh_cn->word_count_type = 'characters_excluding_spaces';
 
 		$zh_hk = new GP_Locale();
 		$zh_hk->english_name = 'Chinese (Hong Kong)';
-		$zh_hk->native_name = '香港中文版	';
+		$zh_hk->native_name = '香港中文';
 		$zh_hk->lang_code_iso_639_1 = 'zh';
 		$zh_hk->lang_code_iso_639_2 = 'zho';
@@ -2656,4 +2789,6 @@
 		$zh_hk->plural_expression = '0';
 		$zh_hk->facebook_locale = 'zh_HK';
+		$zh_hk->alphabet = 'simplified-chinese';
+		$zh_hk->word_count_type = 'characters_excluding_spaces';
 
 		$zh_sg = new GP_Locale();
@@ -2667,4 +2802,6 @@
 		$zh_sg->nplurals = 1;
 		$zh_sg->plural_expression = '0';
+		$zh_sg->alphabet = 'hanyu';
+		$zh_sg->word_count_type = 'characters_excluding_spaces';
 
 		$zh_tw = new GP_Locale();
@@ -2680,4 +2817,6 @@
 		$zh_tw->google_code = 'zh-TW';
 		$zh_tw->facebook_locale = 'zh_TW';
+		$zh_tw->alphabet = 'hanyu';
+		$zh_tw->word_count_type = 'characters_excluding_spaces';
 
 		$zul = new GP_Locale();
@@ -2692,5 +2831,20 @@
 		$zul->google_code = 'zu';
 
-		foreach ( get_defined_vars() as $locale ) {
+		$def_vars = get_defined_vars();
+
+		if ( function_exists( 'apply_filters' ) ) {
+			/**
+			 * Fires after the locales have been defined but before they have been assigned to the object property.
+			 *
+			 * @since 3.0.0
+			 *
+			 * @param array $def_vars The array of locale objects.
+			 *
+			 * @return array The updated array of locale objects.
+			 */
+			$def_vars = apply_filters( 'gp_locale_definitions_array', $def_vars );
+		}
+
+		foreach ( $def_vars as $locale ) {
 			$this->locales[ $locale->slug ] = $locale;
 		}
