Elenco di tutte le località e i loro codici brevi?

Sto cercando una list di tutti i locali e i loro codici brevi per un'applicazione PHP che sto scrivendo. C'è molta variazione in questi dati tra le piattaforms?

Inoltre, se sto sviluppando un'applicazione internazionale, posso solo supportre una versione dell'inglese o ci sono differenze significative nell'inglese in tutto il mondo?

L'importnza delle impostazioni locali è che il proprio ambiente / sistema operativo può fornire funzionalità di formattazione per tutte le impostazioni locali installate anche se non si conoscono al momento della scrittura dell'applicazione. Il mio sistema Windows 7 ha 211 locali installati (elencati di seguito), quindi non è probabile che tu possa scrivere codice personalizzato o traduzione specifico per questo locale.

La cosa più importnte per varie versioni dell'inglese è la formattazione di numbers e date. Altre differenze sono significative nella misura in cui si desidera e sono in grado di soddisfare specifiche variazioni.

 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-SY ar-TN ar-YE as-IN 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-GR en-029 en-AU en-BZ en-CA en-GB en-IE en-IN en-JM 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 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 is-IS it-CH it-IT iu-Cans-CA iu-Latn-CA 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 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-RO 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-Cyrl-BA sr-Cyrl-CS sr-Cyrl-ME sr-Cyrl-RS sr-Latn-BA sr-Latn-CS sr-Latn-ME sr-Latn-RS sv-FI sv-SE sw-KE syr-SY ta-IN te-IN tg-Cyrl-TJ th-TH tk-TM tn-ZA tr-TR tt-RU tzm-Latn-DZ ug-CN uk-UA ur-PK uz-Cyrl-UZ uz-Latn-UZ vi-VN wo-SN xh-ZA yo-NG zh-CN zh-HK zh-MO zh-SG zh-TW zu-ZA 

La risposta accettata manca di alcuni locali piuttosto significativi. Ad esempio, i locali cinesi non fanno distinzioni tra le diverse scritture (han semplificato, han tradizionale). Cos'è un cittadino cinese di terraferma che vuole usare il tradizionale Han, l'ambiente di Hong Kong?

Ho preso questo elenco di localizzazioni iOS , rimosso la strana voce POSIX, formattato come JSON e ordinato per valore (quindi se si utilizza un'implementazione di un object ordinato e si crea un elenco passando attraverso le chiavi e restituendo il valore, mostrerà il text leggibile nell'ordine corretto). Inoltre, questa list contiene sia una voce principale per lingua che tutte le varianti specifiche della regione – in questo modo hai sempre un'opzione di fallback designata, diciamo se l'interface ha solo definito l'opzione 'en' – altrimenti non lo sapresti cosa ricorrere in modo affidabile.

 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", 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_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 (US Minor Outlying Islands)", en_VI: "English (US 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" } 

Mentre la risposta accettata è abbastanza completa (mi sono abituato a una domanda simile che mi è sorta), penso valga la pena di mettere l'integer codice e le varianti supportti, così come le codifiche, e indirizzare l'utente a un file che è presente quasi qualsiasi distribuzione Linux, nel caso in cui semplicemente desidera una risposta più rapida e senza internet ad esempio.

Questo è il file /usr/share/i18n/SUPPORTED e il suo contenuto:

 aa_DJ.UTF-8 UTF-8 aa_DJ ISO-8859-1 aa_ER UTF-8 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] ISO-8859-15 de_BE.UTF-8 UTF-8 de_BE ISO-8859-1 [email protected] 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 [email protected] ISO-8859-15 de_LU.UTF-8 UTF-8 de_LU ISO-8859-1 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] ISO-8859-15 fa_IR UTF-8 ff_SN UTF-8 fi_FI.UTF-8 UTF-8 fi_FI ISO-8859-1 [email protected] 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 [email protected] 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 [email protected] ISO-8859-15 fr_LU.UTF-8 UTF-8 fr_LU ISO-8859-1 [email protected] 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 [email protected] ISO-8859-15 gd_GB.UTF-8 UTF-8 gd_GB ISO-8859-15 gez_ER UTF-8 [email protected] UTF-8 gez_ET UTF-8 [email protected] UTF-8 gl_ES.UTF-8 UTF-8 gl_ES ISO-8859-1 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] ISO-8859-15 nl_NL.UTF-8 UTF-8 nl_NL ISO-8859-1 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] UTF-8 ve_ZA UTF-8 vi_VN UTF-8 wa_BE ISO-8859-1 [email protected] 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 

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

"La syntax dei tag di lingua è definita dal BCP 47 di IETF. BCP sta per" Best Current Practice "ed è un nome persistente per una serie di RFC i cui numbers cambiano man mano che vengono aggiornati. La più recente syntax di tag di linguaggio RFC che descrive è RFC 5646, Tag per l'identificazione di lingue e obsoleto le vecchie RFC 4646, 3066 e 1766.

Si trovavano sottotag consultando gli elenchi di codici in vari standard ISO, ma ora è ansible trovare tutti i sottotag nel registro sottotag della lingua IANA. "

Le applicazioni AFAIK più localizzate (scritte da professionisti) rispettano questo standard. Non è solo qualcosa che qualcuno ha gettato insieme e che diverse persone interpretano in modo diverso.

Ti suggerisco caldamente di esaminare le caratteristiche di internazionalizzazione del tuo particolare linguaggio di sviluppo, poiché probabilmente non farai più il reinventare la ruota.

Ecco una list abbastanza esaustiva di codici culturali . Per quanto posso dire, non variano tra i linguaggi di programmazione poiché si tratta di uno standard RFC. Per quanto riguarda l'inglese, penso che se supporti sia l' en generico o forse l' en-US allora dovresti stare bene.

Se stai usando php-intl per localizzare la tua applicazione, probabilmente vorrai usare ResourceBundle :: getLocales () invece di una list statica che mantieni tu stesso. Può anche darti dei locali per una lingua particolare.

 <?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 * ... */ ?>