Skip to content

Commit 6049bda

Browse files
[3.7] bpo-20087: Update locale alias mapping with glibc 2.27 supported locales. (GH-6708) (GH-6713)
(cherry picked from commit cedc9b7) Co-authored-by: Serhiy Storchaka <[email protected]>
1 parent 351782b commit 6049bda

File tree

3 files changed

+53
-5
lines changed

3 files changed

+53
-5
lines changed

Lib/locale.py

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,16 @@ def getpreferredencoding(do_setlocale = True):
846846
#
847847
# SS 2014-10-01:
848848
# Updated alias mapping with glibc 2.19 supported locales.
849+
#
850+
# SS 2018-05-05:
851+
# Updated alias mapping with glibc 2.27 supported locales.
852+
#
853+
# These are the differences compared to the old mapping (Python 3.6.5
854+
# and older):
855+
#
856+
# updated 'ca_es@valencia' -> 'ca_ES.ISO8859-15@valencia' to 'ca_ES.UTF-8@valencia'
857+
# updated 'kk_kz' -> 'kk_KZ.RK1048' to 'kk_KZ.ptcp154'
858+
# updated 'russian' -> 'ru_RU.ISO8859-5' to 'ru_RU.KOI8-R'
849859

850860
locale_alias = {
851861
'a3': 'az_AZ.KOI8-C',
@@ -856,10 +866,13 @@ def getpreferredencoding(do_setlocale = True):
856866
'aa_et': 'aa_ET.UTF-8',
857867
'af': 'af_ZA.ISO8859-1',
858868
'af_za': 'af_ZA.ISO8859-1',
869+
'agr_pe': 'agr_PE.UTF-8',
870+
'ak_gh': 'ak_GH.UTF-8',
859871
'am': 'am_ET.UTF-8',
860872
'am_et': 'am_ET.UTF-8',
861873
'american': 'en_US.ISO8859-1',
862874
'an_es': 'an_ES.ISO8859-15',
875+
'anp_in': 'anp_IN.UTF-8',
863876
'ar': 'ar_AA.ISO8859-6',
864877
'ar_aa': 'ar_AA.ISO8859-6',
865878
'ar_ae': 'ar_AE.ISO8859-6',
@@ -877,6 +890,7 @@ def getpreferredencoding(do_setlocale = True):
877890
'ar_qa': 'ar_QA.ISO8859-6',
878891
'ar_sa': 'ar_SA.ISO8859-6',
879892
'ar_sd': 'ar_SD.ISO8859-6',
893+
'ar_ss': 'ar_SS.UTF-8',
880894
'ar_sy': 'ar_SY.ISO8859-6',
881895
'ar_tn': 'ar_TN.ISO8859-6',
882896
'ar_ye': 'ar_YE.ISO8859-6',
@@ -888,6 +902,7 @@ def getpreferredencoding(do_setlocale = True):
888902
'az': 'az_AZ.ISO8859-9E',
889903
'az_az': 'az_AZ.ISO8859-9E',
890904
'az_az.iso88599e': 'az_AZ.ISO8859-9E',
905+
'az_ir': 'az_IR.UTF-8',
891906
'be': 'be_BY.CP1251',
892907
'be@latin': 'be_BY.UTF-8@latin',
893908
'be_bg.utf8': 'bg_BG.UTF-8',
@@ -898,7 +913,10 @@ def getpreferredencoding(do_setlocale = True):
898913
'ber_ma': 'ber_MA.UTF-8',
899914
'bg': 'bg_BG.CP1251',
900915
'bg_bg': 'bg_BG.CP1251',
916+
'bhb_in.utf8': 'bhb_IN.UTF-8',
901917
'bho_in': 'bho_IN.UTF-8',
918+
'bho_np': 'bho_NP.UTF-8',
919+
'bi_vu': 'bi_VU.UTF-8',
902920
'bn_bd': 'bn_BD.UTF-8',
903921
'bn_in': 'bn_IN.UTF-8',
904922
'bo_cn': 'bo_CN.UTF-8',
@@ -923,13 +941,17 @@ def getpreferredencoding(do_setlocale = True):
923941
'ca': 'ca_ES.ISO8859-1',
924942
'ca_ad': 'ca_AD.ISO8859-1',
925943
'ca_es': 'ca_ES.ISO8859-1',
926-
'ca_es@valencia': 'ca_ES.ISO8859-15@valencia',
944+
'ca_es@valencia': 'ca_ES.UTF-8@valencia',
927945
'ca_fr': 'ca_FR.ISO8859-1',
928946
'ca_it': 'ca_IT.ISO8859-1',
929947
'catalan': 'ca_ES.ISO8859-1',
948+
'ce_ru': 'ce_RU.UTF-8',
930949
'cextend': 'en_US.ISO8859-1',
931950
'chinese-s': 'zh_CN.eucCN',
932951
'chinese-t': 'zh_TW.eucTW',
952+
'chr_us': 'chr_US.UTF-8',
953+
'ckb_iq': 'ckb_IQ.UTF-8',
954+
'cmn_tw': 'cmn_TW.UTF-8',
933955
'crh_ua': 'crh_UA.UTF-8',
934956
'croatian': 'hr_HR.ISO8859-2',
935957
'cs': 'cs_CZ.ISO8859-2',
@@ -951,6 +973,7 @@ def getpreferredencoding(do_setlocale = True):
951973
'de_be': 'de_BE.ISO8859-1',
952974
'de_ch': 'de_CH.ISO8859-1',
953975
'de_de': 'de_DE.ISO8859-1',
976+
'de_it': 'de_IT.ISO8859-1',
954977
'de_li.utf8': 'de_LI.UTF-8',
955978
'de_lu': 'de_LU.ISO8859-1',
956979
'deutsch': 'de_DE.ISO8859-1',
@@ -977,10 +1000,12 @@ def getpreferredencoding(do_setlocale = True):
9771000
'en_gb': 'en_GB.ISO8859-1',
9781001
'en_hk': 'en_HK.ISO8859-1',
9791002
'en_ie': 'en_IE.ISO8859-1',
1003+
'en_il': 'en_IL.UTF-8',
9801004
'en_in': 'en_IN.ISO8859-1',
9811005
'en_ng': 'en_NG.UTF-8',
9821006
'en_nz': 'en_NZ.ISO8859-1',
9831007
'en_ph': 'en_PH.ISO8859-1',
1008+
'en_sc.utf8': 'en_SC.UTF-8',
9841009
'en_sg': 'en_SG.ISO8859-1',
9851010
'en_uk': 'en_GB.ISO8859-1',
9861011
'en_us': 'en_US.ISO8859-1',
@@ -991,6 +1016,7 @@ def getpreferredencoding(do_setlocale = True):
9911016
'en_zw.utf8': 'en_ZS.UTF-8',
9921017
'eng_gb': 'en_GB.ISO8859-1',
9931018
'english': 'en_EN.ISO8859-1',
1019+
'english.iso88591': 'en_US.ISO8859-1',
9941020
'english_uk': 'en_GB.ISO8859-1',
9951021
'english_united-states': 'en_US.ISO8859-1',
9961022
'english_united-states.437': 'C',
@@ -1071,12 +1097,14 @@ def getpreferredencoding(do_setlocale = True):
10711097
'gv': 'gv_GB.ISO8859-1',
10721098
'gv_gb': 'gv_GB.ISO8859-1',
10731099
'ha_ng': 'ha_NG.UTF-8',
1100+
'hak_tw': 'hak_TW.UTF-8',
10741101
'he': 'he_IL.ISO8859-8',
10751102
'he_il': 'he_IL.ISO8859-8',
10761103
'hebrew': 'he_IL.ISO8859-8',
10771104
'hi': 'hi_IN.ISCII-DEV',
10781105
'hi_in': 'hi_IN.ISCII-DEV',
10791106
'hi_in.isciidev': 'hi_IN.ISCII-DEV',
1107+
'hif_fj': 'hif_FJ.UTF-8',
10801108
'hne': 'hne_IN.UTF-8',
10811109
'hne_in': 'hne_IN.UTF-8',
10821110
'hr': 'hr_HR.ISO8859-2',
@@ -1131,7 +1159,8 @@ def getpreferredencoding(do_setlocale = True):
11311159
'ka_ge.georgianacademy': 'ka_GE.GEORGIAN-ACADEMY',
11321160
'ka_ge.georgianps': 'ka_GE.GEORGIAN-PS',
11331161
'ka_ge.georgianrs': 'ka_GE.GEORGIAN-ACADEMY',
1134-
'kk_kz': 'kk_KZ.RK1048',
1162+
'kab_dz': 'kab_DZ.UTF-8',
1163+
'kk_kz': 'kk_KZ.ptcp154',
11351164
'kl': 'kl_GL.ISO8859-1',
11361165
'kl_gl': 'kl_GL.ISO8859-1',
11371166
'km_kh': 'km_KH.UTF-8',
@@ -1157,6 +1186,7 @@ def getpreferredencoding(do_setlocale = True):
11571186
'li_nl': 'li_NL.UTF-8',
11581187
'lij_it': 'lij_IT.UTF-8',
11591188
'lithuanian': 'lt_LT.ISO8859-13',
1189+
'ln_cd': 'ln_CD.UTF-8',
11601190
'lo': 'lo_LA.MULELAO-1',
11611191
'lo_la': 'lo_LA.MULELAO-1',
11621192
'lo_la.cp1133': 'lo_LA.IBM-CP1133',
@@ -1166,13 +1196,18 @@ def getpreferredencoding(do_setlocale = True):
11661196
'lt_lt': 'lt_LT.ISO8859-13',
11671197
'lv': 'lv_LV.ISO8859-13',
11681198
'lv_lv': 'lv_LV.ISO8859-13',
1199+
'lzh_tw': 'lzh_TW.UTF-8',
11691200
'mag_in': 'mag_IN.UTF-8',
11701201
'mai': 'mai_IN.UTF-8',
11711202
'mai_in': 'mai_IN.UTF-8',
1203+
'mai_np': 'mai_NP.UTF-8',
1204+
'mfe_mu': 'mfe_MU.UTF-8',
11721205
'mg_mg': 'mg_MG.ISO8859-15',
11731206
'mhr_ru': 'mhr_RU.UTF-8',
11741207
'mi': 'mi_NZ.ISO8859-1',
11751208
'mi_nz': 'mi_NZ.ISO8859-1',
1209+
'miq_ni': 'miq_NI.UTF-8',
1210+
'mjw_in': 'mjw_IN.UTF-8',
11761211
'mk': 'mk_MK.ISO8859-5',
11771212
'mk_mk': 'mk_MK.ISO8859-5',
11781213
'ml': 'ml_IN.UTF-8',
@@ -1186,7 +1221,7 @@ def getpreferredencoding(do_setlocale = True):
11861221
'mt': 'mt_MT.ISO8859-3',
11871222
'mt_mt': 'mt_MT.ISO8859-3',
11881223
'my_mm': 'my_MM.UTF-8',
1189-
'nan_tw@latin': 'nan_TW.UTF-8@latin',
1224+
'nan_tw': 'nan_TW.UTF-8',
11901225
'nb': 'nb_NO.ISO8859-1',
11911226
'nb_no': 'nb_NO.ISO8859-1',
11921227
'nds_de': 'nds_DE.UTF-8',
@@ -1225,6 +1260,8 @@ def getpreferredencoding(do_setlocale = True):
12251260
'pa_in': 'pa_IN.UTF-8',
12261261
'pa_pk': 'pa_PK.UTF-8',
12271262
'pap_an': 'pap_AN.UTF-8',
1263+
'pap_aw': 'pap_AW.UTF-8',
1264+
'pap_cw': 'pap_CW.UTF-8',
12281265
'pd': 'pd_US.ISO8859-1',
12291266
'pd_de': 'pd_DE.ISO8859-1',
12301267
'pd_us': 'pd_US.ISO8859-1',
@@ -1243,14 +1280,16 @@ def getpreferredencoding(do_setlocale = True):
12431280
'pt': 'pt_PT.ISO8859-1',
12441281
'pt_br': 'pt_BR.ISO8859-1',
12451282
'pt_pt': 'pt_PT.ISO8859-1',
1283+
'quz_pe': 'quz_PE.UTF-8',
1284+
'raj_in': 'raj_IN.UTF-8',
12461285
'ro': 'ro_RO.ISO8859-2',
12471286
'ro_ro': 'ro_RO.ISO8859-2',
12481287
'romanian': 'ro_RO.ISO8859-2',
12491288
'ru': 'ru_RU.UTF-8',
12501289
'ru_ru': 'ru_RU.UTF-8',
12511290
'ru_ua': 'ru_UA.KOI8-U',
12521291
'rumanian': 'ro_RO.ISO8859-2',
1253-
'russian': 'ru_RU.ISO8859-5',
1292+
'russian': 'ru_RU.KOI8-R',
12541293
'rw': 'rw_RW.ISO8859-1',
12551294
'rw_rw': 'rw_RW.ISO8859-1',
12561295
'sa_in': 'sa_IN.UTF-8',
@@ -1262,12 +1301,14 @@ def getpreferredencoding(do_setlocale = True):
12621301
'sd_pk': 'sd_PK.UTF-8',
12631302
'se_no': 'se_NO.UTF-8',
12641303
'serbocroatian': 'sr_RS.UTF-8@latin',
1304+
'sgs_lt': 'sgs_LT.UTF-8',
12651305
'sh': 'sr_RS.UTF-8@latin',
12661306
'sh_ba.iso88592@bosnia': 'sr_CS.ISO8859-2',
12671307
'sh_hr': 'sh_HR.ISO8859-2',
12681308
'sh_hr.iso88592': 'hr_HR.ISO8859-2',
12691309
'sh_sp': 'sr_CS.ISO8859-2',
12701310
'sh_yu': 'sr_RS.UTF-8@latin',
1311+
'shn_mm': 'shn_MM.UTF-8',
12711312
'shs_ca': 'shs_CA.UTF-8',
12721313
'si': 'si_LK.UTF-8',
12731314
'si_lk': 'si_LK.UTF-8',
@@ -1281,6 +1322,7 @@ def getpreferredencoding(do_setlocale = True):
12811322
'slovak': 'sk_SK.ISO8859-2',
12821323
'slovene': 'sl_SI.ISO8859-2',
12831324
'slovenian': 'sl_SI.ISO8859-2',
1325+
'sm_ws': 'sm_WS.UTF-8',
12841326
'so_dj': 'so_DJ.ISO8859-1',
12851327
'so_et': 'so_ET.UTF-8',
12861328
'so_ke': 'so_KE.ISO8859-1',
@@ -1327,6 +1369,7 @@ def getpreferredencoding(do_setlocale = True):
13271369
'ta_in.tscii': 'ta_IN.TSCII-0',
13281370
'ta_in.tscii0': 'ta_IN.TSCII-0',
13291371
'ta_lk': 'ta_LK.UTF-8',
1372+
'tcy_in.utf8': 'tcy_IN.UTF-8',
13301373
'te': 'te_IN.UTF-8',
13311374
'te_in': 'te_IN.UTF-8',
13321375
'tg': 'tg_TJ.KOI8-C',
@@ -1336,6 +1379,7 @@ def getpreferredencoding(do_setlocale = True):
13361379
'th_th.tactis': 'th_TH.TIS620',
13371380
'th_th.tis620': 'th_TH.TIS620',
13381381
'thai': 'th_TH.ISO8859-11',
1382+
'the_np': 'the_NP.UTF-8',
13391383
'ti_er': 'ti_ER.UTF-8',
13401384
'ti_et': 'ti_ET.UTF-8',
13411385
'tig_er': 'tig_ER.UTF-8',
@@ -1344,6 +1388,8 @@ def getpreferredencoding(do_setlocale = True):
13441388
'tl_ph': 'tl_PH.ISO8859-1',
13451389
'tn': 'tn_ZA.ISO8859-15',
13461390
'tn_za': 'tn_ZA.ISO8859-15',
1391+
'to_to': 'to_TO.UTF-8',
1392+
'tpi_pg': 'tpi_PG.UTF-8',
13471393
'tr': 'tr_TR.ISO8859-9',
13481394
'tr_cy': 'tr_CY.ISO8859-9',
13491395
'tr_tr': 'tr_TR.ISO8859-9',
@@ -1386,6 +1432,7 @@ def getpreferredencoding(do_setlocale = True):
13861432
'yi_us': 'yi_US.CP1255',
13871433
'yo_ng': 'yo_NG.UTF-8',
13881434
'yue_hk': 'yue_HK.UTF-8',
1435+
'yuw_pg': 'yuw_PG.UTF-8',
13891436
'zh': 'zh_CN.eucCN',
13901437
'zh_cn': 'zh_CN.gb2312',
13911438
'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
@@ -441,7 +441,7 @@ def test_latin_modifier(self):
441441

442442
def test_valencia_modifier(self):
443443
self.check('ca_ES.UTF-8@valencia', 'ca_ES.UTF-8@valencia')
444-
self.check('ca_ES@valencia', 'ca_ES.ISO8859-15@valencia')
444+
self.check('ca_ES@valencia', 'ca_ES.UTF-8@valencia')
445445
self.check('ca@valencia', 'ca_ES.ISO8859-1@valencia')
446446

447447
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)