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

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


当前回答

一段程序,列出有关语言代码、当地名称、货币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
        )
// ...
);

其他回答

这里有一个非常详尽的文化代码列表。据我所知,编程语言之间没有差异,因为它是RFC标准。至于英语,我认为如果你支持通用的en或en- us,那么你应该没问题。

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

I've taken this list of iOS locales, removed the strange POSIX entry, formatted it as Javascript and sorted it by value (so if you use an ordered object implementation and create a list by going through the keys and returning the value, it will show the human readable text in correct order). Also, this list both contains a main entry per language as well as all the region specific variants - this way you always have a designated fallback option, say if your interface has only defined the 'en' option - you wouldn't otherwise know on what to fall back on reliably.

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"
}

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

"Language tag syntax is defined by the IETF's BCP 47. BCP stands for 'Best Current Practice', and is a persistent name for a series of RFCs whose numbers change as they are updated. The latest RFC describing language tag syntax is RFC 5646, Tags for the Identification of Languages, and it obsoletes the older RFCs 4646, 3066 and 1766. You used to find subtags by consulting the lists of codes in various ISO standards, but now you can find all subtags in the IANA Language Subtag Registry."

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

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

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

对于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>