所有地区和他们的短代码列表?

我正在为我正在编写的PHP应用程序寻找所有地区及其短代码的列表。不同平台之间的数据是否存在很大差异?

另外,如果我正在开发一个国际应用程序,我是否可以只支持一种英语版本,或者世界各地的英语是否存在显著差异?

517628 次浏览

下面是一个相当详尽的文化规范列表。据我所知,编程语言之间没有差异,因为它是RFC标准。至于英语,我认为如果你支持通用的en或可能的en-US,那么你应该没问题。

http://www.w3.org/International/articles/language-tags/

"语言标记语法由 IETF的BCP 47。BCP代表“最佳” Current Practice’,是一种坚持 一系列rfc的名称 数字随着更新而变化。 最新的RFC描述语言标签 语法为RFC 5646,标签为 语言鉴定,它 废除旧的rfc 4646, 3066 和1766。< / p >

您过去通过查询来查找子标签 各种ISO的代码列表 标准,但现在你可以找到所有 IANA Language子标签 注册表。< / > " < / p >

我相信大多数语言环境感知应用程序(由专业人员编写)都遵守这个标准。它不只是某个人拼凑起来的东西,不同的人会有不同的解读。

我强烈建议您研究您的特定开发语言的国际化特性,因为如果不这样做,您很可能会重新发明轮子。

语言环境的重要性在于,即使您在编写应用程序时不知道它们,您的环境/os也可以为所有已安装的语言环境提供格式化功能。我的Windows 7系统安装了211个地区(下面列出),所以你不太可能针对这么多地区编写任何定制代码或翻译。

编辑:原始区域设置列表已被编辑,以添加以前未包含的其他区域设置。现在有228家上市了。

对于各种版本的英语来说,最重要的是数字和日期的格式。其他差异在您希望和能够满足特定变化的程度上是重要的。

af-ZA
am-ET
ar-AE
ar-BH
ar-DZ
ar-EG
ar-IQ
ar-JO
ar-KW
ar-LB
ar-LY
ar-MA
arn-CL
ar-OM
ar-QA
ar-SA
ar-SD
ar-SY
ar-TN
ar-YE
as-IN
az-az
az-Cyrl-AZ
az-Latn-AZ
ba-RU
be-BY
bg-BG
bn-BD
bn-IN
bo-CN
br-FR
bs-Cyrl-BA
bs-Latn-BA
ca-ES
co-FR
cs-CZ
cy-GB
da-DK
de-AT
de-CH
de-DE
de-LI
de-LU
dsb-DE
dv-MV
el-CY
el-GR
en-029
en-AU
en-BZ
en-CA
en-cb
en-GB
en-IE
en-IN
en-JM
en-MT
en-MY
en-NZ
en-PH
en-SG
en-TT
en-US
en-ZA
en-ZW
es-AR
es-BO
es-CL
es-CO
es-CR
es-DO
es-EC
es-ES
es-GT
es-HN
es-MX
es-NI
es-PA
es-PE
es-PR
es-PY
es-SV
es-US
es-UY
es-VE
et-EE
eu-ES
fa-IR
fi-FI
fil-PH
fo-FO
fr-BE
fr-CA
fr-CH
fr-FR
fr-LU
fr-MC
fy-NL
ga-IE
gd-GB
gd-ie
gl-ES
gsw-FR
gu-IN
ha-Latn-NG
he-IL
hi-IN
hr-BA
hr-HR
hsb-DE
hu-HU
hy-AM
id-ID
ig-NG
ii-CN
in-ID
is-IS
it-CH
it-IT
iu-Cans-CA
iu-Latn-CA
iw-IL
ja-JP
ka-GE
kk-KZ
kl-GL
km-KH
kn-IN
kok-IN
ko-KR
ky-KG
lb-LU
lo-LA
lt-LT
lv-LV
mi-NZ
mk-MK
ml-IN
mn-MN
mn-Mong-CN
moh-CA
mr-IN
ms-BN
ms-MY
mt-MT
nb-NO
ne-NP
nl-BE
nl-NL
nn-NO
no-no
nso-ZA
oc-FR
or-IN
pa-IN
pl-PL
prs-AF
ps-AF
pt-BR
pt-PT
qut-GT
quz-BO
quz-EC
quz-PE
rm-CH
ro-mo
ro-RO
ru-mo
ru-RU
rw-RW
sah-RU
sa-IN
se-FI
se-NO
se-SE
si-LK
sk-SK
sl-SI
sma-NO
sma-SE
smj-NO
smj-SE
smn-FI
sms-FI
sq-AL
sr-BA
sr-CS
sr-Cyrl-BA
sr-Cyrl-CS
sr-Cyrl-ME
sr-Cyrl-RS
sr-Latn-BA
sr-Latn-CS
sr-Latn-ME
sr-Latn-RS
sr-ME
sr-RS
sr-sp
sv-FI
sv-SE
sw-KE
syr-SY
ta-IN
te-IN
tg-Cyrl-TJ
th-TH
tk-TM
tlh-QS
tn-ZA
tr-TR
tt-RU
tzm-Latn-DZ
ug-CN
uk-UA
ur-PK
uz-Cyrl-UZ
uz-Latn-UZ
uz-uz
vi-VN
wo-SN
xh-ZA
yo-NG
zh-CN
zh-HK
zh-MO
zh-SG
zh-TW
zu-ZA

虽然公认的答案是相当完整的(我用自己在类似的问题出现在我身上),我认为值得把整个支持的语言代码和变体,作为编码,并为用户指向一个文件,几乎在任何linux发行版中都存在,以防他只是想要一个更快的答案,例如没有互联网。

这是文件/usr/share/i18n/SUPPORTED及其内容:

