Skip to content

Commit a55ac80

Browse files
[2.7] bpo-20087: Update locale alias mapping with glibc 2.27 supported locales. (GH-6708). (GH-6717)
(cherry picked from commit cedc9b7)
1 parent 3a04598 commit a55ac80

File tree

3 files changed

+59
-6
lines changed

3 files changed

+59
-6
lines changed

Lib/locale.py

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -798,6 +798,17 @@ def getpreferredencoding(do_setlocale = True):
798798
#
799799
# SS 2014-10-01:
800800
# Updated alias mapping with glibc 2.19 supported locales.
801+
#
802+
# SS 2018-05-05:
803+
# Updated alias mapping with glibc 2.27 supported locales.
804+
#
805+
# These are the differences compared to the old mapping (Python 2.7.15
806+
# and older):
807+
#
808+
# updated 'ca_es@valencia' -> 'ca_ES.ISO8859-15@valencia' to 'ca_ES.UTF-8@valencia'
809+
# updated 'english.iso88591' -> 'en_EN.ISO8859-1' to 'en_US.ISO8859-1'
810+
# updated 'kk_kz' -> 'kk_KZ.RK1048' to 'kk_KZ.ptcp154'
811+
# updated 'russian' -> 'ru_RU.ISO8859-5' to 'ru_RU.KOI8-R'
801812

