Как получить локаль для указанной валюты?

0

У меня проблемы с этим, потому что у меня есть currencys с кодами из 3 цифр (USD, EUR, COP и т.д.).

Если вы идете использовать функцию setlocale, вам нужно сделать что-то вроде этого:

setlocale (LC_MONETARY, 'en_US');

Посмотрите, что вы проходите 'en_US', а не 'USD'. Как я могу узнать для каждой валюты, выбранной пользователем, соответствующую локаль для LC_MONETARY, чтобы использоваться с setlocale.

В добавлении, на моем веб-сайте, валюта не зависит от языка, например, у вас есть сайт на испанском языке, но вы можете видеть деньги в долларах США. Это приведет к языку вроде: es_US???? Я считаю, что это не поддерживается.

Благодарю.

Теги:
locale
currency
setlocale
money-format

2 ответа

1
Лучший ответ

Используя этот URL, я получаю все языковые комбинации от unicode.org: http://www.unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_territory_information.html

Я создал таблицу с этими языками и ее комбинациями. После этого я запускаю этот код (php):

$result = $mysqli->query("SELECT * FROM language" );
while ($row = $result->fetch_assoc()) {
    putenv('LC_ALL=' . $row['code'] );  
    setlocale(LC_ALL, $row['code'] );
    $arr = localeconv();
    echo $row['code'] . " - " . $arr['int_curr_symbol'] . "<br/>";
}

Код представлен: (Language-Code) _ (Territory-Code), и я получаю что-то вроде этого:

