Skip to content

Commit f61afca

Browse files
gh-129646: Update the locale alias mapping (#129647)
* gh-129646: Update the locale alias mapping * Add a NEWS file.
1 parent 14489c1 commit f61afca

File tree

2 files changed

+44
-10
lines changed

2 files changed

+44
-10
lines changed

Lib/locale.py

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

864882
locale_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
'[email protected]': '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
'[email protected]': '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',
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Update the locale alias mapping in the :mod:`locale` module to match the
2+
latest X Org locale alias mapping and support new locales in Glibc 2.41.

0 commit comments

Comments
 (0)