aa_DJ.UTF-8 UTF-8
aa_DJ ISO-8859-1
aa_ER UTF-8
aa_ER@saaho UTF-8
aa_ET UTF-8
af_ZA.UTF-8 UTF-8
af_ZA ISO-8859-1
am_ET UTF-8
an_ES.UTF-8 UTF-8
an_ES ISO-8859-15
ar_AE.UTF-8 UTF-8
ar_AE ISO-8859-6
ar_BH.UTF-8 UTF-8
ar_BH ISO-8859-6
ar_DZ.UTF-8 UTF-8
ar_DZ ISO-8859-6
ar_EG.UTF-8 UTF-8
ar_EG ISO-8859-6
ar_IN UTF-8
ar_IQ.UTF-8 UTF-8
ar_IQ ISO-8859-6
ar_JO.UTF-8 UTF-8
ar_JO ISO-8859-6
ar_KW.UTF-8 UTF-8
ar_KW ISO-8859-6
ar_LB.UTF-8 UTF-8
ar_LB ISO-8859-6
ar_LY.UTF-8 UTF-8
ar_LY ISO-8859-6
ar_MA.UTF-8 UTF-8
ar_MA ISO-8859-6
ar_OM.UTF-8 UTF-8
ar_OM ISO-8859-6
ar_QA.UTF-8 UTF-8
ar_QA ISO-8859-6
ar_SA.UTF-8 UTF-8
ar_SA ISO-8859-6
ar_SD.UTF-8 UTF-8
ar_SD ISO-8859-6
ar_SY.UTF-8 UTF-8
ar_SY ISO-8859-6
ar_TN.UTF-8 UTF-8
ar_TN ISO-8859-6
ar_YE.UTF-8 UTF-8
ar_YE ISO-8859-6
az_AZ UTF-8
as_IN UTF-8
ast_ES.UTF-8 UTF-8
ast_ES ISO-8859-15
be_BY.UTF-8 UTF-8
be_BY CP1251
be_BY@latin UTF-8
bem_ZM UTF-8
ber_DZ UTF-8
ber_MA UTF-8
bg_BG.UTF-8 UTF-8
bg_BG CP1251
bho_IN UTF-8
bn_BD UTF-8
bn_IN UTF-8
bo_CN UTF-8
bo_IN UTF-8
br_FR.UTF-8 UTF-8
br_FR ISO-8859-1
br_FR@euro ISO-8859-15
brx_IN UTF-8
bs_BA.UTF-8 UTF-8
bs_BA ISO-8859-2
byn_ER UTF-8
ca_AD.UTF-8 UTF-8
ca_AD ISO-8859-15
ca_ES.UTF-8 UTF-8
ca_ES ISO-8859-1
ca_ES@euro ISO-8859-15
ca_FR.UTF-8 UTF-8
ca_FR ISO-8859-15
ca_IT.UTF-8 UTF-8
ca_IT ISO-8859-15
crh_UA UTF-8
cs_CZ.UTF-8 UTF-8
cs_CZ ISO-8859-2
csb_PL UTF-8
cv_RU UTF-8
cy_GB.UTF-8 UTF-8
cy_GB ISO-8859-14
da_DK.UTF-8 UTF-8
da_DK ISO-8859-1
de_AT.UTF-8 UTF-8
de_AT ISO-8859-1
de_AT@euro ISO-8859-15
de_BE.UTF-8 UTF-8
de_BE ISO-8859-1
de_BE@euro ISO-8859-15
de_CH.UTF-8 UTF-8
de_CH ISO-8859-1
de_DE.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
de_LU.UTF-8 UTF-8
de_LU ISO-8859-1
de_LU@euro ISO-8859-15
dv_MV UTF-8
dz_BT UTF-8
el_GR.UTF-8 UTF-8
el_GR ISO-8859-7
el_CY.UTF-8 UTF-8
el_CY ISO-8859-7
en_AG UTF-8
en_AU.UTF-8 UTF-8
en_AU ISO-8859-1
en_BW.UTF-8 UTF-8
en_BW ISO-8859-1
en_CA.UTF-8 UTF-8
en_CA ISO-8859-1
en_DK.UTF-8 UTF-8
en_DK ISO-8859-1
en_GB.UTF-8 UTF-8
en_GB ISO-8859-1
en_HK.UTF-8 UTF-8
en_HK ISO-8859-1
en_IE.UTF-8 UTF-8
en_IE ISO-8859-1
en_IE@euro ISO-8859-15
en_IN UTF-8
en_NG UTF-8
en_NZ.UTF-8 UTF-8
en_NZ ISO-8859-1
en_PH.UTF-8 UTF-8
en_PH ISO-8859-1
en_SG.UTF-8 UTF-8
en_SG ISO-8859-1
en_US.UTF-8 UTF-8
en_US ISO-8859-1
en_ZA.UTF-8 UTF-8
en_ZA ISO-8859-1
en_ZM UTF-8
en_ZW.UTF-8 UTF-8
en_ZW ISO-8859-1
es_AR.UTF-8 UTF-8
es_AR ISO-8859-1
es_BO.UTF-8 UTF-8
es_BO ISO-8859-1
es_CL.UTF-8 UTF-8
es_CL ISO-8859-1
es_CO.UTF-8 UTF-8
es_CO ISO-8859-1
es_CR.UTF-8 UTF-8
es_CR ISO-8859-1
es_CU UTF-8
es_DO.UTF-8 UTF-8
es_DO ISO-8859-1
es_EC.UTF-8 UTF-8
es_EC ISO-8859-1
es_ES.UTF-8 UTF-8
es_ES ISO-8859-1
es_ES@euro ISO-8859-15
es_GT.UTF-8 UTF-8
es_GT ISO-8859-1
es_HN.UTF-8 UTF-8
es_HN ISO-8859-1
es_MX.UTF-8 UTF-8
es_MX ISO-8859-1
es_NI.UTF-8 UTF-8
es_NI ISO-8859-1
es_PA.UTF-8 UTF-8
es_PA ISO-8859-1
es_PE.UTF-8 UTF-8
es_PE ISO-8859-1
es_PR.UTF-8 UTF-8
es_PR ISO-8859-1
es_PY.UTF-8 UTF-8
es_PY ISO-8859-1
es_SV.UTF-8 UTF-8
es_SV ISO-8859-1
es_US.UTF-8 UTF-8
es_US ISO-8859-1
es_UY.UTF-8 UTF-8
es_UY ISO-8859-1
es_VE.UTF-8 UTF-8
es_VE ISO-8859-1
et_EE.UTF-8 UTF-8
et_EE ISO-8859-1
et_EE.ISO-8859-15 ISO-8859-15
eu_ES.UTF-8 UTF-8
eu_ES ISO-8859-1
eu_ES@euro ISO-8859-15
fa_IR UTF-8
ff_SN UTF-8
fi_FI.UTF-8 UTF-8
fi_FI ISO-8859-1
fi_FI@euro ISO-8859-15
fil_PH UTF-8
fo_FO.UTF-8 UTF-8
fo_FO ISO-8859-1
fr_BE.UTF-8 UTF-8
fr_BE ISO-8859-1
fr_BE@euro ISO-8859-15
fr_CA.UTF-8 UTF-8
fr_CA ISO-8859-1
fr_CH.UTF-8 UTF-8
fr_CH ISO-8859-1
fr_FR.UTF-8 UTF-8
fr_FR ISO-8859-1
fr_FR@euro ISO-8859-15
fr_LU.UTF-8 UTF-8
fr_LU ISO-8859-1
fr_LU@euro ISO-8859-15
fur_IT UTF-8
fy_NL UTF-8
fy_DE UTF-8
ga_IE.UTF-8 UTF-8
ga_IE ISO-8859-1
ga_IE@euro ISO-8859-15
gd_GB.UTF-8 UTF-8
gd_GB ISO-8859-15
gez_ER UTF-8
gez_ER@abegede UTF-8
gez_ET UTF-8
gez_ET@abegede UTF-8
gl_ES.UTF-8 UTF-8
gl_ES ISO-8859-1
gl_ES@euro ISO-8859-15
gu_IN UTF-8
gv_GB.UTF-8 UTF-8
gv_GB ISO-8859-1
ha_NG UTF-8
he_IL.UTF-8 UTF-8
he_IL ISO-8859-8
hi_IN UTF-8
hne_IN UTF-8
hr_HR.UTF-8 UTF-8
hr_HR ISO-8859-2
hsb_DE ISO-8859-2
hsb_DE.UTF-8 UTF-8
ht_HT UTF-8
hu_HU.UTF-8 UTF-8
hu_HU ISO-8859-2
hy_AM UTF-8
hy_AM.ARMSCII-8 ARMSCII-8
id_ID.UTF-8 UTF-8
id_ID ISO-8859-1
ig_NG UTF-8
ik_CA UTF-8
is_IS.UTF-8 UTF-8
is_IS ISO-8859-1
it_CH.UTF-8 UTF-8
it_CH ISO-8859-1
it_IT.UTF-8 UTF-8
it_IT ISO-8859-1
it_IT@euro ISO-8859-15
iu_CA UTF-8
iw_IL.UTF-8 UTF-8
iw_IL ISO-8859-8
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
ka_GE.UTF-8 UTF-8
ka_GE GEORGIAN-PS
kk_KZ.UTF-8 UTF-8
kk_KZ PT154
kl_GL.UTF-8 UTF-8
kl_GL ISO-8859-1
km_KH UTF-8
kn_IN UTF-8
ko_KR.EUC-KR EUC-KR
ko_KR.UTF-8 UTF-8
kok_IN UTF-8
ks_IN UTF-8
ks_IN@devanagari UTF-8
ku_TR.UTF-8 UTF-8
ku_TR ISO-8859-9
kw_GB.UTF-8 UTF-8
kw_GB ISO-8859-1
ky_KG UTF-8
lb_LU UTF-8
lg_UG.UTF-8 UTF-8
lg_UG ISO-8859-10
li_BE UTF-8
li_NL UTF-8
lij_IT UTF-8
lo_LA UTF-8
lt_LT.UTF-8 UTF-8
lt_LT ISO-8859-13
lv_LV.UTF-8 UTF-8
lv_LV ISO-8859-13
mag_IN UTF-8
mai_IN UTF-8
mg_MG.UTF-8 UTF-8
mg_MG ISO-8859-15
mhr_RU UTF-8
mi_NZ.UTF-8 UTF-8
mi_NZ ISO-8859-13
mk_MK.UTF-8 UTF-8
mk_MK ISO-8859-5
ml_IN UTF-8
mn_MN UTF-8
mr_IN UTF-8
ms_MY.UTF-8 UTF-8
ms_MY ISO-8859-1
mt_MT.UTF-8 UTF-8
mt_MT ISO-8859-3
my_MM UTF-8
nan_TW@latin UTF-8
nb_NO.UTF-8 UTF-8
nb_NO ISO-8859-1
nds_DE UTF-8
nds_NL UTF-8
ne_NP UTF-8
nl_AW UTF-8
nl_BE.UTF-8 UTF-8
nl_BE ISO-8859-1
nl_BE@euro ISO-8859-15
nl_NL.UTF-8 UTF-8
nl_NL ISO-8859-1
nl_NL@euro ISO-8859-15
nn_NO.UTF-8 UTF-8
nn_NO ISO-8859-1
nr_ZA UTF-8
nso_ZA UTF-8
oc_FR.UTF-8 UTF-8
oc_FR ISO-8859-1
om_ET UTF-8
om_KE.UTF-8 UTF-8
om_KE ISO-8859-1
or_IN UTF-8
os_RU UTF-8
pa_IN UTF-8
pa_PK UTF-8
pap_AN UTF-8
pl_PL.UTF-8 UTF-8
pl_PL ISO-8859-2
ps_AF UTF-8
pt_BR.UTF-8 UTF-8
pt_BR ISO-8859-1
pt_PT.UTF-8 UTF-8
pt_PT ISO-8859-1
pt_PT@euro ISO-8859-15
ro_RO.UTF-8 UTF-8
ro_RO ISO-8859-2
ru_RU.KOI8-R KOI8-R
ru_RU.UTF-8 UTF-8
ru_RU ISO-8859-5
ru_UA.UTF-8 UTF-8
ru_UA KOI8-U
rw_RW UTF-8
sa_IN UTF-8
sc_IT UTF-8
sd_IN UTF-8
sd_IN@devanagari UTF-8
se_NO UTF-8
shs_CA UTF-8
si_LK UTF-8
sid_ET UTF-8
sk_SK.UTF-8 UTF-8
sk_SK ISO-8859-2
sl_SI.UTF-8 UTF-8
sl_SI ISO-8859-2
so_DJ.UTF-8 UTF-8
so_DJ ISO-8859-1
so_ET UTF-8
so_KE.UTF-8 UTF-8
so_KE ISO-8859-1
so_SO.UTF-8 UTF-8
so_SO ISO-8859-1
sq_AL.UTF-8 UTF-8
sq_AL ISO-8859-1
sq_MK UTF-8
sr_ME UTF-8
sr_RS UTF-8
sr_RS@latin UTF-8
ss_ZA UTF-8
st_ZA.UTF-8 UTF-8
st_ZA ISO-8859-1
sv_FI.UTF-8 UTF-8
sv_FI ISO-8859-1
sv_FI@euro ISO-8859-15
sv_SE.UTF-8 UTF-8
sv_SE ISO-8859-1
sw_KE UTF-8
sw_TZ UTF-8
ta_IN UTF-8
ta_LK UTF-8
te_IN UTF-8
tg_TJ.UTF-8 UTF-8
tg_TJ KOI8-T
th_TH.UTF-8 UTF-8
th_TH TIS-620
ti_ER UTF-8
ti_ET UTF-8
tig_ER UTF-8
tk_TM UTF-8
tl_PH.UTF-8 UTF-8
tl_PH ISO-8859-1
tn_ZA UTF-8
tr_CY.UTF-8 UTF-8
tr_CY ISO-8859-9
tr_TR.UTF-8 UTF-8
tr_TR ISO-8859-9
ts_ZA UTF-8
tt_RU UTF-8
tt_RU@iqtelif UTF-8
ug_CN UTF-8
uk_UA.UTF-8 UTF-8
uk_UA KOI8-U
unm_US UTF-8
ur_IN UTF-8
ur_PK UTF-8
uz_UZ ISO-8859-1
uz_UZ@cyrillic UTF-8
ve_ZA UTF-8
vi_VN UTF-8
wa_BE ISO-8859-1
wa_BE@euro ISO-8859-15
wa_BE.UTF-8 UTF-8
wae_CH UTF-8
wal_ET UTF-8
wo_SN UTF-8
xh_ZA.UTF-8 UTF-8
xh_ZA ISO-8859-1
yi_US.UTF-8 UTF-8
yi_US CP1255
yo_NG UTF-8
yue_HK UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN GB2312
zh_HK.UTF-8 UTF-8
zh_HK BIG5-HKSCS
zh_SG.UTF-8 UTF-8
zh_SG.GBK GBK
zh_SG GB2312
zh_TW.EUC-TW EUC-TW
zh_TW.UTF-8 UTF-8
zh_TW BIG5
zu_ZA.UTF-8 UTF-8
zu_ZA ISO-8859-1

