我正在为我正在编写的PHP应用程序寻找所有地区及其短代码的列表。不同平台之间的数据是否存在很大差异?
另外,如果我正在开发一个国际应用程序,我是否可以只支持一种英语版本,或者世界各地的英语是否存在显著差异?
下面是一个相当详尽的文化规范列表。据我所知,编程语言之间没有差异,因为它是RFC标准。至于英语,我认为如果你支持通用的en或可能的en-US,那么你应该没问题。
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 >
"语言标记语法由 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及其内容:
/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代码的所有语言和所有数据格式的列表。
可用的格式
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 ) // ... );