aa - USD 
aa_DJ - DJF 
aa_ER - ERN 
aa_ET - ETB 
ab - ETB 
ab_GE - ETB 
ab_TR - ETB 
abr - ETB 
abr_G - ETB 
ace - ETB 
ace_I - ETB 
ady - ETB 
ady_R - ETB 
ady_T - ETB 
af - ETB 
af_BW - ETB 
af_NA - ETB 
af_ZA - ZAR 
ak - ZAR 
ak_GH - ZAR 
alt - ZAR 
alt_R - ZAR 
am - ZAR 
am_ET - ETB 
am_IL - ETB 
amo - ETB 
amo_N - ETB 
aoz - ETB 
aoz_I - ETB 
ar - ETB 
ar_AE - AED 
ar_AR - AED 
ar_BH - BHD 
ar_CM - BHD 
ar_CY - BHD 
ar_DJ - BHD 
ar_DZ - DZD 
ar_EG - EGP 
ar_EH - EGP 
ar_ER - EGP 
ar_IL - EGP 
ar_IQ - IQD 
ar_IR - IQD 
ar_JO - JOD 
ar_KE - JOD 
ar_KM - JOD 
ar_KW - KWD 
ar_LB - LBP 
ar_LY - LYD 
ar_MA - MAD 
ar_ML - MAD 
ar_MR - MAD 
ar_NE - MAD 
ar_NG - MAD 
ar_OM - OMR 
ar_PS - OMR 
ar_QA - QAR 
ar_SA - SAR 
ar_SD - SDD 
ar_SS - SDD 
ar_SY - SYP 
ar_TD - SYP 
ar_TJ - SYP 
ar_TN - TND 
ar_TR - TND 
ar_YE - YER 
as - YER 
as_IN - INR 
asa - INR 
asa_T - INR 
ast - INR 
ast_E - INR 
atj - INR 
atj_C - INR 
av - INR 
av_RU - INR 
awa - INR 
awa_I - INR 
awa_N - INR 
ay - INR 
ay_BO - INR 
ay_PE - INR 
az_Ar - INR 
az_AZ - AZM 
az_Cy - AZM 
az_La - AZM 
ba - AZM 
ba_RU - AZM 
bal - AZM 
bal_A - AZM 
bal_I - AZM 
bal_O - AZM 
bal_P - AZM 
ban - AZM 
ban_I - AZM 
bap - AZM 
bap_N - AZM 
bbc - AZM 
bbc_I - AZM 
bci - AZM 
bci_C - AZM 
bcl - AZM 
bcl_P - AZM 
be - AZM 
be_BY - BYR 
be_PL - BYR 
be_UA - BYR 
bem - BYR 
bem_Z - BYR 
bew - BYR 
bew_I - BYR 
bez - BYR 
bez_T - BYR 
bfq - BYR 
bfq_I - BYR 
bft - BYR 
bft_I - BYR 
bft_P - BYR 
bfy - BYR 
bfy_I - BYR 
bfy_N - BYR 
bg - BYR 
bg_BG - BGN 
bg_GR - BGN 
bg_MD - BGN 
bg_RO - BGN 
bg_TR - BGN 
bg_UA - BGN 
bgc - BGN 
bgc_I - BGN 
bgx - BGN 
bgx_T - BGN 
bhb - BGN 
bhb_I - BGN 
bhi - BGN 
bhi_I - BGN 
bhk - BGN 
bhk_P - BGN 
bho - BGN 
bho_I - BGN 
bho_M - BGN 
bho_N - BGN 
bi - BGN 
bi_VU - BGN 
bin - BGN 
bin_N - BGN 
bjj - BGN 
bjj_I - BGN 
bjn - BGN 
bjn_I - BGN 
bjn_M - BGN 
bku - BGN 
bku_P - BGN 
bm - BGN 
bm_ML - BGN 
bmq - BGN 
bmq_M - BGN 
bn - BGN 
bn_BD - BDT 
bn_GB - BDT 
bn_IN - INR 
bn_NP - INR 
bo - INR 
bo_CN - CNY 
bo_IN - INR 
bo_NP - INR 
bqi - INR 
bqi_I - INR 
bqv - INR 
bqv_C - INR 
br - INR 
br_FR - EUR 
bra - EUR 
bra_I - EUR 
brh - EUR 
brh_P - EUR 
brx - EUR 
brx_I - EUR 
bs - EUR 
bs_BA - BAM 
bto - BAM 
bto_P - BAM 
btv - BAM 
btv_I - BAM 
btv_P - BAM 
buc - BAM 
buc_Y - BAM 
bug - BAM 
bug_I - BAM 
bug_M - BAM 
bvb - BAM 
bvb_G - BAM 
bxr - BAM 
bxr_R - BAM 
bya - BAM 
bya_I - BAM 
byn - BAM 
byn_E - BAM 
bze - BAM 
bze_M - BAM 
bzx - BAM 
bzx_M - BAM 
ca - BAM 
ca_AD - EUR 
ca_ES - EUR 
ca_FR - EUR 
ca_IT - EUR 
cch - EUR 
cch_N - EUR 
ccp - EUR 
ccp_B - EUR 
ccp_I - EUR 
ce - EUR 
ce_RU - EUR 
ceb - EUR 
ceb_P - EUR 
cgg - EUR 
cgg_U - EUR 
ch - EUR 
ch_GU - EUR 
ch_MP - EUR 
chk - EUR 
chk_F - EUR 
chm - EUR 
chm_R - EUR 
chp - EUR 
chp_C - EUR 
chr - EUR 
chr_U - EUR 
cja - EUR 
cja_K - EUR 
cjm - EUR 
cjm_V - EUR 
ckb - EUR 
ckb_I - EUR 
co - EUR 
co_FR - EUR 
crj - EUR 
crj_C - EUR 
crk - EUR 
crk_C - EUR 
crl - EUR 
crl_C - EUR 
crm - EUR 
crm_C - EUR 
crs - EUR 
crs_S - EUR 
cs - EUR 
cs_CZ - CZK 
csb - CZK 
csb_P - CZK 
csw - CZK 
csw_C - CZK 
cv - CZK 
cv_RU - RUB 
cwd - RUB 
cwd_C - RUB 
cy - RUB 
cy_AR - RUB 
cy_GB - GBP 
da - GBP 
da_DE - GBP 
da_DK - DKK 
da_GL - DKK 
da_IS - DKK 
daf - DKK 
daf_C - DKK 
dar - DKK 
dar_R - DKK 
dav - DKK 
dav_K - DKK 
dcc - DKK 
dcc_I - DKK 
de - DKK 
de_AT - EUR 
de_BE - EUR 
de_BR - EUR 
de_CA - EUR 
de_CH - CHF 
de_CZ - CHF 
de_DE - EUR 
de_DK - EUR 
de_HU - EUR 
de_IT - EUR 
de_KZ - EUR 
de_LI - EUR 
de_LU - EUR 
de_NA - EUR 
de_PL - EUR 
de_PY - EUR 
de_RO - EUR 
de_SK - EUR 
de_US - EUR 
dgr - EUR 
dgr_C - EUR 
dhd - EUR 
dhd_I - EUR 
diq - EUR 
diq_T - EUR 
dje - EUR 
dje_N - EUR 
doi - EUR 
doi_I - EUR 
dtm - EUR 
dtm_M - EUR 
dv - EUR 
dv_IN - EUR 
dv_MV - MVR 
dyu - MVR 
dyu_B - MVR 
dz - MVR 
dz_BT - BTN 
dz_IN - BTN 
ebu - BTN 
ebu_K - BTN 
ee - BTN 
ee_GH - BTN 
ee_TG - BTN 
efi - BTN 
efi_N - BTN 
el - BTN 
el_AL - BTN 
el_CY - EUR 
el_DE - EUR 
el_EG - EUR 
el_GB - EUR 
el_GR - EUR 
el_IT - EUR 
el_RO - EUR 
el_TR - EUR 
el_UA - EUR 
emk - EUR 
emk_G - EUR 
en - EUR 
en_AC - EUR 
en_AG - XCD 
en_AI - XCD 
en_AS - XCD 
en_AU - AUD 
en_AW - AUD 
en_BB - AUD 
en_BE - AUD 
en_BM - AUD 
en_BN - AUD 
en_BS - AUD 
en_BW - BWP 
en_BZ - BWP 
en_CA - CAD 
en_CC - CAD 
en_CK - CAD 
en_CM - CAD 
en_CN - CAD 
en_CX - CAD 
en_DE - CAD 
en_DG - CAD 
en_DM - CAD 
en_DO - CAD 
en_ES - CAD 
en_ET - CAD 
en_FI - CAD 
en_FJ - CAD 
en_FK - CAD 
en_FM - CAD 
en_FR - CAD 
en_GB - GBP 
en_GD - GBP 
en_GG - GBP 
en_GH - GBP 
en_GI - GBP 
en_GM - GBP 
en_GU - GBP 
en_GY - GBP 
en_HK - HKD 
en_HN - HKD 
en_IE - EUR 
en_IL - EUR 
en_IM - EUR 
en_IN - INR 
en_IO - INR 
en_IT - INR 
en_JE - INR 
en_JM - INR 
en_KE - INR 
en_KI - INR 
en_KN - INR 
en_KY - INR 
en_LB - INR 
en_LC - INR 
en_LK - INR 
en_LR - INR 
en_LS - INR 
en_MG - INR 
en_MH - INR 
en_MP - INR 
en_MS - INR 
en_MT - INR 
en_MU - INR 
en_MW - INR 
en_MY - INR 
en_NA - INR 
en_NF - INR 
en_NG - NGN 
en_NL - NGN 
en_NR - NGN 
en_NU - NGN 
en_NZ - NZD 
en_PA - NZD 
en_PG - NZD 
en_PH - PHP 
en_PI - PHP 
en_PK - PHP 
en_PM - PHP 
en_PN - PHP 
en_PR - PHP 
en_PW - PHP 
en_RW - PHP 
en_SB - PHP 
en_SC - PHP 
en_SG - SGD 
en_SH - SGD 
en_SL - SGD 
en_SS - SGD 
en_SZ - SGD 
en_TA - SGD 
en_TC - SGD 
en_TK - SGD 
en_TO - SGD 
en_TT - SGD 
en_TV - SGD 
en_TZ - SGD 
en_UD - SGD 
en_UG - SGD 
en_UM - SGD 
en_US - USD 
en_VC - USD 
en_VG - USD 
en_VI - USD 
en_VU - USD 
en_WS - USD 
en_ZA - ZAR 
en_ZM - ZAR 
en_ZW - ZWD 
eo - ZWD 
eo_EO - ZWD 
eo_SM - ZWD 
es - ZWD 
es_AD - ZWD 
es_AR - ARS 
es_BO - BOB 
es_BZ - BOB 
es_CL - CLP 
es_CO - COP 
es_CR - CRC 
es_CU - CRC 
es_DE - CRC 
es_DO - DOP 
es_EA - DOP 
es_EC - USD 
es_ES - EUR 
es_GQ - EUR 
es_GT - GTQ 
es_HN - HNL 
es_IC - HNL 
es_LA - HNL 
es_MA - HNL 
es_MX - MXN 
es_NI - NIO 
es_PA - PAB 
es_PE - PEN 
es_PH - PEN 
es_PR - USD 
es_PY - PYG 
es_SV - SVC 
es_TT - SVC 
es_US - USD 
es_UY - UYU 
es_VE - VEB 
et - VEB 
et_EE - EEK 
et_FI - EEK 
eu - EEK 
eu_ES - EUR 
eu_FR - EUR 
fa - EUR 
fa_AE - EUR 
fa_AF - EUR 
fa_IQ - EUR 
fa_IR - IRR 
fa_OM - IRR 
fa_PK - IRR 
fa_QA - IRR 
fa_TJ - IRR 
fan - IRR 
fan_G - IRR 
fb_LT - IRR 
ff - IRR 
ff_GN - IRR 
ff_MR - IRR 
ff_SN - IRR 
ffm - IRR 
ffm_M - IRR 
fi - IRR 
fi_FI - EUR 
fi_RU - EUR 
fi_SE - EUR 
fil - EUR 
fil_P - EUR 
fj - EUR 
fj_FJ - EUR 
fo - EUR 
fo_FO - DKK 
fon - DKK 
fon_B - DKK 
fr - DKK 
fr_AD - DKK 
fr_BE - EUR 
fr_BF - EUR 
fr_BI - EUR 
fr_BJ - EUR 
fr_BL - EUR 
fr_CA - CAD 
fr_CD - CAD 
fr_CF - CAD 
fr_CG - CAD 
fr_CH - CHF 
fr_CI - CHF 
fr_CM - CHF 
fr_CP - CHF 
fr_DJ - CHF 
fr_DZ - CHF 
fr_FR - EUR 
fr_GA - EUR 
fr_GB - EUR 
fr_GF - EUR 
fr_GN - EUR 
fr_GP - EUR 
fr_GQ - EUR 
fr_HT - EUR 
fr_IT - EUR 
fr_KM - EUR 
fr_LB - EUR 
fr_LU - EUR 
fr_MA - EUR 
fr_MC - EUR 
fr_MF - EUR 
fr_MG - EUR 
fr_ML - EUR 
fr_MQ - EUR 
fr_MR - EUR 
fr_MU - EUR 
fr_NC - EUR 
fr_NE - EUR 
fr_PF - EUR 
fr_PM - EUR 
fr_RE - EUR 
fr_RW - EUR 
fr_SC - EUR 
fr_SN - EUR 
fr_SY - EUR 
fr_TD - EUR 
fr_TF - EUR 
fr_TG - EUR 
fr_TN - EUR 
fr_US - EUR 
fr_VU - EUR 
fr_WF - EUR 
fr_YT - EUR 
fud - EUR 
fud_W - EUR 
fuq - EUR 
fuq_N - EUR 
fur - EUR 
fur_I - EUR 
fuv - EUR 
fuv_N - EUR 
fy - EUR 
fy_NL - EUR 
ga - EUR 
ga_GB - EUR 
ga_IE - EUR 
gaa - EUR 
gaa_G - EUR 
gag - EUR 
gag_M - EUR 
gbm - EUR 
gbm_I - EUR 
gcr - EUR 
gcr_G - EUR 
gd - EUR 
gd_GB - GBP 
ggn - GBP 
ggn_N - GBP 
gil - GBP 
gil_K - GBP 
gjk - GBP 
gjk_P - GBP 
gju - GBP 
gju_P - GBP 
gl - GBP 
gl_ES - EUR 
gl_PT - EUR 
glk - EUR 
glk_I - EUR 
gn - EUR 
gn_AR - EUR 
gn_BO - EUR 
gn_PY - EUR 
gno - EUR 
gno_I - EUR 
gon - EUR 
gon_I - EUR 
gor - EUR 
gor_I - EUR 
gos - EUR 
gos_N - EUR 
grt - EUR 
grt_B - EUR 
grt_I - EUR 
gsw - EUR 
gsw_C - EUR 
gsw_F - EUR 
gsw_L - EUR 
gu - EUR 
gu_IN - INR 
gu_KE - INR 
gub - INR 
gub_B - INR 
guz - INR 
guz_K - INR 
gv - INR 
gv_IM - INR 
gvr - INR 
gvr_N - INR 
gwi - INR 
gwi_C - INR 
ha_Ar - INR 
ha_La - INR 
haw - INR 
haw_U - INR 
haz - INR 
haz_A - INR 
he - INR 
he_IL - ILS 
hi - ILS 
hi_FJ - ILS 
hi_IN - INR 
hi_NP - INR 
hi_UG - INR 
hi_ZA - INR 
hil - INR 
hil_P - INR 
hnd - INR 
hnd_P - INR 
hne - INR 
hne_I - INR 
hnn - INR 
hnn_P - INR 
hno - INR 
hno_P - INR 
ho - INR 
ho_PG - INR 
hoc - INR 
hoc_I - INR 
hoj - INR 
hoj_I - INR 
hr - INR 
hr_AT - INR 
hr_BA - INR 
hr_DE - INR 
hr_HR - HRK 
hr_HU - HRK 
hr_IT - HRK 
ht - HRK 
ht_HT - HTG 
hu - HTG 
hu_AT - HTG 
hu_HU - HUF 
hu_IL - HUF 
hu_RO - HUF 
hu_RS - HUF 
hu_SI - HUF 
hu_SK - HUF 
hu_UA - HUF 
hy - HUF 
hy_AM - AMD 
hy_CY - AMD 
hy_GE - AMD 
hy_IR - AMD 
hy_LB - AMD 
hy_SY - AMD 
hy_TR - AMD 
ia - AMD 
ia_SE - AMD 
ibb - AMD 
ibb_N - AMD 
id - AMD 
id_ID - IDR 
id_NL - IDR 
ig - IDR 
ig_NG - NGN 
ii - NGN 
ii_CN - NGN 
ik - NGN 
ik_US - NGN 
ike - NGN 
ike_C - NGN 
ikt - NGN 
ikt_C - NGN 
iku - NGN 
iku_C - NGN 
ilo - NGN 
ilo_P - NGN 
inh - NGN 
inh_R - NGN 
is - NGN 
is_IS - ISK 
it - ISK 
it_AU - ISK 
it_BR - ISK 
it_CA - ISK 
it_CH - CHF 
it_DE - CHF 
it_FR - CHF 
it_GB - CHF 
it_HR - CHF 
it_IT - EUR 
it_SI - EUR 
it_SM - EUR 
it_US - EUR 
it_VA - EUR 
iu - EUR 
iu_GL - EUR 
ja - EUR 
ja_BR - EUR 
ja_JP - JPY 
jmc - JPY 
jmc_T - JPY 
jml - JPY 
jml_N - JPY 
jv - JPY 
jv_ID - JPY 
jv_MY - JPY 
ka - JPY 
ka_GE - GEL 
ka_IR - GEL 
ka_TR - GEL 
kaa - GEL 
kaa_U - GEL 
kab - GEL 
kab_D - GEL 
kaj - GEL 
kaj_N - GEL 
kam - GEL 
kam_K - GEL 
kao - GEL 
kao_M - GEL 
kbd - GEL 
kbd_R - GEL 
kbd_T - GEL 
kcg - GEL 
kcg_N - GEL 
kck - GEL 
kck_Z - GEL 
kde - GEL 
kde_T - GEL 
kdt - GEL 
kdt_K - GEL 
kdt_L - GEL 
kdt_T - GEL 
kea - GEL 
kea_C - GEL 
kfo - GEL 
kfo_C - GEL 
kfr - GEL 
kfr_I - GEL 
kfy - GEL 
kfy_I - GEL 
kg - GEL 
kg_CD - GEL 
kge - GEL 
kge_I - GEL 
kgp - GEL 
kgp_B - GEL 
kha - GEL 
kha_I - GEL 
khb - GEL 
khb_C - GEL 
khn - GEL 
khn_I - GEL 
khq - GEL 
khq_M - GEL 
kht - GEL 
kht_I - GEL 
kht_M - GEL 
khw - GEL 
khw_P - GEL 
ki - GEL 
ki_KE - GEL 
kj - GEL 
kj_NA - GEL 
kk_Ar - GEL 
kk_Cy - GEL 
kl - GEL 
kl_DK - GEL 
kl_GL - DKK 
kln - DKK 
kln_K - DKK 
km - DKK 
km_KH - KHR 
kmb - KHR 
kmb_A - KHR 
kn - KHR 
kn_IN - INR 
ko - INR 
ko_BR - INR 
ko_CN - INR 
ko_JP - INR 
ko_KP - INR 
ko_KR - KRW 
ko_US - KRW 
koi - KRW 
koi_R - KRW 
kok - KRW 
kok_I - KRW 
kos - KRW 
kos_F - KRW 
kpe - KRW 
kpe_G - KRW 
kpe_L - KRW 
kpv - KRW 
kpv_R - KRW 
krc - KRW 
krc_R - KRW 
kri - KRW 
kri_S - KRW 
krl - KRW 
krl_R - KRW 
kru - KRW 
kru_I - KRW 
ks - KRW 
ks_GB - KRW 
ks_IN - INR 
ks_PK - INR 
ksb - INR 
ksb_T - INR 
ksh - INR 
ksh_D - INR 
ku_Ar - INR 
ku_La - INR 
ku_TR - TRY 
kum - TRY 
kum_R - TRY 
kvr - TRY 
kvr_I - TRY 
kvx - TRY 
kvx_P - TRY 
kw - TRY 
kw_GB - GBP 
kxm - GBP 
kxm_T - GBP 
kxp - GBP 
kxp_P - GBP 
ky_Ar - GBP 
ky_Cy - GBP 
ky_La - GBP 
la - GBP 
la_VA - GBP 
lag - GBP 
lag_T - GBP 
lah - GBP 
lah_I - GBP 
lah_P - GBP 
laj - GBP 
laj_U - GBP 
lb - GBP 
lb_LU - GBP 
lbe - GBP 
lbe_R - GBP 
lbw - GBP 
lbw_I - GBP 
lcp - GBP 
lcp_C - GBP 
lcp_T - GBP 
lep - GBP 
lep_B - GBP 
lep_I - GBP 
lep_N - GBP 
lez - GBP 
lez_R - GBP 
lg - GBP 
lg_UG - UGX 
li - UGX 
li_NL - EUR 
lif - EUR 
lif_I - EUR 
lif_N - EUR 
lis - EUR 
lis_C - EUR 
ljp - EUR 
ljp_I - EUR 
lki - EUR 
lki_I - EUR 
lmn - EUR 
lmn_I - EUR 
lmo - EUR 
lmo_C - EUR 
ln - EUR 
ln_CD - EUR 
ln_CG - EUR 
lo - EUR 
lo_LA - LAK 
lol - LAK 
lol_C - LAK 
lrc - LAK 
lrc_I - LAK 
lt - LAK 
lt_LT - LTL 
lu - LTL 
lu_CD - LTL 
lua - LTL 
lua_C - LTL 
luo - LTL 
luo_K - LTL 
luy - LTL 
luy_K - LTL 
luz - LTL 
luz_I - LTL 
lv - LTL 
lv_LV - LVL 
lwl - LVL 
lwl_T - LVL 
mad - LVL 
mad_I - LVL 
mag - LVL 
mag_I - LVL 
mai - LVL 
mai_I - LVL 
mai_N - LVL 
mak - LVL 
mak_I - LVL 
mas - LVL 
mas_K - LVL 
mas_T - LVL 
maz - LVL 
maz_M - LVL 
mdf - LVL 
mdf_R - LVL 
mdh - LVL 
mdh_P - LVL 
mdr - LVL 
mdr_I - LVL 
mdt - LVL 
mdt_G - LVL 
men - LVL 
men_L - LVL 
men_S - LVL 
mer - LVL 
mer_K - LVL 
mfa - LVL 
mfa_T - LVL 
mfe - LVL 
mfe_M - LVL 
mg - LVL 
mg_MG - MGA 
mgp - MGA 
mgp_N - MGA 
mgy - MGA 
mgy_I - MGA 
mh - MGA 
mh_MH - MGA 
mhr - MGA 
mhr_R - MGA 
mi - MGA 
mi_NZ - NZD 
min - NZD 
min_I - NZD 
mk - NZD 
mk_AL - NZD 
mk_GR - NZD 
mk_MK - MKD 
ml - MKD 
ml_AE - MKD 
ml_BH - MKD 
ml_GB - MKD 
ml_IL - MKD 
ml_IN - INR 
ml_MY - INR 
ml_QA - INR 
ml_SG - INR 
mn_Cy - INR 
mn_Mo - INR 
mni - INR 
mni_B - INR 
mni_I - INR 
mnw - INR 
mnw_M - INR 
mnw_T - INR 
moe - INR 
moe_C - INR 
mos - INR 
mos_B - INR 
mr - INR 
mr_IN - INR 
mrd - INR 
mrd_N - INR 
mrj - INR 
mrj_R - INR 
ms - INR 
ms_BN - INR 
ms_CC - INR 
ms_ID - INR 
ms_MY - MYR 
ms_SG - MYR 
mt - MYR 
mt_MT - EUR 
mtr - EUR 
mtr_I - EUR 
mup - EUR 
mup_I - EUR 
mvy - EUR 
mvy_P - EUR 
mwk - EUR 
mwk_M - EUR 
mwr - EUR 
mwr_I - EUR 
mxc - EUR 
mxc_Z - EUR 
my - EUR 
my_BD - EUR 
my_MM - MMK 
myv - MMK 
myv_R - MMK 
myx - MMK 
myx_U - MMK 
na - MMK 
na_NR - MMK 
nap - MMK 
nap_I - MMK 
naq - MMK 
naq_N - MMK 
nb - MMK 
nb_NO - NOK 
nb_SJ - NOK 
nbf - NOK 
nbf_C - NOK 
nch - NOK 
nch_M - NOK 
nd - NOK 
nd_ZW - NOK 
ndc - NOK 
ndc_M - NOK 
ndc_Z - NOK 
nds - NOK 
nds_D - NOK 
ne - NOK 
ne_BT - NOK 
ne_IN - NOK 
ne_NP - INR 
new - INR 
new_N - INR 
ng - INR 
ng_NA - INR 
ngl - INR 
ngl_M - INR 
nhe - INR 
nhe_M - INR 
nhw - INR 
nhw_M - INR 
nij - INR 
nij_I - INR 
niu - INR 
niu_N - INR 
nl - INR 
nl_AW - AWG 
nl_BE - EUR 
nl_DE - EUR 
nl_FR - EUR 
nl_NL - EUR 
nl_SR - EUR 
nn - EUR 
nn_NO - NOK 
nod - NOK 
nod_T - NOK 
noe - NOK 
noe_I - NOK 
nr - NOK 
nr_ZA - ZAR 
nsk - ZAR 
nsk_C - ZAR 
nso - ZAR 
nso_Z - ZAR 
nv - ZAR 
nv_US - ZAR 
ny - ZAR 
ny_MW - ZAR 
ny_MZ - ZAR 
ny_ZM - ZAR 
ny_ZW - ZAR 
nym - ZAR 
nym_T - ZAR 
nyn - ZAR 
nyn_U - ZAR 
oc - ZAR 
oc_FR - EUR 
om - EUR 
om_ET - ETB 
om_KE - KES 
om_SO - KES 
or - KES 
or_IN - INR 
os - INR 
os_GE - INR 
pa_Ar - INR 
pa_Gu - INR 
pa_IN - INR 
pag - INR 
pag_P - INR 
pam - INR 
pam_P - INR 
pap - INR 
pap_A - INR 
pau - INR 
pau_P - INR 
pko - INR 
pko_K - INR 
pl - INR 
pl_CZ - INR 
pl_DE - INR 
pl_IL - INR 
pl_PL - PLN 
pl_RO - PLN 
pl_SK - PLN 
pl_UA - PLN 
pon - PLN 
pon_F - PLN 
prd - PLN 
prd_A - PLN 
prd_I - PLN 
ps - PLN 
ps_AE - PLN 
ps_AF - AFN 
ps_IR - AFN 
ps_PK - AFN 
pt - AFN 
pt_AG - AFN 
pt_AO - AFN 
pt_BR - BRL 
pt_CV - BRL 
pt_FR - BRL 
pt_GW - BRL 
pt_MO - BRL 
pt_MZ - BRL 
pt_PT - EUR 
pt_ST - EUR 
pt_TL - EUR 
puu - EUR 
puu_G - EUR 
qu - EUR 
qu_BO - EUR 
qu_PE - EUR 
rcf - EUR 
rcf_R - EUR 
rej - EUR 
rej_I - EUR 
ria - EUR 
ria_I - EUR 
rif - EUR 
rif_M - EUR 
rif_N - EUR 
rjb - EUR 
rjb_N - EUR 
rm - EUR 
rm_CH - EUR 
rmf - EUR 
rmf_F - EUR 
rmo - EUR 
rmo_C - EUR 
rmt - EUR 
rmt_I - EUR 
rn - EUR 
rn_BI - EUR 
rng - EUR 
rng_M - EUR 
ro - EUR 
ro_HU - EUR 
ro_IL - EUR 
ro_MD - EUR 
ro_RO - RON 
ro_RS - RON 
ro_UA - RON 
rof - RON 
rof_T - RON 
ru - RON 
ru_BY - RON 
ru_CN - RON 
ru_DE - RON 
ru_EE - RON 
ru_FI - RON 
ru_GE - RON 
ru_IL - RON 
ru_KG - RON 
ru_KZ - RON 
ru_LT - RON 
ru_LV - RON 
ru_MD - RON 
ru_MN - RON 
ru_RU - RUB 
ru_SJ - RUB 
ru_TM - RUB 
ru_UA - UAH 
ru_US - UAH 
ru_UZ - UAH 
rue - UAH 
rue_U - UAH 
rw - UAH 
rw_CD - UAH 
rw_RW - RWF 
rw_UG - RWF 
rwk - RWF 
rwk_T - RWF 
ryu - RWF 
ryu_J - RWF 
sa - RWF 
sa_IN - INR 
sah - INR 
sah_R - INR 
saq - INR 
saq_K - INR 
sas - INR 
sas_I - INR 
sat - INR 
sat_I - INR 
saz - INR 
saz_I - INR 
sck - INR 
sck_I - INR 
scn - INR 
scn_I - INR 
sco - INR 
sco_G - INR 
scs - INR 
scs_C - INR 
sd_Ar - INR 
sd_De - INR 
sdh - INR 
sdh_I - INR 
se - INR 
se_FI - INR 
se_NO - NOK 
se_SE - NOK 
sef - NOK 
sef_C - NOK 
seh - NOK 
seh_M - NOK 
ses - NOK 
ses_M - NOK 
sg - NOK 
sg_CF - NOK 
shi_L - NOK 
shi_T - NOK 
shn - NOK 
shn_M - NOK 
shn_T - NOK 
si - NOK 
si_LK - LKR 
sid - LKR 
sid_E - LKR 
sk - LKR 
sk_HU - LKR 
sk_RS - LKR 
sk_SK - EUR 
skr - EUR 
skr_P - EUR 
sl - EUR 
sl_AT - EUR 
sl_HU - EUR 
sl_IT - EUR 
sl_SI - EUR 
sm - EUR 
sm_AS - EUR 
sm_WS - EUR 
sma - EUR 
sma_S - EUR 
smj - EUR 
smj_S - EUR 
smn - EUR 
smn_F - EUR 
sms - EUR 
sms_F - EUR 
sn - EUR 
sn_ZW - EUR 
snk - EUR 
snk_M - EUR 
so - EUR 
so_DJ - DJF 
so_ET - ETB 
so_KE - ETB 
so_SO - SOS 
sou - SOS 
sou_T - SOS 
sq - SOS 
sq_AL - ALL 
sq_GR - ALL 
sq_ME - ALL 
sq_MK - MKD 
sq_RS - MKD 
sq_TR - MKD 
sr_Cy - MKD 
sr_La - MKD 
sr_RS - RSD 
srn - RSD 
srn_S - RSD 
srr - RSD 
srr_S - RSD 
srx - RSD 
srx_I - RSD 
ss - RSD 
ss_LS - RSD 
ss_SZ - RSD 
ss_ZA - ZAR 
ssy - ZAR 
ssy_E - ZAR 
st - ZAR 
st_LS - ZAR 
st_ZA - ZAR 
su - ZAR 
su_ID - ZAR 
suk - ZAR 
suk_T - ZAR 
sus - ZAR 
sus_G - ZAR 
sv - ZAR 
sv_AX - ZAR 
sv_FI - EUR 
sv_SE - SEK 
sw - SEK 
sw_BI - SEK 
sw_CD - SEK 
sw_KE - SEK 
sw_MZ - SEK 
sw_SO - SEK 
sw_TZ - SEK 
sw_UG - SEK 
sw_YT - SEK 
sw_ZA - SEK 
swb - SEK 
swb_Y - SEK 
swv - SEK 
swv_I - SEK 
sxn - SEK 
sxn_I - SEK 
syi - SEK 
syi_G - SEK 
syl - SEK 
syl_B - SEK 
syl_G - SEK 
syr - SEK 
syr_S - SEK 
ta - SEK 
ta_IN - INR 
ta_LK - INR 
ta_MU - INR 
ta_MY - INR 
ta_RE - INR 
ta_SG - INR 
taj - INR 
taj_N - INR 
tbw - INR 
tbw_P - INR 
tcy - INR 
tcy_I - INR 
tdd - INR 
tdd_C - INR 
tdg - INR 
tdg_N - INR 
tdh - INR 
tdh_N - INR 
te - INR 
te_IN - INR 
tem - INR 
tem_S - INR 
teo - INR 
teo_K - INR 
teo_U - INR 
tet - INR 
tet_T - INR 
tg_Ar - INR 
tg_Cy - INR 
th - INR 
th_TH - THB 
thl - THB 
thl_N - THB 
thq - THB 
thq_N - THB 
thr - THB 
thr_N - THB 
ti - THB 
ti_ER - ERN 
ti_ET - ETB 
ti_IL - ETB 
tig - ETB 
tig_E - ETB 
tiv - ETB 
tiv_N - ETB 
tk - ETB 
tk_AF - ETB 
tk_IR - ETB 
tk_TM - TMM 
tkl - TMM 
tkl_T - TMM 
tkt - TMM 
tkt_N - TMM 
tl - TMM 
tl_PH - PHP 
tl_US - PHP 
tmh - PHP 
tmh_M - PHP 
tmh_N - PHP 
tn - PHP 
tn_BW - PHP 
tn_NA - PHP 
tn_ZA - ZAR 
tn_ZW - ZAR 
to - ZAR 
to_TO - ZAR 
tpi - ZAR 
tpi_P - ZAR 
tr - ZAR 
tr_BG - ZAR 
tr_CY - TRY 
tr_DE - TRY 
tr_GR - TRY 
tr_MK - TRY 
tr_NL - TRY 
tr_RO - TRY 
tr_TR - TRY 
tr_UA - TRY 
tr_UZ - TRY 
trv - TRY 
trv_T - TRY 
ts - TRY 
ts_MZ - TRY 
ts_SZ - TRY 
ts_ZA - ZAR 
tsf - ZAR 
tsf_N - ZAR 
tsg - ZAR 
tsg_P - ZAR 
tsj - ZAR 
tsj_B - ZAR 
tt - ZAR 
tt_RU - RUB 
ttj - RUB 
ttj_U - RUB 
tts - RUB 
tts_T - RUB 
tum - RUB 
tum_M - RUB 
tvl - RUB 
tvl_T - RUB 
twq - RUB 
twq_N - RUB 
ty - RUB 
ty_PF - RUB 
tyv - RUB 
tyv_R - RUB 
tzm - RUB 
tzm_M - RUB 
udm - RUB 
udm_R - RUB 
ug_Ar - RUB 
ug_Cy - RUB 
uk - RUB 
uk_PL - RUB 
uk_SK - RUB 
uk_UA - UAH 
uli - UAH 
uli_F - UAH 
umb - UAH 
umb_A - UAH 
unr - UAH 
unr_I - UAH 
unr_N - UAH 
unx - UAH 
unx_I - UAH 
ur - UAH 
ur_IN - UAH 
ur_MU - UAH 
ur_PK - PKR 
uz_Ar - PKR 
uz_Cy - PKR 
uz_La - PKR 
vai - PKR 
vai_L - PKR 
ve - PKR 
ve_ZA - ZAR 
ve_ZW - ZAR 
vi - ZAR 
vi_CN - ZAR 
vi_US - ZAR 
vi_VN - VND 
vmw - VND 
vmw_M - VND 
vun - VND 
vun_T - VND 
wa - VND 
wa_BE - EUR 
wae - EUR 
wae_C - EUR 
wae_L - EUR 
wal - EUR 
wal_E - EUR 
war - EUR 
war_P - EUR 
wbq - EUR 
wbq_I - EUR 
wbr - EUR 
wbr_I - EUR 
wls - EUR 
wls_W - EUR 
wo_La - EUR 
wtm - EUR 
wtm_I - EUR 
xav - EUR 
xav_B - EUR 
xh - EUR 
xh_LS - EUR 
xh_ZA - ZAR 
xnr - ZAR 
xnr_I - ZAR 
xog - ZAR 
xog_U - ZAR 
xsl - ZAR 
xsl_C - ZAR 
xsr - ZAR 
xsr_N - ZAR 
yao - ZAR 
yao_M - ZAR 
yap - ZAR 
yap_F - ZAR 
yi - ZAR 
yi_UA - ZAR 
yo - ZAR 
yo_BJ - ZAR 
yo_NG - NGN 
yua - NGN 
yua_M - NGN 
za - NGN 
za_CN - NGN 
zdj - NGN 
zdj_K - NGN 
zea - NGN 
zea_N - NGN 
zh_CN - CNY 
zh_Ha - CNY 
zh_HK - HKD 
zh_TW - TWD 
zmi - TWD 
zmi_M - TWD 
zu - TWD 
zu_LS - TWD 
zu_MW - TWD 
zu_MZ - TWD 
zu_SZ - TWD 
zu_ZA - ZAR
2

