Skip to content

Instantly share code, notes, and snippets.

@jefgen
Created April 7, 2021 01:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jefgen/fee0eb88560f55993b90de72a3e250e9 to your computer and use it in GitHub Desktop.
Save jefgen/fee0eb88560f55993b90de72a3e250e9 to your computer and use it in GitHub Desktop.
Comparing ICU and NLS locales (on version 20h1)
diff --side-by-side --suppress-common-lines --suppress-blank-empty --ignore-case --ignore-space-change --ignore-all-space ICU-locales.txt NLS-locales.txt
All ICU Locales: | NLS Locales Note(s)
> bin Missing in MS-ICU
> bin_NG Missing in MS-ICU
bm_ML | bm_Latn
> bm_Latn_ML Handled via aliases
> ca_ES_valencia Handled via variant tag
ccp_BD | ccp_Cakm
ccp_IN | ccp_Cakm_BD
> ccp_Cakm_IN Handled via aliases
ceb_PH | ceb_Latn
> ceb_Latn_PH Handled via aliases
chr_US | chr_Cher Handled via aliases
| chr_Cher_US
ckb Aliases:
ckb_IQ < ckb-IQ in NLS is ku-Arab-IQ
ckb_IR < ckb-IR in NLS is ku-Arab-IR
doi_IN | doi_Deva
> doi_Deva_IN Handled via aliases
> en_029 Missing in MS-ICU
> en_ID Missing in MS-ICU
en_US_POSIX < Missing in NLS
fa_AF < Aliases: fa-AF in NLS is prs-AF
> fr_029 Missing in MS-ICU
ha_GH | ha_Latn
ha_NE | ha_Latn_GH
ha_NG | ha_Latn_NE
> ha_Latn_NG Handled via aliases
> ibb
> ibb_NG Missing in MS-ICU
iu_CA | iu_Cans
> iu_Cans_CA Handled via aliases
jv_ID | jv_Java
> jv_Java_ID Missing in MS-ICU
> jv_Latn Handled via aliases
> jv_Latn_ID ICU jv_ID is jv_Latn_ID. Missing in MS-ICU: jv_Java_ID
> kr
> kr_Latn
> kr_Latn_NG Missing in MS-ICU
> ks_Deva
> ks_Deva_IN ICU has ks_Arab_IN. Missing in MS-ICU: ks_Deva_IN
> ku
> ku_Arab
> ku_Arab_IQ
> ku_Arab_IR Noted above: These are ckb-* in ICU.
> la
> la_001 Missing in MS-ICU
> mn_Cyrl NLS has mn-MN (with an alias of mn-Cyrl-MN), it's parent is mn-Cyrl, which is mn in ICU.
mni_Beng_IN | mni_IN Handled via aliases
> no NLS has neutral 'no' as shared parent of nb and nn. ICU 68 has the same as well, but aliased to nb.
pa_Guru_IN | pa_IN Handled via aliases. NLS has pa_IN which is pa_Guru_IN.
> pap
> pap_029 Missing in MS-ICU
pcm_NG | pcm_Latn
> pcm_Latn_NG Handled via aliases
> prs
> prs_AF prs-AF in NLS is fa-AF in ICU
qu < NLS uses quz-*, ICU uses qu-*. Handled via aliases
qu_BO <
qu_EC <
qu_PE <
quc_GT | quc_Latn Handled via aliases
> quc_Latn_GT
> quz NLS uses quz-*, ICU uses qu-*. Handled via aliases
> quz_BO
> quz_EC
> quz_PE
sn_ZW | sn_Latn
> sn_Latn_ZW Handled via aliases
tg_TJ | tg_Cyrl
> tg_Cyrl_TJ Handled via aliases
tzm_MA | tzm_Arab
> tzm_Arab_MA Missing in MS-ICU
> tzm_Latn
> tzm_Latn_DZ Missing in MS-ICU
> tzm_Latn_MA ICU has tzm_MA (Latn).
> tzm_Tfng
> tzm_Tfng_MA Missing in MS-ICU
zgh_MA | zgh_Tfng
> zgh_Tfng_MA Handled via aliases
> zh_CN Handled via aliases
zh_Hans_CN <
zh_Hans_SG <
zh_Hant_HK | zh_HK
zh_Hant_MO | zh_MO
zh_Hant_TW | zh_SG
> zh_TW
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment