This updates a few locales based on CLDR v29 data. I've verified most by
hand while the rest I know are correct.
For int_curr_symbol, it should be 3 characters followed by a space:
ar_SS: changing SDG to SSP
bem_ZM: changing ZMK to ZMW
dz_BT: changing BTN to BTN # Just changing " " to "<U0020>".
en_ZW: changing ZWD to USD
es_SV: changing SVC to USD
lv_LV: changing LVL to EUR
ne_NP: changing INR to NPR
pap_AW: changing ANG to AWG
the_NP: changing INR to NPR
Some of these require updates iso-4217.def.
For currency_symbol, it should be the standard/localized symbol name:
aa_DJ: changing $ to Fdj
ar_SA: changing ريال to ر.س
ar_SS: changing ج.س. to £
az_AZ: changing man. to ₼
bg_BG: changing лв to лв.
ce_RU: changing руб to ₽
crh_UA: changing gr to ₴
cv_RU: changing t to ₽
de_CH: changing Fr. to CHF
dz_BT: changing དངུལ་ཀྲམ་ to Nu.
en_BW: changing Pu to P
en_DK: changing ¤ to kr.
en_PH: changing Php to ₱
en_ZW: changing Z$ to $
es_BO: changing $b to Bs
es_DO: changing $ to RD$
es_HN: changing L. to L
es_PA: changing B/ to B/.
es_SV: changing ₡ to $
fil_PH: changing PhP to ₱
he_IL: changing שח to ₪
hy_AM: changing Դ to ֏
ka_GE: changing ლ to ₾
kk_KZ: changing тг to ₸
ko_KR: changing ₩ to ₩
lg_UG: changing /- to USh
lv_LV: changing Ls to €
mg_MG: changing AR to Ar
mhr_RU: changing ТЕҤ to ₽
my_MM: changing Ks to K
os_RU: changing сом to ₽
pap_AW: changing f to ƒ
pap_CW: changing f to ƒ
ps_AF: changing افغانۍ to ؋
rw_RW: changing Frw to FRw
ru_RU: changing руб to ₽
ru_UA: changing гр to ₴
sd_IN@devanagari: changing रु to ₹
se_NO: changing ru to kr
si_LK: changing ₨ to රු
so_SO: changing $ to S
sq_AL: changing Lek to L
ti_ER: changing $ to Nfk
ti_ET: changing $ to Br
tl_PH: changing PhP to ₱
tr_TR: changing TL to ₺
tt_RU: changing руб to ₽
tt_RU@iqtelif: changing sum to ₽
uz_UZ: changing so'm to soʻm
Note: Some of the characters might not render as they're still quite new
in the Unicode database.
The ISO 30112 standard defines the valid values for the category
keyword as only a few options:
posix:1993
i18n:2004
i18n:2012
The vast majority of locales had changed the "i18n" string to the
name of its own locale (e.g. "ak_GH:2013") as well as tweaking the
date (presumably thinking it should be the date of submission).
Convert all of them to "i18n:2012" for consistency. A follow up
change will update localedef to actually check/validate the field.
These entries have been checked mostly against Wikipedia, but also using
the sources it cites (like the UN and other treaty sources).
Fix incorrect values:
en_BW: changing RB to BW
kl_GL: changing GRO to KN
km_KH: changing LAO to KH
my_MM: changing BA to MYA
oc_FR: changing F to F
tr_CY: changing TR to CY
wae_CH: changing DH to CH
Add missing entries:
aa_DJ: changing to DJI
ak_GH: changing to GH
ar_OM: changing to OM
ar_SS: changing to SUD
ar_YE: changing to YAR
bo_CN: changing to CHN
cmn_TW: changing to RC
dv_MV: changing to MV
dz_BT: changing to BHT
en_AG: changing to AG
es_HN: changing to HN
es_PR: changing to PR
hak_TW: changing to RC
lzh_TW: changing to RC
nan_TW: changing to RC
nan_TW@latin: changing to RC
nl_AW: changing to AUA
pap_AW: changing to AUA
so_DJ: changing to DJI
the_NP: changing to NEP
ug_CN: changing to CHN
yue_HK: changing to HK
zh_CN: changing to CHN
zh_HK: changing to HK
zh_TW: changing to RC
There are only two page sizes that locales use: US-Letter and A4.
For the former, move to copying the en_US locale, while for the
latter, move to copying the i18n locale. This lets us clean up
all the stray comments like FIXME.
There should be no functional differences here.
There are only two measurement systems that locales use: US and metric.
For the former, move to copying the en_US locale, while for the latter,
move to copying the i18n locale. This lets us clean up all the stray
comments like FIXME.
There should be no functional differences here.
This updates all the territory fields based on CLDR v29 data. Many of
them were obviously incorrect where people used a two letter code and
not the English name.
aa_DJ: changing DJ to Djibouti
aa_ER@saaho: changing ER to Eritrea
aa_ER: changing ER to Eritrea
aa_ET: changing ET to Ethiopia
am_ET: changing ET to Ethiopia
ar_LY: changing Libyan Arab Jamahiriya to Libya
ar_SY: changing Syrian Arab Republic to Syria
bo_CN: changing P.R. of China to China
bs_BA: changing Bosnia and Herzegowina to Bosnia & Herzegovina
byn_ER: changing ER to Eritrea
ca_IT: changing Italy (L'Alguer) to Italy
ce_RU: changing RUSSIAN FEDERATION to Russia
cmn_TW: changing Republic of China to Taiwan
cy_GB: changing Great Britain to United Kingdom
de_LU@euro: changing Luxemburg to Luxembourg
de_LU: changing Luxemburg to Luxembourg
en_AG: changing Antigua and Barbuda to Antigua & Barbuda
en_GB: changing Great Britain to United Kingdom
en_HK: changing Hong Kong to Hong Kong SAR China
en_US: changing USA to United States
es_US: changing USA to United States
fr_LU@euro: changing Luxemburg to Luxembourg
fr_LU: changing Luxemburg to Luxembourg
fy_DE: changing DE to Germany
gd_GB: changing Great Britain to United Kingdom
gez_ER@abegede: changing ER to Eritrea
gez_ER: changing ER to Eritrea
gez_ET@abegede: changing ET to Ethiopia
gez_ET: changing ET to Ethiopia
gv_GB: changing Britain to United Kingdom
hak_TW: changing Republic of China to Taiwan
iu_CA: changing CA to Canada
ko_KR: changing Republic of Korea to South Korea
kw_GB: changing Britain to United Kingdom
li_BE: changing BE to Belgium
li_NL: changing NL to Netherlands
lzh_TW: changing Republic of China to Taiwan
my_MM: changing Myanmar to Myanmar (Burma)
nan_TW: changing Republic of China to Taiwan
nds_DE: changing DE to Germany
nds_NL: changing NL to Netherlands
om_ET: changing ET to Ethiopia
om_KE: changing KE to Kenya
pap_AW: changing AW to Aruba
pap_CW: changing CW to Curaçao
pt_BR: changing Brasil to Brazil
sid_ET: changing ET to Ethiopia
sk_SK: changing Slovak to Slovakia
so_DJ: changing DJ to Djibouti
so_ET: changing ET to Ethiopia
so_KE: changing KE to Kenya
so_SO: changing SO to Somalia
ti_ER: changing ER to Eritrea
ti_ET: changing ET to Ethiopia
tig_ER: changing ER to Eritrea
tt_RU@iqtelif: changing Tatarstan, Russian Federation to Russia
uk_UA: changing UA to Ukraine
unm_US: changing USA to United States
wal_ET: changing ET to Ethiopia
yi_US: changing USA to United States
yue_HK: changing Hong Kong to Hong Kong SAR China
zh_CN: changing P.R. of China to China
zh_HK: changing Hong Kong to Hong Kong SAR China
zh_TW: changing Taiwan R.O.C. to Taiwan
This updates all the language fields based on CLDR v29 data. Many of
them were obviously incorrect where people used a two letter code and
not the English name.
aa_DJ: changing aa to Afar
aa_ER: changing aa to Afar
aa_ER@saaho: changing aa to Afar
aa_ET: changing aa to Afar
am_ET: changing am to Amharic
az_AZ: changing Azeri to Azerbaijani
bn_BD: changing Bengali/Bangla to Bengali
byn_ER: changing byn to Blin
de_AT: changing German to Austrian German
de_CH: changing German to Swiss High German
en_AU: changing English to Australian English
en_CA: changing English to Canadian English
en_GB: changing English to British English
en_US: changing English to American English
es_ES: changing Spanish to European Spanish
es_MX: changing Spanish to Mexican Spanish
ff_SN: changing ff to Fulah
fr_CA: changing French to Canadian French
fr_CH: changing French to Swiss French
fur_IT: changing Furlan to Friulian
fy_DE: changing fy to Western Frisian
fy_NL: changing Frisian to Western Frisian
gd_GB: changing Scots Gaelic to Scottish Gaelic
gez_ER@abegede: changing gez to Geez
gez_ER: changing gez to Geez
gez_ET@abegede: changing gez to Geez
gez_ET: changing gez to Geez
gv_GB: changing Manx Gaelic to Manx
ht_HT: changing Kreyol to Haitian Creole
kl_GL: changing Greenlandic to Kalaallisut
lg_UG: changing Luganda to Ganda
li_BE: changing li to Limburgish
li_NL: changing li to Limburgish
nan_TW@latin: changing Minnan to Min Nan Chinese
nb_NO: changing Norwegian, Bokmål to Norwegian Bokmål
nds_DE: changing nds to Low German
nds_NL: changing nds to Low Saxon
niu_NU: changing Vagahau Niue (Niuean) to Niuean
niu_NZ: changing Vagahau Niue (Niuean) to Niuean
nl_BE: changing Dutch to Flemish
nn_NO: changing Norwegian, Nynorsk to Norwegian Nynorsk
nr_ZA: changing Southern Ndebele to South Ndebele
om_ET: changing om to Oromo
om_KE: changing om to Oromo
or_IN: changing Odia to Oriya
os_RU: changing Ossetian to Ossetic
pap_AW: changing pap to Papiamento
pap_CW: changing pap to Papiamento
pa_PK: changing Punjabi (Shahmukhi) to Punjabi
pt_BR: changing Portuguese to Brazilian Portuguese
pt_PT: changing Portuguese to European Portuguese
se_NO: changing Northern Saami to Northern Sami
sid_ET: changing sid to Sidamo
so_DJ: changing so to Somali
so_ET: changing so to Somali
so_KE: changing so to Somali
so_SO: changing so to Somali
st_ZA: changing Sotho to Southern Sotho
sw_KE: changing sw to Swahili
sw_TZ: changing sw to Swahili
ti_ER: changing ti to Tigrinya
ti_ET: changing ti to Tigrinya
tig_ER: changing tig to Tigre
uk_UA: changing uk to Ukrainian
wal_ET: changing wal to Wolaytta
yue_HK: changing Yue Chinese to Cantonese
This updates a bunch of locales based on CLDR v28 data:
ar_SS: int_prefix: changing 249 to 211
bn_BD: int_prefix: changing 88 to 880
dz_BT: int_prefix: changing 66 to 975
en_HK: int_prefix: changing to 852
en_PH: int_prefix: changing to 63
en_SG: int_prefix: changing to 65
es_DO: int_prefix: changing 1809 to 1
es_PA: int_prefix: changing 502 to 507
es_PR: int_prefix: changing 1787 to 1
km_KH: int_prefix: changing 856 to 855
mt_MT: int_prefix: changing to 356
ne_NP: int_prefix: changing 91 to 977
pap_AW: int_prefix: changing 599 to 297
the_NP: int_prefix: changing 91 to 977
tk_TM: int_prefix: changing to 993
uz_UZ: int_prefix: changing 27 to 998
zh_SG: int_prefix: changing to 65
I've also checked these against https://countrycode.org/.
Note: the Dominican Republic (DO) and Puerto Rico (PR) updates are
correct: they both use +1. Historically, DO had one area code of
809 and PR of 787 which is why they were listed as such, but they
have both expanded into 829 and 989 respectively, so using the four
digit value is def incorrect now.