公认的答案忽略了一些相当重要的地区。例如,中文的地方不区分不同的经文(简体汉字,繁体汉字)。一个想要使用繁体汉字的中国大陆公民应该使用什么——香港的背景?

我已经采取这是iOS地区的列表,删除奇怪的POSIX条目,格式化为Javascript并按值排序(所以如果你使用一个有序的对象实现,并通过遍历键并返回值创建一个列表,它将以正确的顺序显示人类可读的文本)。此外,该列表既包含每种语言的主条目,也包含所有特定于地区的变体——这样你就总是有一个指定的后退选项,比如如果你的界面只定义了'en'选项——否则你就不知道该可靠地依靠什么。

var LANGUAGE_BY_LOCALE = {
af_NA: "Afrikaans (Namibia)",
af_ZA: "Afrikaans (South Africa)",
af: "Afrikaans",
ak_GH: "Akan (Ghana)",
ak: "Akan",
sq_AL: "Albanian (Albania)",
sq: "Albanian",
am_ET: "Amharic (Ethiopia)",
am: "Amharic",
ar_DZ: "Arabic (Algeria)",
ar_BH: "Arabic (Bahrain)",
ar_EG: "Arabic (Egypt)",
ar_IQ: "Arabic (Iraq)",
ar_JO: "Arabic (Jordan)",
ar_KW: "Arabic (Kuwait)",
ar_LB: "Arabic (Lebanon)",
ar_LY: "Arabic (Libya)",
ar_MA: "Arabic (Morocco)",
ar_OM: "Arabic (Oman)",
ar_QA: "Arabic (Qatar)",
ar_SA: "Arabic (Saudi Arabia)",
ar_SD: "Arabic (Sudan)",
ar_SY: "Arabic (Syria)",
ar_TN: "Arabic (Tunisia)",
ar_AE: "Arabic (United Arab Emirates)",
ar_YE: "Arabic (Yemen)",
ar: "Arabic",
hy_AM: "Armenian (Armenia)",
hy: "Armenian",
as_IN: "Assamese (India)",
as: "Assamese",
asa_TZ: "Asu (Tanzania)",
asa: "Asu",
az_Cyrl: "Azerbaijani (Cyrillic)",
az_Cyrl_AZ: "Azerbaijani (Cyrillic, Azerbaijan)",
az_Latn: "Azerbaijani (Latin)",
az_Latn_AZ: "Azerbaijani (Latin, Azerbaijan)",
az: "Azerbaijani",
bm_ML: "Bambara (Mali)",
bm: "Bambara",
eu_ES: "Basque (Spain)",
eu: "Basque",
be_BY: "Belarusian (Belarus)",
be: "Belarusian",
bem_ZM: "Bemba (Zambia)",
bem: "Bemba",
bez_TZ: "Bena (Tanzania)",
bez: "Bena",
bn_BD: "Bengali (Bangladesh)",
bn_IN: "Bengali (India)",
bn: "Bengali",
bs_BA: "Bosnian (Bosnia and Herzegovina)",
bs: "Bosnian",
bg_BG: "Bulgarian (Bulgaria)",
bg: "Bulgarian",
my_MM: "Burmese (Myanmar [Burma])",
my: "Burmese",
yue_Hant_HK: "Cantonese (Traditional, Hong Kong SAR China)",
ca_ES: "Catalan (Spain)",
ca: "Catalan",
tzm_Latn: "Central Morocco Tamazight (Latin)",
tzm_Latn_MA: "Central Morocco Tamazight (Latin, Morocco)",
tzm: "Central Morocco Tamazight",
chr_US: "Cherokee (United States)",
chr: "Cherokee",
cgg_UG: "Chiga (Uganda)",
cgg: "Chiga",
zh_Hans: "Chinese (Simplified Han)",
zh_Hans_CN: "Chinese (Simplified Han, China)",
zh_Hans_HK: "Chinese (Simplified Han, Hong Kong SAR China)",
zh_Hans_MO: "Chinese (Simplified Han, Macau SAR China)",
zh_Hans_SG: "Chinese (Simplified Han, Singapore)",
zh_Hant: "Chinese (Traditional Han)",
zh_Hant_HK: "Chinese (Traditional Han, Hong Kong SAR China)",
zh_Hant_MO: "Chinese (Traditional Han, Macau SAR China)",
zh_Hant_TW: "Chinese (Traditional Han, Taiwan)",
zh: "Chinese",
kw_GB: "Cornish (United Kingdom)",
kw: "Cornish",
hr_HR: "Croatian (Croatia)",
hr: "Croatian",
cs_CZ: "Czech (Czech Republic)",
cs: "Czech",
da_DK: "Danish (Denmark)",
da: "Danish",
nl_BE: "Dutch (Belgium)",
nl_NL: "Dutch (Netherlands)",
nl: "Dutch",
ebu_KE: "Embu (Kenya)",
ebu: "Embu",
en_AS: "English (American Samoa)",
en_AU: "English (Australia)",
en_BE: "English (Belgium)",
en_BZ: "English (Belize)",
en_BW: "English (Botswana)",
en_CA: "English (Canada)",
en_GU: "English (Guam)",
en_HK: "English (Hong Kong SAR China)",
en_IN: "English (India)",
en_IE: "English (Ireland)",
en_IL: "English (Israel)",
en_JM: "English (Jamaica)",
en_MT: "English (Malta)",
en_MH: "English (Marshall Islands)",
en_MU: "English (Mauritius)",
en_NA: "English (Namibia)",
en_NZ: "English (New Zealand)",
en_MP: "English (Northern Mariana Islands)",
en_PK: "English (Pakistan)",
en_PH: "English (Philippines)",
en_SG: "English (Singapore)",
en_ZA: "English (South Africa)",
en_TT: "English (Trinidad and Tobago)",
en_UM: "English (U.S. Minor Outlying Islands)",
en_VI: "English (U.S. Virgin Islands)",
en_GB: "English (United Kingdom)",
en_US: "English (United States)",
en_ZW: "English (Zimbabwe)",
en: "English",
eo: "Esperanto",
et_EE: "Estonian (Estonia)",
et: "Estonian",
ee_GH: "Ewe (Ghana)",
ee_TG: "Ewe (Togo)",
ee: "Ewe",
fo_FO: "Faroese (Faroe Islands)",
fo: "Faroese",
fil_PH: "Filipino (Philippines)",
fil: "Filipino",
fi_FI: "Finnish (Finland)",
fi: "Finnish",
fr_BE: "French (Belgium)",
fr_BJ: "French (Benin)",
fr_BF: "French (Burkina Faso)",
fr_BI: "French (Burundi)",
fr_CM: "French (Cameroon)",
fr_CA: "French (Canada)",
fr_CF: "French (Central African Republic)",
fr_TD: "French (Chad)",
fr_KM: "French (Comoros)",
fr_CG: "French (Congo - Brazzaville)",
fr_CD: "French (Congo - Kinshasa)",
fr_CI: "French (Côte d’Ivoire)",
fr_DJ: "French (Djibouti)",
fr_GQ: "French (Equatorial Guinea)",
fr_FR: "French (France)",
fr_GA: "French (Gabon)",
fr_GP: "French (Guadeloupe)",
fr_GN: "French (Guinea)",
fr_LU: "French (Luxembourg)",
fr_MG: "French (Madagascar)",
fr_ML: "French (Mali)",
fr_MQ: "French (Martinique)",
fr_MC: "French (Monaco)",
fr_NE: "French (Niger)",
fr_RW: "French (Rwanda)",
fr_RE: "French (Réunion)",
fr_BL: "French (Saint Barthélemy)",
fr_MF: "French (Saint Martin)",
fr_SN: "French (Senegal)",
fr_CH: "French (Switzerland)",
fr_TG: "French (Togo)",
fr: "French",
ff_SN: "Fulah (Senegal)",
ff: "Fulah",
gl_ES: "Galician (Spain)",
gl: "Galician",
lg_UG: "Ganda (Uganda)",
lg: "Ganda",
ka_GE: "Georgian (Georgia)",
ka: "Georgian",
de_AT: "German (Austria)",
de_BE: "German (Belgium)",
de_DE: "German (Germany)",
de_LI: "German (Liechtenstein)",
de_LU: "German (Luxembourg)",
de_CH: "German (Switzerland)",
de: "German",
el_CY: "Greek (Cyprus)",
el_GR: "Greek (Greece)",
el: "Greek",
gu_IN: "Gujarati (India)",
gu: "Gujarati",
guz_KE: "Gusii (Kenya)",
guz: "Gusii",
ha_Latn: "Hausa (Latin)",
ha_Latn_GH: "Hausa (Latin, Ghana)",
ha_Latn_NE: "Hausa (Latin, Niger)",
ha_Latn_NG: "Hausa (Latin, Nigeria)",
ha: "Hausa",
haw_US: "Hawaiian (United States)",
haw: "Hawaiian",
he_IL: "Hebrew (Israel)",
he: "Hebrew",
hi_IN: "Hindi (India)",
hi: "Hindi",
hu_HU: "Hungarian (Hungary)",
hu: "Hungarian",
is_IS: "Icelandic (Iceland)",
is: "Icelandic",
ig_NG: "Igbo (Nigeria)",
ig: "Igbo",
id_ID: "Indonesian (Indonesia)",
id: "Indonesian",
ga_IE: "Irish (Ireland)",
ga: "Irish",
it_IT: "Italian (Italy)",
it_CH: "Italian (Switzerland)",
it: "Italian",
ja_JP: "Japanese (Japan)",
ja: "Japanese",
kea_CV: "Kabuverdianu (Cape Verde)",
kea: "Kabuverdianu",
kab_DZ: "Kabyle (Algeria)",
kab: "Kabyle",
kl_GL: "Kalaallisut (Greenland)",
kl: "Kalaallisut",
kln_KE: "Kalenjin (Kenya)",
kln: "Kalenjin",
kam_KE: "Kamba (Kenya)",
kam: "Kamba",
kn_IN: "Kannada (India)",
kn: "Kannada",
kk_Cyrl: "Kazakh (Cyrillic)",
kk_Cyrl_KZ: "Kazakh (Cyrillic, Kazakhstan)",
kk: "Kazakh",
km_KH: "Khmer (Cambodia)",
km: "Khmer",
ki_KE: "Kikuyu (Kenya)",
ki: "Kikuyu",
rw_RW: "Kinyarwanda (Rwanda)",
rw: "Kinyarwanda",
kok_IN: "Konkani (India)",
kok: "Konkani",
ko_KR: "Korean (South Korea)",
ko: "Korean",
khq_ML: "Koyra Chiini (Mali)",
khq: "Koyra Chiini",
ses_ML: "Koyraboro Senni (Mali)",
ses: "Koyraboro Senni",
lag_TZ: "Langi (Tanzania)",
lag: "Langi",
lv_LV: "Latvian (Latvia)",
lv: "Latvian",
lt_LT: "Lithuanian (Lithuania)",
lt: "Lithuanian",
luo_KE: "Luo (Kenya)",
luo: "Luo",
luy_KE: "Luyia (Kenya)",
luy: "Luyia",
mk_MK: "Macedonian (Macedonia)",
mk: "Macedonian",
jmc_TZ: "Machame (Tanzania)",
jmc: "Machame",
kde_TZ: "Makonde (Tanzania)",
kde: "Makonde",
mg_MG: "Malagasy (Madagascar)",
mg: "Malagasy",
ms_BN: "Malay (Brunei)",
ms_MY: "Malay (Malaysia)",
ms: "Malay",
ml_IN: "Malayalam (India)",
ml: "Malayalam",
mt_MT: "Maltese (Malta)",
mt: "Maltese",
gv_GB: "Manx (United Kingdom)",
gv: "Manx",
mr_IN: "Marathi (India)",
mr: "Marathi",
mas_KE: "Masai (Kenya)",
mas_TZ: "Masai (Tanzania)",
mas: "Masai",
mer_KE: "Meru (Kenya)",
mer: "Meru",
mfe_MU: "Morisyen (Mauritius)",
mfe: "Morisyen",
naq_NA: "Nama (Namibia)",
naq: "Nama",
ne_IN: "Nepali (India)",
ne_NP: "Nepali (Nepal)",
ne: "Nepali",
nd_ZW: "North Ndebele (Zimbabwe)",
nd: "North Ndebele",
nb_NO: "Norwegian Bokmål (Norway)",
nb: "Norwegian Bokmål",
nn_NO: "Norwegian Nynorsk (Norway)",
nn: "Norwegian Nynorsk",
nyn_UG: "Nyankole (Uganda)",
nyn: "Nyankole",
or_IN: "Oriya (India)",
or: "Oriya",
om_ET: "Oromo (Ethiopia)",
om_KE: "Oromo (Kenya)",
om: "Oromo",
ps_AF: "Pashto (Afghanistan)",
ps: "Pashto",
fa_AF: "Persian (Afghanistan)",
fa_IR: "Persian (Iran)",
fa: "Persian",
pl_PL: "Polish (Poland)",
pl: "Polish",
pt_BR: "Portuguese (Brazil)",
pt_GW: "Portuguese (Guinea-Bissau)",
pt_MZ: "Portuguese (Mozambique)",
pt_PT: "Portuguese (Portugal)",
pt: "Portuguese",
pa_Arab: "Punjabi (Arabic)",
pa_Arab_PK: "Punjabi (Arabic, Pakistan)",
pa_Guru: "Punjabi (Gurmukhi)",
pa_Guru_IN: "Punjabi (Gurmukhi, India)",
pa: "Punjabi",
ro_MD: "Romanian (Moldova)",
ro_RO: "Romanian (Romania)",
ro: "Romanian",
rm_CH: "Romansh (Switzerland)",
rm: "Romansh",
rof_TZ: "Rombo (Tanzania)",
rof: "Rombo",
ru_MD: "Russian (Moldova)",
ru_RU: "Russian (Russia)",
ru_UA: "Russian (Ukraine)",
ru: "Russian",
rwk_TZ: "Rwa (Tanzania)",
rwk: "Rwa",
saq_KE: "Samburu (Kenya)",
saq: "Samburu",
sg_CF: "Sango (Central African Republic)",
sg: "Sango",
seh_MZ: "Sena (Mozambique)",
seh: "Sena",
sr_Cyrl: "Serbian (Cyrillic)",
sr_Cyrl_BA: "Serbian (Cyrillic, Bosnia and Herzegovina)",
sr_Cyrl_ME: "Serbian (Cyrillic, Montenegro)",
sr_Cyrl_RS: "Serbian (Cyrillic, Serbia)",
sr_Latn: "Serbian (Latin)",
sr_Latn_BA: "Serbian (Latin, Bosnia and Herzegovina)",
sr_Latn_ME: "Serbian (Latin, Montenegro)",
sr_Latn_RS: "Serbian (Latin, Serbia)",
sr: "Serbian",
sn_ZW: "Shona (Zimbabwe)",
sn: "Shona",
ii_CN: "Sichuan Yi (China)",
ii: "Sichuan Yi",
si_LK: "Sinhala (Sri Lanka)",
si: "Sinhala",
sk_SK: "Slovak (Slovakia)",
sk: "Slovak",
sl_SI: "Slovenian (Slovenia)",
sl: "Slovenian",
xog_UG: "Soga (Uganda)",
xog: "Soga",
so_DJ: "Somali (Djibouti)",
so_ET: "Somali (Ethiopia)",
so_KE: "Somali (Kenya)",
so_SO: "Somali (Somalia)",
so: "Somali",
es_AR: "Spanish (Argentina)",
es_BO: "Spanish (Bolivia)",
es_CL: "Spanish (Chile)",
es_CO: "Spanish (Colombia)",
es_CR: "Spanish (Costa Rica)",
es_DO: "Spanish (Dominican Republic)",
es_EC: "Spanish (Ecuador)",
es_SV: "Spanish (El Salvador)",
es_GQ: "Spanish (Equatorial Guinea)",
es_GT: "Spanish (Guatemala)",
es_HN: "Spanish (Honduras)",
es_419: "Spanish (Latin America)",
es_MX: "Spanish (Mexico)",
es_NI: "Spanish (Nicaragua)",
es_PA: "Spanish (Panama)",
es_PY: "Spanish (Paraguay)",
es_PE: "Spanish (Peru)",
es_PR: "Spanish (Puerto Rico)",
es_ES: "Spanish (Spain)",
es_US: "Spanish (United States)",
es_UY: "Spanish (Uruguay)",
es_VE: "Spanish (Venezuela)",
es: "Spanish",
sw_KE: "Swahili (Kenya)",
sw_TZ: "Swahili (Tanzania)",
sw: "Swahili",
sv_FI: "Swedish (Finland)",
sv_SE: "Swedish (Sweden)",
sv: "Swedish",
gsw_CH: "Swiss German (Switzerland)",
gsw: "Swiss German",
shi_Latn: "Tachelhit (Latin)",
shi_Latn_MA: "Tachelhit (Latin, Morocco)",
shi_Tfng: "Tachelhit (Tifinagh)",
shi_Tfng_MA: "Tachelhit (Tifinagh, Morocco)",
shi: "Tachelhit",
dav_KE: "Taita (Kenya)",
dav: "Taita",
ta_IN: "Tamil (India)",
ta_LK: "Tamil (Sri Lanka)",
ta: "Tamil",
te_IN: "Telugu (India)",
te: "Telugu",
teo_KE: "Teso (Kenya)",
teo_UG: "Teso (Uganda)",
teo: "Teso",
th_TH: "Thai (Thailand)",
th: "Thai",
bo_CN: "Tibetan (China)",
bo_IN: "Tibetan (India)",
bo: "Tibetan",
ti_ER: "Tigrinya (Eritrea)",
ti_ET: "Tigrinya (Ethiopia)",
ti: "Tigrinya",
to_TO: "Tonga (Tonga)",
to: "Tonga",
tr_TR: "Turkish (Turkey)",
tr: "Turkish",
uk_UA: "Ukrainian (Ukraine)",
uk: "Ukrainian",
ur_IN: "Urdu (India)",
ur_PK: "Urdu (Pakistan)",
ur: "Urdu",
uz_Arab: "Uzbek (Arabic)",
uz_Arab_AF: "Uzbek (Arabic, Afghanistan)",
uz_Cyrl: "Uzbek (Cyrillic)",
uz_Cyrl_UZ: "Uzbek (Cyrillic, Uzbekistan)",
uz_Latn: "Uzbek (Latin)",
uz_Latn_UZ: "Uzbek (Latin, Uzbekistan)",
uz: "Uzbek",
vi_VN: "Vietnamese (Vietnam)",
vi: "Vietnamese",
vun_TZ: "Vunjo (Tanzania)",
vun: "Vunjo",
cy_GB: "Welsh (United Kingdom)",
cy: "Welsh",
yo_NG: "Yoruba (Nigeria)",
yo: "Yoruba",
zu_ZA: "Zulu (South Africa)",
zu: "Zulu"
}

如果你正在使用php-intl来本地化你的应用程序,你可能想要使用ResourceBundle: getLocales ()来代替你自己维护的静态列表。它还可以为您提供特定语言的locale。

<?php
print_r(ResourceBundle::getLocales(''));


/* Output might show
* Array
* (
*    [0] => af
*    [1] => af_NA
*    [2] => af_ZA
*    [3] => am
*    [4] => am_ET
*    [5] => ar
*    [6] => ar_AE
*    [7] => ar_BH
*    [8] => ar_DZ
*    [9] => ar_EG
*    [10] => ar_IQ
*  ...
*/
?>

语言列表

所有语言的名称和ISO 639-1代码的所有语言和所有数据格式的列表。

可用的格式

  • 文本
  • JSON
  • YAML
  • XML
  • 超文本标记语言
  • CSV
  • SQL (MySQL, PostgreSQL, SQLite)
  • PHP

https://github.com/umpirsky/language-list

我花了一整天的时间为我的公司整理这些信息,因为我们正在构建一个多语言平台。如果你发现任何问题,缺失的语言,或不正确的字符集,请编辑列表,以便将来更有用。下面是所有语言区域设置、名称和字符集的完整列表。

对于PHP数组,这里是链接https://github.com/jerryurenaa/language-list/blob/main/language-list-array.php

对于JSON,这里是https://github.com/jerryurenaa/language-list/blob/main/language-list-json.json链接

不知道这是怎么不建议的,但这里是使用@Michel Müller的数据的html区域:

<select class="inputField" name="locale">
<option value="af_NA">Afrikaans (Namibia)</option>
<option value="af_ZA">Afrikaans (South Africa)</option>
<option value="af">Afrikaans</option>
<option value="ak_GH">Akan (Ghana)</option>
<option value="ak">Akan</option>
<option value="sq_AL">Albanian (Albania)</option>
<option value="sq">Albanian</option>
<option value="am_ET">Amharic (Ethiopia)</option>
<option value="am">Amharic</option>
<option value="ar_DZ">Arabic (Algeria)</option>
<option value="ar_BH">Arabic (Bahrain)</option>
<option value="ar_EG">Arabic (Egypt)</option>
<option value="ar_IQ">Arabic (Iraq)</option>
<option value="ar_JO">Arabic (Jordan)</option>
<option value="ar_KW">Arabic (Kuwait)</option>
<option value="ar_LB">Arabic (Lebanon)</option>
<option value="ar_LY">Arabic (Libya)</option>
<option value="ar_MA">Arabic (Morocco)</option>
<option value="ar_OM">Arabic (Oman)</option>
<option value="ar_QA">Arabic (Qatar)</option>
<option value="ar_SA">Arabic (Saudi Arabia)</option>
<option value="ar_SD">Arabic (Sudan)</option>
<option value="ar_SY">Arabic (Syria)</option>
<option value="ar_TN">Arabic (Tunisia)</option>
<option value="ar_AE">Arabic (United Arab Emirates)</option>
<option value="ar_YE">Arabic (Yemen)</option>
<option value="ar">Arabic</option>
<option value="hy_AM">Armenian (Armenia)</option>
<option value="hy">Armenian</option>
<option value="as_IN">Assamese (India)</option>
<option value="as">Assamese</option>
<option value="asa_TZ">Asu (Tanzania)</option>
<option value="asa">Asu</option>
<option value="az_Cyrl">Azerbaijani (Cyrillic)</option>
<option value="az_Cyrl_AZ">Azerbaijani (Cyrillic, Azerbaijan)</option>
<option value="az_Latn">Azerbaijani (Latin)</option>
<option value="az_Latn_AZ">Azerbaijani (Latin, Azerbaijan)</option>
<option value="az">Azerbaijani</option>
<option value="bm_ML">Bambara (Mali)</option>
<option value="bm">Bambara</option>
<option value="eu_ES">Basque (Spain)</option>
<option value="eu">Basque</option>
<option value="be_BY">Belarusian (Belarus)</option>
<option value="be">Belarusian</option>
<option value="bem_ZM">Bemba (Zambia)</option>
<option value="bem_ZM">(Zambia)</option>
<option value="bem">Bemba</option>
<option value="bez_TZ">Bena (Tanzania)</option>
<option value="bez">Bena</option>
<option value="bn_BD">Bengali (Bangladesh)</option>
<option value="bn_IN">Bengali (India)</option>
<option value="bn">Bengali</option>
<option value="bs_BA">Bosnian (Bosnia and Herzegovina)</option>
<option value="bs">Bosnian</option>
<option value="bg_BG">Bulgarian (Bulgaria)</option>
<option value="bg">Bulgarian</option>
<option value="my_MM">Burmese (Myanmar [Burma])</option>
<option value="my">Burmese</option>
<option value="yue_Hant_HK">Cantonese (Traditional, Hong Kong SAR China)</option>
<option value="ca_ES">Catalan (Spain)</option>
<option value="ca">Catalan</option>
<option value="tzm_Latn">Central Morocco Tamazight (Latin)</option>
<option value="tzm_Latn_MA">Central Morocco Tamazight (Latin, Morocco)</option>
<option value="tzm">Central Morocco Tamazight</option>
<option value="chr_US">Cherokee (United States)</option>
<option value="chr">Cherokee</option>
<option value="cgg_UG">Chiga (Uganda)</option>
<option value="cgg">Chiga</option>
<option value="zh_Hans">Chinese (Simplified Han)</option>
<option value="zh_Hans_CN">Chinese (Simplified Han, China)</option>
<option value="zh_Hans_HK">Chinese (Simplified Han, Hong Kong SAR China)</option>
<option value="zh_Hans_MO">Chinese (Simplified Han, Macau SAR China)</option>
<option value="zh_Hans_SG">Chinese (Simplified Han, Singapore)</option>
<option value="zh_Hant">Chinese (Traditional Han)</option>
<option value="zh_Hant_HK">Chinese (Traditional Han, Hong Kong SAR China)</option>
<option value="zh_Hant_MO">Chinese (Traditional Han, Macau SAR China)</option>
<option value="zh_Hant_TW">Chinese (Traditional Han, Taiwan)</option>
<option value="zh">Chinese</option>
<option value="kw_GB">Cornish (United Kingdom)</option>
<option value="kw">Cornish</option>
<option value="hr_HR">Croatian (Croatia)</option>
<option value="hr">Croatian</option>
<option value="cs_CZ">Czech (Czech Republic)</option>
<option value="cs">Czech</option>
<option value="da_DK">Danish (Denmark)</option>
<option value="da">Danish</option>
<option value="nl_BE">Dutch (Belgium)</option>
<option value="nl_NL">Dutch (Netherlands)</option>
<option value="nl">Dutch</option>
<option value="ebu_KE">Embu (Kenya)</option>
<option value="ebu">Embu</option>
<option value="en_AS">English (American Samoa)</option>
<option value="en_AU">English (Australia)</option>
<option value="en_BE">English (Belgium)</option>
<option value="en_BZ">English (Belize)</option>
<option value="en_BW">English (Botswana)</option>
<option value="en_CA">English (Canada)</option>
<option value="en_GU">English (Guam)</option>
<option value="en_HK">English (Hong Kong SAR China)</option>
<option value="en_IN">English (India)</option>
<option value="en_IE">English (Ireland)</option>
<option value="en_IL">English (Israel)</option>
<option value="en_JM">English (Jamaica)</option>
<option value="en_MT">English (Malta)</option>
<option value="en_MH">English (Marshall Islands)</option>
<option value="en_MU">English (Mauritius)</option>
<option value="en_NA">English (Namibia)</option>
<option value="en_NZ">English (New Zealand)</option>
<option value="en_MP">English (Northern Mariana Islands)</option>
<option value="en_PK">English (Pakistan)</option>
<option value="en_PH">English (Philippines)</option>
<option value="en_SG">English (Singapore)</option>
<option value="en_ZA">English (South Africa)</option>
<option value="en_TT">English (Trinidad and Tobago)</option>
<option value="en_UM">English (U.S. Minor Outlying Islands)</option>
<option value="en_VI">English (U.S. Virgin Islands)</option>
<option value="en_GB">English (United Kingdom)</option>
<option value="en_US">English (United States)</option>
<option value="en_ZW">English (Zimbabwe)</option>
<option value="en">English</option>
<option value="eo">Esperanto</option>
<option value="et_EE">Estonian (Estonia)</option>
<option value="et">Estonian</option>
<option value="ee_GH">Ewe (Ghana)</option>
<option value="ee_TG">Ewe (Togo)</option>
<option value="ee">Ewe</option>
<option value="fo_FO">Faroese (Faroe Islands)</option>
<option value="fo">Faroese</option>
<option value="fil_PH">Filipino (Philippines)</option>
<option value="fil">Filipino</option>
<option value="fi_FI">Finnish (Finland)</option>
<option value="fi">Finnish</option>
<option value="fr_BE">French (Belgium)</option>
<option value="fr_BJ">French (Benin)</option>
<option value="fr_BF">French (Burkina Faso)</option>
<option value="fr_BI">French (Burundi)</option>
<option value="fr_CM">French (Cameroon)</option>
<option value="fr_CA">French (Canada)</option>
<option value="fr_CF">French (Central African Republic)</option>
<option value="fr_TD">French (Chad)</option>
<option value="fr_KM">French (Comoros)</option>
<option value="fr_CG">French (Congo - Brazzaville)</option>
<option value="fr_CD">French (Congo - Kinshasa)</option>
<option value="fr_CI">French (Côte d’Ivoire)</option>
<option value="fr_DJ">French (Djibouti)</option>
<option value="fr_GQ">French (Equatorial Guinea)</option>
<option value="fr_FR">French (France)</option>
<option value="fr_GA">French (Gabon)</option>
<option value="fr_GP">French (Guadeloupe)</option>
<option value="fr_GN">French (Guinea)</option>
<option value="fr_LU">French (Luxembourg)</option>
<option value="fr_MG">French (Madagascar)</option>
<option value="fr_ML">French (Mali)</option>
<option value="fr_MQ">French (Martinique)</option>
<option value="fr_MC">French (Monaco)</option>
<option value="fr_NE">French (Niger)</option>
<option value="fr_RW">French (Rwanda)</option>
<option value="fr_RE">French (Réunion)</option>
<option value="fr_BL">French (Saint Barthélemy)</option>
<option value="fr_MF">French (Saint Martin)</option>
<option value="fr_SN">French (Senegal)</option>
<option value="fr_CH">French (Switzerland)</option>
<option value="fr_TG">French (Togo)</option>
<option value="fr">French</option>
<option value="ff_SN">Fulah (Senegal)</option>
<option value="ff">Fulah</option>
<option value="gl_ES">Galician (Spain)</option>
<option value="gl">Galician</option>
<option value="lg_UG">Ganda (Uganda)</option>
<option value="lg">Ganda</option>
<option value="ka_GE">Georgian (Georgia)</option>
<option value="ka">Georgian</option>
<option value="de_AT">German (Austria)</option>
<option value="de_BE">German (Belgium)</option>
<option value="de_DE">German (Germany)</option>
<option value="de_LI">German (Liechtenstein)</option>
<option value="de_LU">German (Luxembourg)</option>
<option value="de_CH">German (Switzerland)</option>
<option value="de">German</option>
<option value="el_CY">Greek (Cyprus)</option>
<option value="el_GR">Greek (Greece)</option>
<option value="el">Greek</option>
<option value="gu_IN">Gujarati (India)</option>
<option value="gu">Gujarati</option>
<option value="guz_KE">Gusii (Kenya)</option>
<option value="guz">Gusii</option>
<option value="ha_Latn">Hausa (Latin)</option>
<option value="ha_Latn_GH">Hausa (Latin, Ghana)</option>
<option value="ha_Latn_NE">Hausa (Latin, Niger)</option>
<option value="ha_Latn_NG">Hausa (Latin, Nigeria)</option>
<option value="ha">Hausa</option>
<option value="haw_US">Hawaiian (United States)</option>
<option value="haw">Hawaiian</option>
<option value="he_IL">Hebrew (Israel)</option>
<option value="he">Hebrew</option>
<option value="hi_IN">Hindi (India)</option>
<option value="hi">Hindi</option>
<option value="hu_HU">Hungarian (Hungary)</option>
<option value="hu">Hungarian</option>
<option value="is_IS">Icelandic (Iceland)</option>
<option value="is">Icelandic</option>
<option value="ig_NG">Igbo (Nigeria)</option>
<option value="ig">Igbo</option>
<option value="id_ID">Indonesian (Indonesia)</option>
<option value="id">Indonesian</option>
<option value="ga_IE">Irish (Ireland)</option>
<option value="ga">Irish</option>
<option value="it_IT">Italian (Italy)</option>
<option value="it_CH">Italian (Switzerland)</option>
<option value="it">Italian</option>
<option value="ja_JP">Japanese (Japan)</option>
<option value="ja">Japanese</option>
<option value="kea_CV">Kabuverdianu (Cape Verde)</option>
<option value="kea">Kabuverdianu</option>
<option value="kab_DZ">Kabyle (Algeria)</option>
<option value="kab">Kabyle</option>
<option value="kl_GL">Kalaallisut (Greenland)</option>
<option value="kl">Kalaallisut</option>
<option value="kln_KE">Kalenjin (Kenya)</option>
<option value="kln">Kalenjin</option>
<option value="kam_KE">Kamba (Kenya)</option>
<option value="kam">Kamba</option>
<option value="kn_IN">Kannada (India)</option>
<option value="kn">Kannada</option>
<option value="kk_Cyrl">Kazakh (Cyrillic)</option>
<option value="kk_Cyrl_KZ">Kazakh (Cyrillic, Kazakhstan)</option>
<option value="kk">Kazakh</option>
<option value="km_KH">Khmer (Cambodia)</option>
<option value="km">Khmer</option>
<option value="ki_KE">Kikuyu (Kenya)</option>
<option value="ki">Kikuyu</option>
<option value="rw_RW">Kinyarwanda (Rwanda)</option>
<option value="rw">Kinyarwanda</option>
<option value="kok_IN">Konkani (India)</option>
<option value="kok">Konkani</option>
<option value="ko_KR">Korean (South Korea)</option>
<option value="ko">Korean</option>
<option value="khq_ML">Koyra Chiini (Mali)</option>
<option value="khq">Koyra Chiini</option>
<option value="ses_ML">Koyraboro Senni (Mali)</option>
<option value="ses">Koyraboro Senni</option>
<option value="lag_TZ">Langi (Tanzania)</option>
<option value="lag">Langi</option>
<option value="lv_LV">Latvian (Latvia)</option>
<option value="lv">Latvian</option>
<option value="lt_LT">Lithuanian (Lithuania)</option>
<option value="lt">Lithuanian</option>
<option value="luo_KE">Luo (Kenya)</option>
<option value="luo">Luo</option>
<option value="luy_KE">Luyia (Kenya)</option>
<option value="luy">Luyia</option>
<option value="mk_MK">Macedonian (Macedonia)</option>
<option value="mk">Macedonian</option>
<option value="jmc_TZ">Machame (Tanzania)</option>
<option value="jmc">Machame</option>
<option value="kde_TZ">Makonde (Tanzania)</option>
<option value="kde">Makonde</option>
<option value="mg_MG">Malagasy (Madagascar)</option>
<option value="mg">Malagasy</option>
<option value="ms_BN">Malay (Brunei)</option>
<option value="ms_MY">Malay (Malaysia)</option>
<option value="ms">Malay</option>
<option value="ml_IN">Malayalam (India)</option>
<option value="ml">Malayalam</option>
<option value="mt_MT">Maltese (Malta)</option>
<option value="mt">Maltese</option>
<option value="gv_GB">Manx (United Kingdom)</option>
<option value="gv">Manx</option>
<option value="mr_IN">Marathi (India)</option>
<option value="mr">Marathi</option>
<option value="mas_KE">Masai (Kenya)</option>
<option value="mas_TZ">Masai (Tanzania)</option>
<option value="mas">Masai</option>
<option value="mer_KE">Meru (Kenya)</option>
<option value="mer">Meru</option>
<option value="mfe_MU">Morisyen (Mauritius)</option>
<option value="mfe">Morisyen</option>
<option value="naq_NA">Nama (Namibia)</option>
<option value="naq">Nama</option>
<option value="ne_IN">Nepali (India)</option>
<option value="ne_NP">Nepali (Nepal)</option>
<option value="ne">Nepali</option>
<option value="nd_ZW">North Ndebele (Zimbabwe)</option>
<option value="nd">North Ndebele</option>
<option value="nb_NO">Norwegian Bokmål (Norway)</option>
<option value="nb">Norwegian Bokmål</option>
<option value="nn_NO">Norwegian Nynorsk (Norway)</option>
<option value="nn">Norwegian Nynorsk</option>
<option value="nyn_UG">Nyankole (Uganda)</option>
<option value="nyn">Nyankole</option>
<option value="or_IN">Oriya (India)</option>
<option value="or">Oriya</option>
<option value="om_ET">Oromo (Ethiopia)</option>
<option value="om_KE">Oromo (Kenya)</option>
<option value="om">Oromo</option>
<option value="ps_AF">Pashto (Afghanistan)</option>
<option value="ps">Pashto</option>
<option value="fa_AF">Persian (Afghanistan)</option>
<option value="fa_IR">Persian (Iran)</option>
<option value="fa">Persian</option>
<option value="pl_PL">Polish (Poland)</option>
<option value="pl">Polish</option>
<option value="pt_BR">Portuguese (Brazil)</option>
<option value="pt_GW">Portuguese (Guinea-Bissau)</option>
<option value="pt_MZ">Portuguese (Mozambique)</option>
<option value="pt_PT">Portuguese (Portugal)</option>
<option value="pt">Portuguese</option>
<option value="pa_Arab">Punjabi (Arabic)</option>
<option value="pa_Arab_PK">Punjabi (Arabic, Pakistan)</option>
<option value="pa_Guru">Punjabi (Gurmukhi)</option>
<option value="pa_Guru_IN">Punjabi (Gurmukhi, India)</option>
<option value="pa">Punjabi</option>
<option value="ro_MD">Romanian (Moldova)</option>
<option value="ro_RO">Romanian (Romania)</option>
<option value="ro">Romanian</option>
<option value="rm_CH">Romansh (Switzerland)</option>
<option value="rm">Romansh</option>
<option value="rof_TZ">Rombo (Tanzania)</option>
<option value="rof">Rombo</option>
<option value="ru_MD">Russian (Moldova)</option>
<option value="ru_RU">Russian (Russia)</option>
<option value="ru_UA">Russian (Ukraine)</option>
<option value="ru">Russian</option>
<option value="rwk_TZ">Rwa (Tanzania)</option>
<option value="rwk">Rwa</option>
<option value="saq_KE">Samburu (Kenya)</option>
<option value="saq">Samburu</option>
<option value="sg_CF">Sango (Central African Republic)</option>
<option value="sg">Sango</option>
<option value="seh_MZ">Sena (Mozambique)</option>
<option value="seh">Sena</option>
<option value="sr_Cyrl">Serbian (Cyrillic)</option>
<option value="sr_Cyrl_BA">Serbian (Cyrillic, Bosnia and Herzegovina)</option>
<option value="sr_Cyrl_ME">Serbian (Cyrillic, Montenegro)</option>
<option value="sr_Cyrl_RS">Serbian (Cyrillic, Serbia)</option>
<option value="sr_Latn">Serbian (Latin)</option>
<option value="sr_Latn_BA">Serbian (Latin, Bosnia and Herzegovina)</option>
<option value="sr_Latn_ME">Serbian (Latin, Montenegro)</option>
<option value="sr_Latn_RS">Serbian (Latin, Serbia)</option>
<option value="sr">Serbian</option>
<option value="sn_ZW">Shona (Zimbabwe)</option>
<option value="sn">Shona</option>
<option value="ii_CN">Sichuan Yi (China)</option>
<option value="ii">Sichuan Yi</option>
<option value="si_LK">Sinhala (Sri Lanka)</option>
<option value="si">Sinhala</option>
<option value="sk_SK">Slovak (Slovakia)</option>
<option value="sk">Slovak</option>
<option value="sl_SI">Slovenian (Slovenia)</option>
<option value="sl">Slovenian</option>
<option value="xog_UG">Soga (Uganda)</option>
<option value="xog">Soga</option>
<option value="so_DJ">Somali (Djibouti)</option>
<option value="so_ET">Somali (Ethiopia)</option>
<option value="so_KE">Somali (Kenya)</option>
<option value="so_SO">Somali (Somalia)</option>
<option value="so">Somali</option>
<option value="es_AR">Spanish (Argentina)</option>
<option value="es_BO">Spanish (Bolivia)</option>
<option value="es_CL">Spanish (Chile)</option>
<option value="es_CO">Spanish (Colombia)</option>
<option value="es_CR">Spanish (Costa Rica)</option>
<option value="es_DO">Spanish (Dominican Republic)</option>
<option value="es_EC">Spanish (Ecuador)</option>
<option value="es_SV">Spanish (El Salvador)</option>
<option value="es_GQ">Spanish (Equatorial Guinea)</option>
<option value="es_GT">Spanish (Guatemala)</option>
<option value="es_HN">Spanish (Honduras)</option>
<option value="es_419">Spanish (Latin America)</option>
<option value="es_MX">Spanish (Mexico)</option>
<option value="es_NI">Spanish (Nicaragua)</option>
<option value="es_PA">Spanish (Panama)</option>
<option value="es_PY">Spanish (Paraguay)</option>
<option value="es_PE">Spanish (Peru)</option>
<option value="es_PR">Spanish (Puerto Rico)</option>
<option value="es_ES">Spanish (Spain)</option>
<option value="es_US">Spanish (United States)</option>
<option value="es_UY">Spanish (Uruguay)</option>
<option value="es_VE">Spanish (Venezuela)</option>
<option value="es">Spanish</option>
<option value="sw_KE">Swahili (Kenya)</option>
<option value="sw_TZ">Swahili (Tanzania)</option>
<option value="sw">Swahili</option>
<option value="sv_FI">Swedish (Finland)</option>
<option value="sv_SE">Swedish (Sweden)</option>
<option value="sv">Swedish</option>
<option value="gsw_CH">Swiss German (Switzerland)</option>
<option value="gsw">Swiss German</option>
<option value="shi_Latn">Tachelhit (Latin)</option>
<option value="shi_Latn_MA">Tachelhit (Latin, Morocco)</option>
<option value="shi_Tfng">Tachelhit (Tifinagh)</option>
<option value="shi_Tfng_MA">Tachelhit (Tifinagh, Morocco)</option>
<option value="shi">Tachelhit</option>
<option value="dav_KE">Taita (Kenya)</option>
<option value="dav">Taita</option>
<option value="ta_IN">Tamil (India)</option>
<option value="ta_LK">Tamil (Sri Lanka)</option>
<option value="ta">Tamil</option>
<option value="te_IN">Telugu (India)</option>
<option value="te">Telugu</option>
<option value="teo_KE">Teso (Kenya)</option>
<option value="teo_UG">Teso (Uganda)</option>
<option value="teo">Teso</option>
<option value="th_TH">Thai (Thailand)</option>
<option value="th">Thai</option>
<option value="bo_CN">Tibetan (China)</option>
<option value="bo_IN">Tibetan (India)</option>
<option value="bo">Tibetan</option>
<option value="ti_ER">Tigrinya (Eritrea)</option>
<option value="ti_ET">Tigrinya (Ethiopia)</option>
<option value="ti">Tigrinya</option>
<option value="to_TO">Tonga (Tonga)</option>
<option value="to">Tonga</option>
<option value="tr_TR">Turkish (Turkey)</option>
<option value="tr">Turkish</option>
<option value="uk_UA">Ukrainian (Ukraine)</option>
<option value="uk">Ukrainian</option>
<option value="ur_IN">Urdu (India)</option>
<option value="ur_PK">Urdu (Pakistan)</option>
<option value="ur">Urdu</option>
<option value="uz_Arab">Uzbek (Arabic)</option>
<option value="uz_Arab_AF">Uzbek (Arabic, Afghanistan)</option>
<option value="uz_Cyrl">Uzbek (Cyrillic)</option>
<option value="uz_Cyrl_UZ">Uzbek (Cyrillic, Uzbekistan)</option>
<option value="uz_Latn">Uzbek (Latin)</option>
<option value="uz_Latn_UZ">Uzbek (Latin, Uzbekistan)</option>
<option value="uz">Uzbek</option>
<option value="vi_VN">Vietnamese (Vietnam)</option>
<option value="vi">Vietnamese</option>
<option value="vun_TZ">Vunjo (Tanzania)</option>
<option value="vun">Vunjo</option>
<option value="cy_GB">Welsh (United Kingdom)</option>
<option value="cy">Welsh</option>
<option value="yo_NG">Yoruba (Nigeria)</option>
<option value="yo">Yoruba</option>
<option value="zu_ZA">Zulu (South Africa)</option>
<option value="zu">Zulu</option>
</select>

