Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Locale.php
Go to the documentation of this file.
1 <?php
31 {
38  private static $_localeAliases = array(
39  'az_AZ' => 'az_Latn_AZ',
40  'bs_BA' => 'bs_Latn_BA',
41  'ha_GH' => 'ha_Latn_GH',
42  'ha_NE' => 'ha_Latn_NE',
43  'ha_NG' => 'ha_Latn_NG',
44  'kk_KZ' => 'kk_Cyrl_KZ',
45  'ks_IN' => 'ks_Arab_IN',
46  'mn_MN' => 'mn_Cyrl_MN',
47  'ms_BN' => 'ms_Latn_BN',
48  'ms_MY' => 'ms_Latn_MY',
49  'ms_SG' => 'ms_Latn_SG',
50  'pa_IN' => 'pa_Guru_IN',
51  'pa_PK' => 'pa_Arab_PK',
52  'shi_MA' => 'shi_Latn_MA',
53  'sr_BA' => 'sr_Latn_BA',
54  'sr_ME' => 'sr_Latn_ME',
55  'sr_RS' => 'sr_Latn_RS',
56  'sr_XK' => 'sr_Latn_XK',
57  'tg_TJ' => 'tg_Cyrl_TJ',
58  'tzm_MA' => 'tzm_Latn_MA',
59  'uz_AF' => 'uz_Arab_AF',
60  'uz_UZ' => 'uz_Latn_UZ',
61  'vai_LR' => 'vai_Latn_LR',
62  'zh_CN' => 'zh_Hans_CN',
63  'zh_HK' => 'zh_Hant_HK',
64  'zh_MO' => 'zh_Hans_MO',
65  'zh_SG' => 'zh_Hans_SG',
66  'zh_TW' => 'zh_Hant_TW',
67  );
68 
74  private static $_localeData = array(
75  'root' => true,
76  'aa' => true,
77  'aa_DJ' => true,
78  'aa_ER' => true,
79  'aa_ET' => true,
80  'af' => true,
81  'af_NA' => true,
82  'af_ZA' => true,
83  'agq' => true,
84  'agq_CM' => true,
85  'ak' => true,
86  'ak_GH' => true,
87  'am' => true,
88  'am_ET' => true,
89  'ar' => true,
90  'ar_001' => true,
91  'ar_AE' => true,
92  'ar_BH' => true,
93  'ar_DJ' => true,
94  'ar_DZ' => true,
95  'ar_EG' => true,
96  'ar_EH' => true,
97  'ar_ER' => true,
98  'ar_IL' => true,
99  'ar_IQ' => true,
100  'ar_JO' => true,
101  'ar_KM' => true,
102  'ar_KW' => true,
103  'ar_LB' => true,
104  'ar_LY' => true,
105  'ar_MA' => true,
106  'ar_MR' => true,
107  'ar_OM' => true,
108  'ar_PS' => true,
109  'ar_QA' => true,
110  'ar_SA' => true,
111  'ar_SD' => true,
112  'ar_SO' => true,
113  'ar_SS' => true,
114  'ar_SY' => true,
115  'ar_TD' => true,
116  'ar_TN' => true,
117  'ar_YE' => true,
118  'as' => true,
119  'as_IN' => true,
120  'asa' => true,
121  'asa_TZ' => true,
122  'ast' => true,
123  'ast_ES' => true,
124  'az' => true,
125  'az_Cyrl' => true,
126  'az_Cyrl_AZ' => true,
127  'az_Latn' => true,
128  'az_Latn_AZ' => true,
129  'bas' => true,
130  'bas_CM' => true,
131  'be' => true,
132  'be_BY' => true,
133  'bem' => true,
134  'bem_ZM' => true,
135  'bez' => true,
136  'bez_TZ' => true,
137  'bg' => true,
138  'bg_BG' => true,
139  'bm' => true,
140  'bm_ML' => true,
141  'bn' => true,
142  'bn_BD' => true,
143  'bn_IN' => true,
144  'bo' => true,
145  'bo_CN' => true,
146  'bo_IN' => true,
147  'br' => true,
148  'br_FR' => true,
149  'brx' => true,
150  'brx_IN' => true,
151  'bs' => true,
152  'bs_Cyrl' => true,
153  'bs_Cyrl_BA' => true,
154  'bs_Latn' => true,
155  'bs_Latn_BA' => true,
156  'byn' => true,
157  'byn_ER' => true,
158  'ca' => true,
159  'ca_AD' => true,
160  'ca_ES' => true,
161  'ca_ES_VALENCIA' => true,
162  'ca_FR' => true,
163  'ca_IT' => true,
164  'cgg' => true,
165  'cgg_UG' => true,
166  'chr' => true,
167  'chr_US' => true,
168  'cs' => true,
169  'cs_CZ' => true,
170  'cy' => true,
171  'cy_GB' => true,
172  'da' => true,
173  'da_DK' => true,
174  'da_GL' => true,
175  'dav' => true,
176  'dav_KE' => true,
177  'de' => true,
178  'de_AT' => true,
179  'de_BE' => true,
180  'de_CH' => true,
181  'de_DE' => true,
182  'de_LI' => true,
183  'de_LU' => true,
184  'dje' => true,
185  'dje_NE' => true,
186  'dua' => true,
187  'dua_CM' => true,
188  'dyo' => true,
189  'dyo_SN' => true,
190  'dz' => true,
191  'dz_BT' => true,
192  'ebu' => true,
193  'ebu_KE' => true,
194  'ee' => true,
195  'ee_GH' => true,
196  'ee_TG' => true,
197  'el' => true,
198  'el_CY' => true,
199  'el_GR' => true,
200  'en' => true,
201  'en_001' => true,
202  'en_150' => true,
203  'en_AG' => true,
204  'en_AI' => true,
205  'en_AS' => true,
206  'en_AU' => true,
207  'en_BB' => true,
208  'en_BE' => true,
209  'en_BM' => true,
210  'en_BS' => true,
211  'en_BW' => true,
212  'en_BZ' => true,
213  'en_CA' => true,
214  'en_CC' => true,
215  'en_CK' => true,
216  'en_CM' => true,
217  'en_CX' => true,
218  'en_DG' => true,
219  'en_DM' => true,
220  'en_Dsrt' => true,
221  'en_Dsrt_US' => true,
222  'en_ER' => true,
223  'en_FJ' => true,
224  'en_FK' => true,
225  'en_FM' => true,
226  'en_GB' => true,
227  'en_GD' => true,
228  'en_GG' => true,
229  'en_GH' => true,
230  'en_GI' => true,
231  'en_GM' => true,
232  'en_GU' => true,
233  'en_GY' => true,
234  'en_HK' => true,
235  'en_IE' => true,
236  'en_IM' => true,
237  'en_IN' => true,
238  'en_IO' => true,
239  'en_JE' => true,
240  'en_JM' => true,
241  'en_KE' => true,
242  'en_KI' => true,
243  'en_KN' => true,
244  'en_KY' => true,
245  'en_LC' => true,
246  'en_LR' => true,
247  'en_LS' => true,
248  'en_MG' => true,
249  'en_MH' => true,
250  'en_MO' => true,
251  'en_MP' => true,
252  'en_MS' => true,
253  'en_MT' => true,
254  'en_MU' => true,
255  'en_MW' => true,
256  'en_NA' => true,
257  'en_NF' => true,
258  'en_NG' => true,
259  'en_NR' => true,
260  'en_NU' => true,
261  'en_NZ' => true,
262  'en_PG' => true,
263  'en_PH' => true,
264  'en_PK' => true,
265  'en_PN' => true,
266  'en_PR' => true,
267  'en_PW' => true,
268  'en_RW' => true,
269  'en_SB' => true,
270  'en_SC' => true,
271  'en_SD' => true,
272  'en_SG' => true,
273  'en_SH' => true,
274  'en_SL' => true,
275  'en_SS' => true,
276  'en_SX' => true,
277  'en_SZ' => true,
278  'en_TC' => true,
279  'en_TK' => true,
280  'en_TO' => true,
281  'en_TT' => true,
282  'en_TV' => true,
283  'en_TZ' => true,
284  'en_UG' => true,
285  'en_UM' => true,
286  'en_US' => true,
287  'en_US_POSIX' => true,
288  'en_VC' => true,
289  'en_VG' => true,
290  'en_VI' => true,
291  'en_VU' => true,
292  'en_WS' => true,
293  'en_ZA' => true,
294  'en_ZM' => true,
295  'en_ZW' => true,
296  'eo' => true,
297  'eo_001' => true,
298  'es' => true,
299  'es_419' => true,
300  'es_AR' => true,
301  'es_BO' => true,
302  'es_CL' => true,
303  'es_CO' => true,
304  'es_CR' => true,
305  'es_CU' => true,
306  'es_DO' => true,
307  'es_EA' => true,
308  'es_EC' => true,
309  'es_ES' => true,
310  'es_GQ' => true,
311  'es_GT' => true,
312  'es_HN' => true,
313  'es_IC' => true,
314  'es_MX' => true,
315  'es_NI' => true,
316  'es_PA' => true,
317  'es_PE' => true,
318  'es_PH' => true,
319  'es_PR' => true,
320  'es_PY' => true,
321  'es_SV' => true,
322  'es_US' => true,
323  'es_UY' => true,
324  'es_VE' => true,
325  'et' => true,
326  'et_EE' => true,
327  'eu' => true,
328  'eu_ES' => true,
329  'ewo' => true,
330  'ewo_CM' => true,
331  'fa' => true,
332  'fa_AF' => true,
333  'fa_IR' => true,
334  'ff' => true,
335  'ff_CM' => true,
336  'ff_GN' => true,
337  'ff_MR' => true,
338  'fr_PM' => true,
339  'ff_SN' => true,
340  'fr_WF' => true,
341  'fi' => true,
342  'fi_FI' => true,
343  'fil' => true,
344  'fil_PH' => true,
345  'fo' => true,
346  'fo_FO' => true,
347  'fr' => true,
348  'fr_BE' => true,
349  'fr_BF' => true,
350  'fr_BI' => true,
351  'fr_BJ' => true,
352  'fr_BL' => true,
353  'fr_CA' => true,
354  'fr_CD' => true,
355  'fr_CF' => true,
356  'fr_CG' => true,
357  'fr_CH' => true,
358  'fr_CI' => true,
359  'fr_CM' => true,
360  'fr_DJ' => true,
361  'fr_DZ' => true,
362  'fr_FR' => true,
363  'fr_GA' => true,
364  'fr_GF' => true,
365  'fr_GN' => true,
366  'fr_GP' => true,
367  'fr_GQ' => true,
368  'fr_HT' => true,
369  'fr_KM' => true,
370  'fr_LU' => true,
371  'fr_MA' => true,
372  'fr_MC' => true,
373  'fr_MF' => true,
374  'fr_MG' => true,
375  'fr_ML' => true,
376  'fr_MQ' => true,
377  'fr_MR' => true,
378  'fr_MU' => true,
379  'fr_NC' => true,
380  'fr_NE' => true,
381  'fr_PF' => true,
382  'fr_RE' => true,
383  'fr_RW' => true,
384  'fr_SC' => true,
385  'fr_SN' => true,
386  'fr_SY' => true,
387  'fr_TD' => true,
388  'fr_TG' => true,
389  'fr_TN' => true,
390  'fr_VU' => true,
391  'fr_YT' => true,
392  'fur' => true,
393  'fur_IT' => true,
394  'fy' => true,
395  'fy_NL' => true,
396  'ga' => true,
397  'ga_IE' => true,
398  'gd' => true,
399  'gd_GB' => true,
400  'gl' => true,
401  'gl_ES' => true,
402  'gsw' => true,
403  'gsw_CH' => true,
404  'gsw_LI' => true,
405  'gu' => true,
406  'gu_IN' => true,
407  'guz' => true,
408  'guz_KE' => true,
409  'gv' => true,
410  'gv_IM' => true,
411  'ha' => true,
412  'ha_Latn' => true,
413  'ha_Latn_GH' => true,
414  'ha_Latn_NE' => true,
415  'ha_Latn_NG' => true,
416  'haw' => true,
417  'haw_US' => true,
418  'he' => true,
419  'he_IL' => true,
420  'hi' => true,
421  'hi_IN' => true,
422  'hr' => true,
423  'hr_BA' => true,
424  'hr_HR' => true,
425  'hu' => true,
426  'hu_HU' => true,
427  'hy' => true,
428  'hy_AM' => true,
429  'ia' => true,
430  'ia_FR' => true,
431  'id' => true,
432  'id_ID' => true,
433  'ig' => true,
434  'ig_NG' => true,
435  'ii' => true,
436  'ii_CN' => true,
437  'is' => true,
438  'is_IS' => true,
439  'it' => true,
440  'it_CH' => true,
441  'it_IT' => true,
442  'it_SM' => true,
443  'ja' => true,
444  'ja_JP' => true,
445  'jgo' => true,
446  'jgo_CM' => true,
447  'jmc' => true,
448  'jmc_TZ' => true,
449  'ka' => true,
450  'ka_GE' => true,
451  'kab' => true,
452  'kab_DZ' => true,
453  'kam' => true,
454  'kam_KE' => true,
455  'kde' => true,
456  'kde_TZ' => true,
457  'kea' => true,
458  'kea_CV' => true,
459  'khq' => true,
460  'khq_ML' => true,
461  'ki' => true,
462  'ki_KE' => true,
463  'kk' => true,
464  'kk_Cyrl' => true,
465  'kk_Cyrl_KZ' => true,
466  'kkj' => true,
467  'kkj_CM' => true,
468  'kl' => true,
469  'kl_GL' => true,
470  'kln' => true,
471  'kln_KE' => true,
472  'km' => true,
473  'km_KH' => true,
474  'kn' => true,
475  'kn_IN' => true,
476  'ko' => true,
477  'ko_KP' => true,
478  'ko_KR' => true,
479  'kok' => true,
480  'kok_IN' => true,
481  'ks' => true,
482  'ks_Arab' => true,
483  'ks_Arab_IN' => true,
484  'ksb' => true,
485  'ksb_TZ' => true,
486  'ksf' => true,
487  'ksf_CM' => true,
488  'ksh' => true,
489  'ksh_DE' => true,
490  'kw' => true,
491  'kw_GB' => true,
492  'ky' => true,
493  'ky_Cyrl' => true,
494  'ky_Cyrl_KG' => true,
495  'lag' => true,
496  'lag_TZ' => true,
497  'lg' => true,
498  'lg_UG' => true,
499  'lkt' => true,
500  'lkt_US' => true,
501  'ln' => true,
502  'ln_AO' => true,
503  'ln_CD' => true,
504  'ln_CF' => true,
505  'ln_CG' => true,
506  'lo' => true,
507  'lo_LA' => true,
508  'lt' => true,
509  'lt_LT' => true,
510  'lu' => true,
511  'lu_CD' => true,
512  'luo' => true,
513  'luo_KE' => true,
514  'luy' => true,
515  'luy_KE' => true,
516  'lv' => true,
517  'lv_LV' => true,
518  'mas' => true,
519  'mas_KE' => true,
520  'mas_TZ' => true,
521  'mer' => true,
522  'mer_KE' => true,
523  'mfe' => true,
524  'mfe_MU' => true,
525  'mg' => true,
526  'mg_MG' => true,
527  'mgh' => true,
528  'mgh_MZ' => true,
529  'mgo' => true,
530  'mgo_CM' => true,
531  'mk' => true,
532  'mk_MK' => true,
533  'ml' => true,
534  'ml_IN' => true,
535  'mn' => true,
536  'mn_Cyrl' => true,
537  'mn_Cyrl_MN' => true,
538  'mr' => true,
539  'mr_IN' => true,
540  'ms' => true,
541  'ms_Latn' => true,
542  'ms_Latn_BN' => true,
543  'ms_Latn_MY' => true,
544  'ms_Latn_SG' => true,
545  'mt' => true,
546  'mt_MT' => true,
547  'mua' => true,
548  'mua_CM' => true,
549  'my' => true,
550  'my_MM' => true,
551  'naq' => true,
552  'naq_NA' => true,
553  'nb' => true,
554  'nb_NO' => true,
555  'nb_SJ' => true,
556  'nd' => true,
557  'nd_ZW' => true,
558  'ne' => true,
559  'ne_IN' => true,
560  'ne_NP' => true,
561  'nl' => true,
562  'nl_AW' => true,
563  'nl_BE' => true,
564  'nl_BQ' => true,
565  'nl_CW' => true,
566  'nl_NL' => true,
567  'nl_SR' => true,
568  'nl_SX' => true,
569  'nmg' => true,
570  'nmg_CM' => true,
571  'nn' => true,
572  'nn_NO' => true,
573  'nnh' => true,
574  'nnh_CM' => true,
575  'nr' => true,
576  'nr_ZA' => true,
577  'nso' => true,
578  'nso_ZA' => true,
579  'nus' => true,
580  'nus_SD' => true,
581  'nyn' => true,
582  'nyn_UG' => true,
583  'om' => true,
584  'om_ET' => true,
585  'om_KE' => true,
586  'or' => true,
587  'or_IN' => true,
588  'ordinals' => true,
589  'os' => true,
590  'os_GE' => true,
591  'os_RU' => true,
592  'pa' => true,
593  'pa_Arab' => true,
594  'pa_Arab_PK' => true,
595  'pa_Guru' => true,
596  'pa_Guru_IN' => true,
597  'pl' => true,
598  'pl_PL' => true,
599  'plurals' => true,
600  'ps' => true,
601  'ps_AF' => true,
602  'pt' => true,
603  'pt_AO' => true,
604  'pt_BR' => true,
605  'pt_CV' => true,
606  'pt_GW' => true,
607  'pt_MO' => true,
608  'pt_MZ' => true,
609  'pt_PT' => true,
610  'pt_ST' => true,
611  'pt_TL' => true,
612  'rm' => true,
613  'rm_CH' => true,
614  'rn' => true,
615  'rn_BI' => true,
616  'ro' => true,
617  'ro_MD' => true,
618  'ro_RO' => true,
619  'rof' => true,
620  'rof_TZ' => true,
621  'ru' => true,
622  'ru_BY' => true,
623  'ru_KG' => true,
624  'ru_KZ' => true,
625  'ru_MD' => true,
626  'ru_RU' => true,
627  'ru_UA' => true,
628  'rw' => true,
629  'rw_RW' => true,
630  'rwk' => true,
631  'rwk_TZ' => true,
632  'sah' => true,
633  'sah_RU' => true,
634  'saq' => true,
635  'saq_KE' => true,
636  'sbp' => true,
637  'sbp_TZ' => true,
638  'se' => true,
639  'se_FI' => true,
640  'se_NO' => true,
641  'seh' => true,
642  'seh_MZ' => true,
643  'ses' => true,
644  'ses_ML' => true,
645  'sg' => true,
646  'sg_CF' => true,
647  'shi' => true,
648  'shi_Latn' => true,
649  'shi_Latn_MA' => true,
650  'shi_Tfng' => true,
651  'shi_Tfng_MA' => true,
652  'si' => true,
653  'si_LK' => true,
654  'sk' => true,
655  'sk_SK' => true,
656  'sl' => true,
657  'sl_SI' => true,
658  'sn' => true,
659  'sn_ZW' => true,
660  'so' => true,
661  'so_DJ' => true,
662  'so_ET' => true,
663  'so_KE' => true,
664  'so_SO' => true,
665  'sq' => true,
666  'sq_AL' => true,
667  'sq_MK' => true,
668  'sq_XK' => true,
669  'sr' => true,
670  'sr_Cyrl' => true,
671  'sr_Cyrl_BA' => true,
672  'sr_Cyrl_ME' => true,
673  'sr_Cyrl_RS' => true,
674  'sr_Cyrl_XK' => true,
675  'sr_Latn' => true,
676  'sr_Latn_BA' => true,
677  'sr_Latn_ME' => true,
678  'sr_Latn_RS' => true,
679  'sr_Latn_XK' => true,
680  'ss' => true,
681  'ss_SZ' => true,
682  'ss_ZA' => true,
683  'ssy' => true,
684  'ssy_ER' => true,
685  'st' => true,
686  'st_LS' => true,
687  'st_ZA' => true,
688  'sv' => true,
689  'sv_AX' => true,
690  'sv_FI' => true,
691  'sv_SE' => true,
692  'sw' => true,
693  'sw_KE' => true,
694  'sw_TZ' => true,
695  'sw_UG' => true,
696  'swc' => true,
697  'swc_CD' => true,
698  'ta' => true,
699  'ta_IN' => true,
700  'ta_LK' => true,
701  'ta_MY' => true,
702  'ta_SG' => true,
703  'te' => true,
704  'te_IN' => true,
705  'teo' => true,
706  'teo_KE' => true,
707  'teo_UG' => true,
708  'tg' => true,
709  'tg_Cyrl' => true,
710  'tg_Cyrl_TJ' => true,
711  'th' => true,
712  'th_TH' => true,
713  'ti' => true,
714  'ti_ER' => true,
715  'ti_ET' => true,
716  'tig' => true,
717  'tig_ER' => true,
718  'tn' => true,
719  'tn_BW' => true,
720  'tn_ZA' => true,
721  'to' => true,
722  'to_TO' => true,
723  'tr' => true,
724  'tr_CY' => true,
725  'tr_TR' => true,
726  'ts' => true,
727  'ts_ZA' => true,
728  'twq' => true,
729  'twq_NE' => true,
730  'tzm' => true,
731  'tzm_Latn' => true,
732  'tzm_Latn_MA' => true,
733  'ug' => true,
734  'ug_Arab' => true,
735  'ug_Arab_CN' => true,
736  'uk' => true,
737  'uk_UA' => true,
738  'ur' => true,
739  'ur_IN' => true,
740  'ur_PK' => true,
741  'uz' => true,
742  'uz_Arab' => true,
743  'uz_Arab_AF' => true,
744  'uz_Cyrl' => true,
745  'uz_Cyrl_UZ' => true,
746  'uz_Latn' => true,
747  'uz_Latn_UZ' => true,
748  'vai' => true,
749  'vai_Latn' => true,
750  'vai_Latn_LR' => true,
751  'vai_Vaii' => true,
752  'vai_Vaii_LR' => true,
753  've' => true,
754  've_ZA' => true,
755  'vi' => true,
756  'vi_VN' => true,
757  'vo' => true,
758  'vo_001' => true,
759  'vun' => true,
760  'vun_TZ' => true,
761  'wae' => true,
762  'wae_CH' => true,
763  'wal' => true,
764  'wal_ET' => true,
765  'xh' => true,
766  'xh_ZA' => true,
767  'xog' => true,
768  'xog_UG' => true,
769  'yav' => true,
770  'yav_CM' => true,
771  'yo' => true,
772  'yo_BJ' => true,
773  'yo_NG' => true,
774  'zgh' => true,
775  'zgh_MA' => true,
776  'zh' => true,
777  'zh_Hans' => true,
778  'zh_Hans_CN' => true,
779  'zh_Hans_HK' => true,
780  'zh_Hans_MO' => true,
781  'zh_Hans_SG' => true,
782  'zh_Hant' => true,
783  'zh_Hant_HK' => true,
784  'zh_Hant_MO' => true,
785  'zh_Hant_TW' => true,
786  'zu' => true,
787  'zu_ZA' => true,
788  );
789 
795  private static $_territoryData = array(
796  'AD' => 'ca_AD',
797  'AE' => 'ar_AE',
798  'AF' => 'fa_AF',
799  'AG' => 'en_AG',
800  'AI' => 'en_AI',
801  'AL' => 'sq_AL',
802  'AM' => 'hy_AM',
803  'AN' => 'pap_AN',
804  'AO' => 'pt_AO',
805  'AQ' => 'und_AQ',
806  'AR' => 'es_AR',
807  'AS' => 'sm_AS',
808  'AT' => 'de_AT',
809  'AU' => 'en_AU',
810  'AW' => 'nl_AW',
811  'AX' => 'sv_AX',
812  'AZ' => 'az_Latn_AZ',
813  'BA' => 'bs_BA',
814  'BB' => 'en_BB',
815  'BD' => 'bn_BD',
816  'BE' => 'nl_BE',
817  'BF' => 'mos_BF',
818  'BG' => 'bg_BG',
819  'BH' => 'ar_BH',
820  'BI' => 'rn_BI',
821  'BJ' => 'fr_BJ',
822  'BL' => 'fr_BL',
823  'BM' => 'en_BM',
824  'BN' => 'ms_BN',
825  'BO' => 'es_BO',
826  'BR' => 'pt_BR',
827  'BS' => 'en_BS',
828  'BT' => 'dz_BT',
829  'BV' => 'und_BV',
830  'BW' => 'en_BW',
831  'BY' => 'be_BY',
832  'BZ' => 'en_BZ',
833  'CA' => 'en_CA',
834  'CC' => 'ms_CC',
835  'CD' => 'sw_CD',
836  'CF' => 'fr_CF',
837  'CG' => 'fr_CG',
838  'CH' => 'de_CH',
839  'CI' => 'fr_CI',
840  'CK' => 'en_CK',
841  'CL' => 'es_CL',
842  'CM' => 'fr_CM',
843  'CN' => 'zh_Hans_CN',
844  'CO' => 'es_CO',
845  'CR' => 'es_CR',
846  'CU' => 'es_CU',
847  'CV' => 'kea_CV',
848  'CX' => 'en_CX',
849  'CY' => 'el_CY',
850  'CZ' => 'cs_CZ',
851  'DE' => 'de_DE',
852  'DJ' => 'aa_DJ',
853  'DK' => 'da_DK',
854  'DM' => 'en_DM',
855  'DO' => 'es_DO',
856  'DZ' => 'ar_DZ',
857  'EC' => 'es_EC',
858  'EE' => 'et_EE',
859  'EG' => 'ar_EG',
860  'EH' => 'ar_EH',
861  'ER' => 'ti_ER',
862  'ES' => 'es_ES',
863  'ET' => 'en_ET',
864  'FI' => 'fi_FI',
865  'FJ' => 'hi_FJ',
866  'FK' => 'en_FK',
867  'FM' => 'chk_FM',
868  'FO' => 'fo_FO',
869  'FR' => 'fr_FR',
870  'GA' => 'fr_GA',
871  'GB' => 'en_GB',
872  'GD' => 'en_GD',
873  'GE' => 'ka_GE',
874  'GF' => 'fr_GF',
875  'GG' => 'en_GG',
876  'GH' => 'ak_GH',
877  'GI' => 'en_GI',
878  'GL' => 'iu_GL',
879  'GM' => 'en_GM',
880  'GN' => 'fr_GN',
881  'GP' => 'fr_GP',
882  'GQ' => 'fan_GQ',
883  'GR' => 'el_GR',
884  'GS' => 'und_GS',
885  'GT' => 'es_GT',
886  'GU' => 'en_GU',
887  'GW' => 'pt_GW',
888  'GY' => 'en_GY',
889  'HK' => 'zh_Hant_HK',
890  'HM' => 'und_HM',
891  'HN' => 'es_HN',
892  'HR' => 'hr_HR',
893  'HT' => 'ht_HT',
894  'HU' => 'hu_HU',
895  'ID' => 'id_ID',
896  'IE' => 'en_IE',
897  'IL' => 'he_IL',
898  'IM' => 'en_IM',
899  'IN' => 'hi_IN',
900  'IO' => 'und_IO',
901  'IQ' => 'ar_IQ',
902  'IR' => 'fa_IR',
903  'IS' => 'is_IS',
904  'IT' => 'it_IT',
905  'JE' => 'en_JE',
906  'JM' => 'en_JM',
907  'JO' => 'ar_JO',
908  'JP' => 'ja_JP',
909  'KE' => 'en_KE',
910  'KG' => 'ky_Cyrl_KG',
911  'KH' => 'km_KH',
912  'KI' => 'en_KI',
913  'KM' => 'ar_KM',
914  'KN' => 'en_KN',
915  'KP' => 'ko_KP',
916  'KR' => 'ko_KR',
917  'KW' => 'ar_KW',
918  'KY' => 'en_KY',
919  'KZ' => 'ru_KZ',
920  'LA' => 'lo_LA',
921  'LB' => 'ar_LB',
922  'LC' => 'en_LC',
923  'LI' => 'de_LI',
924  'LK' => 'si_LK',
925  'LR' => 'en_LR',
926  'LS' => 'st_LS',
927  'LT' => 'lt_LT',
928  'LU' => 'fr_LU',
929  'LV' => 'lv_LV',
930  'LY' => 'ar_LY',
931  'MA' => 'ar_MA',
932  'MC' => 'fr_MC',
933  'MD' => 'ro_MD',
934  'ME' => 'sr_Latn_ME',
935  'MF' => 'fr_MF',
936  'MG' => 'mg_MG',
937  'MH' => 'mh_MH',
938  'MK' => 'mk_MK',
939  'ML' => 'bm_ML',
940  'MM' => 'my_MM',
941  'MN' => 'mn_Cyrl_MN',
942  'MO' => 'zh_Hant_MO',
943  'MP' => 'en_MP',
944  'MQ' => 'fr_MQ',
945  'MR' => 'ar_MR',
946  'MS' => 'en_MS',
947  'MT' => 'mt_MT',
948  'MU' => 'mfe_MU',
949  'MV' => 'dv_MV',
950  'MW' => 'ny_MW',
951  'MX' => 'es_MX',
952  'MY' => 'ms_MY',
953  'MZ' => 'pt_MZ',
954  'NA' => 'kj_NA',
955  'NC' => 'fr_NC',
956  'NE' => 'ha_Latn_NE',
957  'NF' => 'en_NF',
958  'NG' => 'en_NG',
959  'NI' => 'es_NI',
960  'NL' => 'nl_NL',
961  'NO' => 'nb_NO',
962  'NP' => 'ne_NP',
963  'NR' => 'en_NR',
964  'NU' => 'niu_NU',
965  'NZ' => 'en_NZ',
966  'OM' => 'ar_OM',
967  'PA' => 'es_PA',
968  'PE' => 'es_PE',
969  'PF' => 'fr_PF',
970  'PG' => 'tpi_PG',
971  'PH' => 'fil_PH',
972  'PK' => 'ur_PK',
973  'PL' => 'pl_PL',
974  'PM' => 'fr_PM',
975  'PN' => 'en_PN',
976  'PR' => 'es_PR',
977  'PS' => 'ar_PS',
978  'PT' => 'pt_PT',
979  'PW' => 'pau_PW',
980  'PY' => 'gn_PY',
981  'QA' => 'ar_QA',
982  'RE' => 'fr_RE',
983  'RO' => 'ro_RO',
984  'RS' => 'sr_Cyrl_RS',
985  'RU' => 'ru_RU',
986  'RW' => 'rw_RW',
987  'SA' => 'ar_SA',
988  'SB' => 'en_SB',
989  'SC' => 'crs_SC',
990  'SD' => 'ar_SD',
991  'SE' => 'sv_SE',
992  'SG' => 'en_SG',
993  'SH' => 'en_SH',
994  'SI' => 'sl_SI',
995  'SJ' => 'nb_SJ',
996  'SK' => 'sk_SK',
997  'SL' => 'kri_SL',
998  'SM' => 'it_SM',
999  'SN' => 'fr_SN',
1000  'SO' => 'sw_SO',
1001  'SR' => 'srn_SR',
1002  'ST' => 'pt_ST',
1003  'SV' => 'es_SV',
1004  'SY' => 'ar_SY',
1005  'SZ' => 'en_SZ',
1006  'TC' => 'en_TC',
1007  'TD' => 'fr_TD',
1008  'TF' => 'und_TF',
1009  'TG' => 'fr_TG',
1010  'TH' => 'th_TH',
1011  'TJ' => 'tg_Cyrl_TJ',
1012  'TK' => 'tkl_TK',
1013  'TL' => 'pt_TL',
1014  'TM' => 'tk_TM',
1015  'TN' => 'ar_TN',
1016  'TO' => 'to_TO',
1017  'TR' => 'tr_TR',
1018  'TT' => 'en_TT',
1019  'TV' => 'tvl_TV',
1020  'TW' => 'zh_Hant_TW',
1021  'TZ' => 'sw_TZ',
1022  'UA' => 'uk_UA',
1023  'UG' => 'sw_UG',
1024  'UM' => 'en_UM',
1025  'US' => 'en_US',
1026  'UY' => 'es_UY',
1027  'UZ' => 'uz_Cyrl_UZ',
1028  'VA' => 'it_VA',
1029  'VC' => 'en_VC',
1030  'VE' => 'es_VE',
1031  'VG' => 'en_VG',
1032  'VI' => 'en_VI',
1033  'VN' => 'vi_VN',
1034  'VU' => 'bi_VU',
1035  'WF' => 'wls_WF',
1036  'WS' => 'sm_WS',
1037  'YE' => 'ar_YE',
1038  'YT' => 'swb_YT',
1039  'ZA' => 'en_ZA',
1040  'ZM' => 'en_ZM',
1041  'ZW' => 'sn_ZW'
1042  );
1043 
1047  const BROWSER = 'browser';
1048  const ENVIRONMENT = 'environment';
1049  const ZFDEFAULT = 'default';
1050 
1057  public static $compatibilityMode = false;
1058 
1064  private static $_breakChain = false;
1065 
1071  protected $_locale;
1072 
1078  protected static $_auto;
1079 
1085  protected static $_browser;
1086 
1092  protected static $_environment;
1093 
1099  protected static $_default = array('en' => true);
1100 
1114  public function __construct($locale = null)
1115  {
1116  $this->setLocale($locale);
1117  }
1118 
1124  public function serialize()
1125  {
1126  return serialize($this);
1127  }
1128 
1134  public function toString()
1135  {
1136  return (string) $this->_locale;
1137  }
1138 
1145  public function __toString()
1146  {
1147  return $this->toString();
1148  }
1149 
1155  public static function getDefault()
1156  {
1157  if ((self::$compatibilityMode === true) or (func_num_args() > 0)) {
1158  if (!self::$_breakChain) {
1159  self::$_breakChain = true;
1160  trigger_error('You are running Zend_Locale in compatibility mode... please migrate your scripts', E_USER_NOTICE);
1161  $params = func_get_args();
1162  $param = null;
1163  if (isset($params[0])) {
1164  $param = $params[0];
1165  }
1166  return self::getOrder($param);
1167  }
1168 
1169  self::$_breakChain = false;
1170  }
1171 
1172  return self::$_default;
1173  }
1174 
1187  public static function setDefault($locale, $quality = 1)
1188  {
1189  if (($locale === 'auto') or ($locale === 'root') or ($locale === 'default') or
1190  ($locale === 'environment') or ($locale === 'browser')) {
1191  #require_once 'Zend/Locale/Exception.php';
1192  throw new Zend_Locale_Exception('Only full qualified locales can be used as default!');
1193  }
1194 
1195  if (($quality < 0.1) or ($quality > 100)) {
1196  #require_once 'Zend/Locale/Exception.php';
1197  throw new Zend_Locale_Exception("Quality must be between 0.1 and 100");
1198  }
1199 
1200  if ($quality > 1) {
1201  $quality /= 100;
1202  }
1203 
1204  $locale = self::_prepareLocale($locale);
1205  if (isset(self::$_localeData[(string) $locale]) === true) {
1206  self::$_default = array((string) $locale => $quality);
1207  } else {
1208  $elocale = explode('_', (string) $locale);
1209  if (isset(self::$_localeData[$elocale[0]]) === true) {
1210  self::$_default = array($elocale[0] => $quality);
1211  } else {
1212  #require_once 'Zend/Locale/Exception.php';
1213  throw new Zend_Locale_Exception("Unknown locale '" . (string) $locale . "' can not be set as default!");
1214  }
1215  }
1216 
1217  self::$_auto = self::getBrowser() + self::getEnvironment() + self::getDefault();
1218  }
1219 
1229  public static function getEnvironment()
1230  {
1231  if (self::$_environment !== null) {
1232  return self::$_environment;
1233  }
1234 
1235  #require_once 'Zend/Locale/Data/Translation.php';
1236 
1237  $language = setlocale(LC_ALL, 0);
1238  $languages = explode(';', $language);
1239  $languagearray = array();
1240 
1241  foreach ($languages as $locale) {
1242  if (strpos($locale, '=') !== false) {
1243  $language = substr($locale, strpos($locale, '='));
1244  $language = substr($language, 1);
1245  }
1246 
1247  if ($language !== 'C') {
1248  if (strpos($language, '.') !== false) {
1249  $language = substr($language, 0, strpos($language, '.'));
1250  } else if (strpos($language, '@') !== false) {
1251  $language = substr($language, 0, strpos($language, '@'));
1252  }
1253 
1254  $language = str_ireplace(
1257  (string) $language
1258  );
1259 
1260  $language = str_ireplace(
1263  $language
1264  );
1265 
1266  if (isset(self::$_localeData[$language]) === true) {
1267  $languagearray[$language] = 1;
1268  if (strpos($language, '_') !== false) {
1269  $languagearray[substr($language, 0, strpos($language, '_'))] = 1;
1270  }
1271  }
1272  }
1273  }
1274 
1275  self::$_environment = $languagearray;
1276  return $languagearray;
1277  }
1278 
1288  public static function getBrowser()
1289  {
1290  if (self::$_browser !== null) {
1291  return self::$_browser;
1292  }
1293 
1294  $httplanguages = getenv('HTTP_ACCEPT_LANGUAGE');
1295  if (empty($httplanguages) && array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER)) {
1296  $httplanguages = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
1297  }
1298 
1299  $languages = array();
1300  if (empty($httplanguages)) {
1301  return $languages;
1302  }
1303 
1304  $accepted = preg_split('/,\s*/', $httplanguages);
1305 
1306  foreach ($accepted as $accept) {
1307  $match = null;
1308  $result = preg_match('/^([a-z]{1,8}(?:[-_][a-z]{1,8})*)(?:;\s*q=(0(?:\.[0-9]{1,3})?|1(?:\.0{1,3})?))?$/i',
1309  $accept, $match);
1310 
1311  if ($result < 1) {
1312  continue;
1313  }
1314 
1315  if (isset($match[2]) === true) {
1316  $quality = (float) $match[2];
1317  } else {
1318  $quality = 1.0;
1319  }
1320 
1321  $countrys = explode('-', $match[1]);
1322  $region = array_shift($countrys);
1323 
1324  $country2 = explode('_', $region);
1325  $region = array_shift($country2);
1326 
1327  foreach ($countrys as $country) {
1328  $languages[$region . '_' . strtoupper($country)] = $quality;
1329  }
1330 
1331  foreach ($country2 as $country) {
1332  $languages[$region . '_' . strtoupper($country)] = $quality;
1333  }
1334 
1335  if ((isset($languages[$region]) === false) || ($languages[$region] < $quality)) {
1336  $languages[$region] = $quality;
1337  }
1338  }
1339 
1340  self::$_browser = $languages;
1341  return $languages;
1342  }
1343 
1350  public function setLocale($locale = null)
1351  {
1352  $locale = self::_prepareLocale($locale);
1353 
1354  if (isset(self::$_localeData[(string) $locale]) === false) {
1355  // Is it an alias? If so, we can use this locale
1356  if (isset(self::$_localeAliases[$locale]) === true) {
1357  $this->_locale = $locale;
1358  return;
1359  }
1360 
1361  $region = substr((string) $locale, 0, 3);
1362  if (isset($region[2]) === true) {
1363  if (($region[2] === '_') or ($region[2] === '-')) {
1364  $region = substr($region, 0, 2);
1365  }
1366  }
1367 
1368  if (isset(self::$_localeData[(string) $region]) === true) {
1369  $this->_locale = $region;
1370  } else {
1371  $this->_locale = 'root';
1372  }
1373  } else {
1374  $this->_locale = $locale;
1375  }
1376  }
1377 
1383  public function getLanguage()
1384  {
1385  $locale = explode('_', $this->_locale);
1386  return $locale[0];
1387  }
1388 
1394  public function getRegion()
1395  {
1396  $locale = explode('_', $this->_locale);
1397  if (isset($locale[1]) === true) {
1398  return $locale[1];
1399  }
1400 
1401  return false;
1402  }
1403 
1409  public static function getHttpCharset()
1410  {
1411  $httpcharsets = getenv('HTTP_ACCEPT_CHARSET');
1412 
1413  $charsets = array();
1414  if ($httpcharsets === false) {
1415  return $charsets;
1416  }
1417 
1418  $accepted = preg_split('/,\s*/', $httpcharsets);
1419  foreach ($accepted as $accept) {
1420  if (empty($accept) === true) {
1421  continue;
1422  }
1423 
1424  if (strpos($accept, ';') !== false) {
1425  $quality = (float) substr($accept, (strpos($accept, '=') + 1));
1426  $pos = substr($accept, 0, strpos($accept, ';'));
1427  $charsets[$pos] = $quality;
1428  } else {
1429  $quality = 1.0;
1430  $charsets[$accept] = $quality;
1431  }
1432  }
1433 
1434  return $charsets;
1435  }
1436 
1443  public function equals(Zend_Locale $object)
1444  {
1445  if ($object->toString() === $this->toString()) {
1446  return true;
1447  }
1448 
1449  return false;
1450  }
1451 
1462  public static function getTranslationList($path = null, $locale = null, $value = null)
1463  {
1464  #require_once 'Zend/Locale/Data.php';
1465  $locale = self::findLocale($locale);
1467  if (empty($result) === true) {
1468  return false;
1469  }
1470 
1471  return $result;
1472  }
1473 
1481  public static function getLanguageTranslationList($locale = null)
1482  {
1483  trigger_error("The method getLanguageTranslationList is deprecated. Use getTranslationList('language', $locale) instead", E_USER_NOTICE);
1484  return self::getTranslationList('language', $locale);
1485  }
1486 
1494  public static function getScriptTranslationList($locale = null)
1495  {
1496  trigger_error("The method getScriptTranslationList is deprecated. Use getTranslationList('script', $locale) instead", E_USER_NOTICE);
1497  return self::getTranslationList('script', $locale);
1498  }
1499 
1507  public static function getCountryTranslationList($locale = null)
1508  {
1509  trigger_error("The method getCountryTranslationList is deprecated. Use getTranslationList('territory', $locale, 2) instead", E_USER_NOTICE);
1510  return self::getTranslationList('territory', $locale, 2);
1511  }
1512 
1521  public static function getTerritoryTranslationList($locale = null)
1522  {
1523  trigger_error("The method getTerritoryTranslationList is deprecated. Use getTranslationList('territory', $locale, 1) instead", E_USER_NOTICE);
1524  return self::getTranslationList('territory', $locale, 1);
1525  }
1526 
1536  public static function getTranslation($value = null, $path = null, $locale = null)
1537  {
1538  #require_once 'Zend/Locale/Data.php';
1539  $locale = self::findLocale($locale);
1541  if (empty($result) === true && '0' !== $result) {
1542  return false;
1543  }
1544 
1545  return $result;
1546  }
1547 
1556  public static function getLanguageTranslation($value, $locale = null)
1557  {
1558  trigger_error("The method getLanguageTranslation is deprecated. Use getTranslation($value, 'language', $locale) instead", E_USER_NOTICE);
1559  return self::getTranslation($value, 'language', $locale);
1560  }
1561 
1570  public static function getScriptTranslation($value, $locale = null)
1571  {
1572  trigger_error("The method getScriptTranslation is deprecated. Use getTranslation($value, 'script', $locale) instead", E_USER_NOTICE);
1573  return self::getTranslation($value, 'script', $locale);
1574  }
1575 
1584  public static function getCountryTranslation($value, $locale = null)
1585  {
1586  trigger_error("The method getCountryTranslation is deprecated. Use getTranslation($value, 'country', $locale) instead", E_USER_NOTICE);
1587  return self::getTranslation($value, 'country', $locale);
1588  }
1589 
1599  public static function getTerritoryTranslation($value, $locale = null)
1600  {
1601  trigger_error("The method getTerritoryTranslation is deprecated. Use getTranslation($value, 'territory', $locale) instead", E_USER_NOTICE);
1602  return self::getTranslation($value, 'territory', $locale);
1603  }
1604 
1611  public static function getQuestion($locale = null)
1612  {
1613  #require_once 'Zend/Locale/Data.php';
1614  $locale = self::findLocale($locale);
1615  $quest = Zend_Locale_Data::getList($locale, 'question');
1616  $yes = explode(':', $quest['yes']);
1617  $no = explode(':', $quest['no']);
1618  $quest['yes'] = $yes[0];
1619  $quest['yesarray'] = $yes;
1620  $quest['no'] = $no[0];
1621  $quest['noarray'] = $no;
1622  $quest['yesexpr'] = self::_prepareQuestionString($yes);
1623  $quest['noexpr'] = self::_prepareQuestionString($no);
1624 
1625  return $quest;
1626  }
1627 
1634  private static function _prepareQuestionString($input)
1635  {
1636  $regex = '';
1637  if (is_array($input) === true) {
1638  $regex = '^';
1639  $start = true;
1640  foreach ($input as $row) {
1641  if ($start === false) {
1642  $regex .= '|';
1643  }
1644 
1645  $start = false;
1646  $regex .= '(';
1647  $one = null;
1648  if (strlen($row) > 2) {
1649  $one = true;
1650  }
1651 
1652  foreach (str_split($row, 1) as $char) {
1653  $regex .= '[' . $char;
1654  $regex .= strtoupper($char) . ']';
1655  if ($one === true) {
1656  $one = false;
1657  $regex .= '(';
1658  }
1659  }
1660 
1661  if ($one === false) {
1662  $regex .= ')';
1663  }
1664 
1665  $regex .= '?)';
1666  }
1667  }
1668 
1669  return $regex;
1670  }
1671 
1683  public static function isLocale($locale, $strict = false, $compatible = true)
1684  {
1685  if (($locale instanceof Zend_Locale)
1686  || (is_string($locale) && array_key_exists($locale, self::$_localeData))
1687  ) {
1688  return true;
1689  }
1690 
1691  // Is it an alias?
1692  if (is_string($locale) && array_key_exists($locale, self::$_localeAliases)) {
1693  return true;
1694  }
1695 
1696  if (($locale === null) || (!is_string($locale) and !is_array($locale))) {
1697  return false;
1698  }
1699 
1700  try {
1701  $locale = self::_prepareLocale($locale, $strict);
1702  } catch (Zend_Locale_Exception $e) {
1703  return false;
1704  }
1705 
1706  if (($compatible === true) and (self::$compatibilityMode === true)) {
1707  trigger_error('You are running Zend_Locale in compatibility mode... please migrate your scripts', E_USER_NOTICE);
1708  if (isset(self::$_localeData[$locale]) === true) {
1709  return $locale;
1710  } else if (!$strict) {
1711  $locale = explode('_', $locale);
1712  if (isset(self::$_localeData[$locale[0]]) === true) {
1713  return $locale[0];
1714  }
1715  }
1716  } else {
1717  if (isset(self::$_localeData[$locale]) === true) {
1718  return true;
1719  } else if (!$strict) {
1720  $locale = explode('_', $locale);
1721  if (isset(self::$_localeData[$locale[0]]) === true) {
1722  return true;
1723  }
1724  }
1725  }
1726 
1727  return false;
1728  }
1729 
1740  public static function findLocale($locale = null)
1741  {
1742  if ($locale === null) {
1743  #require_once 'Zend/Registry.php';
1744  if (Zend_Registry::isRegistered('Zend_Locale')) {
1745  $locale = Zend_Registry::get('Zend_Locale');
1746  }
1747  }
1748 
1749  if ($locale === null) {
1750  $locale = new Zend_Locale();
1751  }
1752 
1753  if (!Zend_Locale::isLocale($locale, true, false)) {
1754  if (!Zend_Locale::isLocale($locale, false, false)) {
1755  $locale = Zend_Locale::getLocaleToTerritory($locale);
1756 
1757  if (empty($locale)) {
1758  #require_once 'Zend/Locale/Exception.php';
1759  throw new Zend_Locale_Exception("The locale '$locale' is no known locale");
1760  }
1761  } else {
1762  $locale = new Zend_Locale($locale);
1763  }
1764  }
1765 
1766  $locale = self::_prepareLocale($locale);
1767  return $locale;
1768  }
1769 
1776  public static function getLocaleToTerritory($territory)
1777  {
1778  $territory = strtoupper($territory);
1779  if (array_key_exists($territory, self::$_territoryData)) {
1780  return self::$_territoryData[$territory];
1781  }
1782 
1783  return null;
1784  }
1785 
1793  public static function getLocaleList()
1794  {
1795  $list = self::$_localeData;
1796  unset($list['root']);
1797  unset($list['auto']);
1798  unset($list['browser']);
1799  unset($list['environment']);
1800  return $list;
1801  }
1802 
1808  public static function getCache()
1809  {
1810  #require_once 'Zend/Locale/Data.php';
1811  return Zend_Locale_Data::getCache();
1812  }
1813 
1820  public static function setCache(Zend_Cache_Core $cache)
1821  {
1822  #require_once 'Zend/Locale/Data.php';
1824  }
1825 
1831  public static function hasCache()
1832  {
1833  #require_once 'Zend/Locale/Data.php';
1834  return Zend_Locale_Data::hasCache();
1835  }
1836 
1842  public static function removeCache()
1843  {
1844  #require_once 'Zend/Locale/Data.php';
1846  }
1847 
1854  public static function clearCache($tag = null)
1855  {
1856  #require_once 'Zend/Locale/Data.php';
1858  }
1859 
1866  public static function disableCache($flag)
1867  {
1868  #require_once 'Zend/Locale/Data.php';
1870  }
1871 
1880  private static function _prepareLocale($locale, $strict = false)
1881  {
1882  if ($locale instanceof Zend_Locale) {
1883  $locale = $locale->toString();
1884  }
1885 
1886  if (is_array($locale)) {
1887  return '';
1888  }
1889 
1890  if (empty(self::$_auto) === true) {
1891  self::$_browser = self::getBrowser();
1892  self::$_environment = self::getEnvironment();
1893  self::$_breakChain = true;
1894  self::$_auto = self::getBrowser() + self::getEnvironment() + self::getDefault();
1895  }
1896 
1897  if (!$strict) {
1898  if ($locale === 'browser') {
1899  $locale = self::$_browser;
1900  }
1901 
1902  if ($locale === 'environment') {
1903  $locale = self::$_environment;
1904  }
1905 
1906  if ($locale === 'default') {
1907  $locale = self::$_default;
1908  }
1909 
1910  if (($locale === 'auto') or ($locale === null)) {
1911  $locale = self::$_auto;
1912  }
1913 
1914  if (is_array($locale) === true) {
1915  $locale = key($locale);
1916  }
1917  }
1918 
1919  // This can only happen when someone extends Zend_Locale and erases the default
1920  if ($locale === null) {
1921  #require_once 'Zend/Locale/Exception.php';
1922  throw new Zend_Locale_Exception('Autodetection of Locale has been failed!');
1923  }
1924 
1925  if (strpos($locale, '-') !== false) {
1926  $locale = strtr($locale, '-', '_');
1927  }
1928 
1929  $parts = explode('_', $locale);
1930  if (!isset(self::$_localeData[$parts[0]])) {
1931  if ((count($parts) == 1) && array_key_exists($parts[0], self::$_territoryData)) {
1932  return self::$_territoryData[$parts[0]];
1933  }
1934 
1935  return '';
1936  }
1937 
1938  foreach($parts as $key => $value) {
1939  if ((strlen($value) < 2) || (strlen($value) > 3)) {
1940  unset($parts[$key]);
1941  }
1942  }
1943 
1944  $locale = implode('_', $parts);
1945  return (string) $locale;
1946  }
1947 
1957  public static function getOrder($order = null)
1958  {
1959  switch ($order) {
1960  case self::ENVIRONMENT:
1961  self::$_breakChain = true;
1963  break;
1964 
1965  case self::ZFDEFAULT:
1966  self::$_breakChain = true;
1968  break;
1969 
1970  default:
1971  self::$_breakChain = true;
1973  break;
1974  }
1975 
1976  return $languages;
1977  }
1978 
1985  public static function isAlias($locale)
1986  {
1987  if ($locale instanceof Zend_Locale) {
1988  $locale = $locale->toString();
1989  }
1990 
1991  return isset(self::$_localeAliases[$locale]);
1992  }
1993 
2000  public static function getAlias($locale)
2001  {
2002  if ($locale instanceof Zend_Locale) {
2003  $locale = $locale->toString();
2004  }
2005 
2006  if (isset(self::$_localeAliases[$locale]) === true) {
2007  return self::$_localeAliases[$locale];
2008  }
2009 
2010  return (string) $locale;
2011  }
2012 }
static getCountryTranslationList($locale=null)
Definition: Locale.php:1507
static getTranslation($value=null, $path=null, $locale=null)
Definition: Locale.php:1536
static hasCache()
Definition: Locale.php:1831
static getLocaleList()
Definition: Locale.php:1793
static getList($locale, $path, $value=false)
Definition: Data.php:318
static $_browser
Definition: Locale.php:1085
$_default
Definition: radio.phtml:13
static getLanguageTranslationList($locale=null)
Definition: Locale.php:1481
static $_default
Definition: Locale.php:1099
static getAlias($locale)
Definition: Locale.php:2000
static getBrowser()
Definition: Locale.php:1288
__construct($locale=null)
Definition: Locale.php:1114
static getContent($locale, $path, $value=false)
Definition: Data.php:968
static getTerritoryTranslationList($locale=null)
Definition: Locale.php:1521
static $compatibilityMode
Definition: Locale.php:1057
$order
Definition: order.php:55
static $_auto
Definition: Locale.php:1078
$start
Definition: listing.phtml:18
const BROWSER
Definition: Locale.php:1047
static getTerritoryTranslation($value, $locale=null)
Definition: Locale.php:1599
setLocale($locale=null)
Definition: Locale.php:1350
static getOrder($order=null)
Definition: Locale.php:1957
static setDefault($locale, $quality=1)
Definition: Locale.php:1187
const ENVIRONMENT
Definition: Locale.php:1048
static clearCache()
Definition: Data.php:1562
static isRegistered($index)
Definition: Registry.php:178
static getCache()
Definition: Data.php:1517
equals(Zend_Locale $object)
Definition: Locale.php:1443
static getEnvironment()
Definition: Locale.php:1229
static getLanguageTranslation($value, $locale=null)
Definition: Locale.php:1556
$value
Definition: gender.phtml:16
static getCache()
Definition: Locale.php:1808
static isAlias($locale)
Definition: Locale.php:1985
static isLocale($locale, $strict=false, $compatible=true)
Definition: Locale.php:1683
$pos
Definition: list.phtml:42
static setCache(Zend_Cache_Core $cache)
Definition: Locale.php:1820
static disableCache($flag)
Definition: Locale.php:1866
static getCountryTranslation($value, $locale=null)
Definition: Locale.php:1584
static getTranslationList($path=null, $locale=null, $value=null)
Definition: Locale.php:1462
static findLocale($locale=null)
Definition: Locale.php:1740
static removeCache()
Definition: Data.php:1552
static getQuestion($locale=null)
Definition: Locale.php:1611
static $_environment
Definition: Locale.php:1092
static disableCache($flag)
Definition: Data.php:1576
const ZFDEFAULT
Definition: Locale.php:1049
static setCache(Zend_Cache_Core $cache)
Definition: Data.php:1527
static clearCache($tag=null)
Definition: Locale.php:1854
static getLocaleToTerritory($territory)
Definition: Locale.php:1776
static hasCache()
Definition: Data.php:1538
static getDefault()
Definition: Locale.php:1155
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18
static getHttpCharset()
Definition: Locale.php:1409
static removeCache()
Definition: Locale.php:1842
static getScriptTranslation($value, $locale=null)
Definition: Locale.php:1570
static getScriptTranslationList($locale=null)
Definition: Locale.php:1494
static get($index)
Definition: Registry.php:141