@@ -860,6 +860,24 @@ def getpreferredencoding(do_setlocale=True):
860860# updated 'ca_es@valencia' -> 'ca_ES.ISO8859-15@valencia' to 'ca_ES.UTF-8@valencia'
861861# updated 'kk_kz' -> 'kk_KZ.RK1048' to 'kk_KZ.ptcp154'
862862# updated 'russian' -> 'ru_RU.ISO8859-5' to 'ru_RU.KOI8-R'
863+ #
864+ # SS 2025-02-04:
865+ # Updated alias mapping with glibc 2.41 supported locales and the latest
866+ # X lib alias mapping.
867+ #
868+ # These are the differences compared to the old mapping (Python 3.13.1
869+ # and older):
870+ #
871+ # updated 'c.utf8' -> 'C.UTF-8' to 'en_US.UTF-8'
872+ # updated 'de_it' -> 'de_IT.ISO8859-1' to 'de_IT.UTF-8'
873+ # removed 'de_li.utf8'
874+ # updated 'en_il' -> 'en_IL.UTF-8' to 'en_IL.ISO8859-1'
875+ # removed 'english.iso88591'
876+ # updated 'es_cu' -> 'es_CU.UTF-8' to 'es_CU.ISO8859-1'
877+ # updated 'russian' -> 'ru_RU.KOI8-R' to 'ru_RU.ISO8859-5'
878+ # updated 'sr@latn' -> 'sr_CS.UTF-8@latin' to 'sr_RS.UTF-8@latin'
879+ # removed 'univ'
880+ # removed 'universal'
863881
864882locale_alias = {
865883 'a3' : 'az_AZ.KOI8-C' ,
@@ -939,7 +957,7 @@ def getpreferredencoding(do_setlocale=True):
939957 'c.ascii' : 'C' ,
940958 'c.en' : 'C' ,
941959 'c.iso88591' : 'en_US.ISO8859-1' ,
942- 'c.utf8' : 'C .UTF-8' ,
960+ 'c.utf8' : 'en_US .UTF-8' ,
943961 'c_c' : 'C' ,
944962 'c_c.c' : 'C' ,
945963 'ca' : 'ca_ES.ISO8859-1' ,
@@ -956,6 +974,7 @@ def getpreferredencoding(do_setlocale=True):
956974 'chr_us' : 'chr_US.UTF-8' ,
957975 'ckb_iq' : 'ckb_IQ.UTF-8' ,
958976 'cmn_tw' : 'cmn_TW.UTF-8' ,
977+ 'crh_ru' : 'crh_RU.UTF-8' ,
959978 'crh_ua' : 'crh_UA.UTF-8' ,
960979 'croatian' : 'hr_HR.ISO8859-2' ,
961980 'cs' : 'cs_CZ.ISO8859-2' ,
@@ -977,11 +996,12 @@ def getpreferredencoding(do_setlocale=True):
977996 'de_be' : 'de_BE.ISO8859-1' ,
978997 'de_ch' : 'de_CH.ISO8859-1' ,
979998 'de_de' : 'de_DE.ISO8859-1' ,
980- 'de_it' : 'de_IT.ISO8859-1 ' ,
981- 'de_li.utf8 ' : 'de_LI.UTF-8 ' ,
999+ 'de_it' : 'de_IT.UTF-8 ' ,
1000+ 'de_li' : 'de_LI.ISO8859-1 ' ,
9821001 'de_lu' : 'de_LU.ISO8859-1' ,
9831002 'deutsch' : 'de_DE.ISO8859-1' ,
9841003 'doi_in' : 'doi_IN.UTF-8' ,
1004+ 'dsb_de' : 'dsb_DE.UTF-8' ,
9851005 'dutch' : 'nl_NL.ISO8859-1' ,
9861006 'dutch.iso88591' : 'nl_BE.ISO8859-1' ,
9871007 'dv_mv' : 'dv_MV.UTF-8' ,
@@ -1004,7 +1024,7 @@ def getpreferredencoding(do_setlocale=True):
10041024 'en_gb' : 'en_GB.ISO8859-1' ,
10051025 'en_hk' : 'en_HK.ISO8859-1' ,
10061026 'en_ie' : 'en_IE.ISO8859-1' ,
1007- 'en_il' : 'en_IL.UTF-8 ' ,
1027+ 'en_il' : 'en_IL.ISO8859-1 ' ,
10081028 'en_in' : 'en_IN.ISO8859-1' ,
10091029 'en_ng' : 'en_NG.UTF-8' ,
10101030 'en_nz' : 'en_NZ.ISO8859-1' ,
@@ -1020,7 +1040,6 @@ def getpreferredencoding(do_setlocale=True):
10201040 'en_zw.utf8' : 'en_ZS.UTF-8' ,
10211041 'eng_gb' : 'en_GB.ISO8859-1' ,
10221042 'english' : 'en_EN.ISO8859-1' ,
1023- 'english.iso88591' : 'en_US.ISO8859-1' ,
10241043 'english_uk' : 'en_GB.ISO8859-1' ,
10251044 'english_united-states' : 'en_US.ISO8859-1' ,
10261045 'english_united-states.437' : 'C' ,
@@ -1036,7 +1055,7 @@ def getpreferredencoding(do_setlocale=True):
10361055 'es_cl' : 'es_CL.ISO8859-1' ,
10371056 'es_co' : 'es_CO.ISO8859-1' ,
10381057 'es_cr' : 'es_CR.ISO8859-1' ,
1039- 'es_cu' : 'es_CU.UTF-8 ' ,
1058+ 'es_cu' : 'es_CU.ISO8859-1 ' ,
10401059 'es_do' : 'es_DO.ISO8859-1' ,
10411060 'es_ec' : 'es_EC.ISO8859-1' ,
10421061 'es_es' : 'es_ES.ISO8859-1' ,
@@ -1086,6 +1105,7 @@ def getpreferredencoding(do_setlocale=True):
10861105 'ga_ie' : 'ga_IE.ISO8859-1' ,
10871106 'galego' : 'gl_ES.ISO8859-1' ,
10881107 'galician' : 'gl_ES.ISO8859-1' ,
1108+ 'gbm_in' : 'gbm_IN.UTF-8' ,
10891109 'gd' : 'gd_GB.ISO8859-1' ,
10901110 'gd_gb' : 'gd_GB.ISO8859-1' ,
10911111 'ger_de' : 'de_DE.ISO8859-1' ,
@@ -1126,6 +1146,7 @@ def getpreferredencoding(do_setlocale=True):
11261146 'icelandic' : 'is_IS.ISO8859-1' ,
11271147 'id' : 'id_ID.ISO8859-1' ,
11281148 'id_id' : 'id_ID.ISO8859-1' ,
1149+ 'ie' : 'ie.UTF-8' ,
11291150 'ig_ng' : 'ig_NG.UTF-8' ,
11301151 'ik_ca' : 'ik_CA.UTF-8' ,
11311152 'in' : 'id_ID.ISO8859-1' ,
@@ -1180,6 +1201,7 @@ def getpreferredencoding(do_setlocale=True):
11801201 'ks_in' : 'ks_IN.UTF-8' ,
11811202 'ks_in@devanagari.utf8' : 'ks_IN.UTF-8@devanagari' ,
11821203 'ku_tr' : 'ku_TR.ISO8859-9' ,
1204+ 'kv_ru' : 'kv_RU.UTF-8' ,
11831205 'kw' : 'kw_GB.ISO8859-1' ,
11841206 'kw_gb' : 'kw_GB.ISO8859-1' ,
11851207 'ky' : 'ky_KG.UTF-8' ,
@@ -1198,13 +1220,15 @@ def getpreferredencoding(do_setlocale=True):
11981220 'lo_la.mulelao1' : 'lo_LA.MULELAO-1' ,
11991221 'lt' : 'lt_LT.ISO8859-13' ,
12001222 'lt_lt' : 'lt_LT.ISO8859-13' ,
1223+ 'ltg_lv.utf8' : 'ltg_LV.UTF-8' ,
12011224 'lv' : 'lv_LV.ISO8859-13' ,
12021225 'lv_lv' : 'lv_LV.ISO8859-13' ,
12031226 'lzh_tw' : 'lzh_TW.UTF-8' ,
12041227 'mag_in' : 'mag_IN.UTF-8' ,
12051228 'mai' : 'mai_IN.UTF-8' ,
12061229 'mai_in' : 'mai_IN.UTF-8' ,
12071230 'mai_np' : 'mai_NP.UTF-8' ,
1231+ 'mdf_ru' : 'mdf_RU.UTF-8' ,
12081232 'mfe_mu' : 'mfe_MU.UTF-8' ,
12091233 'mg_mg' : 'mg_MG.ISO8859-15' ,
12101234 'mhr_ru' : 'mhr_RU.UTF-8' ,
@@ -1218,6 +1242,7 @@ def getpreferredencoding(do_setlocale=True):
12181242 'ml_in' : 'ml_IN.UTF-8' ,
12191243 'mn_mn' : 'mn_MN.UTF-8' ,
12201244 'mni_in' : 'mni_IN.UTF-8' ,
1245+ 'mnw_mm' : 'mnw_MM.UTF-8' ,
12211246 'mr' : 'mr_IN.UTF-8' ,
12221247 'mr_in' : 'mr_IN.UTF-8' ,
12231248 'ms' : 'ms_MY.ISO8859-1' ,
@@ -1286,19 +1311,22 @@ def getpreferredencoding(do_setlocale=True):
12861311 'pt_pt' : 'pt_PT.ISO8859-1' ,
12871312 'quz_pe' : 'quz_PE.UTF-8' ,
12881313 'raj_in' : 'raj_IN.UTF-8' ,
1314+ 'rif_ma' : 'rif_MA.UTF-8' ,
12891315 'ro' : 'ro_RO.ISO8859-2' ,
12901316 'ro_ro' : 'ro_RO.ISO8859-2' ,
12911317 'romanian' : 'ro_RO.ISO8859-2' ,
12921318 'ru' : 'ru_RU.UTF-8' ,
12931319 'ru_ru' : 'ru_RU.UTF-8' ,
12941320 'ru_ua' : 'ru_UA.KOI8-U' ,
12951321 'rumanian' : 'ro_RO.ISO8859-2' ,
1296- 'russian' : 'ru_RU.KOI8-R ' ,
1322+ 'russian' : 'ru_RU.ISO8859-5 ' ,
12971323 'rw' : 'rw_RW.ISO8859-1' ,
12981324 'rw_rw' : 'rw_RW.ISO8859-1' ,
12991325 'sa_in' : 'sa_IN.UTF-8' ,
1326+ 'sah_ru' : 'sah_RU.UTF-8' ,
13001327 'sat_in' : 'sat_IN.UTF-8' ,
13011328 'sc_it' : 'sc_IT.UTF-8' ,
1329+ 'scn_it' : 'scn_IT.UTF-8' ,
13021330 'sd' : 'sd_IN.UTF-8' ,
13031331 'sd_in' : 'sd_IN.UTF-8' ,
13041332 'sd_in@devanagari.utf8' : 'sd_IN.UTF-8@devanagari' ,
@@ -1340,7 +1368,7 @@ def getpreferredencoding(do_setlocale=True):
13401368 'sq_mk' : 'sq_MK.UTF-8' ,
13411369 'sr' : 'sr_RS.UTF-8' ,
13421370 'sr@cyrillic' : 'sr_RS.UTF-8' ,
1343- 'sr@latn' : 'sr_CS .UTF-8@latin' ,
1371+ 'sr@latn' : 'sr_RS .UTF-8@latin' ,
13441372 'sr_cs' : 'sr_CS.UTF-8' ,
13451373 'sr_cs.iso88592@latn' : 'sr_CS.ISO8859-2' ,
13461374 'sr_cs@latn' : 'sr_CS.UTF-8@latin' ,
@@ -1359,14 +1387,17 @@ def getpreferredencoding(do_setlocale=True):
13591387 'sr_yu@cyrillic' : 'sr_RS.UTF-8' ,
13601388 'ss' : 'ss_ZA.ISO8859-1' ,
13611389 'ss_za' : 'ss_ZA.ISO8859-1' ,
1390+ 'ssy_er' : 'ssy_ER.UTF-8' ,
13621391 'st' : 'st_ZA.ISO8859-1' ,
13631392 'st_za' : 'st_ZA.ISO8859-1' ,
1393+ 'su_id' : 'su_ID.UTF-8' ,
13641394 'sv' : 'sv_SE.ISO8859-1' ,
13651395 'sv_fi' : 'sv_FI.ISO8859-1' ,
13661396 'sv_se' : 'sv_SE.ISO8859-1' ,
13671397 'sw_ke' : 'sw_KE.UTF-8' ,
13681398 'sw_tz' : 'sw_TZ.UTF-8' ,
13691399 'swedish' : 'sv_SE.ISO8859-1' ,
1400+ 'syr' : 'syr.UTF-8' ,
13701401 'szl_pl' : 'szl_PL.UTF-8' ,
13711402 'ta' : 'ta_IN.TSCII-0' ,
13721403 'ta_in' : 'ta_IN.TSCII-0' ,
@@ -1393,6 +1424,7 @@ def getpreferredencoding(do_setlocale=True):
13931424 'tn' : 'tn_ZA.ISO8859-15' ,
13941425 'tn_za' : 'tn_ZA.ISO8859-15' ,
13951426 'to_to' : 'to_TO.UTF-8' ,
1427+ 'tok' : 'tok.UTF-8' ,
13961428 'tpi_pg' : 'tpi_PG.UTF-8' ,
13971429 'tr' : 'tr_TR.ISO8859-9' ,
13981430 'tr_cy' : 'tr_CY.ISO8859-9' ,
@@ -1407,8 +1439,7 @@ def getpreferredencoding(do_setlocale=True):
14071439 'ug_cn' : 'ug_CN.UTF-8' ,
14081440 'uk' : 'uk_UA.KOI8-U' ,
14091441 'uk_ua' : 'uk_UA.KOI8-U' ,
1410- 'univ' : 'en_US.utf' ,
1411- 'universal' : 'en_US.utf' ,
1442+ 'univ.utf8' : 'en_US.UTF-8' ,
14121443 'universal.utf8@ucs4' : 'en_US.UTF-8' ,
14131444 'unm_us' : 'unm_US.UTF-8' ,
14141445 'ur' : 'ur_PK.CP1256' ,
@@ -1437,6 +1468,7 @@ def getpreferredencoding(do_setlocale=True):
14371468 'yo_ng' : 'yo_NG.UTF-8' ,
14381469 'yue_hk' : 'yue_HK.UTF-8' ,
14391470 'yuw_pg' : 'yuw_PG.UTF-8' ,
1471+ 'zgh_ma' : 'zgh_MA.UTF-8' ,
14401472 'zh' : 'zh_CN.eucCN' ,
14411473 'zh_cn' : 'zh_CN.gb2312' ,
14421474 'zh_cn.big5' : 'zh_TW.big5' ,
0 commit comments