Skip to content

Instantly share code, notes, and snippets.

@yas375
Created December 4, 2014 08:32
Show Gist options
  • Save yas375/f9e44d7761859e0dc7e4 to your computer and use it in GitHub Desktop.
Save yas375/f9e44d7761859e0dc7e4 to your computer and use it in GitHub Desktop.
Decimal separators in different locales
NSMutableDictionary *knownSeparators = [NSMutableDictionary dictionary];
[[NSLocale availableLocaleIdentifiers] bk_each:^(NSString *identifier) {
NSLocale *locale = [NSLocale localeWithLocaleIdentifier:identifier];
NSString *separator = [locale objectForKey:NSLocaleDecimalSeparator];
NSMutableArray *localeIdentifiers = knownSeparators[separator];
if (localeIdentifiers == nil) {
localeIdentifiers = [NSMutableArray array];
knownSeparators[separator] = localeIdentifiers;
}
[localeIdentifiers addObject:identifier];
}];
NSLog(@"%@", knownSeparators);
{
"," = (
eu,
"hr_BA",
"rw_RW",
"tk_Latn",
"es_EA",
"fr_GF",
"tr_TR",
"fr_TG",
az,
"fr_SC",
"ru_KZ",
dyo,
"de_BE",
"km_KH",
"mgh_MZ",
"es_EC",
"en_ME",
"mk_MK",
"bs_Cyrl_BA",
"gl_ES",
"pt_TL",
"lv_LV",
"en_PT",
"en_NL",
"shi_Latn_MA",
"en_AL",
"fr_VU",
kea,
"fr_RE",
tk,
"kl_GL",
"ksf_CM",
"mua_CM",
"fr_TN",
"pl_PL",
"es_GQ",
pl,
tr,
"fr_GN",
"en_NO",
"sr_Latn_RS",
"swc_CD",
"lu_CD",
da,
ln,
pt,
lo,
de,
seh,
"tzm_Latn_MA",
"fr_HT",
"fr_GP",
lt,
lu,
"ln_CD",
"el_GR",
lv,
hr,
"en_CY",
"fr_GQ",
hu,
"es_UY",
"fr_CA",
shi,
"fr_SN",
kkj,
hy,
"kk_Cyrl_KZ",
"en_CZ",
"ln_CF",
"nn_NO",
"ms_Latn_BN",
nnh,
"hy_AM",
"ln_CG",
"sr_Latn_BA",
"ar_LY",
"en_AT",
"fr_CD",
"af_NA",
"es_PH",
"uz_Latn_UZ",
"ky_Cyrl",
"ewo_CM",
"fr_PF",
"ca_IT",
"pt_GW",
"fr_FR",
"fr_DJ",
"fr_CF",
"pt_ST",
swc,
"fr_CG",
ewo,
"af_ZA",
"nl_SR",
"es_ES",
"nnh_CM",
"yav_CM",
"dua_CM",
"et_EE",
"es_CL",
"kea_CV",
"fr_CI",
"fr_BE",
"ky_Cyrl_KG",
"nb_SJ",
sg,
"sr_Cyrl_RS",
"ru_RU",
"sv_AX",
sk,
"agq_CM",
"fr_BF",
sl,
"az_Latn",
"de_AT",
ka,
"sr_Latn_ME",
"fr_NC",
"is_IS",
sq,
"fo_FO",
sr,
tzm,
"en_LT",
"bas_CM",
"nl_BE",
sv,
kk,
"es_CO",
"az_Latn_AZ",
"rn_BI",
kl,
ca,
km,
"en_LU",
"fr_SY",
"ar_TN",
"fr_PM",
"fr_NE",
"fr_MA",
gl,
"ru_MD",
"fr_CM",
"fr_BI",
"en_LV",
"nl_SX",
"tr_CY",
ky,
"tzm_Latn",
"fr_BJ",
"fr_RW",
"sr_Cyrl_BA",
"fr_MC",
cs,
"es_CR",
"ms_Arab_BN",
"lt_LT",
"ca_FR",
"es_BO",
"fr_BL",
"uz_Cyrl_UZ",
"az_Cyrl",
"fr_MF",
"pt_PT",
"fr_MG",
"de_LU",
"shi_Tfng",
"ln_AO",
"ro_RO",
"jgo_CM",
dua,
"en_SE",
"ca_ES",
"pt_CV",
"pt_BR",
"fi_FI",
"es_PY",
mua,
"sr_Cyrl_ME",
"nl_NL",
vi,
"sv_SE",
"pt_AO",
"fr_DZ",
"ca_AD",
"en_IS",
nb,
"seh_MZ",
"es_AR",
"sk_SK",
"az_Cyrl_AZ",
"el_CY",
"en_IT",
"nl_BQ",
"da_GL",
"fr_ML",
rn,
ro,
"ru_KG",
"en_SI",
"sg_CF",
nl,
"bs_Latn",
"zgh_MA",
"shi_Latn",
"en_FI",
nn,
"en_EE",
ru,
rw,
ff,
"nl_CW",
"en_HR",
fi,
"pt_MO",
be,
"en_SK",
bg,
"ru_BY",
"it_IT",
fo,
"sv_FI",
"sr_Latn",
fr,
"lo_LA",
"uz_Latn",
"be_BY",
"es_IC",
"sr_Latn_XK",
"ar_MA",
br,
bs,
"hu_HU",
"en_HU",
"sq_AL",
"en_150",
"en_DE",
"fr_MQ",
"en_TR",
"ro_MD",
"es_VE",
"fr_WF",
kab,
"nmg_CM",
"ru_UA",
"fr_MR",
"tk_Latn_TM",
"bs_Cyrl",
"shi_Tfng_MA",
"it_SM",
"sq_MK",
bas,
"fr_MU",
"fr_KM",
"en_BA",
"sr_Cyrl",
"kab_DZ",
"hr_HR",
"bs_Latn_BA",
"nl_AW",
"en_FR",
"uz_Cyrl",
"ff_SN",
"en_RO",
mgh,
"dyo_SN",
agq,
"nb_NO",
"da_DK",
"en_DK",
"fr_YT",
"de_DE",
jgo,
uk,
"sl_SI",
"id_ID",
zgh,
"pt_MZ",
"fr_LU",
"kk_Cyrl",
"en_BE",
"fr_GA",
"ka_GE",
nmg,
"eu_ES",
"ar_DZ",
id,
yav,
mk,
uz,
"vi_VN",
"en_ES",
"sq_XK",
"br_FR",
"sr_Cyrl_XK",
ksf,
"bg_BG",
"en_PL",
af,
el,
"cs_CZ",
"fr_TD",
is,
it,
eo,
"en_ZA",
"en_AD",
"en_RU",
"kkj_CM",
es,
et,
"uk_UA"
);
"." = (
"en_CM",
"en_SZ",
"he_IL",
"en_PN",
as,
"en_NF",
"rwk_TZ",
"zh_Hant_TW",
"gsw_LI",
"th_TH",
"ta_IN",
"en_RW",
"de_CH",
"ee_TG",
"en_NG",
"es_HN",
"en_AG",
gsw,
"so_ET",
"zh_Hant_MO",
"my_MM",
"ee_GH",
"kw_GB",
"rm_CH",
nyn,
"en_BM",
"ms_Arab",
"en_AI",
"en_PR",
"ha_Latn_GH",
"ne_IN",
"or_IN",
"khq_ML",
"en_MG",
"en_LC",
"ta_SG",
"jmc_TZ",
"om_ET",
"es_US",
"vai_Latn_LR",
"to_TO",
"cgg_UG",
ta,
"en_MH",
"iu_Cans_CA",
"zu_ZA",
"brx_IN",
te,
"chr_US",
"yo_BJ",
pa,
tg,
"te_IN",
th,
"ur_IN",
"yo_NG",
ti,
"guz_KE",
"lag_TZ",
"es_PA",
to,
"hi_IN",
"dje_NE",
"kok_IN",
bem,
ha,
lg,
"en_PW",
"nyn_UG",
"pa_Guru",
he,
"ug_Arab",
"mgo_CM",
"sn_ZW",
"en_BS",
"ms_Latn_SG",
"iu_Cans",
hi,
ebu,
"gu_IN",
"en_CX",
"en_ZM",
"vai_Latn",
"en_KE",
sbp,
"es_GT",
"twq_NE",
"zh_Hant_HK",
"kln_KE",
chr,
"en_NR",
mer,
"es_PE",
bez,
"sw_TZ",
"teo_KE",
teo,
"dz_BT",
"mer_KE",
khq,
"en_MO",
dz,
ses,
"en_BW",
"en_AS",
"bo_CN",
"teo_UG",
"en_MP",
"ksb_TZ",
"so_KE",
"en_NU",
"en_KI",
"en_JE",
lkt,
"en_AU",
"zh_Hans_CN",
"en_BZ",
"am_ET",
"en_VC",
"es_SV",
"en_MS",
"luy_KE",
"de_LI",
"zh_Hans_SG",
"en_MT",
"om_KE",
"es_DO",
"fr_CH",
"es_419",
"en_MU",
"en_US_POSIX",
"luo_KE",
"en_IE",
"ak_GH",
rwk,
"en_NZ",
"en_LR",
"en_KN",
"en_ZW",
si,
"ga_IE",
"en_VG",
"naq_NA",
"en_MW",
"mr_IN",
"en_LS",
sn,
so,
twq,
"ig_NG",
ga,
om,
ki,
sw,
or,
"en_VI",
kn,
"en_JM",
ko,
"saq_KE",
"gv_IM",
"es_NI",
"en_GB",
kw,
"dav_KE",
"en_UG",
"en_TC",
"nus_SD",
gu,
"es_PR",
gv,
"bez_TZ",
"asa_TZ",
"ar_EH",
"mn_Cyrl",
"sbp_TZ",
"ha_Latn_NE",
mfe,
"en_GD",
cy,
"bn_IN",
"en_IM",
"sw_KE",
"en_SB",
"ur_PK",
"haw_US",
"en_IN",
"ha_Latn",
fil,
"en_WS",
"es_CU",
"ja_JP",
"en_SC",
"en_IO",
"en_HK",
"en_GG",
"ms_Latn_MY",
"tg_Cyrl",
"en_SD",
"ug_Arab_CN",
"as_IN",
"en_GH",
"en_UM",
"kn_IN",
"en_KY",
"vun_TZ",
kln,
"en_GI",
rof,
kok,
zh,
"tg_Cyrl_TJ",
"vai_Vaii_LR",
"en_001",
"xog_UG",
"en_TK",
"si_LK",
"en_SG",
xog,
"en_SH",
"ti_ER",
nd,
zu,
ne,
"nd_ZW",
ja,
rm,
"en_VU",
"rof_TZ",
"ebu_KE",
"mfe_MU",
brx,
"en_GM",
"kam_KE",
"vai_Vaii",
"ti_ET",
luo,
"ha_Latn_NG",
"en_FJ",
"en_US",
"en_TO",
"ml_IN",
"gsw_CH",
"en_FK",
nus,
"ta_LK",
vun,
"en_SL",
bm,
guz,
bn,
bo,
"ne_NP",
"pa_Guru_IN",
luy,
"kde_TZ",
"zh_Hans",
"en_FM",
"ko_KP",
"en_CA",
"mt_MT",
"zh_Hans_MO",
"mn_Cyrl_MN",
"sw_UG",
"ko_KR",
"en_DG",
"bo_IN",
"en_CC",
lag,
"en_TT",
"ms_Arab_MY",
"ms_Latn",
"bem_ZM",
kde,
cgg,
kam,
"zh_Hant",
"es_MX",
"en_GU",
"en_TV",
dje,
"fil_PH",
vai,
dav,
"so_SO",
"en_BB",
"ki_KE",
naq,
"en_SS",
"mg_MG",
"mas_KE",
"en_PG",
mas,
"bn_BD",
haw,
saq,
ug,
"cy_GB",
jmc,
"ses_ML",
"en_PH",
"bm_ML",
yo,
"lkt_US",
"en_CH",
asa,
"lg_UG",
mgo,
"en_NA",
"en_GY",
"mas_TZ",
ur,
"en_DM",
"ta_MY",
mg,
"en_TZ",
"so_DJ",
ml,
"en_ER",
ig,
mn,
ksb,
ii,
"en_PK",
ee,
mr,
ms,
"it_CH",
mt,
"en_CK",
"en_SX",
"zh_Hans_HK",
my,
en,
"ii_CN",
iu,
ak,
am
);
"\U066b" = (
"uz_Arab",
ar,
"ar_001",
"ar_MR",
"ar_KM",
"ks_Arab",
ckb,
"ps_AF",
ps,
"ar_JO",
"ar_TD",
"ar_IL",
"ar_SA",
"fa_IR",
"ar_KW",
"ar_SD",
"ar_IQ",
"ar_QA",
ks,
"ks_Arab_IN",
"ar_EG",
"pa_Arab",
"ar_SO",
"ar_DJ",
"ar_SS",
fa,
"ar_ER",
"fa_AF",
"ar_BH",
"ar_SY",
"ar_AE",
"ar_OM",
"ar_LB",
"ar_PS",
"ar_YE",
"uz_Arab_AF",
"pa_Arab_PK"
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment