1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376: 377: 378: 379: 380: 381: 382: 383: 384: 385: 386: 387: 388: 389: 390: 391: 392: 393: 394: 395: 396: 397: 398: 399: 400: 401: 402: 403: 404: 405: 406: 407: 408: 409: 410: 411: 412: 413: 414: 415: 416: 417: 418: 419: 420: 421: 422: 423: 424:
<?php
namespace MvcCore\Ext\Forms\Fields;
class LocalizationSelect extends \MvcCore\Ext\Forms\Fields\Select {
protected $type = 'localization-select';
protected $translate = FALSE;
protected static $allOptions = [
"af_NA" => "Afrikaans (Namibia)", "af_ZA" => "Afrikaans (South Africa)",
"af" => "Afrikaans", "ak_GH" => "Akan (Ghana)",
"ak" => "Akan", "sq_AL" => "Albanian (Albania)",
"sq" => "Albanian", "am_ET" => "Amharic (Ethiopia)",
"am" => "Amharic", "ar_DZ" => "Arabic (Algeria)",
"ar_BH" => "Arabic (Bahrain)", "ar_EG" => "Arabic (Egypt)",
"ar_IQ" => "Arabic (Iraq)", "ar_JO" => "Arabic (Jordan)",
"ar_KW" => "Arabic (Kuwait)", "ar_LB" => "Arabic (Lebanon)",
"ar_LY" => "Arabic (Libya)", "ar_MA" => "Arabic (Morocco)",
"ar_OM" => "Arabic (Oman)", "ar_QA" => "Arabic (Qatar)",
"ar_SA" => "Arabic (Saudi Arabia)", "ar_SD" => "Arabic (Sudan)",
"ar_SY" => "Arabic (Syria)", "ar_TN" => "Arabic (Tunisia)",
"ar_AE" => "Arabic (United Arab Emirates)", "ar_YE" => "Arabic (Yemen)",
"ar" => "Arabic", "hy_AM" => "Armenian (Armenia)",
"hy" => "Armenian", "as_IN" => "Assamese (India)",
"as" => "Assamese", "asa_TZ" => "Asu (Tanzania)",
"asa" => "Asu", "az_Cyrl" => "Azerbaijani (Cyrillic)",
"az_Cyrl_AZ"=> "Azerbaijani (Cyrillic, Azerbaijan)", "az_Latn" => "Azerbaijani (Latin)",
"az_Latn_AZ"=> "Azerbaijani (Latin, Azerbaijan)", "az" => "Azerbaijani",
"bm_ML" => "Bambara (Mali)", "bm" => "Bambara",
"eu_ES" => "Basque (Spain)", "eu" => "Basque",
"be_BY" => "Belarusian (Belarus)", "be" => "Belarusian",
"bem_ZM" => "Bemba (Zambia)", "bem" => "Bemba",
"bez_TZ" => "Bena (Tanzania)", "bez" => "Bena",
"bn_BD" => "Bengali (Bangladesh)", "bn_IN" => "Bengali (India)",
"bn" => "Bengali", "bs_BA" => "Bosnian (Bosnia and Herzegovina)",
"bs" => "Bosnian", "bg_BG" => "Bulgarian (Bulgaria)",
"bg" => "Bulgarian", "my_MM" => "Burmese (Myanmar [Burma])",
"my" => "Burmese", "yue_Hant_HK"=> "Cantonese (Traditional, Hong Kong SAR China)",
"ca_ES" => "Catalan (Spain)", "ca" => "Catalan",
"tzm_Latn" => "Central Morocco Tamazight (Latin)", "tzm_Latn_MA"=> "Central Morocco Tamazight (Latin, Morocco)",
"tzm" => "Central Morocco Tamazight", "chr_US" => "Cherokee (United States)",
"chr" => "Cherokee", "cgg_UG" => "Chiga (Uganda)",
"cgg" => "Chiga", "zh_Hans" => "Chinese (Simplified Han)",
"zh_Hans_CN"=> "Chinese (Simplified Han, China)", "zh_Hans_HK"=> "Chinese (Simplified Han, Hong Kong SAR China)",
"zh_Hans_MO"=> "Chinese (Simplified Han, Macau SAR China)","zh_Hans_SG"=> "Chinese (Simplified Han, Singapore)",
"zh_Hant" => "Chinese (Traditional Han)", "zh_Hant_HK"=> "Chinese (Traditional Han, Hong Kong SAR China)",
"zh_Hant_MO"=> "Chinese (Traditional Han, Macau SAR China)","zh_Hant_TW"=> "Chinese (Traditional Han, Taiwan)",
"zh" => "Chinese", "kw_GB" => "Cornish (United Kingdom)",
"kw" => "Cornish", "hr_HR" => "Croatian (Croatia)",
"hr" => "Croatian", "cs_CZ" => "Czech (Czech Republic)",
"cs" => "Czech", "da_DK" => "Danish (Denmark)",
"da" => "Danish", "nl_BE" => "Dutch (Belgium)",
"nl_NL" => "Dutch (Netherlands)", "nl" => "Dutch",
"ebu_KE" => "Embu (Kenya)", "ebu" => "Embu",
"en_AS" => "English (American Samoa)", "en_AU" => "English (Australia)",
"en_BE" => "English (Belgium)", "en_BZ" => "English (Belize)",
"en_BW" => "English (Botswana)", "en_CA" => "English (Canada)",
"en_GU" => "English (Guam)", "en_HK" => "English (Hong Kong SAR China)",
"en_IN" => "English (India)", "en_IE" => "English (Ireland)",
"en_IL" => "English (Israel)", "en_JM" => "English (Jamaica)",
"en_MT" => "English (Malta)", "en_MH" => "English (Marshall Islands)",
"en_MU" => "English (Mauritius)", "en_NA" => "English (Namibia)",
"en_NZ" => "English (New Zealand)", "en_MP" => "English (Northern Mariana Islands)",
"en_PK" => "English (Pakistan)", "en_PH" => "English (Philippines)",
"en_SG" => "English (Singapore)", "en_ZA" => "English (South Africa)",
"en_TT" => "English (Trinidad and Tobago)", "en_UM" => "English (U.S. Minor Outlying Islands)",
"en_VI" => "English (U.S. Virgin Islands)", "en_GB" => "English (United Kingdom)",
"en_US" => "English (United States)", "en_ZW" => "English (Zimbabwe)",
"en" => "English", "eo" => "Esperanto",
"et_EE" => "Estonian (Estonia)", "et" => "Estonian",
"ee_GH" => "Ewe (Ghana)", "ee_TG" => "Ewe (Togo)",
"ee" => "Ewe", "fo_FO" => "Faroese (Faroe Islands)",
"fo" => "Faroese", "fil_PH" => "Filipino (Philippines)",
"fil" => "Filipino", "fi_FI" => "Finnish (Finland)",
"fi" => "Finnish", "fr_BE" => "French (Belgium)",
"fr_BJ" => "French (Benin)", "fr_BF" => "French (Burkina Faso)",
"fr_BI" => "French (Burundi)", "fr_CM" => "French (Cameroon)",
"fr_CA" => "French (Canada)", "fr_CF" => "French (Central African Republic)",
"fr_TD" => "French (Chad)", "fr_KM" => "French (Comoros)",
"fr_CG" => "French (Congo - Brazzaville)", "fr_CD" => "French (Congo - Kinshasa)",
"fr_CI" => "French (Côte d’Ivoire)", "fr_DJ" => "French (Djibouti)",
"fr_GQ" => "French (Equatorial Guinea)", "fr_FR" => "French (France)",
"fr_GA" => "French (Gabon)", "fr_GP" => "French (Guadeloupe)",
"fr_GN" => "French (Guinea)", "fr_LU" => "French (Luxembourg)",
"fr_MG" => "French (Madagascar)", "fr_ML" => "French (Mali)",
"fr_MQ" => "French (Martinique)", "fr_MC" => "French (Monaco)",
"fr_NE" => "French (Niger)", "fr_RW" => "French (Rwanda)",
"fr_RE" => "French (Réunion)", "fr_BL" => "French (Saint Barthélemy)",
"fr_MF" => "French (Saint Martin)", "fr_SN" => "French (Senegal)",
"fr_CH" => "French (Switzerland)", "fr_TG" => "French (Togo)",
"fr" => "French", "ff_SN" => "Fulah (Senegal)",
"ff" => "Fulah", "gl_ES" => "Galician (Spain)",
"gl" => "Galician", "lg_UG" => "Ganda (Uganda)",
"lg" => "Ganda", "ka_GE" => "Georgian (Georgia)",
"ka" => "Georgian", "de_AT" => "German (Austria)",
"de_BE" => "German (Belgium)", "de_DE" => "German (Germany)",
"de_LI" => "German (Liechtenstein)", "de_LU" => "German (Luxembourg)",
"de_CH" => "German (Switzerland)", "de" => "German",
"el_CY" => "Greek (Cyprus)", "el_GR" => "Greek (Greece)",
"el" => "Greek", "gu_IN" => "Gujarati (India)",
"gu" => "Gujarati", "guz_KE" => "Gusii (Kenya)",
"guz" => "Gusii", "ha_Latn" => "Hausa (Latin)",
"ha_Latn_GH"=> "Hausa (Latin, Ghana)", "ha_Latn_NE"=> "Hausa (Latin, Niger)",
"ha_Latn_NG"=> "Hausa (Latin, Nigeria)", "ha" => "Hausa",
"haw_US" => "Hawaiian (United States)", "haw" => "Hawaiian",
"he_IL" => "Hebrew (Israel)", "he" => "Hebrew",
"hi_IN" => "Hindi (India)", "hi" => "Hindi",
"hu_HU" => "Hungarian (Hungary)", "hu" => "Hungarian",
"is_IS" => "Icelandic (Iceland)", "is" => "Icelandic",
"ig_NG" => "Igbo (Nigeria)", "ig" => "Igbo",
"id_ID" => "Indonesian (Indonesia)", "id" => "Indonesian",
"ga_IE" => "Irish (Ireland)", "ga" => "Irish",
"it_IT" => "Italian (Italy)", "it_CH" => "Italian (Switzerland)",
"it" => "Italian", "ja_JP" => "Japanese (Japan)",
"ja" => "Japanese", "kea_CV" => "Kabuverdianu (Cape Verde)",
"kea" => "Kabuverdianu", "kab_DZ" => "Kabyle (Algeria)",
"kab" => "Kabyle", "kl_GL" => "Kalaallisut (Greenland)",
"kl" => "Kalaallisut", "kln_KE" => "Kalenjin (Kenya)",
"kln" => "Kalenjin", "kam_KE" => "Kamba (Kenya)",
"kam" => "Kamba", "kn_IN" => "Kannada (India)",
"kn" => "Kannada", "kk_Cyrl" => "Kazakh (Cyrillic)",
"kk_Cyrl_KZ"=> "Kazakh (Cyrillic, Kazakhstan)", "kk" => "Kazakh",
"km_KH" => "Khmer (Cambodia)", "km" => "Khmer",
"ki_KE" => "Kikuyu (Kenya)", "ki" => "Kikuyu",
"rw_RW" => "Kinyarwanda (Rwanda)", "rw" => "Kinyarwanda",
"kok_IN" => "Konkani (India)", "kok" => "Konkani",
"ko_KR" => "Korean (South Korea)", "ko" => "Korean",
"khq_ML" => "Koyra Chiini (Mali)", "khq" => "Koyra Chiini",
"ses_ML" => "Koyraboro Senni (Mali)", "ses" => "Koyraboro Senni",
"lag_TZ" => "Langi (Tanzania)", "lag" => "Langi",
"lv_LV" => "Latvian (Latvia)", "lv" => "Latvian",
"lt_LT" => "Lithuanian (Lithuania)", "lt" => "Lithuanian",
"luo_KE" => "Luo (Kenya)", "luo" => "Luo",
"luy_KE" => "Luyia (Kenya)", "luy" => "Luyia",
"mk_MK" => "Macedonian (Macedonia)", "mk" => "Macedonian",
"jmc_TZ" => "Machame (Tanzania)", "jmc" => "Machame",
"kde_TZ" => "Makonde (Tanzania)", "kde" => "Makonde",
"mg_MG" => "Malagasy (Madagascar)", "mg" => "Malagasy",
"ms_BN" => "Malay (Brunei)", "ms_MY" => "Malay (Malaysia)",
"ms" => "Malay", "ml_IN" => "Malayalam (India)",
"ml" => "Malayalam", "mt_MT" => "Maltese (Malta)",
"mt" => "Maltese", "gv_GB" => "Manx (United Kingdom)",
"gv" => "Manx", "mr_IN" => "Marathi (India)",
"mr" => "Marathi", "mas_KE" => "Masai (Kenya)",
"mas_TZ" => "Masai (Tanzania)", "mas" => "Masai",
"mer_KE" => "Meru (Kenya)", "mer" => "Meru",
"mfe_MU" => "Morisyen (Mauritius)", "mfe" => "Morisyen",
"naq_NA" => "Nama (Namibia)", "naq" => "Nama",
"ne_IN" => "Nepali (India)", "ne_NP" => "Nepali (Nepal)",
"ne" => "Nepali", "nd_ZW" => "North Ndebele (Zimbabwe)",
"nd" => "North Ndebele", "nb_NO" => "Norwegian Bokmål (Norway)",
"nb" => "Norwegian Bokmål", "nn_NO" => "Norwegian Nynorsk (Norway)",
"nn" => "Norwegian Nynorsk", "nyn_UG" => "Nyankole (Uganda)",
"nyn" => "Nyankole", "or_IN" => "Oriya (India)",
"or" => "Oriya", "om_ET" => "Oromo (Ethiopia)",
"om_KE" => "Oromo (Kenya)", "om" => "Oromo",
"ps_AF" => "Pashto (Afghanistan)", "ps" => "Pashto",
"fa_AF" => "Persian (Afghanistan)", "fa_IR" => "Persian (Iran)",
"fa" => "Persian", "pl_PL" => "Polish (Poland)",
"pl" => "Polish", "pt_BR" => "Portuguese (Brazil)",
"pt_GW" => "Portuguese (Guinea-Bissau)", "pt_MZ" => "Portuguese (Mozambique)",
"pt_PT" => "Portuguese (Portugal)", "pt" => "Portuguese",
"pa_Arab" => "Punjabi (Arabic)", "pa_Arab_PK"=> "Punjabi (Arabic, Pakistan)",
"pa_Guru" => "Punjabi (Gurmukhi)", "pa_Guru_IN"=> "Punjabi (Gurmukhi, India)",
"pa" => "Punjabi", "ro_MD" => "Romanian (Moldova)",
"ro_RO" => "Romanian (Romania)", "ro" => "Romanian",
"rm_CH" => "Romansh (Switzerland)", "rm" => "Romansh",
"rof_TZ" => "Rombo (Tanzania)", "rof" => "Rombo",
"ru_MD" => "Russian (Moldova)", "ru_RU" => "Russian (Russia)",
"ru_UA" => "Russian (Ukraine)", "ru" => "Russian",
"rwk_TZ" => "Rwa (Tanzania)", "rwk" => "Rwa",
"saq_KE" => "Samburu (Kenya)", "saq" => "Samburu",
"sg_CF" => "Sango (Central African Republic)", "sg" => "Sango",
"seh_MZ" => "Sena (Mozambique)", "seh" => "Sena",
"sr_Cyrl" => "Serbian (Cyrillic)", "sr_Cyrl_BA"=> "Serbian (Cyrillic, Bosnia and Herzegovina)",
"sr_Cyrl_ME"=> "Serbian (Cyrillic, Montenegro)", "sr_Cyrl_RS"=> "Serbian (Cyrillic, Serbia)",
"sr_Latn" => "Serbian (Latin)", "sr_Latn_BA"=> "Serbian (Latin, Bosnia and Herzegovina)",
"sr_Latn_ME"=> "Serbian (Latin, Montenegro)", "sr_Latn_RS"=> "Serbian (Latin, Serbia)",
"sr" => "Serbian", "sn_ZW" => "Shona (Zimbabwe)",
"sn" => "Shona", "ii_CN" => "Sichuan Yi (China)",
"ii" => "Sichuan Yi", "si_LK" => "Sinhala (Sri Lanka)",
"si" => "Sinhala", "sk_SK" => "Slovak (Slovakia)",
"sk" => "Slovak", "sl_SI" => "Slovenian (Slovenia)",
"sl" => "Slovenian", "xog_UG" => "Soga (Uganda)",
"xog" => "Soga", "so_DJ" => "Somali (Djibouti)",
"so_ET" => "Somali (Ethiopia)", "so_KE" => "Somali (Kenya)",
"so_SO" => "Somali (Somalia)", "so" => "Somali",
"es_AR" => "Spanish (Argentina)", "es_BO" => "Spanish (Bolivia)",
"es_CL" => "Spanish (Chile)", "es_CO" => "Spanish (Colombia)",
"es_CR" => "Spanish (Costa Rica)", "es_DO" => "Spanish (Dominican Republic)",
"es_EC" => "Spanish (Ecuador)", "es_SV" => "Spanish (El Salvador)",
"es_GQ" => "Spanish (Equatorial Guinea)", "es_GT" => "Spanish (Guatemala)",
"es_HN" => "Spanish (Honduras)", "es_419" => "Spanish (Latin America)",
"es_MX" => "Spanish (Mexico)", "es_NI" => "Spanish (Nicaragua)",
"es_PA" => "Spanish (Panama)", "es_PY" => "Spanish (Paraguay)",
"es_PE" => "Spanish (Peru)", "es_PR" => "Spanish (Puerto Rico)",
"es_ES" => "Spanish (Spain)", "es_US" => "Spanish (United States)",
"es_UY" => "Spanish (Uruguay)", "es_VE" => "Spanish (Venezuela)",
"es" => "Spanish", "sw_KE" => "Swahili (Kenya)",
"sw_TZ" => "Swahili (Tanzania)", "sw" => "Swahili",
"sv_FI" => "Swedish (Finland)", "sv_SE" => "Swedish (Sweden)",
"sv" => "Swedish", "gsw_CH" => "Swiss German (Switzerland)",
"gsw" => "Swiss German", "shi_Latn" => "Tachelhit (Latin)",
"shi_Latn_MA"=> "Tachelhit (Latin, Morocco)", "shi_Tfng" => "Tachelhit (Tifinagh)",
"shi_Tfng_MA"=> "Tachelhit (Tifinagh, Morocco)", "shi" => "Tachelhit",
"dav_KE" => "Taita (Kenya)", "dav" => "Taita",
"ta_IN" => "Tamil (India)", "ta_LK" => "Tamil (Sri Lanka)",
"ta" => "Tamil", "te_IN" => "Telugu (India)",
"te" => "Telugu", "teo_KE" => "Teso (Kenya)",
"teo_UG" => "Teso (Uganda)", "teo" => "Teso",
"th_TH" => "Thai (Thailand)", "th" => "Thai",
"bo_CN" => "Tibetan (China)", "bo_IN" => "Tibetan (India)",
"bo" => "Tibetan", "ti_ER" => "Tigrinya (Eritrea)",
"ti_ET" => "Tigrinya (Ethiopia)", "ti" => "Tigrinya",
"to_TO" => "Tonga (Tonga)", "to" => "Tonga",
"tr_TR" => "Turkish (Turkey)", "tr" => "Turkish",
"uk_UA" => "Ukrainian (Ukraine)", "uk" => "Ukrainian",
"ur_IN" => "Urdu (India)", "ur_PK" => "Urdu (Pakistan)",
"ur" => "Urdu", "uz_Arab" => "Uzbek (Arabic)",
"uz_Arab_AF"=> "Uzbek (Arabic, Afghanistan)", "uz_Cyrl" => "Uzbek (Cyrillic)",
"uz_Cyrl_UZ"=> "Uzbek (Cyrillic, Uzbekistan)", "uz_Latn" => "Uzbek (Latin)",
"uz_Latn_UZ"=> "Uzbek (Latin, Uzbekistan)", "uz" => "Uzbek",
"vi_VN" => "Vietnamese (Vietnam)", "vi" => "Vietnamese",
"vun_TZ" => "Vunjo (Tanzania)", "vun" => "Vunjo",
"cy_GB" => "Welsh (United Kingdom)", "cy" => "Welsh",
"yo_NG" => "Yoruba (Nigeria)", "yo" => "Yoruba",
"zu_ZA" => "Zulu (South Africa)", "zu" => "Zulu"
];
public function GetValue () {
return $this->value;
}
public function SetValue ($localizationCode) {
$this->value = static::normalizeLocalizationCode($localizationCode);
return $this;
}
public static function & GetAllOptions () {
return static::$allOptions;
}
public static function SetAllOptions ($allOptions = []) {
static::$allOptions = $allOptions;
}
public function FilterOptions ($localizationsCodes = []) {
$options = [];
foreach ($localizationsCodes as $localizationCode) {
$localizationCode = static::normalizeLocalizationCode($localizationCode);
if (isset(static::$allOptions[$localizationCode])) {
$options[$localizationCode] = static::$allOptions[$localizationCode];
} else {
$options[$localizationCode] = $localizationCode;
}
}
$this->options = & $options;
return $this;
}
public function __construct(array $cfg = []) {
parent::__construct($cfg);
if (isset($cfg['filter']))
$this->FilterOptions($cfg['filter']);
}
public function SetForm (\MvcCore\Ext\IForm $form) {
if (!$this->options)
$this->options = static::$allOptions;
return parent::SetForm($form);
}
public function RenderControlOptions () {
$result = '';
$valueTypeIsArray = is_array($this->value);
if ($this->nullOptionText !== NULL && strlen((string) $this->nullOptionText) > 0) {
$result .= $this->renderControlOptionsAdvanced(
'', [
'value' => '',
'text' => htmlspecialchars_decode(htmlspecialchars($this->nullOptionText, ENT_QUOTES), ENT_QUOTES),
'class' => 'localization-none',
'attrs' => ['disabled' => 'disabled']
], $valueTypeIsArray
);
}
foreach ($this->options as $key => $value) {
$result .= $this->renderControlOptionsAdvanced($key, [
'class' => 'localization-' . str_replace('_', '-', strtolower($key)),
'text' => htmlspecialchars_decode(htmlspecialchars($value, ENT_QUOTES), ENT_QUOTES),
'value' => htmlspecialchars_decode(htmlspecialchars($key, ENT_QUOTES), ENT_QUOTES),
], $valueTypeIsArray);
}
return $result;
}
protected static function normalizeLocalizationCode ($rawLocalizationCode) {
$explodedValues = explode('_', str_replace('-', '_', $rawLocalizationCode));
$explodedValuesCount = count($explodedValues);
if ($explodedValuesCount === 3)
$explodedValues[1] = ucfirst(strtolower($explodedValues[1]));
$explodedValues[0] = strtolower($explodedValues[0]);
$lastItemIndex = $explodedValuesCount - 1;
$explodedValues[$lastItemIndex] = mb_strtoupper($explodedValues[$lastItemIndex]);
return implode('_', $explodedValues);
}
}