По вашему конкретному вопросу вы можете сначала преобразовать 3-значный код валюты ISO 4217 в 2-буквенный код страны ISO 3166-1 alpha-2 и сопоставить код страны со списком локалей POSIX, признав, что несколько локалей с несколькими языками могут совпадать,

Для вашего более общего вопроса, почему вы хотите установить локаль на основе валюты? Одна валюта может отображаться на многих языках и языках, а также человек в одном регионе может захотеть посмотреть на разные валюты. Хотя es_US является поддерживаемой es_US, могут быть другие комбинации, которые не являются. Не было бы лучше, если бы они были установлены независимо?

Сопоставление кодов валют по странам

Чтобы конвертировать коды валют ISO 4217 в коды стран ISO 3166, вы можете использовать приведенные ниже таблицы преобразования Open Knowledge Foundation, которые приведены в формате JSON и CSV:

HTML: http://data.okfn.org/data/core/country-codes

JSON: http://data.okfn.org/data/core/country-codes/r/country-codes.json

CSV: https://raw.githubusercontent.com/datasets/country-codes/master/data/country-codes.csv

Список мест POSIX

Чтобы преобразовать коды стран ISO 3166 в POSIX Locales, вы можете использовать список локалей для поиска мест с соответствующими кодами стран. Список локалей доступен в следующих местах в системах Linux:

/usr/share/i18n/SUPPORTED

Это также было отправлено в StackOverflow здесь:

Список всех мест и их коротких кодов?

Больше информации

Коды валюты ISO: http://www.iso.org/iso/home/standards/currency_codes.htm

Ещё вопросы

Сообщество Overcoder
Наверх
Меню