802813
locale_alias = {
803814
'a3': 'az_AZ.KOI8-C',
@@ -810,11 +821,14 @@ def getpreferredencoding(do_setlocale = True):
810821
'af': 'af_ZA.ISO8859-1',
811822
'af_za': 'af_ZA.ISO8859-1',
812823
'af_za.iso88591': 'af_ZA.ISO8859-1',
824+
'agr_pe': 'agr_PE.UTF-8',
825+
'ak_gh': 'ak_GH.UTF-8',
813826
'am': 'am_ET.UTF-8',
814827
'am_et': 'am_ET.UTF-8',
815828
'american': 'en_US.ISO8859-1',
816829
'american.iso88591': 'en_US.ISO8859-1',
817830
'an_es': 'an_ES.ISO8859-15',
831+
'anp_in': 'anp_IN.UTF-8',
818832
'ar': 'ar_AA.ISO8859-6',
819833
'ar_aa': 'ar_AA.ISO8859-6',
820834
'ar_aa.iso88596': 'ar_AA.ISO8859-6',
@@ -847,6 +861,7 @@ def getpreferredencoding(do_setlocale = True):
847861
'ar_sa.iso88596': 'ar_SA.ISO8859-6',
848862
'ar_sd': 'ar_SD.ISO8859-6',
849863
'ar_sd.iso88596': 'ar_SD.ISO8859-6',
864+
'ar_ss': 'ar_SS.UTF-8',
850865
'ar_sy': 'ar_SY.ISO8859-6',
851866
'ar_sy.iso88596': 'ar_SY.ISO8859-6',
852867
'ar_tn': 'ar_TN.ISO8859-6',
@@ -862,6 +877,7 @@ def getpreferredencoding(do_setlocale = True):
862877
'az': 'az_AZ.ISO8859-9E',
863878
'az_az': 'az_AZ.ISO8859-9E',
864879
'az_az.iso88599e': 'az_AZ.ISO8859-9E',
880+
'az_ir': 'az_IR.UTF-8',
865881
'be': 'be_BY.CP1251',
866882
'be@latin': 'be_BY.UTF-8@latin',
867883
'be_bg.utf8': 'bg_BG.UTF-8',
@@ -879,7 +895,10 @@ def getpreferredencoding(do_setlocale = True):
879895
'bg_bg.iso88595': 'bg_BG.ISO8859-5',
880896
'bg_bg.koi8r': 'bg_BG.KOI8-R',
881897
'bg_bg.microsoftcp1251': 'bg_BG.CP1251',
898+
'bhb_in.utf8': 'bhb_IN.UTF-8',
882899
'bho_in': 'bho_IN.UTF-8',
900+
'bho_np': 'bho_NP.UTF-8',
901+
'bi_vu': 'bi_VU.UTF-8',
883902
'bn_bd': 'bn_BD.UTF-8',
884903
'bn_in': 'bn_IN.UTF-8',
885904
'bo_cn': 'bo_CN.UTF-8',
@@ -921,8 +940,8 @@ def getpreferredencoding(do_setlocale = True):
921940
'ca_es.iso885915': 'ca_ES.ISO8859-15',
922941
'ca_es.iso885915@euro': 'ca_ES.ISO8859-15',
923942
'ca_es.utf8@euro': 'ca_ES.UTF-8',
924-
'ca_es@valencia': 'ca_ES.ISO8859-15@valencia',
925943
'ca_es@euro': 'ca_ES.ISO8859-15',
944+
'ca_es@valencia': 'ca_ES.UTF-8@valencia',
926945
'ca_fr': 'ca_FR.ISO8859-1',
927946
'ca_fr.iso88591': 'ca_FR.ISO8859-1',
928947
'ca_fr.iso885915': 'ca_FR.ISO8859-15',
@@ -936,10 +955,14 @@ def getpreferredencoding(do_setlocale = True):
936955
'ca_it.utf8@euro': 'ca_IT.UTF-8',
937956
'ca_it@euro': 'ca_IT.ISO8859-15',
938957
'catalan': 'ca_ES.ISO8859-1',
958+
'ce_ru': 'ce_RU.UTF-8',
939959
'cextend': 'en_US.ISO8859-1',
940960
'cextend.en': 'en_US.ISO8859-1',
941961
'chinese-s': 'zh_CN.eucCN',
942962
'chinese-t': 'zh_TW.eucTW',
963+
'chr_us': 'chr_US.UTF-8',
964+
'ckb_iq': 'ckb_IQ.UTF-8',
965+
'cmn_tw': 'cmn_TW.UTF-8',
943966
'crh_ua': 'crh_UA.UTF-8',
944967
'croatian': 'hr_HR.ISO8859-2',
945968
'cs': 'cs_CZ.ISO8859-2',
@@ -996,6 +1019,7 @@ def getpreferredencoding(do_setlocale = True):
9961019
'de_de.iso885915@euro': 'de_DE.ISO8859-15',
9971020
'de_de.utf8@euro': 'de_DE.UTF-8',
9981021
'de_de@euro': 'de_DE.ISO8859-15',
1022+
'de_it': 'de_IT.ISO8859-1',
9991023
'de_li.utf8': 'de_LI.UTF-8',
10001024
'de_lu': 'de_LU.ISO8859-1',
10011025
'de_lu.iso88591': 'de_LU.ISO8859-1',
@@ -1030,6 +1054,8 @@ def getpreferredencoding(do_setlocale = True):
10301054
'en_ca': 'en_CA.ISO8859-1',
10311055
'en_ca.iso88591': 'en_CA.ISO8859-1',
10321056
'en_dk': 'en_DK.ISO8859-1',
1057+
'en_dk.iso88591': 'en_DK.ISO8859-1',
1058+
'en_dk.iso885915': 'en_DK.ISO8859-15',
10331059
'en_dl.utf8': 'en_DL.UTF-8',
10341060
'en_gb': 'en_GB.ISO8859-1',
10351061
'en_gb.88591': 'en_GB.ISO8859-1',
@@ -1044,12 +1070,14 @@ def getpreferredencoding(do_setlocale = True):
10441070
'en_ie.iso885915@euro': 'en_IE.ISO8859-15',
10451071
'en_ie.utf8@euro': 'en_IE.UTF-8',
10461072
'en_ie@euro': 'en_IE.ISO8859-15',
1073+
'en_il': 'en_IL.UTF-8',
10471074
'en_in': 'en_IN.ISO8859-1',
10481075
'en_ng': 'en_NG.UTF-8',
10491076
'en_nz': 'en_NZ.ISO8859-1',
10501077
'en_nz.iso88591': 'en_NZ.ISO8859-1',
10511078
'en_ph': 'en_PH.ISO8859-1',
10521079
'en_ph.iso88591': 'en_PH.ISO8859-1',
1080+
'en_sc.utf8': 'en_SC.UTF-8',
10531081
'en_sg': 'en_SG.ISO8859-1',
10541082
'en_sg.iso88591': 'en_SG.ISO8859-1',
10551083
'en_uk': 'en_GB.ISO8859-1',
@@ -1073,7 +1101,7 @@ def getpreferredencoding(do_setlocale = True):
10731101
'eng_gb': 'en_GB.ISO8859-1',
10741102
'eng_gb.8859': 'en_GB.ISO8859-1',
10751103
'english': 'en_EN.ISO8859-1',
1076-
'english.iso88591': 'en_EN.ISO8859-1',
1104+
'english.iso88591': 'en_US.ISO8859-1',
10771105
'english_uk': 'en_GB.ISO8859-1',
10781106
'english_uk.8859': 'en_GB.ISO8859-1',
10791107
'english_united-states': 'en_US.ISO8859-1',
@@ -1268,6 +1296,7 @@ def getpreferredencoding(do_setlocale = True):
12681296
'gv_gb.iso885915': 'gv_GB.ISO8859-15',
12691297
'gv_gb@euro': 'gv_GB.ISO8859-15',
12701298
'ha_ng': 'ha_NG.UTF-8',
1299+
'hak_tw': 'hak_TW.UTF-8',
12711300
'he': 'he_IL.ISO8859-8',
12721301
'he_il': 'he_IL.ISO8859-8',
12731302
'he_il.cp1255': 'he_IL.CP1255',
@@ -1278,6 +1307,7 @@ def getpreferredencoding(do_setlocale = True):
12781307
'hi': 'hi_IN.ISCII-DEV',
12791308
'hi_in': 'hi_IN.ISCII-DEV',
12801309
'hi_in.isciidev': 'hi_IN.ISCII-DEV',
1310+
'hif_fj': 'hif_FJ.UTF-8',
12811311
'hne': 'hne_IN.UTF-8',
12821312
'hne_in': 'hne_IN.UTF-8',
12831313
'hr': 'hr_HR.ISO8859-2',
@@ -1361,7 +1391,8 @@ def getpreferredencoding(do_setlocale = True):
13611391
'ka_ge.georgianacademy': 'ka_GE.GEORGIAN-ACADEMY',
13621392
'ka_ge.georgianps': 'ka_GE.GEORGIAN-PS',
13631393
'ka_ge.georgianrs': 'ka_GE.GEORGIAN-ACADEMY',
1364-
'kk_kz': 'kk_KZ.RK1048',
1394+
'kab_dz': 'kab_DZ.UTF-8',
1395+
'kk_kz': 'kk_KZ.ptcp154',
13651396
'kl': 'kl_GL.ISO8859-1',
13661397
'kl_gl': 'kl_GL.ISO8859-1',
13671398
'kl_gl.iso88591': 'kl_GL.ISO8859-1',
@@ -1379,6 +1410,7 @@ def getpreferredencoding(do_setlocale = True):
13791410
'korean.euc': 'ko_KR.eucKR',
13801411
'ks': 'ks_IN.UTF-8',
13811412
'ks_in': 'ks_IN.UTF-8',
1413+
'ks_in.utf8@devanagari': 'ks_IN.UTF-8@devanagari',
13821414
'ks_in@devanagari': 'ks_IN.UTF-8@devanagari',
13831415
'[email protected]': 'ks_IN.UTF-8@devanagari',
13841416
'ku_tr': 'ku_TR.ISO8859-9',
@@ -1396,6 +1428,7 @@ def getpreferredencoding(do_setlocale = True):
13961428
'li_nl': 'li_NL.UTF-8',
13971429
'lij_it': 'lij_IT.UTF-8',
13981430
'lithuanian': 'lt_LT.ISO8859-13',
1431+
'ln_cd': 'ln_CD.UTF-8',
13991432
'lo': 'lo_LA.MULELAO-1',
14001433
'lo_la': 'lo_LA.MULELAO-1',
14011434
'lo_la.cp1133': 'lo_LA.IBM-CP1133',
@@ -1409,14 +1442,19 @@ def getpreferredencoding(do_setlocale = True):
14091442
'lv_lv': 'lv_LV.ISO8859-13',
14101443
'lv_lv.iso885913': 'lv_LV.ISO8859-13',
14111444
'lv_lv.iso88594': 'lv_LV.ISO8859-4',
1445+
'lzh_tw': 'lzh_TW.UTF-8',
14121446
'mag_in': 'mag_IN.UTF-8',
14131447
'mai': 'mai_IN.UTF-8',
14141448
'mai_in': 'mai_IN.UTF-8',
1449+
'mai_np': 'mai_NP.UTF-8',
1450+
'mfe_mu': 'mfe_MU.UTF-8',
14151451
'mg_mg': 'mg_MG.ISO8859-15',
14161452
'mhr_ru': 'mhr_RU.UTF-8',
14171453
'mi': 'mi_NZ.ISO8859-1',
14181454
'mi_nz': 'mi_NZ.ISO8859-1',
14191455
'mi_nz.iso88591': 'mi_NZ.ISO8859-1',
1456+
'miq_ni': 'miq_NI.UTF-8',
1457+
'mjw_in': 'mjw_IN.UTF-8',
14201458
'mk': 'mk_MK.ISO8859-5',
14211459
'mk_mk': 'mk_MK.ISO8859-5',
14221460
'mk_mk.cp1251': 'mk_MK.CP1251',
@@ -1435,7 +1473,7 @@ def getpreferredencoding(do_setlocale = True):
14351473
'mt_mt': 'mt_MT.ISO8859-3',
14361474
'mt_mt.iso88593': 'mt_MT.ISO8859-3',
14371475
'my_mm': 'my_MM.UTF-8',
1438-
'nan_tw@latin': 'nan_TW.UTF-8@latin',
1476+
'nan_tw': 'nan_TW.UTF-8',
14391477
'nb': 'nb_NO.ISO8859-1',
14401478
'nb_no': 'nb_NO.ISO8859-1',
14411479
'nb_no.88591': 'nb_NO.ISO8859-1',
@@ -1509,6 +1547,8 @@ def getpreferredencoding(do_setlocale = True):
15091547
'pa_in': 'pa_IN.UTF-8',
15101548
'pa_pk': 'pa_PK.UTF-8',
15111549
'pap_an': 'pap_AN.UTF-8',
1550+
'pap_aw': 'pap_AW.UTF-8',
1551+
'pap_cw': 'pap_CW.UTF-8',
15121552
'pd': 'pd_US.ISO8859-1',
15131553
'pd_de': 'pd_DE.ISO8859-1',
15141554
'pd_de.iso88591': 'pd_DE.ISO8859-1',
@@ -1549,6 +1589,8 @@ def getpreferredencoding(do_setlocale = True):
15491589
'pt_pt.iso885915@euro': 'pt_PT.ISO8859-15',
15501590
'pt_pt.utf8@euro': 'pt_PT.UTF-8',
15511591
'pt_pt@euro': 'pt_PT.ISO8859-15',
1592+
'quz_pe': 'quz_PE.UTF-8',
1593+
'raj_in': 'raj_IN.UTF-8',
15521594
'ro': 'ro_RO.ISO8859-2',
15531595
'ro_ro': 'ro_RO.ISO8859-2',
15541596
'ro_ro.iso88592': 'ro_RO.ISO8859-2',
@@ -1565,7 +1607,7 @@ def getpreferredencoding(do_setlocale = True):
15651607
'ru_ua.koi8u': 'ru_UA.KOI8-U',
15661608
'ru_ua.microsoftcp1251': 'ru_UA.CP1251',
15671609
'rumanian': 'ro_RO.ISO8859-2',
1568-
'russian': 'ru_RU.ISO8859-5',
1610+
'russian': 'ru_RU.KOI8-R',
15691611
'rw': 'rw_RW.ISO8859-1',
15701612
'rw_rw': 'rw_RW.ISO8859-1',
15711613
'rw_rw.iso88591': 'rw_RW.ISO8859-1',
@@ -1575,17 +1617,20 @@ def getpreferredencoding(do_setlocale = True):
15751617
'sd': 'sd_IN.UTF-8',
15761618
'sd@devanagari': 'sd_IN.UTF-8@devanagari',
15771619
'sd_in': 'sd_IN.UTF-8',
1620+
'sd_in.utf8@devanagari': 'sd_IN.UTF-8@devanagari',
15781621
'sd_in@devanagari': 'sd_IN.UTF-8@devanagari',
15791622
'[email protected]': 'sd_IN.UTF-8@devanagari',
15801623
'sd_pk': 'sd_PK.UTF-8',
15811624
'se_no': 'se_NO.UTF-8',
15821625
'serbocroatian': 'sr_RS.UTF-8@latin',
1626+
'sgs_lt': 'sgs_LT.UTF-8',
15831627
'sh': 'sr_RS.UTF-8@latin',
15841628
'sh_ba.iso88592@bosnia': 'sr_CS.ISO8859-2',
15851629
'sh_hr': 'sh_HR.ISO8859-2',
15861630
'sh_hr.iso88592': 'hr_HR.ISO8859-2',
15871631
'sh_sp': 'sr_CS.ISO8859-2',
15881632
'sh_yu': 'sr_RS.UTF-8@latin',
1633+
'shn_mm': 'shn_MM.UTF-8',
15891634
'shs_ca': 'shs_CA.UTF-8',
15901635
'si': 'si_LK.UTF-8',
15911636
'si_lk': 'si_LK.UTF-8',
@@ -1601,6 +1646,7 @@ def getpreferredencoding(do_setlocale = True):
16011646
'slovak': 'sk_SK.ISO8859-2',
16021647
'slovene': 'sl_SI.ISO8859-2',
16031648
'slovenian': 'sl_SI.ISO8859-2',
1649+
'sm_ws': 'sm_WS.UTF-8',
16041650
'so_dj': 'so_DJ.ISO8859-1',
16051651
'so_et': 'so_ET.UTF-8',
16061652
'so_ke': 'so_KE.ISO8859-1',
@@ -1627,6 +1673,7 @@ def getpreferredencoding(do_setlocale = True):
16271673
'sr_cs@latn': 'sr_CS.UTF-8@latin',
16281674
'sr_me': 'sr_ME.UTF-8',
16291675
'sr_rs': 'sr_RS.UTF-8',
1676+
'sr_rs.utf8@latn': 'sr_RS.UTF-8@latin',
16301677
'sr_rs@latin': 'sr_RS.UTF-8@latin',
16311678
'sr_rs@latn': 'sr_RS.UTF-8@latin',
16321679
'sr_sp': 'sr_CS.ISO8859-2',
@@ -1668,6 +1715,7 @@ def getpreferredencoding(do_setlocale = True):
16681715
'ta_in.tscii': 'ta_IN.TSCII-0',
16691716
'ta_in.tscii0': 'ta_IN.TSCII-0',
16701717
'ta_lk': 'ta_LK.UTF-8',
1718+
'tcy_in.utf8': 'tcy_IN.UTF-8',
16711719
'te': 'te_IN.UTF-8',
16721720
'te_in': 'te_IN.UTF-8',
16731721
'tg': 'tg_TJ.KOI8-C',
@@ -1679,6 +1727,7 @@ def getpreferredencoding(do_setlocale = True):
16791727
'th_th.tactis': 'th_TH.TIS620',
16801728
'th_th.tis620': 'th_TH.TIS620',
16811729
'thai': 'th_TH.ISO8859-11',
1730+
'the_np': 'the_NP.UTF-8',
16821731
'ti_er': 'ti_ER.UTF-8',
16831732
'ti_et': 'ti_ET.UTF-8',
16841733
'tig_er': 'tig_ER.UTF-8',
@@ -1689,6 +1738,8 @@ def getpreferredencoding(do_setlocale = True):
16891738
'tn': 'tn_ZA.ISO8859-15',
16901739
'tn_za': 'tn_ZA.ISO8859-15',
16911740
'tn_za.iso885915': 'tn_ZA.ISO8859-15',
1741+
'to_to': 'to_TO.UTF-8',
1742+
'tpi_pg': 'tpi_PG.UTF-8',
16921743
'tr': 'tr_TR.ISO8859-9',
16931744
'tr_cy': 'tr_CY.ISO8859-9',
16941745
'tr_tr': 'tr_TR.ISO8859-9',
@@ -1750,6 +1801,7 @@ def getpreferredencoding(do_setlocale = True):
17501801
'yi_us.microsoftcp1255': 'yi_US.CP1255',
17511802
'yo_ng': 'yo_NG.UTF-8',
17521803
'yue_hk': 'yue_HK.UTF-8',
1804+
'yuw_pg': 'yuw_PG.UTF-8',
17531805
'zh': 'zh_CN.eucCN',
17541806
'zh_cn': 'zh_CN.gb2312',
17551807
'zh_cn.big5': 'zh_TW.big5',

Lib/test/test_locale.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ def test_latin_modifier(self):
425425

426426
def test_valencia_modifier(self):
427427
self.check('ca_ES.UTF-8@valencia', 'ca_ES.UTF-8@valencia')
428-
self.check('ca_ES@valencia', 'ca_ES.ISO8859-15@valencia')
428+
self.check('ca_ES@valencia', 'ca_ES.UTF-8@valencia')
429429
self.check('ca@valencia', 'ca_ES.ISO8859-1@valencia')
430430

431431
def test_devanagari_modifier(self):
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Updated alias mapping with glibc 2.27 supported locales.

0 commit comments

Comments
 (0)