一段程序,列出有关语言代码、本地名称、货币iso代码和货币符号(如果有的话)的信息。 这是本地数据包含在你的PHP版本

<?php


// get array of Locales codes included in PHP
$ARR_LANGS_PHP = ResourceBundle::getLocales('');


// prepa. an array for rendering
$LANGS = array();


foreach ($ARR_LANGS_PHP as $k => $v) {




// currency ISO code if exist
$currency_iso = NumberFormatter::create(
$v,NumberFormatter::CURRENCY)
->getTextAttribute(NumberFormatter::CURRENCY_CODE);


// if no currency ISO code -> 'XXX' is returned,  $currency_iso => ''
$currency_iso = ( $currency_iso == 'XXX') ? '' : $currency_iso;


// currency symbol if exist
$currency_symbol = new NumberFormatter( $v, NumberFormatter::DECIMAL );
$symbol = $currency_symbol->getSymbol(NumberFormatter::CURRENCY_SYMBOL);


// if no symbol -> '¤' is returned,  $symbol => ''
$symbol = ( $symbol == '¤' ) ? '' : $symbol;


// return name of locale with details ex. Arabic (Tunisia)
$descr_locale = Locale::getDisplayName($v, 'en');


// add datas to lang array
$LANGS[] = array(


'code_min' => strtolower(substr($v, 0, 2)),
// code -> ex. 'fr_FR'
'code' => $v,
// locale string in english for all
'locale' => $descr_locale,
// currency_iso -> ex. 'EUR'
'currency_iso' => $currency_iso,
// ex. €
'symbol' => $symbol
);
}


// var_dump( count($LANGS) ); // 732 langs
echo '<pre>';
print_r( $LANGS );
echo '</pre>';
exit;


?>




// output :
Array
(
[0] => Array
(
[code_min] => af
[code] => af
[locale] => Afrikaans
[currency_iso] =>
[symbol] =>
)


[1] => Array
(
[code_min] => af
[code] => af_NA
[locale] => Afrikaans (Namibia)
[currency_iso] => NAD
[symbol] => $
)


[2] => Array
(
[code_min] => af
[code] => af_ZA
[locale] => Afrikaans (South Africa)
[currency_iso] => ZAR
[symbol] => R
)
// ...
);