Skip to content

Commit b1c70d0

Browse files
[3.6] bpo-20087: Update locale alias mapping with glibc 2.27 supported locales. (GH-6708) (GH-6714)
(cherry picked from commit cedc9b7) Co-authored-by: Serhiy Storchaka <[email protected]>
1 parent 0ba812b commit b1c70d0

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
@@ -828,6 +828,16 @@ def getpreferredencoding(do_setlocale = True):
828828
#
829829
# SS 2014-10-01:
830830
# Updated alias mapping with glibc 2.19 supported locales.
831+
#
832+
# SS 2018-05-05:
833+
# Updated alias mapping with glibc 2.27 supported locales.
834+
#
835+
# These are the differences compared to the old mapping (Python 3.6.5
836+
# and older):
837+
#
838+
# updated 'ca_es@valencia' -> 'ca_ES.ISO8859-15@valencia' to 'ca_ES.UTF-8@valencia'
839+
# updated 'kk_kz' -> 'kk_KZ.RK1048' to 'kk_KZ.ptcp154'
840+
# updated 'russian' -> 'ru_RU.ISO8859-5' to 'ru_RU.KOI8-R'
831841

832842
locale_alias = {
833843
'a3': 'az_AZ.KOI8-C',
@@ -838,10 +848,13 @@ def getpreferredencoding(do_setlocale = True):
838848
'aa_et': 'aa_ET.UTF-8',
839849
'af': 'af_ZA.ISO8859-1',
840850
'af_za': 'af_ZA.ISO8859-1',
851+
'agr_pe': 'agr_PE.UTF-8',
852+
'ak_gh': 'ak_GH.UTF-8',
841853
'am': 'am_ET.UTF-8',
842854
'am_et': 'am_ET.UTF-8',
843855
'american': 'en_US.ISO8859-1',
844856
'an_es': 'an_ES.ISO8859-15',
857+
'anp_in': 'anp_IN.UTF-8',
845858
'ar': 'ar_AA.ISO8859-6',
846859
'ar_aa': 'ar_AA.ISO8859-6',
847860
'ar_ae': 'ar_AE.ISO8859-6',
@@ -859,6 +872,7 @@ def getpreferredencoding(do_setlocale = True):
859872
'ar_qa': 'ar_QA.ISO8859-6',
860873
'ar_sa': 'ar_SA.ISO8859-6',
861874
'ar_sd': 'ar_SD.ISO8859-6',
875+
'ar_ss': 'ar_SS.UTF-8',
862876
'ar_sy': 'ar_SY.ISO8859-6',
863877
'ar_tn': 'ar_TN.ISO8859-6',
864878
'ar_ye': 'ar_YE.ISO8859-6',
@@ -870,6 +884,7 @@ def getpreferredencoding(do_setlocale = True):
870884
'az': 'az_AZ.ISO8859-9E',
871885
'az_az': 'az_AZ.ISO8859-9E',
872886
'az_az.iso88599e': 'az_AZ.ISO8859-9E',
887+
'az_ir': 'az_IR.UTF-8',
873888
'be': 'be_BY.CP1251',
874889
'be@latin': 'be_BY.UTF-8@latin',
875890
'be_bg.utf8': 'bg_BG.UTF-8',
@@ -880,7 +895,10 @@ def getpreferredencoding(do_setlocale = True):
880895
'ber_ma': 'ber_MA.UTF-8',
881896
'bg': 'bg_BG.CP1251',
882897
'bg_bg': 'bg_BG.CP1251',
898+
'bhb_in.utf8': 'bhb_IN.UTF-8',
883899
'bho_in': 'bho_IN.UTF-8',
900+
'bho_np': 'bho_NP.UTF-8',
901+
'bi_vu': 'bi_VU.UTF-8',
884902
'bn_bd': 'bn_BD.UTF-8',
885903
'bn_in': 'bn_IN.UTF-8',
886904
'bo_cn': 'bo_CN.UTF-8',
@@ -905,13 +923,17 @@ def getpreferredencoding(do_setlocale = True):
905923
'ca': 'ca_ES.ISO8859-1',
906924
'ca_ad': 'ca_AD.ISO8859-1',
907925
'ca_es': 'ca_ES.ISO8859-1',
908-
'ca_es@valencia': 'ca_ES.ISO8859-15@valencia',
926+
'ca_es@valencia': 'ca_ES.UTF-8@valencia',
909927
'ca_fr': 'ca_FR.ISO8859-1',
910928
'ca_it': 'ca_IT.ISO8859-1',
911929
'catalan': 'ca_ES.ISO8859-1',
930+
'ce_ru': 'ce_RU.UTF-8',
912931
'cextend': 'en_US.ISO8859-1',
913932
'chinese-s': 'zh_CN.eucCN',
914933
'chinese-t': 'zh_TW.eucTW',
934+
'chr_us': 'chr_US.UTF-8',
935+
'ckb_iq': 'ckb_IQ.UTF-8',
936+
'cmn_tw': 'cmn_TW.UTF-8',
915937
'crh_ua': 'crh_UA.UTF-8',
916938
'croatian': 'hr_HR.ISO8859-2',
917939
'cs': 'cs_CZ.ISO8859-2',
@@ -933,6 +955,7 @@ def getpreferredencoding(do_setlocale = True):
933955
'de_be': 'de_BE.ISO8859-1',
934956
'de_ch': 'de_CH.ISO8859-1',
935957
'de_de': 'de_DE.ISO8859-1',
958+
'de_it': 'de_IT.ISO8859-1',
936959
'de_li.utf8': 'de_LI.UTF-8',
937960
'de_lu': 'de_LU.ISO8859-1',
938961
'deutsch': 'de_DE.ISO8859-1',
@@ -959,10 +982,12 @@ def getpreferredencoding(do_setlocale = True):
959982
'en_gb': 'en_GB.ISO8859-1',
960983
'en_hk': 'en_HK.ISO8859-1',
961984
'en_ie': 'en_IE.ISO8859-1',
985+
'en_il': 'en_IL.UTF-8',
962986
'en_in': 'en_IN.ISO8859-1',
963987
'en_ng': 'en_NG.UTF-8',
964988
'en_nz': 'en_NZ.ISO8859-1',
965989
'en_ph': 'en_PH.ISO8859-1',
990+
'en_sc.utf8': 'en_SC.UTF-8',
966991
'en_sg': 'en_SG.ISO8859-1',
967992
'en_uk': 'en_GB.ISO8859-1',
968993
'en_us': 'en_US.ISO8859-1',
@@ -973,6 +998,7 @@ def getpreferredencoding(do_setlocale = True):
973998
'en_zw.utf8': 'en_ZS.UTF-8',
974999
'eng_gb': 'en_GB.ISO8859-1',
9751000
'english': 'en_EN.ISO8859-1',
1001+
'english.iso88591': 'en_US.ISO8859-1',
9761002
'english_uk': 'en_GB.ISO8859-1',
9771003
'english_united-states': 'en_US.ISO8859-1',
9781004
'english_united-states.437': 'C',
@@ -1053,12 +1079,14 @@ def getpreferredencoding(do_setlocale = True):
10531079
'gv': 'gv_GB.ISO8859-1',
10541080
'gv_gb': 'gv_GB.ISO8859-1',
10551081
'ha_ng': 'ha_NG.UTF-8',
1082+
'hak_tw': 'hak_TW.UTF-8',
10561083
'he': 'he_IL.ISO8859-8',
10571084
'he_il': 'he_IL.ISO8859-8',
10581085
'hebrew': 'he_IL.ISO8859-8',
10591086
'hi': 'hi_IN.ISCII-DEV',
10601087
'hi_in': 'hi_IN.ISCII-DEV',
10611088
'hi_in.isciidev': 'hi_IN.ISCII-DEV',
1089+
'hif_fj': 'hif_FJ.UTF-8',
10621090
'hne': 'hne_IN.UTF-8',
10631091
'hne_in': 'hne_IN.UTF-8',
10641092
'hr': 'hr_HR.ISO8859-2',
@@ -1113,7 +1141,8 @@ def getpreferredencoding(do_setlocale = True):
11131141
'ka_ge.georgianacademy': 'ka_GE.GEORGIAN-ACADEMY',
11141142
'ka_ge.georgianps': 'ka_GE.GEORGIAN-PS',
11151143
'ka_ge.georgianrs': 'ka_GE.GEORGIAN-ACADEMY',
1116-
'kk_kz': 'kk_KZ.RK1048',
1144+
'kab_dz': 'kab_DZ.UTF-8',
1145+
'kk_kz': 'kk_KZ.ptcp154',
11171146
'kl': 'kl_GL.ISO8859-1',
11181147
'kl_gl': 'kl_GL.ISO8859-1',
11191148
'km_kh': 'km_KH.UTF-8',
@@ -1139,6 +1168,7 @@ def getpreferredencoding(do_setlocale = True):
11391168
'li_nl': 'li_NL.UTF-8',
11401169
'lij_it': 'lij_IT.UTF-8',
11411170
'lithuanian': 'lt_LT.ISO8859-13',
1171+
'ln_cd': 'ln_CD.UTF-8',
11421172
'lo': 'lo_LA.MULELAO-1',
11431173
'lo_la': 'lo_LA.MULELAO-1',
11441174
'lo_la.cp1133': 'lo_LA.IBM-CP1133',
@@ -1148,13 +1178,18 @@ def getpreferredencoding(do_setlocale = True):
11481178
'lt_lt': 'lt_LT.ISO8859-13',
11491179
'lv': 'lv_LV.ISO8859-13',
11501180
'lv_lv': 'lv_LV.ISO8859-13',
1181+
'lzh_tw': 'lzh_TW.UTF-8',
11511182
'mag_in': 'mag_IN.UTF-8',
11521183
'mai': 'mai_IN.UTF-8',
11531184
'mai_in': 'mai_IN.UTF-8',
1185+
'mai_np': 'mai_NP.UTF-8',
1186+
'mfe_mu': 'mfe_MU.UTF-8',
11541187
'mg_mg': 'mg_MG.ISO8859-15',
11551188
'mhr_ru': 'mhr_RU.UTF-8',
11561189
'mi': 'mi_NZ.ISO8859-1',
11571190
'mi_nz': 'mi_NZ.ISO8859-1',
1191+
'miq_ni': 'miq_NI.UTF-8',
1192+
'mjw_in': 'mjw_IN.UTF-8',
11581193
'mk': 'mk_MK.ISO8859-5',
11591194
'mk_mk': 'mk_MK.ISO8859-5',
11601195
'ml': 'ml_IN.UTF-8',
@@ -1168,7 +1203,7 @@ def getpreferredencoding(do_setlocale = True):
11681203
'mt': 'mt_MT.ISO8859-3',
11691204
'mt_mt': 'mt_MT.ISO8859-3',
11701205
'my_mm': 'my_MM.UTF-8',
1171-
'nan_tw@latin': 'nan_TW.UTF-8@latin',
1206+
'nan_tw': 'nan_TW.UTF-8',
11721207
'nb': 'nb_NO.ISO8859-1',
11731208
'nb_no': 'nb_NO.ISO8859-1',
11741209
'nds_de': 'nds_DE.UTF-8',
@@ -1207,6 +1242,8 @@ def getpreferredencoding(do_setlocale = True):
12071242
'pa_in': 'pa_IN.UTF-8',
12081243
'pa_pk': 'pa_PK.UTF-8',
12091244
'pap_an': 'pap_AN.UTF-8',
1245+
'pap_aw': 'pap_AW.UTF-8',
1246+
'pap_cw': 'pap_CW.UTF-8',
12101247
'pd': 'pd_US.ISO8859-1',
12111248
'pd_de': 'pd_DE.ISO8859-1',
12121249
'pd_us': 'pd_US.ISO8859-1',
@@ -1225,14 +1262,16 @@ def getpreferredencoding(do_setlocale = True):
12251262
'pt': 'pt_PT.ISO8859-1',
12261263
'pt_br': 'pt_BR.ISO8859-1',
12271264
'pt_pt': 'pt_PT.ISO8859-1',
1265+
'quz_pe': 'quz_PE.UTF-8',
1266+
'raj_in': 'raj_IN.UTF-8',
12281267
'ro': 'ro_RO.ISO8859-2',
12291268
'ro_ro': 'ro_RO.ISO8859-2',
12301269
'romanian': 'ro_RO.ISO8859-2',
12311270
'ru': 'ru_RU.UTF-8',
12321271
'ru_ru': 'ru_RU.UTF-8',
12331272
'ru_ua': 'ru_UA.KOI8-U',
12341273
'rumanian': 'ro_RO.ISO8859-2',
1235-
'russian': 'ru_RU.ISO8859-5',
1274+
'russian': 'ru_RU.KOI8-R',
12361275
'rw': 'rw_RW.ISO8859-1',
12371276
'rw_rw': 'rw_RW.ISO8859-1',
12381277
'sa_in': 'sa_IN.UTF-8',
@@ -1244,12 +1283,14 @@ def getpreferredencoding(do_setlocale = True):
12441283
'sd_pk': 'sd_PK.UTF-8',
12451284
'se_no': 'se_NO.UTF-8',
12461285
'serbocroatian': 'sr_RS.UTF-8@latin',
1286+
'sgs_lt': 'sgs_LT.UTF-8',
12471287
'sh': 'sr_RS.UTF-8@latin',
12481288
'sh_ba.iso88592@bosnia': 'sr_CS.ISO8859-2',
12491289
'sh_hr': 'sh_HR.ISO8859-2',
12501290
'sh_hr.iso88592': 'hr_HR.ISO8859-2',
12511291
'sh_sp': 'sr_CS.ISO8859-2',
12521292
'sh_yu': 'sr_RS.UTF-8@latin',
1293+
'shn_mm': 'shn_MM.UTF-8',
12531294
'shs_ca': 'shs_CA.UTF-8',
12541295
'si': 'si_LK.UTF-8',
12551296
'si_lk': 'si_LK.UTF-8',
@@ -1263,6 +1304,7 @@ def getpreferredencoding(do_setlocale = True):
12631304
'slovak': 'sk_SK.ISO8859-2',
12641305
'slovene': 'sl_SI.ISO8859-2',
12651306
'slovenian': 'sl_SI.ISO8859-2',
1307+
'sm_ws': 'sm_WS.UTF-8',
12661308
'so_dj': 'so_DJ.ISO8859-1',
12671309
'so_et': 'so_ET.UTF-8',
12681310
'so_ke': 'so_KE.ISO8859-1',
@@ -1309,6 +1351,7 @@ def getpreferredencoding(do_setlocale = True):
13091351
'ta_in.tscii': 'ta_IN.TSCII-0',
13101352
'ta_in.tscii0': 'ta_IN.TSCII-0',
13111353
'ta_lk': 'ta_LK.UTF-8',
1354+
'tcy_in.utf8': 'tcy_IN.UTF-8',
13121355
'te': 'te_IN.UTF-8',
13131356
'te_in': 'te_IN.UTF-8',
13141357
'tg': 'tg_TJ.KOI8-C',
@@ -1318,6 +1361,7 @@ def getpreferredencoding(do_setlocale = True):
13181361
'th_th.tactis': 'th_TH.TIS620',
13191362
'th_th.tis620': 'th_TH.TIS620',
13201363
'thai': 'th_TH.ISO8859-11',
1364+
'the_np': 'the_NP.UTF-8',
13211365
'ti_er': 'ti_ER.UTF-8',
13221366
'ti_et': 'ti_ET.UTF-8',
13231367
'tig_er': 'tig_ER.UTF-8',
@@ -1326,6 +1370,8 @@ def getpreferredencoding(do_setlocale = True):
13261370
'tl_ph': 'tl_PH.ISO8859-1',
13271371
'tn': 'tn_ZA.ISO8859-15',
13281372
'tn_za': 'tn_ZA.ISO8859-15',
1373+
'to_to': 'to_TO.UTF-8',
1374+
'tpi_pg': 'tpi_PG.UTF-8',
13291375
'tr': 'tr_TR.ISO8859-9',
13301376
'tr_cy': 'tr_CY.ISO8859-9',
13311377
'tr_tr': 'tr_TR.ISO8859-9',
@@ -1368,6 +1414,7 @@ def getpreferredencoding(do_setlocale = True):
13681414
'yi_us': 'yi_US.CP1255',
13691415
'yo_ng': 'yo_NG.UTF-8',
13701416
'yue_hk': 'yue_HK.UTF-8',
1417+
'yuw_pg': 'yuw_PG.UTF-8',
13711418
'zh': 'zh_CN.eucCN',
13721419
'zh_cn': 'zh_CN.gb2312',
13731420
'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
@@ -430,7 +430,7 @@ def test_latin_modifier(self):
430430

431431
def test_valencia_modifier(self):
432432
self.check('ca_ES.UTF-8@valencia', 'ca_ES.UTF-8@valencia')
433-
self.check('ca_ES@valencia', 'ca_ES.ISO8859-15@valencia')
433+
self.check('ca_ES@valencia', 'ca_ES.UTF-8@valencia')
434434
self.check('ca@valencia', 'ca_ES.ISO8859-1@valencia')
435435

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