#![allow(non_camel_case_types)]

#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash, Default)]
pub enum BC47LanguageInfo {
    AF,
    AF_NA,
    AF_ZA,
    AGQ,
    AGQ_CM,
    AK,
    AK_GH,
    AM,
    AM_ET,
    AR,
    AR_001,
    AR_AE,
    AR_BH,
    AR_DJ,
    AR_DZ,
    AR_EG,
    AR_EH,
    AR_ER,
    AR_IL,
    AR_IQ,
    AR_JO,
    AR_KM,
    AR_KW,
    AR_LB,
    AR_LY,
    AR_MA,
    AR_MR,
    AR_OM,
    AR_PS,
    AR_QA,
    AR_SA,
    AR_SD,
    AR_SO,
    AR_SS,
    AR_SY,
    AR_TD,
    AR_TN,
    AR_YE,
    AS,
    AS_IN,
    ASA,
    ASA_TZ,
    AST,
    AST_ES,
    AZ,
    AZ_CYRL,
    AZ_CYRL_AZ,
    AZ_LATN,
    AZ_LATN_AZ,
    BAS,
    BAS_CM,
    BE,
    BE_BY,
    BEM,
    BEM_ZM,
    BEZ,
    BEZ_TZ,
    BG,
    BG_BG,
    BGC,
    BGC_IN,
    BHO,
    BHO_IN,
    BM,
    BM_ML,
    BN,
    BN_BD,
    BN_IN,
    BO,
    BO_CN,
    BO_IN,
    BR,
    BR_FR,
    BRX,
    BRX_IN,
    BS,
    BS_CYRL,
    BS_CYRL_BA,
    BS_LATN,
    BS_LATN_BA,
    CA,
    CA_AD,
    CA_ES,
    CA_FR,
    CA_IT,
    CCP,
    CCP_BD,
    CCP_IN,
    CE,
    CE_RU,
    CEB,
    CEB_PH,
    CGG,
    CGG_UG,
    CHR,
    CHR_US,
    CKB,
    CKB_IQ,
    CKB_IR,
    CS,
    CS_CZ,
    CV,
    CV_RU,
    CY,
    CY_GB,
    DA,
    DA_DK,
    DA_GL,
    DAV,
    DAV_KE,
    DE,
    DE_AT,
    DE_BE,
    DE_CH,
    DE_DE,
    DE_IT,
    DE_LI,
    DE_LU,
    DJE,
    DJE_NE,
    DOI,
    DOI_IN,
    DSB,
    DSB_DE,
    DUA,
    DUA_CM,
    DYO,
    DYO_SN,
    DZ,
    DZ_BT,
    EBU,
    EBU_KE,
    EE,
    EE_GH,
    EE_TG,
    EL,
    EL_CY,
    EL_GR,
    EN,
    EN_001,
    EN_150,
    EN_AE,
    EN_AG,
    EN_AI,
    EN_AS,
    EN_AT,
    EN_AU,
    EN_BB,
    EN_BE,
    EN_BI,
    EN_BM,
    EN_BS,
    EN_BW,
    EN_BZ,
    EN_CA,
    EN_CC,
    EN_CH,
    EN_CK,
    EN_CM,
    EN_CX,
    EN_CY,
    EN_DE,
    EN_DG,
    EN_DK,
    EN_DM,
    EN_ER,
    EN_FI,
    EN_FJ,
    EN_FK,
    EN_FM,
    EN_GB,
    EN_GD,
    EN_GG,
    EN_GH,
    EN_GI,
    EN_GM,
    EN_GU,
    EN_GY,
    EN_HK,
    EN_IE,
    EN_IL,
    EN_IM,
    EN_IN,
    EN_IO,
    EN_JE,
    EN_JM,
    EN_KE,
    EN_KI,
    EN_KN,
    EN_KY,
    EN_LC,
    EN_LR,
    EN_LS,
    EN_MG,
    EN_MH,
    EN_MO,
    EN_MP,
    EN_MS,
    EN_MT,
    EN_MU,
    EN_MV,
    EN_MW,
    EN_MY,
    EN_NA,
    EN_NF,
    EN_NG,
    EN_NL,
    EN_NR,
    EN_NU,
    EN_NZ,
    EN_PG,
    EN_PH,
    EN_PK,
    EN_PN,
    EN_PR,
    EN_PW,
    EN_RW,
    EN_SB,
    EN_SC,
    EN_SD,
    EN_SE,
    EN_SG,
    EN_SH,
    EN_SI,
    EN_SL,
    EN_SS,
    EN_SX,
    EN_SZ,
    EN_TC,
    EN_TK,
    EN_TO,
    EN_TT,
    EN_TV,
    EN_TZ,
    EN_UG,
    EN_UM,
    #[default]
    EN_US,
    EN_US_POSIX,
    EN_VC,
    EN_VG,
    EN_VI,
    EN_VU,
    EN_WS,
    EN_ZA,
    EN_ZM,
    EN_ZW,
    EO,
    EO_001,
    ES,
    ES_419,
    ES_AR,
    ES_BO,
    ES_BR,
    ES_BZ,
    ES_CL,
    ES_CO,
    ES_CR,
    ES_CU,
    ES_DO,
    ES_EA,
    ES_EC,
    ES_ES,
    ES_GQ,
    ES_GT,
    ES_HN,
    ES_IC,
    ES_MX,
    ES_NI,
    ES_PA,
    ES_PE,
    ES_PH,
    ES_PR,
    ES_PY,
    ES_SV,
    ES_US,
    ES_UY,
    ES_VE,
    ET,
    ET_EE,
    EU,
    EU_ES,
    EWO,
    EWO_CM,
    FA,
    FA_AF,
    FA_IR,
    FF,
    FF_ADLM,
    FF_ADLM_BF,
    FF_ADLM_CM,
    FF_ADLM_GH,
    FF_ADLM_GM,
    FF_ADLM_GN,
    FF_ADLM_GW,
    FF_ADLM_LR,
    FF_ADLM_MR,
    FF_ADLM_NE,
    FF_ADLM_NG,
    FF_ADLM_SL,
    FF_ADLM_SN,
    FF_LATN,
    FF_LATN_BF,
    FF_LATN_CM,
    FF_LATN_GH,
    FF_LATN_GM,
    FF_LATN_GN,
    FF_LATN_GW,
    FF_LATN_LR,
    FF_LATN_MR,
    FF_LATN_NE,
    FF_LATN_NG,
    FF_LATN_SL,
    FF_LATN_SN,
    FI,
    FI_FI,
    FIL,
    FIL_PH,
    FO,
    FO_DK,
    FO_FO,
    FR,
    FR_BE,
    FR_BF,
    FR_BI,
    FR_BJ,
    FR_BL,
    FR_CA,
    FR_CD,
    FR_CF,
    FR_CG,
    FR_CH,
    FR_CI,
    FR_CM,
    FR_DJ,
    FR_DZ,
    FR_FR,
    FR_GA,
    FR_GF,
    FR_GN,
    FR_GP,
    FR_GQ,
    FR_HT,
    FR_KM,
    FR_LU,
    FR_MA,
    FR_MC,
    FR_MF,
    FR_MG,
    FR_ML,
    FR_MQ,
    FR_MR,
    FR_MU,
    FR_NC,
    FR_NE,
    FR_PF,
    FR_PM,
    FR_RE,
    FR_RW,
    FR_SC,
    FR_SN,
    FR_SY,
    FR_TD,
    FR_TG,
    FR_TN,
    FR_VU,
    FR_WF,
    FR_YT,
    FUR,
    FUR_IT,
    FY,
    FY_NL,
    GA,
    GA_GB,
    GA_IE,
    GD,
    GD_GB,
    GL,
    GL_ES,
    GSW,
    GSW_CH,
    GSW_FR,
    GSW_LI,
    GU,
    GU_IN,
    GUZ,
    GUZ_KE,
    GV,
    GV_IM,
    HA,
    HA_GH,
    HA_NE,
    HA_NG,
    HAW,
    HAW_US,
    HE,
    HE_IL,
    HI,
    HI_IN,
    HI_LATN,
    HI_LATN_IN,
    HR,
    HR_BA,
    HR_HR,
    HSB,
    HSB_DE,
    HU,
    HU_HU,
    HY,
    HY_AM,
    IA,
    IA_001,
    ID,
    ID_ID,
    IG,
    IG_NG,
    II,
    II_CN,
    IS,
    IS_IS,
    IT,
    IT_CH,
    IT_IT,
    IT_SM,
    IT_VA,
    JA,
    JA_JP,
    JGO,
    JGO_CM,
    JMC,
    JMC_TZ,
    JV,
    JV_ID,
    KA,
    KA_GE,
    KAB,
    KAB_DZ,
    KAM,
    KAM_KE,
    KDE,
    KDE_TZ,
    KEA,
    KEA_CV,
    KGP,
    KGP_BR,
    KHQ,
    KHQ_ML,
    KI,
    KI_KE,
    KK,
    KK_KZ,
    KKJ,
    KKJ_CM,
    KL,
    KL_GL,
    KLN,
    KLN_KE,
    KM,
    KM_KH,
    KN,
    KN_IN,
    KO,
    KO_KP,
    KO_KR,
    KOK,
    KOK_IN,
    KS,
    KS_ARAB,
    KS_ARAB_IN,
    KS_DEVA,
    KS_DEVA_IN,
    KSB,
    KSB_TZ,
    KSF,
    KSF_CM,
    KSH,
    KSH_DE,
    KU,
    KU_TR,
    KW,
    KW_GB,
    KY,
    KY_KG,
    LAG,
    LAG_TZ,
    LB,
    LB_LU,
    LG,
    LG_UG,
    LKT,
    LKT_US,
    LN,
    LN_AO,
    LN_CD,
    LN_CF,
    LN_CG,
    LO,
    LO_LA,
    LRC,
    LRC_IQ,
    LRC_IR,
    LT,
    LT_LT,
    LU,
    LU_CD,
    LUO,
    LUO_KE,
    LUY,
    LUY_KE,
    LV,
    LV_LV,
    MAI,
    MAI_IN,
    MAS,
    MAS_KE,
    MAS_TZ,
    MER,
    MER_KE,
    MFE,
    MFE_MU,
    MG,
    MG_MG,
    MGH,
    MGH_MZ,
    MGO,
    MGO_CM,
    MI,
    MI_NZ,
    MK,
    MK_MK,
    ML,
    ML_IN,
    MN,
    MN_MN,
    MNI,
    MNI_BENG,
    MNI_BENG_IN,
    MR,
    MR_IN,
    MS,
    MS_BN,
    MS_ID,
    MS_MY,
    MS_SG,
    MT,
    MT_MT,
    MUA,
    MUA_CM,
    MY,
    MY_MM,
    MZN,
    MZN_IR,
    NAQ,
    NAQ_NA,
    NB,
    NB_NO,
    NB_SJ,
    ND,
    ND_ZW,
    NE,
    NE_IN,
    NE_NP,
    NL,
    NL_AW,
    NL_BE,
    NL_BQ,
    NL_CW,
    NL_NL,
    NL_SR,
    NL_SX,
    NMG,
    NMG_CM,
    NN,
    NN_NO,
    NNH,
    NNH_CM,
    NO,
    NUS,
    NUS_SS,
    NYN,
    NYN_UG,
    OM,
    OM_ET,
    OM_KE,
    OR,
    OR_IN,
    OS,
    OS_GE,
    OS_RU,
    PA,
    PA_ARAB,
    PA_ARAB_PK,
    PA_GURU,
    PA_GURU_IN,
    PCM,
    PCM_NG,
    PL,
    PL_PL,
    PS,
    PS_AF,
    PS_PK,
    PT,
    PT_AO,
    PT_BR,
    PT_CH,
    PT_CV,
    PT_GQ,
    PT_GW,
    PT_LU,
    PT_MO,
    PT_MZ,
    PT_PT,
    PT_ST,
    PT_TL,
    QU,
    QU_BO,
    QU_EC,
    QU_PE,
    RAJ,
    RAJ_IN,
    RM,
    RM_CH,
    RN,
    RN_BI,
    RO,
    RO_MD,
    RO_RO,
    ROF,
    ROF_TZ,
    RU,
    RU_BY,
    RU_KG,
    RU_KZ,
    RU_MD,
    RU_RU,
    RU_UA,
    RW,
    RW_RW,
    RWK,
    RWK_TZ,
    SA,
    SA_IN,
    SAH,
    SAH_RU,
    SAQ,
    SAQ_KE,
    SAT,
    SAT_OLCK,
    SAT_OLCK_IN,
    SBP,
    SBP_TZ,
    SC,
    SC_IT,
    SD,
    SD_ARAB,
    SD_ARAB_PK,
    SD_DEVA,
    SD_DEVA_IN,
    SE,
    SE_FI,
    SE_NO,
    SE_SE,
    SEH,
    SEH_MZ,
    SES,
    SES_ML,
    SG,
    SG_CF,
    SHI,
    SHI_LATN,
    SHI_LATN_MA,
    SHI_TFNG,
    SHI_TFNG_MA,
    SI,
    SI_LK,
    SK,
    SK_SK,
    SL,
    SL_SI,
    SMN,
    SMN_FI,
    SN,
    SN_ZW,
    SO,
    SO_DJ,
    SO_ET,
    SO_KE,
    SO_SO,
    SQ,
    SQ_AL,
    SQ_MK,
    SQ_XK,
    SR,
    SR_CYRL,
    SR_CYRL_BA,
    SR_CYRL_ME,
    SR_CYRL_RS,
    SR_CYRL_XK,
    SR_LATN,
    SR_LATN_BA,
    SR_LATN_ME,
    SR_LATN_RS,
    SR_LATN_XK,
    SU,
    SU_LATN,
    SU_LATN_ID,
    SV,
    SV_AX,
    SV_FI,
    SV_SE,
    SW,
    SW_CD,
    SW_KE,
    SW_TZ,
    SW_UG,
    TA,
    TA_IN,
    TA_LK,
    TA_MY,
    TA_SG,
    TE,
    TE_IN,
    TEO,
    TEO_KE,
    TEO_UG,
    TG,
    TG_TJ,
    TH,
    TH_TH,
    TI,
    TI_ER,
    TI_ET,
    TK,
    TK_TM,
    TO,
    TO_TO,
    TR,
    TR_CY,
    TR_TR,
    TT,
    TT_RU,
    TWQ,
    TWQ_NE,
    TZM,
    TZM_MA,
    UG,
    UG_CN,
    UK,
    UK_UA,
    UR,
    UR_IN,
    UR_PK,
    UZ,
    UZ_ARAB,
    UZ_ARAB_AF,
    UZ_CYRL,
    UZ_CYRL_UZ,
    UZ_LATN,
    UZ_LATN_UZ,
    VAI,
    VAI_LATN,
    VAI_LATN_LR,
    VAI_VAII,
    VAI_VAII_LR,
    VI,
    VI_VN,
    VUN,
    VUN_TZ,
    WAE,
    WAE_CH,
    WO,
    WO_SN,
    XH,
    XH_ZA,
    XOG,
    XOG_UG,
    YAV,
    YAV_CM,
    YI,
    YI_001,
    YO,
    YO_BJ,
    YO_NG,
    YRL,
    YRL_BR,
    YRL_CO,
    YRL_VE,
    YUE,
    YUE_HANS,
    YUE_HANS_CN,
    YUE_HANT,
    YUE_HANT_HK,
    ZGH,
    ZGH_MA,
    ZH,
    ZH_HANS,
    ZH_HANS_CN,
    ZH_HANS_HK,
    ZH_HANS_MO,
    ZH_HANS_SG,
    ZH_HANT,
    ZH_HANT_HK,
    ZH_HANT_MO,
    ZH_HANT_TW,
    ZU,
    ZU_ZA,
    UnsupportedLanguage,
}

impl BC47LanguageInfo {
    #[inline(always)]
    pub const fn english(&self) -> &str {
        match self {
            Self::UnsupportedLanguage => "Unsupported Language",
            Self::AF => "Afrikaans",
            Self::AF_NA => "Afrikaans (Namibia)",
            Self::AF_ZA => "Afrikaans (South Africa)",
            Self::AGQ => "Aghem",
            Self::AGQ_CM => "Aghem (Cameroon)",
            Self::AK => "Akan",
            Self::AK_GH => "Akan (Ghana)",
            Self::AM => "Amharic",
            Self::AM_ET => "Amharic (Ethiopia)",
            Self::AR => "Arabic",
            Self::AR_001 => "Arabic (world)",
            Self::AR_AE => "Arabic (United Arab Emirates)",
            Self::AR_BH => "Arabic (Bahrain)",
            Self::AR_DJ => "Arabic (Djibouti)",
            Self::AR_DZ => "Arabic (Algeria)",
            Self::AR_EG => "Arabic (Egypt)",
            Self::AR_EH => "Arabic (Western Sahara)",
            Self::AR_ER => "Arabic (Eritrea)",
            Self::AR_IL => "Arabic (Israel)",
            Self::AR_IQ => "Arabic (Iraq)",
            Self::AR_JO => "Arabic (Jordan)",
            Self::AR_KM => "Arabic (Comoros)",
            Self::AR_KW => "Arabic (Kuwait)",
            Self::AR_LB => "Arabic (Lebanon)",
            Self::AR_LY => "Arabic (Libya)",
            Self::AR_MA => "Arabic (Morocco)",
            Self::AR_MR => "Arabic (Mauritania)",
            Self::AR_OM => "Arabic (Oman)",
            Self::AR_PS => "Arabic (Palestinian Territories)",
            Self::AR_QA => "Arabic (Qatar)",
            Self::AR_SA => "Arabic (Saudi Arabia)",
            Self::AR_SD => "Arabic (Sudan)",
            Self::AR_SO => "Arabic (Somalia)",
            Self::AR_SS => "Arabic (South Sudan)",
            Self::AR_SY => "Arabic (Syria)",
            Self::AR_TD => "Arabic (Chad)",
            Self::AR_TN => "Arabic (Tunisia)",
            Self::AR_YE => "Arabic (Yemen)",
            Self::AS => "Assamese",
            Self::AS_IN => "Assamese (India)",
            Self::ASA => "Asu",
            Self::ASA_TZ => "Asu (Tanzania)",
            Self::AST => "Asturian",
            Self::AST_ES => "Asturian (Spain)",
            Self::AZ => "Azerbaijani",
            Self::AZ_CYRL => "Azerbaijani (Cyrillic)",
            Self::AZ_CYRL_AZ => "Azerbaijani (Cyrillic), (Azerbaijan)",
            Self::AZ_LATN => "Azerbaijani (Latin)",
            Self::AZ_LATN_AZ => "Azerbaijani (Latin), (Azerbaijan)",
            Self::BAS => "Basaa",
            Self::BAS_CM => "Basaa (Cameroon)",
            Self::BE => "Belarusian",
            Self::BE_BY => "Belarusian (Belarus)",
            Self::BEM => "Bemba",
            Self::BEM_ZM => "Bemba (Zambia)",
            Self::BEZ => "Bena",
            Self::BEZ_TZ => "Bena (Tanzania)",
            Self::BG => "Bulgarian",
            Self::BG_BG => "Bulgarian (Bulgaria)",
            Self::BGC => "Haryanvi",
            Self::BGC_IN => "Haryanvi (India)",
            Self::BHO => "Bhojpuri",
            Self::BHO_IN => "Bhojpuri (India)",
            Self::BM => "Bambara",
            Self::BM_ML => "Bambara (Mali)",
            Self::BN => "Bangla",
            Self::BN_BD => "Bangla (Bangladesh)",
            Self::BN_IN => "Bangla (India)",
            Self::BO => "Tibetan",
            Self::BO_CN => "Tibetan (China)",
            Self::BO_IN => "Tibetan (India)",
            Self::BR => "Breton",
            Self::BR_FR => "Breton (France)",
            Self::BRX => "Bodo",
            Self::BRX_IN => "Bodo (India)",
            Self::BS => "Bosnian",
            Self::BS_CYRL => "Bosnian (Cyrillic)",
            Self::BS_CYRL_BA => "Bosnian (Cyrillic), (Bosnia & Herzegovina)",
            Self::BS_LATN => "Bosnian (Latin)",
            Self::BS_LATN_BA => "Bosnian (Latin), (Bosnia & Herzegovina)",
            Self::CA => "Catalan",
            Self::CA_AD => "Catalan (Andorra)",
            Self::CA_ES => "Catalan (Spain)",
            Self::CA_FR => "Catalan (France)",
            Self::CA_IT => "Catalan (Italy)",
            Self::CCP => "Chakma",
            Self::CCP_BD => "Chakma (Bangladesh)",
            Self::CCP_IN => "Chakma (India)",
            Self::CE => "Chechen",
            Self::CE_RU => "Chechen (Russia)",
            Self::CEB => "Cebuano",
            Self::CEB_PH => "Cebuano (Philippines)",
            Self::CGG => "Chiga",
            Self::CGG_UG => "Chiga (Uganda)",
            Self::CHR => "Cherokee",
            Self::CHR_US => "Cherokee (United States)",
            Self::CKB => "Central Kurdish",
            Self::CKB_IQ => "Central Kurdish (Iraq)",
            Self::CKB_IR => "Central Kurdish (Iran)",
            Self::CS => "Czech",
            Self::CS_CZ => "Czech (Czechia)",
            Self::CV => "Chuvash",
            Self::CV_RU => "Chuvash (Russia)",
            Self::CY => "Welsh",
            Self::CY_GB => "Welsh (United Kingdom)",
            Self::DA => "Danish",
            Self::DA_DK => "Danish (Denmark)",
            Self::DA_GL => "Danish (Greenland)",
            Self::DAV => "Taita",
            Self::DAV_KE => "Taita (Kenya)",
            Self::DE => "German",
            Self::DE_AT => "German (Austria)",
            Self::DE_BE => "German (Belgium)",
            Self::DE_CH => "German (Switzerland)",
            Self::DE_DE => "German (Germany)",
            Self::DE_IT => "German (Italy)",
            Self::DE_LI => "German (Liechtenstein)",
            Self::DE_LU => "German (Luxembourg)",
            Self::DJE => "Zarma",
            Self::DJE_NE => "Zarma (Niger)",
            Self::DOI => "Dogri",
            Self::DOI_IN => "Dogri (India)",
            Self::DSB => "Lower Sorbian",
            Self::DSB_DE => "Lower Sorbian (Germany)",
            Self::DUA => "Duala",
            Self::DUA_CM => "Duala (Cameroon)",
            Self::DYO => "Jola-Fonyi",
            Self::DYO_SN => "Jola-Fonyi (Senegal)",
            Self::DZ => "Dzongkha",
            Self::DZ_BT => "Dzongkha (Bhutan)",
            Self::EBU => "Embu",
            Self::EBU_KE => "Embu (Kenya)",
            Self::EE => "Ewe",
            Self::EE_GH => "Ewe (Ghana)",
            Self::EE_TG => "Ewe (Togo)",
            Self::EL => "Greek",
            Self::EL_CY => "Greek (Cyprus)",
            Self::EL_GR => "Greek (Greece)",
            Self::EN => "English",
            Self::EN_001 => "English (world)",
            Self::EN_150 => "English (Europe)",
            Self::EN_AE => "English (United Arab Emirates)",
            Self::EN_AG => "English (Antigua & Barbuda)",
            Self::EN_AI => "English (Anguilla)",
            Self::EN_AS => "English (American Samoa)",
            Self::EN_AT => "English (Austria)",
            Self::EN_AU => "English (Australia)",
            Self::EN_BB => "English (Barbados)",
            Self::EN_BE => "English (Belgium)",
            Self::EN_BI => "English (Burundi)",
            Self::EN_BM => "English (Bermuda)",
            Self::EN_BS => "English (Bahamas)",
            Self::EN_BW => "English (Botswana)",
            Self::EN_BZ => "English (Belize)",
            Self::EN_CA => "English (Canada)",
            Self::EN_CC => "English (Cocos [Keeling] Islands)",
            Self::EN_CH => "English (Switzerland)",
            Self::EN_CK => "English (Cook Islands)",
            Self::EN_CM => "English (Cameroon)",
            Self::EN_CX => "English (Christmas Island)",
            Self::EN_CY => "English (Cyprus)",
            Self::EN_DE => "English (Germany)",
            Self::EN_DG => "English (Diego Garcia)",
            Self::EN_DK => "English (Denmark)",
            Self::EN_DM => "English (Dominica)",
            Self::EN_ER => "English (Eritrea)",
            Self::EN_FI => "English (Finland)",
            Self::EN_FJ => "English (Fiji)",
            Self::EN_FK => "English (Falkland Islands)",
            Self::EN_FM => "English (Micronesia)",
            Self::EN_GB => "English (United Kingdom)",
            Self::EN_GD => "English (Grenada)",
            Self::EN_GG => "English (Guernsey)",
            Self::EN_GH => "English (Ghana)",
            Self::EN_GI => "English (Gibraltar)",
            Self::EN_GM => "English (Gambia)",
            Self::EN_GU => "English (Guam)",
            Self::EN_GY => "English (Guyana)",
            Self::EN_HK => "English (Hong Kong SAR China)",
            Self::EN_IE => "English (Ireland)",
            Self::EN_IL => "English (Israel)",
            Self::EN_IM => "English (Isle of Man)",
            Self::EN_IN => "English (India)",
            Self::EN_IO => "English (British Indian Ocean Territory)",
            Self::EN_JE => "English (Jersey)",
            Self::EN_JM => "English (Jamaica)",
            Self::EN_KE => "English (Kenya)",
            Self::EN_KI => "English (Kiribati)",
            Self::EN_KN => "English (St. Kitts & Nevis)",
            Self::EN_KY => "English (Cayman Islands)",
            Self::EN_LC => "English (St. Lucia)",
            Self::EN_LR => "English (Liberia)",
            Self::EN_LS => "English (Lesotho)",
            Self::EN_MG => "English (Madagascar)",
            Self::EN_MH => "English (Marshall Islands)",
            Self::EN_MO => "English (Macao SAR China)",
            Self::EN_MP => "English (Northern Mariana Islands)",
            Self::EN_MS => "English (Montserrat)",
            Self::EN_MT => "English (Malta)",
            Self::EN_MU => "English (Mauritius)",
            Self::EN_MV => "English (Maldives)",
            Self::EN_MW => "English (Malawi)",
            Self::EN_MY => "English (Malaysia)",
            Self::EN_NA => "English (Namibia)",
            Self::EN_NF => "English (Norfolk Island)",
            Self::EN_NG => "English (Nigeria)",
            Self::EN_NL => "English (Netherlands)",
            Self::EN_NR => "English (Nauru)",
            Self::EN_NU => "English (Niue)",
            Self::EN_NZ => "English (New Zealand)",
            Self::EN_PG => "English (Papua New Guinea)",
            Self::EN_PH => "English (Philippines)",
            Self::EN_PK => "English (Pakistan)",
            Self::EN_PN => "English (Pitcairn Islands)",
            Self::EN_PR => "English (Puerto Rico)",
            Self::EN_PW => "English (Palau)",
            Self::EN_RW => "English (Rwanda)",
            Self::EN_SB => "English (Solomon Islands)",
            Self::EN_SC => "English (Seychelles)",
            Self::EN_SD => "English (Sudan)",
            Self::EN_SE => "English (Sweden)",
            Self::EN_SG => "English (Singapore)",
            Self::EN_SH => "English (St. Helena)",
            Self::EN_SI => "English (Slovenia)",
            Self::EN_SL => "English (Sierra Leone)",
            Self::EN_SS => "English (South Sudan)",
            Self::EN_SX => "English (Sint Maarten)",
            Self::EN_SZ => "English (Eswatini)",
            Self::EN_TC => "English (Turks & Caicos Islands)",
            Self::EN_TK => "English (Tokelau)",
            Self::EN_TO => "English (Tonga)",
            Self::EN_TT => "English (Trinidad & Tobago)",
            Self::EN_TV => "English (Tuvalu)",
            Self::EN_TZ => "English (Tanzania)",
            Self::EN_UG => "English (Uganda)",
            Self::EN_UM => "English (U.S. Outlying Islands)",
            Self::EN_US => "English (United States)",
            Self::EN_US_POSIX => "English (United States), (Computer)",
            Self::EN_VC => "English (St. Vincent & Grenadines)",
            Self::EN_VG => "English (British Virgin Islands)",
            Self::EN_VI => "English (U.S. Virgin Islands)",
            Self::EN_VU => "English (Vanuatu)",
            Self::EN_WS => "English (Samoa)",
            Self::EN_ZA => "English (South Africa)",
            Self::EN_ZM => "English (Zambia)",
            Self::EN_ZW => "English (Zimbabwe)",
            Self::EO => "Esperanto",
            Self::EO_001 => "Esperanto (world)",
            Self::ES => "Spanish",
            Self::ES_419 => "Spanish (Latin America)",
            Self::ES_AR => "Spanish (Argentina)",
            Self::ES_BO => "Spanish (Bolivia)",
            Self::ES_BR => "Spanish (Brazil)",
            Self::ES_BZ => "Spanish (Belize)",
            Self::ES_CL => "Spanish (Chile)",
            Self::ES_CO => "Spanish (Colombia)",
            Self::ES_CR => "Spanish (Costa Rica)",
            Self::ES_CU => "Spanish (Cuba)",
            Self::ES_DO => "Spanish (Dominican Republic)",
            Self::ES_EA => "Spanish (Ceuta & Melilla)",
            Self::ES_EC => "Spanish (Ecuador)",
            Self::ES_ES => "Spanish (Spain)",
            Self::ES_GQ => "Spanish (Equatorial Guinea)",
            Self::ES_GT => "Spanish (Guatemala)",
            Self::ES_HN => "Spanish (Honduras)",
            Self::ES_IC => "Spanish (Canary Islands)",
            Self::ES_MX => "Spanish (Mexico)",
            Self::ES_NI => "Spanish (Nicaragua)",
            Self::ES_PA => "Spanish (Panama)",
            Self::ES_PE => "Spanish (Peru)",
            Self::ES_PH => "Spanish (Philippines)",
            Self::ES_PR => "Spanish (Puerto Rico)",
            Self::ES_PY => "Spanish (Paraguay)",
            Self::ES_SV => "Spanish (El Salvador)",
            Self::ES_US => "Spanish (United States)",
            Self::ES_UY => "Spanish (Uruguay)",
            Self::ES_VE => "Spanish (Venezuela)",
            Self::ET => "Estonian",
            Self::ET_EE => "Estonian (Estonia)",
            Self::EU => "Basque",
            Self::EU_ES => "Basque (Spain)",
            Self::EWO => "Ewondo",
            Self::EWO_CM => "Ewondo (Cameroon)",
            Self::FA => "Persian",
            Self::FA_AF => "Persian (Afghanistan)",
            Self::FA_IR => "Persian (Iran)",
            Self::FF => "Fula",
            Self::FF_ADLM => "Fula (Adlam)",
            Self::FF_ADLM_BF => "Fula (Adlam), (Burkina Faso)",
            Self::FF_ADLM_CM => "Fula (Adlam), (Cameroon)",
            Self::FF_ADLM_GH => "Fula (Adlam), (Ghana)",
            Self::FF_ADLM_GM => "Fula (Adlam), (Gambia)",
            Self::FF_ADLM_GN => "Fula (Adlam), (Guinea)",
            Self::FF_ADLM_GW => "Fula (Adlam), (Guinea-Bissau)",
            Self::FF_ADLM_LR => "Fula (Adlam), (Liberia)",
            Self::FF_ADLM_MR => "Fula (Adlam), (Mauritania)",
            Self::FF_ADLM_NE => "Fula (Adlam), (Niger)",
            Self::FF_ADLM_NG => "Fula (Adlam), (Nigeria)",
            Self::FF_ADLM_SL => "Fula (Adlam), (Sierra Leone)",
            Self::FF_ADLM_SN => "Fula (Adlam), (Senegal)",
            Self::FF_LATN => "Fula (Latin)",
            Self::FF_LATN_BF => "Fula (Latin), (Burkina Faso)",
            Self::FF_LATN_CM => "Fula (Latin), (Cameroon)",
            Self::FF_LATN_GH => "Fula (Latin), (Ghana)",
            Self::FF_LATN_GM => "Fula (Latin), (Gambia)",
            Self::FF_LATN_GN => "Fula (Latin), (Guinea)",
            Self::FF_LATN_GW => "Fula (Latin), (Guinea-Bissau)",
            Self::FF_LATN_LR => "Fula (Latin), (Liberia)",
            Self::FF_LATN_MR => "Fula (Latin), (Mauritania)",
            Self::FF_LATN_NE => "Fula (Latin), (Niger)",
            Self::FF_LATN_NG => "Fula (Latin), (Nigeria)",
            Self::FF_LATN_SL => "Fula (Latin), (Sierra Leone)",
            Self::FF_LATN_SN => "Fula (Latin), (Senegal)",
            Self::FI => "Finnish",
            Self::FI_FI => "Finnish (Finland)",
            Self::FIL => "Filipino",
            Self::FIL_PH => "Filipino (Philippines)",
            Self::FO => "Faroese",
            Self::FO_DK => "Faroese (Denmark)",
            Self::FO_FO => "Faroese (Faroe Islands)",
            Self::FR => "French",
            Self::FR_BE => "French (Belgium)",
            Self::FR_BF => "French (Burkina Faso)",
            Self::FR_BI => "French (Burundi)",
            Self::FR_BJ => "French (Benin)",
            Self::FR_BL => "French (St. Barthélemy)",
            Self::FR_CA => "French (Canada)",
            Self::FR_CD => "French (Congo - Kinshasa)",
            Self::FR_CF => "French (Central African Republic)",
            Self::FR_CG => "French (Congo - Brazzaville)",
            Self::FR_CH => "French (Switzerland)",
            Self::FR_CI => "French (Côte d’Ivoire)",
            Self::FR_CM => "French (Cameroon)",
            Self::FR_DJ => "French (Djibouti)",
            Self::FR_DZ => "French (Algeria)",
            Self::FR_FR => "French (France)",
            Self::FR_GA => "French (Gabon)",
            Self::FR_GF => "French (French Guiana)",
            Self::FR_GN => "French (Guinea)",
            Self::FR_GP => "French (Guadeloupe)",
            Self::FR_GQ => "French (Equatorial Guinea)",
            Self::FR_HT => "French (Haiti)",
            Self::FR_KM => "French (Comoros)",
            Self::FR_LU => "French (Luxembourg)",
            Self::FR_MA => "French (Morocco)",
            Self::FR_MC => "French (Monaco)",
            Self::FR_MF => "French (St. Martin)",
            Self::FR_MG => "French (Madagascar)",
            Self::FR_ML => "French (Mali)",
            Self::FR_MQ => "French (Martinique)",
            Self::FR_MR => "French (Mauritania)",
            Self::FR_MU => "French (Mauritius)",
            Self::FR_NC => "French (New Caledonia)",
            Self::FR_NE => "French (Niger)",
            Self::FR_PF => "French (French Polynesia)",
            Self::FR_PM => "French (St. Pierre & Miquelon)",
            Self::FR_RE => "French (Réunion)",
            Self::FR_RW => "French (Rwanda)",
            Self::FR_SC => "French (Seychelles)",
            Self::FR_SN => "French (Senegal)",
            Self::FR_SY => "French (Syria)",
            Self::FR_TD => "French (Chad)",
            Self::FR_TG => "French (Togo)",
            Self::FR_TN => "French (Tunisia)",
            Self::FR_VU => "French (Vanuatu)",
            Self::FR_WF => "French (Wallis & Futuna)",
            Self::FR_YT => "French (Mayotte)",
            Self::FUR => "Friulian",
            Self::FUR_IT => "Friulian (Italy)",
            Self::FY => "Western Frisian",
            Self::FY_NL => "Western Frisian (Netherlands)",
            Self::GA => "Irish",
            Self::GA_GB => "Irish (United Kingdom)",
            Self::GA_IE => "Irish (Ireland)",
            Self::GD => "Scottish Gaelic",
            Self::GD_GB => "Scottish Gaelic (United Kingdom)",
            Self::GL => "Galician",
            Self::GL_ES => "Galician (Spain)",
            Self::GSW => "Swiss German",
            Self::GSW_CH => "Swiss German (Switzerland)",
            Self::GSW_FR => "Swiss German (France)",
            Self::GSW_LI => "Swiss German (Liechtenstein)",
            Self::GU => "Gujarati",
            Self::GU_IN => "Gujarati (India)",
            Self::GUZ => "Gusii",
            Self::GUZ_KE => "Gusii (Kenya)",
            Self::GV => "Manx",
            Self::GV_IM => "Manx (Isle of Man)",
            Self::HA => "Hausa",
            Self::HA_GH => "Hausa (Ghana)",
            Self::HA_NE => "Hausa (Niger)",
            Self::HA_NG => "Hausa (Nigeria)",
            Self::HAW => "Hawaiian",
            Self::HAW_US => "Hawaiian (United States)",
            Self::HE => "Hebrew",
            Self::HE_IL => "Hebrew (Israel)",
            Self::HI => "Hindi",
            Self::HI_IN => "Hindi (India)",
            Self::HI_LATN => "Hindi (Latin)",
            Self::HI_LATN_IN => "Hindi (Latin), (India)",
            Self::HR => "Croatian",
            Self::HR_BA => "Croatian (Bosnia & Herzegovina)",
            Self::HR_HR => "Croatian (Croatia)",
            Self::HSB => "Upper Sorbian",
            Self::HSB_DE => "Upper Sorbian (Germany)",
            Self::HU => "Hungarian",
            Self::HU_HU => "Hungarian (Hungary)",
            Self::HY => "Armenian",
            Self::HY_AM => "Armenian (Armenia)",
            Self::IA => "Interlingua",
            Self::IA_001 => "Interlingua (world)",
            Self::ID => "Indonesian",
            Self::ID_ID => "Indonesian (Indonesia)",
            Self::IG => "Igbo",
            Self::IG_NG => "Igbo (Nigeria)",
            Self::II => "Sichuan Yi",
            Self::II_CN => "Sichuan Yi (China)",
            Self::IS => "Icelandic",
            Self::IS_IS => "Icelandic (Iceland)",
            Self::IT => "Italian",
            Self::IT_CH => "Italian (Switzerland)",
            Self::IT_IT => "Italian (Italy)",
            Self::IT_SM => "Italian (San Marino)",
            Self::IT_VA => "Italian (Vatican City)",
            Self::JA => "Japanese",
            Self::JA_JP => "Japanese (Japan)",
            Self::JGO => "Ngomba",
            Self::JGO_CM => "Ngomba (Cameroon)",
            Self::JMC => "Machame",
            Self::JMC_TZ => "Machame (Tanzania)",
            Self::JV => "Javanese",
            Self::JV_ID => "Javanese (Indonesia)",
            Self::KA => "Georgian",
            Self::KA_GE => "Georgian (Georgia)",
            Self::KAB => "Kabyle",
            Self::KAB_DZ => "Kabyle (Algeria)",
            Self::KAM => "Kamba",
            Self::KAM_KE => "Kamba (Kenya)",
            Self::KDE => "Makonde",
            Self::KDE_TZ => "Makonde (Tanzania)",
            Self::KEA => "Kabuverdianu",
            Self::KEA_CV => "Kabuverdianu (Cape Verde)",
            Self::KGP => "Kaingang",
            Self::KGP_BR => "Kaingang (Brazil)",
            Self::KHQ => "Koyra Chiini",
            Self::KHQ_ML => "Koyra Chiini (Mali)",
            Self::KI => "Kikuyu",
            Self::KI_KE => "Kikuyu (Kenya)",
            Self::KK => "Kazakh",
            Self::KK_KZ => "Kazakh (Kazakhstan)",
            Self::KKJ => "Kako",
            Self::KKJ_CM => "Kako (Cameroon)",
            Self::KL => "Kalaallisut",
            Self::KL_GL => "Kalaallisut (Greenland)",
            Self::KLN => "Kalenjin",
            Self::KLN_KE => "Kalenjin (Kenya)",
            Self::KM => "Khmer",
            Self::KM_KH => "Khmer (Cambodia)",
            Self::KN => "Kannada",
            Self::KN_IN => "Kannada (India)",
            Self::KO => "Korean",
            Self::KO_KP => "Korean (North Korea)",
            Self::KO_KR => "Korean (South Korea)",
            Self::KOK => "Konkani",
            Self::KOK_IN => "Konkani (India)",
            Self::KS => "Kashmiri",
            Self::KS_ARAB => "Kashmiri (Arabic)",
            Self::KS_ARAB_IN => "Kashmiri (Arabic), (India)",
            Self::KS_DEVA => "Kashmiri (Devanagari)",
            Self::KS_DEVA_IN => "Kashmiri (Devanagari), (India)",
            Self::KSB => "Shambala",
            Self::KSB_TZ => "Shambala (Tanzania)",
            Self::KSF => "Bafia",
            Self::KSF_CM => "Bafia (Cameroon)",
            Self::KSH => "Colognian",
            Self::KSH_DE => "Colognian (Germany)",
            Self::KU => "Kurdish",
            Self::KU_TR => "Kurdish (Turkey)",
            Self::KW => "Cornish",
            Self::KW_GB => "Cornish (United Kingdom)",
            Self::KY => "Kyrgyz",
            Self::KY_KG => "Kyrgyz (Kyrgyzstan)",
            Self::LAG => "Langi",
            Self::LAG_TZ => "Langi (Tanzania)",
            Self::LB => "Luxembourgish",
            Self::LB_LU => "Luxembourgish (Luxembourg)",
            Self::LG => "Ganda",
            Self::LG_UG => "Ganda (Uganda)",
            Self::LKT => "Lakota",
            Self::LKT_US => "Lakota (United States)",
            Self::LN => "Lingala",
            Self::LN_AO => "Lingala (Angola)",
            Self::LN_CD => "Lingala (Congo - Kinshasa)",
            Self::LN_CF => "Lingala (Central African Republic)",
            Self::LN_CG => "Lingala (Congo - Brazzaville)",
            Self::LO => "Lao",
            Self::LO_LA => "Lao (Laos)",
            Self::LRC => "Northern Luri",
            Self::LRC_IQ => "Northern Luri (Iraq)",
            Self::LRC_IR => "Northern Luri (Iran)",
            Self::LT => "Lithuanian",
            Self::LT_LT => "Lithuanian (Lithuania)",
            Self::LU => "Luba-Katanga",
            Self::LU_CD => "Luba-Katanga (Congo - Kinshasa)",
            Self::LUO => "Luo",
            Self::LUO_KE => "Luo (Kenya)",
            Self::LUY => "Luyia",
            Self::LUY_KE => "Luyia (Kenya)",
            Self::LV => "Latvian",
            Self::LV_LV => "Latvian (Latvia)",
            Self::MAI => "Maithili",
            Self::MAI_IN => "Maithili (India)",
            Self::MAS => "Masai",
            Self::MAS_KE => "Masai (Kenya)",
            Self::MAS_TZ => "Masai (Tanzania)",
            Self::MER => "Meru",
            Self::MER_KE => "Meru (Kenya)",
            Self::MFE => "Morisyen",
            Self::MFE_MU => "Morisyen (Mauritius)",
            Self::MG => "Malagasy",
            Self::MG_MG => "Malagasy (Madagascar)",
            Self::MGH => "Makhuwa-Meetto",
            Self::MGH_MZ => "Makhuwa-Meetto (Mozambique)",
            Self::MGO => "Metaʼ",
            Self::MGO_CM => "Metaʼ (Cameroon)",
            Self::MI => "Māori",
            Self::MI_NZ => "Māori (New Zealand)",
            Self::MK => "Macedonian",
            Self::MK_MK => "Macedonian (North Macedonia)",
            Self::ML => "Malayalam",
            Self::ML_IN => "Malayalam (India)",
            Self::MN => "Mongolian",
            Self::MN_MN => "Mongolian (Mongolia)",
            Self::MNI => "Manipuri",
            Self::MNI_BENG => "Manipuri (Bangla)",
            Self::MNI_BENG_IN => "Manipuri (Bangla), (India)",
            Self::MR => "Marathi",
            Self::MR_IN => "Marathi (India)",
            Self::MS => "Malay",
            Self::MS_BN => "Malay (Brunei)",
            Self::MS_ID => "Malay (Indonesia)",
            Self::MS_MY => "Malay (Malaysia)",
            Self::MS_SG => "Malay (Singapore)",
            Self::MT => "Maltese",
            Self::MT_MT => "Maltese (Malta)",
            Self::MUA => "Mundang",
            Self::MUA_CM => "Mundang (Cameroon)",
            Self::MY => "Burmese",
            Self::MY_MM => "Burmese (Myanmar [Burma])",
            Self::MZN => "Mazanderani",
            Self::MZN_IR => "Mazanderani (Iran)",
            Self::NAQ => "Nama",
            Self::NAQ_NA => "Nama (Namibia)",
            Self::NB => "Norwegian Bokmål",
            Self::NB_NO => "Norwegian Bokmål (Norway)",
            Self::NB_SJ => "Norwegian Bokmål (Svalbard & Jan Mayen)",
            Self::ND => "North Ndebele",
            Self::ND_ZW => "North Ndebele (Zimbabwe)",
            Self::NE => "Nepali",
            Self::NE_IN => "Nepali (India)",
            Self::NE_NP => "Nepali (Nepal)",
            Self::NL => "Dutch",
            Self::NL_AW => "Dutch (Aruba)",
            Self::NL_BE => "Dutch (Belgium)",
            Self::NL_BQ => "Dutch (Caribbean Netherlands)",
            Self::NL_CW => "Dutch (Curaçao)",
            Self::NL_NL => "Dutch (Netherlands)",
            Self::NL_SR => "Dutch (Suriname)",
            Self::NL_SX => "Dutch (Sint Maarten)",
            Self::NMG => "Kwasio",
            Self::NMG_CM => "Kwasio (Cameroon)",
            Self::NN => "Norwegian Nynorsk",
            Self::NN_NO => "Norwegian Nynorsk (Norway)",
            Self::NNH => "Ngiemboon",
            Self::NNH_CM => "Ngiemboon (Cameroon)",
            Self::NO => "Norwegian",
            Self::NUS => "Nuer",
            Self::NUS_SS => "Nuer (South Sudan)",
            Self::NYN => "Nyankole",
            Self::NYN_UG => "Nyankole (Uganda)",
            Self::OM => "Oromo",
            Self::OM_ET => "Oromo (Ethiopia)",
            Self::OM_KE => "Oromo (Kenya)",
            Self::OR => "Odia",
            Self::OR_IN => "Odia (India)",
            Self::OS => "Ossetic",
            Self::OS_GE => "Ossetic (Georgia)",
            Self::OS_RU => "Ossetic (Russia)",
            Self::PA => "Punjabi",
            Self::PA_ARAB => "Punjabi (Arabic)",
            Self::PA_ARAB_PK => "Punjabi (Arabic), (Pakistan)",
            Self::PA_GURU => "Punjabi (Gurmukhi)",
            Self::PA_GURU_IN => "Punjabi (Gurmukhi), (India)",
            Self::PCM => "Nigerian Pidgin",
            Self::PCM_NG => "Nigerian Pidgin (Nigeria)",
            Self::PL => "Polish",
            Self::PL_PL => "Polish (Poland)",
            Self::PS => "Pashto",
            Self::PS_AF => "Pashto (Afghanistan)",
            Self::PS_PK => "Pashto (Pakistan)",
            Self::PT => "Portuguese",
            Self::PT_AO => "Portuguese (Angola)",
            Self::PT_BR => "Portuguese (Brazil)",
            Self::PT_CH => "Portuguese (Switzerland)",
            Self::PT_CV => "Portuguese (Cape Verde)",
            Self::PT_GQ => "Portuguese (Equatorial Guinea)",
            Self::PT_GW => "Portuguese (Guinea-Bissau)",
            Self::PT_LU => "Portuguese (Luxembourg)",
            Self::PT_MO => "Portuguese (Macao SAR China)",
            Self::PT_MZ => "Portuguese (Mozambique)",
            Self::PT_PT => "Portuguese (Portugal)",
            Self::PT_ST => "Portuguese (São Tomé & Príncipe)",
            Self::PT_TL => "Portuguese (Timor-Leste)",
            Self::QU => "Quechua",
            Self::QU_BO => "Quechua (Bolivia)",
            Self::QU_EC => "Quechua (Ecuador)",
            Self::QU_PE => "Quechua (Peru)",
            Self::RAJ => "Rajasthani",
            Self::RAJ_IN => "Rajasthani (India)",
            Self::RM => "Romansh",
            Self::RM_CH => "Romansh (Switzerland)",
            Self::RN => "Rundi",
            Self::RN_BI => "Rundi (Burundi)",
            Self::RO => "Romanian",
            Self::RO_MD => "Romanian (Moldova)",
            Self::RO_RO => "Romanian (Romania)",
            Self::ROF => "Rombo",
            Self::ROF_TZ => "Rombo (Tanzania)",
            Self::RU => "Russian",
            Self::RU_BY => "Russian (Belarus)",
            Self::RU_KG => "Russian (Kyrgyzstan)",
            Self::RU_KZ => "Russian (Kazakhstan)",
            Self::RU_MD => "Russian (Moldova)",
            Self::RU_RU => "Russian (Russia)",
            Self::RU_UA => "Russian (Ukraine)",
            Self::RW => "Kinyarwanda",
            Self::RW_RW => "Kinyarwanda (Rwanda)",
            Self::RWK => "Rwa",
            Self::RWK_TZ => "Rwa (Tanzania)",
            Self::SA => "Sanskrit",
            Self::SA_IN => "Sanskrit (India)",
            Self::SAH => "Yakut",
            Self::SAH_RU => "Yakut (Russia)",
            Self::SAQ => "Samburu",
            Self::SAQ_KE => "Samburu (Kenya)",
            Self::SAT => "Santali",
            Self::SAT_OLCK => "Santali (Ol Chiki)",
            Self::SAT_OLCK_IN => "Santali (Ol Chiki), (India)",
            Self::SBP => "Sangu",
            Self::SBP_TZ => "Sangu (Tanzania)",
            Self::SC => "Sardinian",
            Self::SC_IT => "Sardinian (Italy)",
            Self::SD => "Sindhi",
            Self::SD_ARAB => "Sindhi (Arabic)",
            Self::SD_ARAB_PK => "Sindhi (Arabic), (Pakistan)",
            Self::SD_DEVA => "Sindhi (Devanagari)",
            Self::SD_DEVA_IN => "Sindhi (Devanagari), (India)",
            Self::SE => "Northern Sami",
            Self::SE_FI => "Northern Sami (Finland)",
            Self::SE_NO => "Northern Sami (Norway)",
            Self::SE_SE => "Northern Sami (Sweden)",
            Self::SEH => "Sena",
            Self::SEH_MZ => "Sena (Mozambique)",
            Self::SES => "Koyraboro Senni",
            Self::SES_ML => "Koyraboro Senni (Mali)",
            Self::SG => "Sango",
            Self::SG_CF => "Sango (Central African Republic)",
            Self::SHI => "Tachelhit",
            Self::SHI_LATN => "Tachelhit (Latin)",
            Self::SHI_LATN_MA => "Tachelhit (Latin), (Morocco)",
            Self::SHI_TFNG => "Tachelhit (Tifinagh)",
            Self::SHI_TFNG_MA => "Tachelhit (Tifinagh), (Morocco)",
            Self::SI => "Sinhala",
            Self::SI_LK => "Sinhala (Sri Lanka)",
            Self::SK => "Slovak",
            Self::SK_SK => "Slovak (Slovakia)",
            Self::SL => "Slovenian",
            Self::SL_SI => "Slovenian (Slovenia)",
            Self::SMN => "Inari Sami",
            Self::SMN_FI => "Inari Sami (Finland)",
            Self::SN => "Shona",
            Self::SN_ZW => "Shona (Zimbabwe)",
            Self::SO => "Somali",
            Self::SO_DJ => "Somali (Djibouti)",
            Self::SO_ET => "Somali (Ethiopia)",
            Self::SO_KE => "Somali (Kenya)",
            Self::SO_SO => "Somali (Somalia)",
            Self::SQ => "Albanian",
            Self::SQ_AL => "Albanian (Albania)",
            Self::SQ_MK => "Albanian (North Macedonia)",
            Self::SQ_XK => "Albanian (Kosovo)",
            Self::SR => "Serbian",
            Self::SR_CYRL => "Serbian (Cyrillic)",
            Self::SR_CYRL_BA => "Serbian (Cyrillic), (Bosnia & Herzegovina)",
            Self::SR_CYRL_ME => "Serbian (Cyrillic), (Montenegro)",
            Self::SR_CYRL_RS => "Serbian (Cyrillic), (Serbia)",
            Self::SR_CYRL_XK => "Serbian (Cyrillic), (Kosovo)",
            Self::SR_LATN => "Serbian (Latin)",
            Self::SR_LATN_BA => "Serbian (Latin), (Bosnia & Herzegovina)",
            Self::SR_LATN_ME => "Serbian (Latin), (Montenegro)",
            Self::SR_LATN_RS => "Serbian (Latin), (Serbia)",
            Self::SR_LATN_XK => "Serbian (Latin), (Kosovo)",
            Self::SU => "Sundanese",
            Self::SU_LATN => "Sundanese (Latin)",
            Self::SU_LATN_ID => "Sundanese (Latin), (Indonesia)",
            Self::SV => "Swedish",
            Self::SV_AX => "Swedish (Åland Islands)",
            Self::SV_FI => "Swedish (Finland)",
            Self::SV_SE => "Swedish (Sweden)",
            Self::SW => "Swahili",
            Self::SW_CD => "Swahili (Congo - Kinshasa)",
            Self::SW_KE => "Swahili (Kenya)",
            Self::SW_TZ => "Swahili (Tanzania)",
            Self::SW_UG => "Swahili (Uganda)",
            Self::TA => "Tamil",
            Self::TA_IN => "Tamil (India)",
            Self::TA_LK => "Tamil (Sri Lanka)",
            Self::TA_MY => "Tamil (Malaysia)",
            Self::TA_SG => "Tamil (Singapore)",
            Self::TE => "Telugu",
            Self::TE_IN => "Telugu (India)",
            Self::TEO => "Teso",
            Self::TEO_KE => "Teso (Kenya)",
            Self::TEO_UG => "Teso (Uganda)",
            Self::TG => "Tajik",
            Self::TG_TJ => "Tajik (Tajikistan)",
            Self::TH => "Thai",
            Self::TH_TH => "Thai (Thailand)",
            Self::TI => "Tigrinya",
            Self::TI_ER => "Tigrinya (Eritrea)",
            Self::TI_ET => "Tigrinya (Ethiopia)",
            Self::TK => "Turkmen",
            Self::TK_TM => "Turkmen (Turkmenistan)",
            Self::TO => "Tongan",
            Self::TO_TO => "Tongan (Tonga)",
            Self::TR => "Turkish",
            Self::TR_CY => "Turkish (Cyprus)",
            Self::TR_TR => "Turkish (Turkey)",
            Self::TT => "Tatar",
            Self::TT_RU => "Tatar (Russia)",
            Self::TWQ => "Tasawaq",
            Self::TWQ_NE => "Tasawaq (Niger)",
            Self::TZM => "Central Atlas Tamazight",
            Self::TZM_MA => "Central Atlas Tamazight (Morocco)",
            Self::UG => "Uyghur",
            Self::UG_CN => "Uyghur (China)",
            Self::UK => "Ukrainian",
            Self::UK_UA => "Ukrainian (Ukraine)",
            Self::UR => "Urdu",
            Self::UR_IN => "Urdu (India)",
            Self::UR_PK => "Urdu (Pakistan)",
            Self::UZ => "Uzbek",
            Self::UZ_ARAB => "Uzbek (Arabic)",
            Self::UZ_ARAB_AF => "Uzbek (Arabic), (Afghanistan)",
            Self::UZ_CYRL => "Uzbek (Cyrillic)",
            Self::UZ_CYRL_UZ => "Uzbek (Cyrillic), (Uzbekistan)",
            Self::UZ_LATN => "Uzbek (Latin)",
            Self::UZ_LATN_UZ => "Uzbek (Latin), (Uzbekistan)",
            Self::VAI => "Vai",
            Self::VAI_LATN => "Vai (Latin)",
            Self::VAI_LATN_LR => "Vai (Latin), (Liberia)",
            Self::VAI_VAII => "Vai (Vai)",
            Self::VAI_VAII_LR => "Vai (Vai), (Liberia)",
            Self::VI => "Vietnamese",
            Self::VI_VN => "Vietnamese (Vietnam)",
            Self::VUN => "Vunjo",
            Self::VUN_TZ => "Vunjo (Tanzania)",
            Self::WAE => "Walser",
            Self::WAE_CH => "Walser (Switzerland)",
            Self::WO => "Wolof",
            Self::WO_SN => "Wolof (Senegal)",
            Self::XH => "Xhosa",
            Self::XH_ZA => "Xhosa (South Africa)",
            Self::XOG => "Soga",
            Self::XOG_UG => "Soga (Uganda)",
            Self::YAV => "Yangben",
            Self::YAV_CM => "Yangben (Cameroon)",
            Self::YI => "Yiddish",
            Self::YI_001 => "Yiddish (world)",
            Self::YO => "Yoruba",
            Self::YO_BJ => "Yoruba (Benin)",
            Self::YO_NG => "Yoruba (Nigeria)",
            Self::YRL => "Nheengatu",
            Self::YRL_BR => "Nheengatu (Brazil)",
            Self::YRL_CO => "Nheengatu (Colombia)",
            Self::YRL_VE => "Nheengatu (Venezuela)",
            Self::YUE => "Cantonese",
            Self::YUE_HANS => "Cantonese (Simplified)",
            Self::YUE_HANS_CN => "Cantonese (Simplified), (China)",
            Self::YUE_HANT => "Cantonese (Traditional)",
            Self::YUE_HANT_HK => "Cantonese (Traditional), (Hong Kong SAR China)",
            Self::ZGH => "Standard Moroccan Tamazight",
            Self::ZGH_MA => "Standard Moroccan Tamazight (Morocco)",
            Self::ZH => "Chinese",
            Self::ZH_HANS => "Chinese (Simplified)",
            Self::ZH_HANS_CN => "Chinese (Simplified), (China)",
            Self::ZH_HANS_HK => "Chinese (Simplified), (Hong Kong SAR China)",
            Self::ZH_HANS_MO => "Chinese (Simplified), (Macao SAR China)",
            Self::ZH_HANS_SG => "Chinese (Simplified), (Singapore)",
            Self::ZH_HANT => "Chinese (Traditional)",
            Self::ZH_HANT_HK => "Chinese (Traditional), (Hong Kong SAR China)",
            Self::ZH_HANT_MO => "Chinese (Traditional), (Macao SAR China)",
            Self::ZH_HANT_TW => "Chinese (Traditional), (Taiwan)",
            Self::ZU => "Zulu",
            Self::ZU_ZA => "Zulu (South Africa)",
        }
    }

    #[inline(always)]
    pub const fn native(&self) -> &str {
        match self {
            Self::UnsupportedLanguage => "Unsupported Native Language",
            Self::AF => "Afrikaans",
            Self::AF_NA => "Afrikaans (Namibië)",
            Self::AF_ZA => "Afrikaans (Suid-Afrika)",
            Self::AGQ => "Aghem",
            Self::AGQ_CM => "Aghem (Kàmàlûŋ)",
            Self::AK => "Akan",
            Self::AK_GH => "Akan (Gaana)",
            Self::AM => "አማርኛ",
            Self::AM_ET => "አማርኛ (ኢትዮጵያ)",
            Self::AR => "العربية",
            Self::AR_001 => "العربية (العالم)",
            Self::AR_AE => "العربية (الإمارات العربية المتحدة)",
            Self::AR_BH => "العربية (البحرين)",
            Self::AR_DJ => "العربية (جيبوتي)",
            Self::AR_DZ => "العربية (الجزائر)",
            Self::AR_EG => "العربية (مصر)",
            Self::AR_EH => "العربية (الصحراء الغربية)",
            Self::AR_ER => "العربية (إريتريا)",
            Self::AR_IL => "العربية (إسرائيل)",
            Self::AR_IQ => "العربية (العراق)",
            Self::AR_JO => "العربية (الأردن)",
            Self::AR_KM => "العربية (جزر القمر)",
            Self::AR_KW => "العربية (الكويت)",
            Self::AR_LB => "العربية (لبنان)",
            Self::AR_LY => "العربية (ليبيا)",
            Self::AR_MA => "العربية (المغرب)",
            Self::AR_MR => "العربية (موريتانيا)",
            Self::AR_OM => "العربية (عُمان)",
            Self::AR_PS => "العربية (الأراضي الفلسطينية)",
            Self::AR_QA => "العربية (قطر)",
            Self::AR_SA => "العربية (المملكة العربية السعودية)",
            Self::AR_SD => "العربية (السودان)",
            Self::AR_SO => "العربية (الصومال)",
            Self::AR_SS => "العربية (جنوب السودان)",
            Self::AR_SY => "العربية (سوريا)",
            Self::AR_TD => "العربية (تشاد)",
            Self::AR_TN => "العربية (تونس)",
            Self::AR_YE => "العربية (اليمن)",
            Self::AS => "অসমীয়া",
            Self::AS_IN => "অসমীয়া (ভাৰত)",
            Self::ASA => "Kipare",
            Self::ASA_TZ => "Kipare (Tadhania)",
            Self::AST => "asturianu",
            Self::AST_ES => "asturianu (España)",
            Self::AZ => "azərbaycan",
            Self::AZ_CYRL => "азәрбајҹан (Кирил)",
            Self::AZ_CYRL_AZ => "азәрбајҹан (Кирил, Азәрбајҹан)",
            Self::AZ_LATN => "azərbaycan (latın)",
            Self::AZ_LATN_AZ => "azərbaycan (latın, Azərbaycan)",
            Self::BAS => "Ɓàsàa",
            Self::BAS_CM => "Ɓàsàa (Kàmɛ̀rûn)",
            Self::BE => "беларуская",
            Self::BE_BY => "беларуская (Беларусь)",
            Self::BEM => "Ichibemba",
            Self::BEM_ZM => "Ichibemba (Zambia)",
            Self::BEZ => "Hibena",
            Self::BEZ_TZ => "Hibena (Hutanzania)",
            Self::BG => "български",
            Self::BG_BG => "български (България)",
            Self::BGC => "हरियाणवी",
            Self::BGC_IN => "हरियाणवी (भारत)",
            Self::BHO => "भोजपुरी",
            Self::BHO_IN => "भोजपुरी (भारत)",
            Self::BM => "bamanakan",
            Self::BM_ML => "bamanakan (Mali)",
            Self::BN => "বাংলা",
            Self::BN_BD => "বাংলা (বাংলাদেশ)",
            Self::BN_IN => "বাংলা (ভারত)",
            Self::BO => "བོད་སྐད་",
            Self::BO_CN => "བོད་སྐད་ (རྒྱ་ནག)",
            Self::BO_IN => "བོད་སྐད་ (རྒྱ་གར་)",
            Self::BR => "brezhoneg",
            Self::BR_FR => "brezhoneg (Frañs)",
            Self::BRX => "बर’",
            Self::BRX_IN => "बर’ (भारत)",
            Self::BS => "bosanski",
            Self::BS_CYRL => "босански (ћирилица)",
            Self::BS_CYRL_BA => "босански (ћирилица, Босна и Херцеговина)",
            Self::BS_LATN => "bosanski (latinica)",
            Self::BS_LATN_BA => "bosanski (latinica, Bosna i Hercegovina)",
            Self::CA => "català",
            Self::CA_AD => "català (Andorra)",
            Self::CA_ES => "català (Espanya)",
            Self::CA_FR => "català (França)",
            Self::CA_IT => "català (Itàlia)",
            Self::CCP => "𑄌𑄋𑄴𑄟𑄳𑄦",
            Self::CCP_BD => "𑄌𑄋𑄴𑄟𑄳𑄦 (𑄝𑄁𑄣𑄘𑄬𑄌𑄴)",
            Self::CCP_IN => "𑄌𑄋𑄴𑄟𑄳𑄦 (𑄞𑄢𑄧𑄖𑄴)",
            Self::CE => "нохчийн",
            Self::CE_RU => "нохчийн (Росси)",
            Self::CEB => "Cebuano",
            Self::CEB_PH => "Cebuano (Pilipinas)",
            Self::CGG => "Rukiga",
            Self::CGG_UG => "Rukiga (Uganda)",
            Self::CHR => "ᏣᎳᎩ",
            Self::CHR_US => "ᏣᎳᎩ (ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ)",
            Self::CKB => "کوردیی ناوەندی",
            Self::CKB_IQ => "کوردیی ناوەندی (عێراق)",
            Self::CKB_IR => "کوردیی ناوەندی (ئێران)",
            Self::CS => "čeština",
            Self::CS_CZ => "čeština (Česko)",
            Self::CV => "чӑваш",
            Self::CV_RU => "чӑваш (Раҫҫей)",
            Self::CY => "Cymraeg",
            Self::CY_GB => "Cymraeg (Y Deyrnas Unedig)",
            Self::DA => "dansk",
            Self::DA_DK => "dansk (Danmark)",
            Self::DA_GL => "dansk (Grønland)",
            Self::DAV => "Kitaita",
            Self::DAV_KE => "Kitaita (Kenya)",
            Self::DE => "Deutsch",
            Self::DE_AT => "Deutsch (Österreich)",
            Self::DE_BE => "Deutsch (Belgien)",
            Self::DE_CH => "Deutsch (Schweiz)",
            Self::DE_DE => "Deutsch (Deutschland)",
            Self::DE_IT => "Deutsch (Italien)",
            Self::DE_LI => "Deutsch (Liechtenstein)",
            Self::DE_LU => "Deutsch (Luxemburg)",
            Self::DJE => "Zarmaciine",
            Self::DJE_NE => "Zarmaciine (Nižer)",
            Self::DOI => "डोगरी",
            Self::DOI_IN => "डोगरी (भारत)",
            Self::DSB => "dolnoserbšćina",
            Self::DSB_DE => "dolnoserbšćina (Nimska)",
            Self::DUA => "duálá",
            Self::DUA_CM => "duálá (Cameroun)",
            Self::DYO => "joola",
            Self::DYO_SN => "joola (Senegal)",
            Self::DZ => "རྫོང་ཁ",
            Self::DZ_BT => "རྫོང་ཁ། (འབྲུག།)",
            Self::EBU => "Kĩembu",
            Self::EBU_KE => "Kĩembu (Kenya)",
            Self::EE => "Eʋegbe",
            Self::EE_GH => "Eʋegbe (Ghana nutome)",
            Self::EE_TG => "Eʋegbe (Togo nutome)",
            Self::EL => "Ελληνικά",
            Self::EL_CY => "Ελληνικά (Κύπρος)",
            Self::EL_GR => "Ελληνικά (Ελλάδα)",
            Self::EN => "English",
            Self::EN_001 => "English (world)",
            Self::EN_150 => "English (Europe)",
            Self::EN_AE => "English (United Arab Emirates)",
            Self::EN_AG => "English (Antigua & Barbuda)",
            Self::EN_AI => "English (Anguilla)",
            Self::EN_AS => "English (American Samoa)",
            Self::EN_AT => "English (Austria)",
            Self::EN_AU => "English (Australia)",
            Self::EN_BB => "English (Barbados)",
            Self::EN_BE => "English (Belgium)",
            Self::EN_BI => "English (Burundi)",
            Self::EN_BM => "English (Bermuda)",
            Self::EN_BS => "English (Bahamas)",
            Self::EN_BW => "English (Botswana)",
            Self::EN_BZ => "English (Belize)",
            Self::EN_CA => "English (Canada)",
            Self::EN_CC => "English (Cocos [Keeling] Islands)",
            Self::EN_CH => "English (Switzerland)",
            Self::EN_CK => "English (Cook Islands)",
            Self::EN_CM => "English (Cameroon)",
            Self::EN_CX => "English (Christmas Island)",
            Self::EN_CY => "English (Cyprus)",
            Self::EN_DE => "English (Germany)",
            Self::EN_DG => "English (Diego Garcia)",
            Self::EN_DK => "English (Denmark)",
            Self::EN_DM => "English (Dominica)",
            Self::EN_ER => "English (Eritrea)",
            Self::EN_FI => "English (Finland)",
            Self::EN_FJ => "English (Fiji)",
            Self::EN_FK => "English (Falkland Islands)",
            Self::EN_FM => "English (Micronesia)",
            Self::EN_GB => "English (United Kingdom)",
            Self::EN_GD => "English (Grenada)",
            Self::EN_GG => "English (Guernsey)",
            Self::EN_GH => "English (Ghana)",
            Self::EN_GI => "English (Gibraltar)",
            Self::EN_GM => "English (Gambia)",
            Self::EN_GU => "English (Guam)",
            Self::EN_GY => "English (Guyana)",
            Self::EN_HK => "English (Hong Kong SAR China)",
            Self::EN_IE => "English (Ireland)",
            Self::EN_IL => "English (Israel)",
            Self::EN_IM => "English (Isle of Man)",
            Self::EN_IN => "English (India)",
            Self::EN_IO => "English (British Indian Ocean Territory)",
            Self::EN_JE => "English (Jersey)",
            Self::EN_JM => "English (Jamaica)",
            Self::EN_KE => "English (Kenya)",
            Self::EN_KI => "English (Kiribati)",
            Self::EN_KN => "English (St Kitts & Nevis)",
            Self::EN_KY => "English (Cayman Islands)",
            Self::EN_LC => "English (St Lucia)",
            Self::EN_LR => "English (Liberia)",
            Self::EN_LS => "English (Lesotho)",
            Self::EN_MG => "English (Madagascar)",
            Self::EN_MH => "English (Marshall Islands)",
            Self::EN_MO => "English (Macao SAR China)",
            Self::EN_MP => "English (Northern Mariana Islands)",
            Self::EN_MS => "English (Montserrat)",
            Self::EN_MT => "English (Malta)",
            Self::EN_MU => "English (Mauritius)",
            Self::EN_MV => "English (Maldives)",
            Self::EN_MW => "English (Malawi)",
            Self::EN_MY => "English (Malaysia)",
            Self::EN_NA => "English (Namibia)",
            Self::EN_NF => "English (Norfolk Island)",
            Self::EN_NG => "English (Nigeria)",
            Self::EN_NL => "English (Netherlands)",
            Self::EN_NR => "English (Nauru)",
            Self::EN_NU => "English (Niue)",
            Self::EN_NZ => "English (New Zealand)",
            Self::EN_PG => "English (Papua New Guinea)",
            Self::EN_PH => "English (Philippines)",
            Self::EN_PK => "English (Pakistan)",
            Self::EN_PN => "English (Pitcairn Islands)",
            Self::EN_PR => "English (Puerto Rico)",
            Self::EN_PW => "English (Palau)",
            Self::EN_RW => "English (Rwanda)",
            Self::EN_SB => "English (Solomon Islands)",
            Self::EN_SC => "English (Seychelles)",
            Self::EN_SD => "English (Sudan)",
            Self::EN_SE => "English (Sweden)",
            Self::EN_SG => "English (Singapore)",
            Self::EN_SH => "English (St Helena)",
            Self::EN_SI => "English (Slovenia)",
            Self::EN_SL => "English (Sierra Leone)",
            Self::EN_SS => "English (South Sudan)",
            Self::EN_SX => "English (Sint Maarten)",
            Self::EN_SZ => "English (Eswatini)",
            Self::EN_TC => "English (Turks & Caicos Islands)",
            Self::EN_TK => "English (Tokelau)",
            Self::EN_TO => "English (Tonga)",
            Self::EN_TT => "English (Trinidad & Tobago)",
            Self::EN_TV => "English (Tuvalu)",
            Self::EN_TZ => "English (Tanzania)",
            Self::EN_UG => "English (Uganda)",
            Self::EN_UM => "English (U.S. Outlying Islands)",
            Self::EN_US => "English (United States)",
            Self::EN_US_POSIX => "English (United States, Computer)",
            Self::EN_VC => "English (St Vincent & the Grenadines)",
            Self::EN_VG => "English (British Virgin Islands)",
            Self::EN_VI => "English (U.S. Virgin Islands)",
            Self::EN_VU => "English (Vanuatu)",
            Self::EN_WS => "English (Samoa)",
            Self::EN_ZA => "English (South Africa)",
            Self::EN_ZM => "English (Zambia)",
            Self::EN_ZW => "English (Zimbabwe)",
            Self::EO => "esperanto",
            Self::EO_001 => "esperanto (Mondo)",
            Self::ES => "español",
            Self::ES_419 => "español (Latinoamérica)",
            Self::ES_AR => "español (Argentina)",
            Self::ES_BO => "español (Bolivia)",
            Self::ES_BR => "español (Brasil)",
            Self::ES_BZ => "español (Belice)",
            Self::ES_CL => "español (Chile)",
            Self::ES_CO => "español (Colombia)",
            Self::ES_CR => "español (Costa Rica)",
            Self::ES_CU => "español (Cuba)",
            Self::ES_DO => "español (República Dominicana)",
            Self::ES_EA => "español (Ceuta y Melilla)",
            Self::ES_EC => "español (Ecuador)",
            Self::ES_ES => "español (España)",
            Self::ES_GQ => "español (Guinea Ecuatorial)",
            Self::ES_GT => "español (Guatemala)",
            Self::ES_HN => "español (Honduras)",
            Self::ES_IC => "español (Canarias)",
            Self::ES_MX => "español (México)",
            Self::ES_NI => "español (Nicaragua)",
            Self::ES_PA => "español (Panamá)",
            Self::ES_PE => "español (Perú)",
            Self::ES_PH => "español (Filipinas)",
            Self::ES_PR => "español (Puerto Rico)",
            Self::ES_PY => "español (Paraguay)",
            Self::ES_SV => "español (El Salvador)",
            Self::ES_US => "español (Estados Unidos)",
            Self::ES_UY => "español (Uruguay)",
            Self::ES_VE => "español (Venezuela)",
            Self::ET => "eesti",
            Self::ET_EE => "eesti (Eesti)",
            Self::EU => "euskara",
            Self::EU_ES => "euskara (Espainia)",
            Self::EWO => "ewondo",
            Self::EWO_CM => "ewondo (Kamərún)",
            Self::FA => "فارسی",
            Self::FA_AF => "فارسی (افغانستان)",
            Self::FA_IR => "فارسی (ایران)",
            Self::FF => "Pulaar",
            Self::FF_ADLM => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃)",
            Self::FF_ADLM_BF => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤄𞤵𞤪𞤳𞤭𞤲𞤢 𞤊𞤢𞤧𞤮𞥅)",
            Self::FF_ADLM_CM => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤑𞤢𞤥𞤢𞤪𞤵𞥅𞤲)",
            Self::FF_ADLM_GH => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤘𞤢𞤲𞤢)",
            Self::FF_ADLM_GM => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤘𞤢𞤥𞤦𞤭𞤴𞤢)",
            Self::FF_ADLM_GN => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤘𞤭𞤲𞤫)",
            Self::FF_ADLM_GW => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤘𞤭𞤲𞤫-𞤄𞤭𞤧𞤢𞤱𞤮𞥅)",
            Self::FF_ADLM_LR => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤂𞤢𞤦𞤭𞤪𞤭𞤴𞤢𞥄)",
            Self::FF_ADLM_MR => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤃𞤮𞤪𞤼𞤢𞤲𞤭𞥅)",
            Self::FF_ADLM_NE => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤐𞤭𞥅𞤶𞤫𞤪)",
            Self::FF_ADLM_NG => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤐𞤢𞤶𞤫𞤪𞤭𞤴𞤢𞥄)",
            Self::FF_ADLM_SL => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤅𞤢𞤪𞤢𞤤𞤮𞤲)",
            Self::FF_ADLM_SN => "𞤆𞤵𞤤𞤢𞤪 (𞤀𞤁𞤂𞤢𞤃⹁ 𞤅𞤫𞤲𞤫𞤺𞤢𞥄𞤤)",
            Self::FF_LATN => "Fula (Latin)",
            Self::FF_LATN_BF => "Fula (Latin, Burkina Faso)",
            Self::FF_LATN_CM => "Fula (Latin, Cameroon)",
            Self::FF_LATN_GH => "Fula (Latin, Ghana)",
            Self::FF_LATN_GM => "Fula (Latin, Gambia)",
            Self::FF_LATN_GN => "Fula (Latin, Guinea)",
            Self::FF_LATN_GW => "Fula (Latin, Guinea-Bissau)",
            Self::FF_LATN_LR => "Fula (Latin, Liberia)",
            Self::FF_LATN_MR => "Fula (Latin, Mauritania)",
            Self::FF_LATN_NE => "Fula (Latin, Niger)",
            Self::FF_LATN_NG => "Fula (Latin, Nigeria)",
            Self::FF_LATN_SL => "Fula (Latin, Sierra Leone)",
            Self::FF_LATN_SN => "Fula (Latin, Senegal)",
            Self::FI => "suomi",
            Self::FI_FI => "suomi (Suomi)",
            Self::FIL => "Filipino",
            Self::FIL_PH => "Filipino (Pilipinas)",
            Self::FO => "føroyskt",
            Self::FO_DK => "føroyskt (Danmark)",
            Self::FO_FO => "føroyskt (Føroyar)",
            Self::FR => "français",
            Self::FR_BE => "français (Belgique)",
            Self::FR_BF => "français (Burkina Faso)",
            Self::FR_BI => "français (Burundi)",
            Self::FR_BJ => "français (Bénin)",
            Self::FR_BL => "français (Saint-Barthélemy)",
            Self::FR_CA => "français (Canada)",
            Self::FR_CD => "français (Congo-Kinshasa)",
            Self::FR_CF => "français (République centrafricaine)",
            Self::FR_CG => "français (Congo-Brazzaville)",
            Self::FR_CH => "français (Suisse)",
            Self::FR_CI => "français (Côte d’Ivoire)",
            Self::FR_CM => "français (Cameroun)",
            Self::FR_DJ => "français (Djibouti)",
            Self::FR_DZ => "français (Algérie)",
            Self::FR_FR => "français (France)",
            Self::FR_GA => "français (Gabon)",
            Self::FR_GF => "français (Guyane française)",
            Self::FR_GN => "français (Guinée)",
            Self::FR_GP => "français (Guadeloupe)",
            Self::FR_GQ => "français (Guinée équatoriale)",
            Self::FR_HT => "français (Haïti)",
            Self::FR_KM => "français (Comores)",
            Self::FR_LU => "français (Luxembourg)",
            Self::FR_MA => "français (Maroc)",
            Self::FR_MC => "français (Monaco)",
            Self::FR_MF => "français (Saint-Martin)",
            Self::FR_MG => "français (Madagascar)",
            Self::FR_ML => "français (Mali)",
            Self::FR_MQ => "français (Martinique)",
            Self::FR_MR => "français (Mauritanie)",
            Self::FR_MU => "français (Maurice)",
            Self::FR_NC => "français (Nouvelle-Calédonie)",
            Self::FR_NE => "français (Niger)",
            Self::FR_PF => "français (Polynésie française)",
            Self::FR_PM => "français (Saint-Pierre-et-Miquelon)",
            Self::FR_RE => "français (La Réunion)",
            Self::FR_RW => "français (Rwanda)",
            Self::FR_SC => "français (Seychelles)",
            Self::FR_SN => "français (Sénégal)",
            Self::FR_SY => "français (Syrie)",
            Self::FR_TD => "français (Tchad)",
            Self::FR_TG => "français (Togo)",
            Self::FR_TN => "français (Tunisie)",
            Self::FR_VU => "français (Vanuatu)",
            Self::FR_WF => "français (Wallis-et-Futuna)",
            Self::FR_YT => "français (Mayotte)",
            Self::FUR => "furlan",
            Self::FUR_IT => "furlan (Italie)",
            Self::FY => "Frysk",
            Self::FY_NL => "Frysk (Nederlân)",
            Self::GA => "Gaeilge",
            Self::GA_GB => "Gaeilge (an Ríocht Aontaithe)",
            Self::GA_IE => "Gaeilge (Éire)",
            Self::GD => "Gàidhlig",
            Self::GD_GB => "Gàidhlig (An Rìoghachd Aonaichte)",
            Self::GL => "galego",
            Self::GL_ES => "galego (España)",
            Self::GSW => "Schwiizertüütsch",
            Self::GSW_CH => "Schwiizertüütsch (Schwiiz)",
            Self::GSW_FR => "Schwiizertüütsch (Frankriich)",
            Self::GSW_LI => "Schwiizertüütsch (Liächteschtäi)",
            Self::GU => "ગુજરાતી",
            Self::GU_IN => "ગુજરાતી (ભારત)",
            Self::GUZ => "Ekegusii",
            Self::GUZ_KE => "Ekegusii (Kenya)",
            Self::GV => "Gaelg",
            Self::GV_IM => "Gaelg (Ellan Vannin)",
            Self::HA => "Hausa",
            Self::HA_GH => "Hausa (Gana)",
            Self::HA_NE => "Hausa (Nijar)",
            Self::HA_NG => "Hausa (Nijeriya)",
            Self::HAW => "ʻŌlelo Hawaiʻi",
            Self::HAW_US => "ʻŌlelo Hawaiʻi (ʻAmelika Hui Pū ʻIa)",
            Self::HE => "עברית",
            Self::HE_IL => "עברית (ישראל)",
            Self::HI => "हिन्दी",
            Self::HI_IN => "हिन्दी (भारत)",
            Self::HI_LATN => "Hindi (Latin)",
            Self::HI_LATN_IN => "Hindi (Latin, India)",
            Self::HR => "hrvatski",
            Self::HR_BA => "hrvatski (Bosna i Hercegovina)",
            Self::HR_HR => "hrvatski (Hrvatska)",
            Self::HSB => "hornjoserbšćina",
            Self::HSB_DE => "hornjoserbšćina (Němska)",
            Self::HU => "magyar",
            Self::HU_HU => "magyar (Magyarország)",
            Self::HY => "հայերեն",
            Self::HY_AM => "հայերեն (Հայաստան)",
            Self::IA => "interlingua",
            Self::IA_001 => "interlingua (Mundo)",
            Self::ID => "Indonesia",
            Self::ID_ID => "Indonesia (Indonesia)",
            Self::IG => "Igbo",
            Self::IG_NG => "Igbo (Naịjịrịa)",
            Self::II => "ꆈꌠꉙ",
            Self::II_CN => "ꆈꌠꉙ (ꍏꇩ)",
            Self::IS => "íslenska",
            Self::IS_IS => "íslenska (Ísland)",
            Self::IT => "italiano",
            Self::IT_CH => "italiano (Svizzera)",
            Self::IT_IT => "italiano (Italia)",
            Self::IT_SM => "italiano (San Marino)",
            Self::IT_VA => "italiano (Città del Vaticano)",
            Self::JA => "日本語",
            Self::JA_JP => "日本語 (日本)",
            Self::JGO => "Ndaꞌa",
            Self::JGO_CM => "Ndaꞌa (Kamɛlûn)",
            Self::JMC => "Kimachame",
            Self::JMC_TZ => "Kimachame (Tanzania)",
            Self::JV => "Jawa",
            Self::JV_ID => "Jawa (Indonésia)",
            Self::KA => "ქართული",
            Self::KA_GE => "ქართული (საქართველო)",
            Self::KAB => "Taqbaylit",
            Self::KAB_DZ => "Taqbaylit (Lezzayer)",
            Self::KAM => "Kikamba",
            Self::KAM_KE => "Kikamba (Kenya)",
            Self::KDE => "Chimakonde",
            Self::KDE_TZ => "Chimakonde (Tanzania)",
            Self::KEA => "kabuverdianu",
            Self::KEA_CV => "kabuverdianu (Kabu Verdi)",
            Self::KGP => "kanhgág",
            Self::KGP_BR => "kanhgág (Mrasir)",
            Self::KHQ => "Koyra ciini",
            Self::KHQ_ML => "Koyra ciini (Maali)",
            Self::KI => "Gikuyu",
            Self::KI_KE => "Gikuyu (Kenya)",
            Self::KK => "қазақ тілі",
            Self::KK_KZ => "қазақ тілі (Қазақстан)",
            Self::KKJ => "kakɔ",
            Self::KKJ_CM => "kakɔ (Kamɛrun)",
            Self::KL => "kalaallisut",
            Self::KL_GL => "kalaallisut (Kalaallit Nunaat)",
            Self::KLN => "Kalenjin",
            Self::KLN_KE => "Kalenjin (Emetab Kenya)",
            Self::KM => "ខ្មែរ",
            Self::KM_KH => "ខ្មែរ (កម្ពុជា)",
            Self::KN => "ಕನ್ನಡ",
            Self::KN_IN => "ಕನ್ನಡ (ಭಾರತ)",
            Self::KO => "한국어",
            Self::KO_KP => "한국어(조선민주주의인민공화국)",
            Self::KO_KR => "한국어(대한민국)",
            Self::KOK => "कोंकणी",
            Self::KOK_IN => "कोंकणी (भारत)",
            Self::KS => "کٲشُر",
            Self::KS_ARAB => "کٲشُر (عربی)",
            Self::KS_ARAB_IN => "کٲشُر (عربی, ہِندوستان)",
            Self::KS_DEVA => "कॉशुर (देवनागरी)",
            Self::KS_DEVA_IN => "कॉशुर (देवनागरी, हिंदोस्तान)",
            Self::KSB => "Kishambaa",
            Self::KSB_TZ => "Kishambaa (Tanzania)",
            Self::KSF => "rikpa",
            Self::KSF_CM => "rikpa (kamɛrún)",
            Self::KSH => "Kölsch",
            Self::KSH_DE => "Kölsch en Doütschland",
            Self::KU => "kurdî",
            Self::KU_TR => "kurdî (Tirkiye)",
            Self::KW => "kernewek",
            Self::KW_GB => "kernewek (Rywvaneth Unys)",
            Self::KY => "кыргызча",
            Self::KY_KG => "кыргызча (Кыргызстан)",
            Self::LAG => "Kɨlaangi",
            Self::LAG_TZ => "Kɨlaangi (Taansanía)",
            Self::LB => "Lëtzebuergesch",
            Self::LB_LU => "Lëtzebuergesch (Lëtzebuerg)",
            Self::LG => "Luganda",
            Self::LG_UG => "Luganda (Yuganda)",
            Self::LKT => "Lakȟólʼiyapi",
            Self::LKT_US => "Lakȟólʼiyapi (Mílahaŋska Tȟamákȟočhe)",
            Self::LN => "lingála",
            Self::LN_AO => "lingála (Angóla)",
            Self::LN_CD => "lingála (Republíki ya Kongó Demokratíki)",
            Self::LN_CF => "lingála (Repibiki ya Afríka ya Káti)",
            Self::LN_CG => "lingála (Kongo)",
            Self::LO => "ລາວ",
            Self::LO_LA => "ລາວ (ລາວ)",
            Self::LRC => "لۊری شومالی",
            Self::LRC_IQ => "Northern Luri (Iraq)",
            Self::LRC_IR => "Northern Luri (Iran)",
            Self::LT => "lietuvių",
            Self::LT_LT => "lietuvių (Lietuva)",
            Self::LU => "Tshiluba",
            Self::LU_CD => "Tshiluba (Ditunga wa Kongu)",
            Self::LUO => "Dholuo",
            Self::LUO_KE => "Dholuo (Kenya)",
            Self::LUY => "Luluhia",
            Self::LUY_KE => "Luluhia (Kenya)",
            Self::LV => "latviešu",
            Self::LV_LV => "latviešu (Latvija)",
            Self::MAI => "मैथिली",
            Self::MAI_IN => "मैथिली (भारत)",
            Self::MAS => "Maa",
            Self::MAS_KE => "Maa (Kenya)",
            Self::MAS_TZ => "Maa (Tansania)",
            Self::MER => "Kĩmĩrũ",
            Self::MER_KE => "Kĩmĩrũ (Kenya)",
            Self::MFE => "kreol morisien",
            Self::MFE_MU => "kreol morisien (Moris)",
            Self::MG => "Malagasy",
            Self::MG_MG => "Malagasy (Madagasikara)",
            Self::MGH => "Makua",
            Self::MGH_MZ => "Makua (Umozambiki)",
            Self::MGO => "metaʼ",
            Self::MGO_CM => "metaʼ (Kamalun)",
            Self::MI => "Māori",
            Self::MI_NZ => "Māori (Aotearoa)",
            Self::MK => "македонски",
            Self::MK_MK => "македонски (Северна Македонија)",
            Self::ML => "മലയാളം",
            Self::ML_IN => "മലയാളം (ഇന്ത്യ)",
            Self::MN => "монгол",
            Self::MN_MN => "монгол (Монгол)",
            Self::MNI => "মৈতৈলোন্",
            Self::MNI_BENG => "মৈতৈলোন্ (বাংলা)",
            Self::MNI_BENG_IN => "মৈতৈলোন্ (বাংলা, ইন্দিয়া)",
            Self::MR => "मराठी",
            Self::MR_IN => "मराठी (भारत)",
            Self::MS => "Melayu",
            Self::MS_BN => "Melayu (Brunei)",
            Self::MS_ID => "Melayu (Indonesia)",
            Self::MS_MY => "Melayu (Malaysia)",
            Self::MS_SG => "Melayu (Singapura)",
            Self::MT => "Malti",
            Self::MT_MT => "Malti (Malta)",
            Self::MUA => "MUNDAŊ",
            Self::MUA_CM => "MUNDAŊ (kameruŋ)",
            Self::MY => "မြန်မာ",
            Self::MY_MM => "မြန်မာ (မြန်မာ)",
            Self::MZN => "مازرونی",
            Self::MZN_IR => "مازرونی (ایران)",
            Self::NAQ => "Khoekhoegowab",
            Self::NAQ_NA => "Khoekhoegowab (Namibiab)",
            Self::NB => "norsk bokmål",
            Self::NB_NO => "norsk bokmål (Norge)",
            Self::NB_SJ => "norsk bokmål (Svalbard og Jan Mayen)",
            Self::ND => "isiNdebele",
            Self::ND_ZW => "isiNdebele (Zimbabwe)",
            Self::NE => "नेपाली",
            Self::NE_IN => "नेपाली (भारत)",
            Self::NE_NP => "नेपाली (नेपाल)",
            Self::NL => "Nederlands",
            Self::NL_AW => "Nederlands (Aruba)",
            Self::NL_BE => "Nederlands (België)",
            Self::NL_BQ => "Nederlands (Caribisch Nederland)",
            Self::NL_CW => "Nederlands (Curaçao)",
            Self::NL_NL => "Nederlands (Nederland)",
            Self::NL_SR => "Nederlands (Suriname)",
            Self::NL_SX => "Nederlands (Sint-Maarten)",
            Self::NMG => "Kwasio",
            Self::NMG_CM => "Kwasio (Cameroon)",
            Self::NN => "norsk nynorsk",
            Self::NN_NO => "norsk nynorsk (Noreg)",
            Self::NNH => "Shwóŋò ngiembɔɔn",
            Self::NNH_CM => "Shwóŋò ngiembɔɔn (Kàmalûm)",
            Self::NO => "norsk",
            Self::NUS => "Thok Nath",
            Self::NUS_SS => "Nuer (South Sudan)",
            Self::NYN => "Runyankore",
            Self::NYN_UG => "Runyankore (Uganda)",
            Self::OM => "Oromoo",
            Self::OM_ET => "Oromoo (Itoophiyaa)",
            Self::OM_KE => "Oromoo (Keeniyaa)",
            Self::OR => "ଓଡ଼ିଆ",
            Self::OR_IN => "ଓଡ଼ିଆ (ଭାରତ)",
            Self::OS => "ирон",
            Self::OS_GE => "ирон (Гуырдзыстон)",
            Self::OS_RU => "ирон (Уӕрӕсе)",
            Self::PA => "ਪੰਜਾਬੀ",
            Self::PA_ARAB => "پنجابی (عربی)",
            Self::PA_ARAB_PK => "پنجابی (عربی, پاکستان)",
            Self::PA_GURU => "ਪੰਜਾਬੀ (ਗੁਰਮੁਖੀ)",
            Self::PA_GURU_IN => "ਪੰਜਾਬੀ (ਗੁਰਮੁਖੀ, ਭਾਰਤ)",
            Self::PCM => "Naijíriá Píjin",
            Self::PCM_NG => "Naijíriá Píjin (Naijíria)",
            Self::PL => "polski",
            Self::PL_PL => "polski (Polska)",
            Self::PS => "پښتو",
            Self::PS_AF => "پښتو (افغانستان)",
            Self::PS_PK => "پښتو (پاکستان)",
            Self::PT => "português",
            Self::PT_AO => "português (Angola)",
            Self::PT_BR => "português (Brasil)",
            Self::PT_CH => "português (Suíça)",
            Self::PT_CV => "português (Cabo Verde)",
            Self::PT_GQ => "português (Guiné Equatorial)",
            Self::PT_GW => "português (Guiné-Bissau)",
            Self::PT_LU => "português (Luxemburgo)",
            Self::PT_MO => "português (Macau, RAE da China)",
            Self::PT_MZ => "português (Moçambique)",
            Self::PT_PT => "português (Portugal)",
            Self::PT_ST => "português (São Tomé e Príncipe)",
            Self::PT_TL => "português (Timor-Leste)",
            Self::QU => "Runasimi",
            Self::QU_BO => "Runasimi (Bolivia)",
            Self::QU_EC => "Runasimi (Ecuador)",
            Self::QU_PE => "Runasimi (Perú)",
            Self::RAJ => "राजस्थानी",
            Self::RAJ_IN => "राजस्थानी (भारत)",
            Self::RM => "rumantsch",
            Self::RM_CH => "rumantsch (Svizra)",
            Self::RN => "Ikirundi",
            Self::RN_BI => "Ikirundi (Uburundi)",
            Self::RO => "română",
            Self::RO_MD => "română (Republica Moldova)",
            Self::RO_RO => "română (România)",
            Self::ROF => "Kihorombo",
            Self::ROF_TZ => "Kihorombo (Tanzania)",
            Self::RU => "русский",
            Self::RU_BY => "русский (Беларусь)",
            Self::RU_KG => "русский (Киргизия)",
            Self::RU_KZ => "русский (Казахстан)",
            Self::RU_MD => "русский (Молдова)",
            Self::RU_RU => "русский (Россия)",
            Self::RU_UA => "русский (Украина)",
            Self::RW => "Kinyarwanda",
            Self::RW_RW => "Kinyarwanda (U Rwanda)",
            Self::RWK => "Kiruwa",
            Self::RWK_TZ => "Kiruwa (Tanzania)",
            Self::SA => "संस्कृत भाषा",
            Self::SA_IN => "संस्कृत भाषा (भारतः)",
            Self::SAH => "саха тыла",
            Self::SAH_RU => "саха тыла (Арассыыйа)",
            Self::SAQ => "Kisampur",
            Self::SAQ_KE => "Kisampur (Kenya)",
            Self::SAT => "ᱥᱟᱱᱛᱟᱲᱤ",
            Self::SAT_OLCK => "ᱥᱟᱱᱛᱟᱲᱤ (ᱚᱞ ᱪᱤᱠᱤ)",
            Self::SAT_OLCK_IN => "ᱥᱟᱱᱛᱟᱲᱤ (ᱚᱞ ᱪᱤᱠᱤ, ᱤᱱᱰᱤᱭᱟ)",
            Self::SBP => "Ishisangu",
            Self::SBP_TZ => "Ishisangu (Tansaniya)",
            Self::SC => "sardu",
            Self::SC_IT => "sardu (Itàlia)",
            Self::SD => "سنڌي",
            Self::SD_ARAB => "سنڌي (عربي)",
            Self::SD_ARAB_PK => "سنڌي (عربي, پاڪستان)",
            Self::SD_DEVA => "सिन्धी (देवनागिरी)",
            Self::SD_DEVA_IN => "सिन्धी (देवनागिरी, भारत)",
            Self::SE => "davvisámegiella",
            Self::SE_FI => "davvisámegiella (Suopma)",
            Self::SE_NO => "davvisámegiella (Norga)",
            Self::SE_SE => "davvisámegiella (Ruoŧŧa)",
            Self::SEH => "sena",
            Self::SEH_MZ => "sena (Moçambique)",
            Self::SES => "Koyraboro senni",
            Self::SES_ML => "Koyraboro senni (Maali)",
            Self::SG => "Sängö",
            Self::SG_CF => "Sängö (Ködörösêse tî Bêafrîka)",
            Self::SHI => "ⵜⴰⵛⵍⵃⵉⵜ",
            Self::SHI_LATN => "Tachelhit (Latin)",
            Self::SHI_LATN_MA => "Tachelhit (Latin, Morocco)",
            Self::SHI_TFNG => "Tachelhit (Tifinagh)",
            Self::SHI_TFNG_MA => "Tachelhit (Tifinagh, Morocco)",
            Self::SI => "සිංහල",
            Self::SI_LK => "සිංහල (ශ්‍රී ලංකාව)",
            Self::SK => "slovenčina",
            Self::SK_SK => "slovenčina (Slovensko)",
            Self::SL => "slovenščina",
            Self::SL_SI => "slovenščina (Slovenija)",
            Self::SMN => "anarâškielâ",
            Self::SMN_FI => "anarâškielâ (Suomâ)",
            Self::SN => "chiShona",
            Self::SN_ZW => "chiShona (Zimbabwe)",
            Self::SO => "Soomaali",
            Self::SO_DJ => "Soomaali (Jabuuti)",
            Self::SO_ET => "Soomaali (Itoobiya)",
            Self::SO_KE => "Soomaali (Kenya)",
            Self::SO_SO => "Soomaali (Soomaaliya)",
            Self::SQ => "shqip",
            Self::SQ_AL => "shqip (Shqipëri)",
            Self::SQ_MK => "shqip (Maqedonia e Veriut)",
            Self::SQ_XK => "shqip (Kosovë)",
            Self::SR => "српски",
            Self::SR_CYRL => "српски (ћирилица)",
            Self::SR_CYRL_BA => "српски (ћирилица, Босна и Херцеговина)",
            Self::SR_CYRL_ME => "српски (ћирилица, Црна Гора)",
            Self::SR_CYRL_RS => "српски (ћирилица, Србија)",
            Self::SR_CYRL_XK => "српски (ћирилица, Косово)",
            Self::SR_LATN => "srpski (latinica)",
            Self::SR_LATN_BA => "srpski (latinica, Bosna i Hercegovina)",
            Self::SR_LATN_ME => "srpski (latinica, Crna Gora)",
            Self::SR_LATN_RS => "srpski (latinica, Srbija)",
            Self::SR_LATN_XK => "srpski (latinica, Kosovo)",
            Self::SU => "Basa Sunda",
            Self::SU_LATN => "Basa Sunda (Latin)",
            Self::SU_LATN_ID => "Basa Sunda (Latin, Indonesia)",
            Self::SV => "svenska",
            Self::SV_AX => "svenska (Åland)",
            Self::SV_FI => "svenska (Finland)",
            Self::SV_SE => "svenska (Sverige)",
            Self::SW => "Kiswahili",
            Self::SW_CD => "Kiswahili (Jamhuri ya Kidemokrasia ya Kongo)",
            Self::SW_KE => "Kiswahili (Kenya)",
            Self::SW_TZ => "Kiswahili (Tanzania)",
            Self::SW_UG => "Kiswahili (Uganda)",
            Self::TA => "தமிழ்",
            Self::TA_IN => "தமிழ் (இந்தியா)",
            Self::TA_LK => "தமிழ் (இலங்கை)",
            Self::TA_MY => "தமிழ் (மலேசியா)",
            Self::TA_SG => "தமிழ் (சிங்கப்பூர்)",
            Self::TE => "తెలుగు",
            Self::TE_IN => "తెలుగు (భారతదేశం)",
            Self::TEO => "Kiteso",
            Self::TEO_KE => "Kiteso (Kenia)",
            Self::TEO_UG => "Kiteso (Uganda)",
            Self::TG => "тоҷикӣ",
            Self::TG_TJ => "тоҷикӣ (Тоҷикистон)",
            Self::TH => "ไทย",
            Self::TH_TH => "ไทย (ไทย)",
            Self::TI => "ትግርኛ",
            Self::TI_ER => "ትግርኛ (ኤርትራ)",
            Self::TI_ET => "ትግርኛ (ኢትዮጵያ)",
            Self::TK => "türkmen dili",
            Self::TK_TM => "türkmen dili (Türkmenistan)",
            Self::TO => "lea fakatonga",
            Self::TO_TO => "lea fakatonga (Tonga)",
            Self::TR => "Türkçe",
            Self::TR_CY => "Türkçe (Kıbrıs)",
            Self::TR_TR => "Türkçe (Türkiye)",
            Self::TT => "татар",
            Self::TT_RU => "татар (Россия)",
            Self::TWQ => "Tasawaq senni",
            Self::TWQ_NE => "Tasawaq senni (Nižer)",
            Self::TZM => "Tamaziɣt n laṭlaṣ",
            Self::TZM_MA => "Tamaziɣt n laṭlaṣ (Meṛṛuk)",
            Self::UG => "ئۇيغۇرچە",
            Self::UG_CN => "ئۇيغۇرچە (جۇڭگو)",
            Self::UK => "українська",
            Self::UK_UA => "українська (Україна)",
            Self::UR => "اردو",
            Self::UR_IN => "اردو (بھارت)",
            Self::UR_PK => "اردو (پاکستان)",
            Self::UZ => "o‘zbek",
            Self::UZ_ARAB => "اوزبیک (عربی)",
            Self::UZ_ARAB_AF => "اوزبیک (عربی, افغانستان)",
            Self::UZ_CYRL => "ўзбекча (Кирил)",
            Self::UZ_CYRL_UZ => "ўзбекча (Кирил, Ўзбекистон)",
            Self::UZ_LATN => "o‘zbek (lotin)",
            Self::UZ_LATN_UZ => "o‘zbek (lotin, Oʻzbekiston)",
            Self::VAI => "ꕙꔤ",
            Self::VAI_LATN => "Vai (Latin)",
            Self::VAI_LATN_LR => "Vai (Latin, Liberia)",
            Self::VAI_VAII => "Vai (Vai)",
            Self::VAI_VAII_LR => "Vai (Vai, Liberia)",
            Self::VI => "Tiếng Việt",
            Self::VI_VN => "Tiếng Việt (Việt Nam)",
            Self::VUN => "Kyivunjo",
            Self::VUN_TZ => "Kyivunjo (Tanzania)",
            Self::WAE => "Walser",
            Self::WAE_CH => "Walser (Schwiz)",
            Self::WO => "Wolof",
            Self::WO_SN => "Wolof (Senegaal)",
            Self::XH => "IsiXhosa",
            Self::XH_ZA => "IsiXhosa (EMzantsi Afrika)",
            Self::XOG => "Olusoga",
            Self::XOG_UG => "Olusoga (Yuganda)",
            Self::YAV => "nuasue",
            Self::YAV_CM => "nuasue (Kemelún)",
            Self::YI => "ייִדיש",
            Self::YI_001 => "ייִדיש (וועלט)",
            Self::YO => "Èdè Yorùbá",
            Self::YO_BJ => "Èdè Yorùbá (Bɛ̀nɛ̀)",
            Self::YO_NG => "Èdè Yorùbá (Nàìjíríà)",
            Self::YRL => "nheẽgatu",
            Self::YRL_BR => "nheẽgatu (Brasiu)",
            Self::YRL_CO => "ñengatú (Kurũbiya)",
            Self::YRL_VE => "ñengatú (Wenesuera)",
            Self::YUE => "粵語",
            Self::YUE_HANS => "粤语 (简体)",
            Self::YUE_HANS_CN => "粤语 (简体，中华人民共和国)",
            Self::YUE_HANT => "粵語 (繁體)",
            Self::YUE_HANT_HK => "粵語 (繁體，中華人民共和國香港特別行政區)",
            Self::ZGH => "ⵜⴰⵎⴰⵣⵉⵖⵜ",
            Self::ZGH_MA => "ⵜⴰⵎⴰⵣⵉⵖⵜ (ⵍⵎⵖⵔⵉⴱ)",
            Self::ZH => "中文",
            Self::ZH_HANS => "中文（简体）",
            Self::ZH_HANS_CN => "中文（简体，中国）",
            Self::ZH_HANS_HK => "中文（简体，中国香港特别行政区）",
            Self::ZH_HANS_MO => "中文（简体，中国澳门特别行政区）",
            Self::ZH_HANS_SG => "中文（简体，新加坡）",
            Self::ZH_HANT => "中文（繁體）",
            Self::ZH_HANT_HK => "中文（繁體字，中國香港特別行政區）",
            Self::ZH_HANT_MO => "中文（繁體字，中國澳門特別行政區）",
            Self::ZH_HANT_TW => "中文（繁體，台灣）",
            Self::ZU => "isiZulu",
            Self::ZU_ZA => "isiZulu (iNingizimu Afrika)",
        }
    }

    #[inline(always)]
    pub const fn code(&self) -> &str {
        match self {
            Self::AF => "af",
            Self::AF_NA => "af-NA",
            Self::AF_ZA => "af-ZA",
            Self::AGQ => "agq",
            Self::AGQ_CM => "agq-CM",
            Self::AK => "ak",
            Self::AK_GH => "ak-GH",
            Self::AM => "am",
            Self::AM_ET => "am-ET",
            Self::AR => "ar",
            Self::AR_001 => "ar-001",
            Self::AR_AE => "ar-AE",
            Self::AR_BH => "ar-BH",
            Self::AR_DJ => "ar-DJ",
            Self::AR_DZ => "ar-DZ",
            Self::AR_EG => "ar-EG",
            Self::AR_EH => "ar-EH",
            Self::AR_ER => "ar-ER",
            Self::AR_IL => "ar-IL",
            Self::AR_IQ => "ar-IQ",
            Self::AR_JO => "ar-JO",
            Self::AR_KM => "ar-KM",
            Self::AR_KW => "ar-KW",
            Self::AR_LB => "ar-LB",
            Self::AR_LY => "ar-LY",
            Self::AR_MA => "ar-MA",
            Self::AR_MR => "ar-MR",
            Self::AR_OM => "ar-OM",
            Self::AR_PS => "ar-PS",
            Self::AR_QA => "ar-QA",
            Self::AR_SA => "ar-SA",
            Self::AR_SD => "ar-SD",
            Self::AR_SO => "ar-SO",
            Self::AR_SS => "ar-SS",
            Self::AR_SY => "ar-SY",
            Self::AR_TD => "ar-TD",
            Self::AR_TN => "ar-TN",
            Self::AR_YE => "ar-YE",
            Self::AS => "as",
            Self::AS_IN => "as-IN",
            Self::ASA => "asa",
            Self::ASA_TZ => "asa-TZ",
            Self::AST => "ast",
            Self::AST_ES => "ast-ES",
            Self::AZ => "az",
            Self::AZ_CYRL => "az-Cyrl",
            Self::AZ_CYRL_AZ => "az-Cyrl-AZ",
            Self::AZ_LATN => "az-Latn",
            Self::AZ_LATN_AZ => "az-Latn-AZ",
            Self::BAS => "bas",
            Self::BAS_CM => "bas-CM",
            Self::BE => "be",
            Self::BE_BY => "be-BY",
            Self::BEM => "bem",
            Self::BEM_ZM => "bem-ZM",
            Self::BEZ => "bez",
            Self::BEZ_TZ => "bez-TZ",
            Self::BG => "bg",
            Self::BG_BG => "bg-BG",
            Self::BGC => "bgc",
            Self::BGC_IN => "bgc-IN",
            Self::BHO => "bho",
            Self::BHO_IN => "bho-IN",
            Self::BM => "bm",
            Self::BM_ML => "bm-ML",
            Self::BN => "bn",
            Self::BN_BD => "bn-BD",
            Self::BN_IN => "bn-IN",
            Self::BO => "bo",
            Self::BO_CN => "bo-CN",
            Self::BO_IN => "bo-IN",
            Self::BR => "br",
            Self::BR_FR => "br-FR",
            Self::BRX => "brx",
            Self::BRX_IN => "brx-IN",
            Self::BS => "bs",
            Self::BS_CYRL => "bs-Cyrl",
            Self::BS_CYRL_BA => "bs-Cyrl-BA",
            Self::BS_LATN => "bs-Latn",
            Self::BS_LATN_BA => "bs-Latn-BA",
            Self::CA => "ca",
            Self::CA_AD => "ca-AD",
            Self::CA_ES => "ca-ES",
            Self::CA_FR => "ca-FR",
            Self::CA_IT => "ca-IT",
            Self::CCP => "ccp",
            Self::CCP_BD => "ccp-BD",
            Self::CCP_IN => "ccp-IN",
            Self::CE => "ce",
            Self::CE_RU => "ce-RU",
            Self::CEB => "ceb",
            Self::CEB_PH => "ceb-PH",
            Self::CGG => "cgg",
            Self::CGG_UG => "cgg-UG",
            Self::CHR => "chr",
            Self::CHR_US => "chr-US",
            Self::CKB => "ckb",
            Self::CKB_IQ => "ckb-IQ",
            Self::CKB_IR => "ckb-IR",
            Self::CS => "cs",
            Self::CS_CZ => "cs-CZ",
            Self::CV => "cv",
            Self::CV_RU => "cv-RU",
            Self::CY => "cy",
            Self::CY_GB => "cy-GB",
            Self::DA => "da",
            Self::DA_DK => "da-DK",
            Self::DA_GL => "da-GL",
            Self::DAV => "dav",
            Self::DAV_KE => "dav-KE",
            Self::DE => "de",
            Self::DE_AT => "de-AT",
            Self::DE_BE => "de-BE",
            Self::DE_CH => "de-CH",
            Self::DE_DE => "de-DE",
            Self::DE_IT => "de-IT",
            Self::DE_LI => "de-LI",
            Self::DE_LU => "de-LU",
            Self::DJE => "dje",
            Self::DJE_NE => "dje-NE",
            Self::DOI => "doi",
            Self::DOI_IN => "doi-IN",
            Self::DSB => "dsb",
            Self::DSB_DE => "dsb-DE",
            Self::DUA => "dua",
            Self::DUA_CM => "dua-CM",
            Self::DYO => "dyo",
            Self::DYO_SN => "dyo-SN",
            Self::DZ => "dz",
            Self::DZ_BT => "dz-BT",
            Self::EBU => "ebu",
            Self::EBU_KE => "ebu-KE",
            Self::EE => "ee",
            Self::EE_GH => "ee-GH",
            Self::EE_TG => "ee-TG",
            Self::EL => "el",
            Self::EL_CY => "el-CY",
            Self::EL_GR => "el-GR",
            Self::EN => "en",
            Self::EN_001 => "en-001",
            Self::EN_150 => "en-150",
            Self::EN_AE => "en-AE",
            Self::EN_AG => "en-AG",
            Self::EN_AI => "en-AI",
            Self::EN_AS => "en-AS",
            Self::EN_AT => "en-AT",
            Self::EN_AU => "en-AU",
            Self::EN_BB => "en-BB",
            Self::EN_BE => "en-BE",
            Self::EN_BI => "en-BI",
            Self::EN_BM => "en-BM",
            Self::EN_BS => "en-BS",
            Self::EN_BW => "en-BW",
            Self::EN_BZ => "en-BZ",
            Self::EN_CA => "en-CA",
            Self::EN_CC => "en-CC",
            Self::EN_CH => "en-CH",
            Self::EN_CK => "en-CK",
            Self::EN_CM => "en-CM",
            Self::EN_CX => "en-CX",
            Self::EN_CY => "en-CY",
            Self::EN_DE => "en-DE",
            Self::EN_DG => "en-DG",
            Self::EN_DK => "en-DK",
            Self::EN_DM => "en-DM",
            Self::EN_ER => "en-ER",
            Self::EN_FI => "en-FI",
            Self::EN_FJ => "en-FJ",
            Self::EN_FK => "en-FK",
            Self::EN_FM => "en-FM",
            Self::EN_GB => "en-GB",
            Self::EN_GD => "en-GD",
            Self::EN_GG => "en-GG",
            Self::EN_GH => "en-GH",
            Self::EN_GI => "en-GI",
            Self::EN_GM => "en-GM",
            Self::EN_GU => "en-GU",
            Self::EN_GY => "en-GY",
            Self::EN_HK => "en-HK",
            Self::EN_IE => "en-IE",
            Self::EN_IL => "en-IL",
            Self::EN_IM => "en-IM",
            Self::EN_IN => "en-IN",
            Self::EN_IO => "en-IO",
            Self::EN_JE => "en-JE",
            Self::EN_JM => "en-JM",
            Self::EN_KE => "en-KE",
            Self::EN_KI => "en-KI",
            Self::EN_KN => "en-KN",
            Self::EN_KY => "en-KY",
            Self::EN_LC => "en-LC",
            Self::EN_LR => "en-LR",
            Self::EN_LS => "en-LS",
            Self::EN_MG => "en-MG",
            Self::EN_MH => "en-MH",
            Self::EN_MO => "en-MO",
            Self::EN_MP => "en-MP",
            Self::EN_MS => "en-MS",
            Self::EN_MT => "en-MT",
            Self::EN_MU => "en-MU",
            Self::EN_MV => "en-MV",
            Self::EN_MW => "en-MW",
            Self::EN_MY => "en-MY",
            Self::EN_NA => "en-NA",
            Self::EN_NF => "en-NF",
            Self::EN_NG => "en-NG",
            Self::EN_NL => "en-NL",
            Self::EN_NR => "en-NR",
            Self::EN_NU => "en-NU",
            Self::EN_NZ => "en-NZ",
            Self::EN_PG => "en-PG",
            Self::EN_PH => "en-PH",
            Self::EN_PK => "en-PK",
            Self::EN_PN => "en-PN",
            Self::EN_PR => "en-PR",
            Self::EN_PW => "en-PW",
            Self::EN_RW => "en-RW",
            Self::EN_SB => "en-SB",
            Self::EN_SC => "en-SC",
            Self::EN_SD => "en-SD",
            Self::EN_SE => "en-SE",
            Self::EN_SG => "en-SG",
            Self::EN_SH => "en-SH",
            Self::EN_SI => "en-SI",
            Self::EN_SL => "en-SL",
            Self::EN_SS => "en-SS",
            Self::EN_SX => "en-SX",
            Self::EN_SZ => "en-SZ",
            Self::EN_TC => "en-TC",
            Self::EN_TK => "en-TK",
            Self::EN_TO => "en-TO",
            Self::EN_TT => "en-TT",
            Self::EN_TV => "en-TV",
            Self::EN_TZ => "en-TZ",
            Self::EN_UG => "en-UG",
            Self::EN_UM => "en-UM",
            Self::EN_US => "en-US",
            Self::EN_US_POSIX => "en-US-POSIX",
            Self::EN_VC => "en-VC",
            Self::EN_VG => "en-VG",
            Self::EN_VI => "en-VI",
            Self::EN_VU => "en-VU",
            Self::EN_WS => "en-WS",
            Self::EN_ZA => "en-ZA",
            Self::EN_ZM => "en-ZM",
            Self::EN_ZW => "en-ZW",
            Self::EO => "eo",
            Self::EO_001 => "eo-001",
            Self::ES => "es",
            Self::ES_419 => "es-419",
            Self::ES_AR => "es-AR",
            Self::ES_BO => "es-BO",
            Self::ES_BR => "es-BR",
            Self::ES_BZ => "es-BZ",
            Self::ES_CL => "es-CL",
            Self::ES_CO => "es-CO",
            Self::ES_CR => "es-CR",
            Self::ES_CU => "es-CU",
            Self::ES_DO => "es-DO",
            Self::ES_EA => "es-EA",
            Self::ES_EC => "es-EC",
            Self::ES_ES => "es-ES",
            Self::ES_GQ => "es-GQ",
            Self::ES_GT => "es-GT",
            Self::ES_HN => "es-HN",
            Self::ES_IC => "es-IC",
            Self::ES_MX => "es-MX",
            Self::ES_NI => "es-NI",
            Self::ES_PA => "es-PA",
            Self::ES_PE => "es-PE",
            Self::ES_PH => "es-PH",
            Self::ES_PR => "es-PR",
            Self::ES_PY => "es-PY",
            Self::ES_SV => "es-SV",
            Self::ES_US => "es-US",
            Self::ES_UY => "es-UY",
            Self::ES_VE => "es-VE",
            Self::ET => "et",
            Self::ET_EE => "et-EE",
            Self::EU => "eu",
            Self::EU_ES => "eu-ES",
            Self::EWO => "ewo",
            Self::EWO_CM => "ewo-CM",
            Self::FA => "fa",
            Self::FA_AF => "fa-AF",
            Self::FA_IR => "fa-IR",
            Self::FF => "ff",
            Self::FF_ADLM => "ff-Adlm",
            Self::FF_ADLM_BF => "ff-Adlm-BF",
            Self::FF_ADLM_CM => "ff-Adlm-CM",
            Self::FF_ADLM_GH => "ff-Adlm-GH",
            Self::FF_ADLM_GM => "ff-Adlm-GM",
            Self::FF_ADLM_GN => "ff-Adlm-GN",
            Self::FF_ADLM_GW => "ff-Adlm-GW",
            Self::FF_ADLM_LR => "ff-Adlm-LR",
            Self::FF_ADLM_MR => "ff-Adlm-MR",
            Self::FF_ADLM_NE => "ff-Adlm-NE",
            Self::FF_ADLM_NG => "ff-Adlm-NG",
            Self::FF_ADLM_SL => "ff-Adlm-SL",
            Self::FF_ADLM_SN => "ff-Adlm-SN",
            Self::FF_LATN => "ff-Latn",
            Self::FF_LATN_BF => "ff-Latn-BF",
            Self::FF_LATN_CM => "ff-Latn-CM",
            Self::FF_LATN_GH => "ff-Latn-GH",
            Self::FF_LATN_GM => "ff-Latn-GM",
            Self::FF_LATN_GN => "ff-Latn-GN",
            Self::FF_LATN_GW => "ff-Latn-GW",
            Self::FF_LATN_LR => "ff-Latn-LR",
            Self::FF_LATN_MR => "ff-Latn-MR",
            Self::FF_LATN_NE => "ff-Latn-NE",
            Self::FF_LATN_NG => "ff-Latn-NG",
            Self::FF_LATN_SL => "ff-Latn-SL",
            Self::FF_LATN_SN => "ff-Latn-SN",
            Self::FI => "fi",
            Self::FI_FI => "fi-FI",
            Self::FIL => "fil",
            Self::FIL_PH => "fil-PH",
            Self::FO => "fo",
            Self::FO_DK => "fo-DK",
            Self::FO_FO => "fo-FO",
            Self::FR => "fr",
            Self::FR_BE => "fr-BE",
            Self::FR_BF => "fr-BF",
            Self::FR_BI => "fr-BI",
            Self::FR_BJ => "fr-BJ",
            Self::FR_BL => "fr-BL",
            Self::FR_CA => "fr-CA",
            Self::FR_CD => "fr-CD",
            Self::FR_CF => "fr-CF",
            Self::FR_CG => "fr-CG",
            Self::FR_CH => "fr-CH",
            Self::FR_CI => "fr-CI",
            Self::FR_CM => "fr-CM",
            Self::FR_DJ => "fr-DJ",
            Self::FR_DZ => "fr-DZ",
            Self::FR_FR => "fr-FR",
            Self::FR_GA => "fr-GA",
            Self::FR_GF => "fr-GF",
            Self::FR_GN => "fr-GN",
            Self::FR_GP => "fr-GP",
            Self::FR_GQ => "fr-GQ",
            Self::FR_HT => "fr-HT",
            Self::FR_KM => "fr-KM",
            Self::FR_LU => "fr-LU",
            Self::FR_MA => "fr-MA",
            Self::FR_MC => "fr-MC",
            Self::FR_MF => "fr-MF",
            Self::FR_MG => "fr-MG",
            Self::FR_ML => "fr-ML",
            Self::FR_MQ => "fr-MQ",
            Self::FR_MR => "fr-MR",
            Self::FR_MU => "fr-MU",
            Self::FR_NC => "fr-NC",
            Self::FR_NE => "fr-NE",
            Self::FR_PF => "fr-PF",
            Self::FR_PM => "fr-PM",
            Self::FR_RE => "fr-RE",
            Self::FR_RW => "fr-RW",
            Self::FR_SC => "fr-SC",
            Self::FR_SN => "fr-SN",
            Self::FR_SY => "fr-SY",
            Self::FR_TD => "fr-TD",
            Self::FR_TG => "fr-TG",
            Self::FR_TN => "fr-TN",
            Self::FR_VU => "fr-VU",
            Self::FR_WF => "fr-WF",
            Self::FR_YT => "fr-YT",
            Self::FUR => "fur",
            Self::FUR_IT => "fur-IT",
            Self::FY => "fy",
            Self::FY_NL => "fy-NL",
            Self::GA => "ga",
            Self::GA_GB => "ga-GB",
            Self::GA_IE => "ga-IE",
            Self::GD => "gd",
            Self::GD_GB => "gd-GB",
            Self::GL => "gl",
            Self::GL_ES => "gl-ES",
            Self::GSW => "gsw",
            Self::GSW_CH => "gsw-CH",
            Self::GSW_FR => "gsw-FR",
            Self::GSW_LI => "gsw-LI",
            Self::GU => "gu",
            Self::GU_IN => "gu-IN",
            Self::GUZ => "guz",
            Self::GUZ_KE => "guz-KE",
            Self::GV => "gv",
            Self::GV_IM => "gv-IM",
            Self::HA => "ha",
            Self::HA_GH => "ha-GH",
            Self::HA_NE => "ha-NE",
            Self::HA_NG => "ha-NG",
            Self::HAW => "haw",
            Self::HAW_US => "haw-US",
            Self::HE => "he",
            Self::HE_IL => "he-IL",
            Self::HI => "hi",
            Self::HI_IN => "hi-IN",
            Self::HI_LATN => "hi-Latn",
            Self::HI_LATN_IN => "hi-Latn-IN",
            Self::HR => "hr",
            Self::HR_BA => "hr-BA",
            Self::HR_HR => "hr-HR",
            Self::HSB => "hsb",
            Self::HSB_DE => "hsb-DE",
            Self::HU => "hu",
            Self::HU_HU => "hu-HU",
            Self::HY => "hy",
            Self::HY_AM => "hy-AM",
            Self::IA => "ia",
            Self::IA_001 => "ia-001",
            Self::ID => "id",
            Self::ID_ID => "id-ID",
            Self::IG => "ig",
            Self::IG_NG => "ig-NG",
            Self::II => "ii",
            Self::II_CN => "ii-CN",
            Self::IS => "is",
            Self::IS_IS => "is-IS",
            Self::IT => "it",
            Self::IT_CH => "it-CH",
            Self::IT_IT => "it-IT",
            Self::IT_SM => "it-SM",
            Self::IT_VA => "it-VA",
            Self::JA => "ja",
            Self::JA_JP => "ja-JP",
            Self::JGO => "jgo",
            Self::JGO_CM => "jgo-CM",
            Self::JMC => "jmc",
            Self::JMC_TZ => "jmc-TZ",
            Self::JV => "jv",
            Self::JV_ID => "jv-ID",
            Self::KA => "ka",
            Self::KA_GE => "ka-GE",
            Self::KAB => "kab",
            Self::KAB_DZ => "kab-DZ",
            Self::KAM => "kam",
            Self::KAM_KE => "kam-KE",
            Self::KDE => "kde",
            Self::KDE_TZ => "kde-TZ",
            Self::KEA => "kea",
            Self::KEA_CV => "kea-CV",
            Self::KGP => "kgp",
            Self::KGP_BR => "kgp-BR",
            Self::KHQ => "khq",
            Self::KHQ_ML => "khq-ML",
            Self::KI => "ki",
            Self::KI_KE => "ki-KE",
            Self::KK => "kk",
            Self::KK_KZ => "kk-KZ",
            Self::KKJ => "kkj",
            Self::KKJ_CM => "kkj-CM",
            Self::KL => "kl",
            Self::KL_GL => "kl-GL",
            Self::KLN => "kln",
            Self::KLN_KE => "kln-KE",
            Self::KM => "km",
            Self::KM_KH => "km-KH",
            Self::KN => "kn",
            Self::KN_IN => "kn-IN",
            Self::KO => "ko",
            Self::KO_KP => "ko-KP",
            Self::KO_KR => "ko-KR",
            Self::KOK => "kok",
            Self::KOK_IN => "kok-IN",
            Self::KS => "ks",
            Self::KS_ARAB => "ks-Arab",
            Self::KS_ARAB_IN => "ks-Arab-IN",
            Self::KS_DEVA => "ks-Deva",
            Self::KS_DEVA_IN => "ks-Deva-IN",
            Self::KSB => "ksb",
            Self::KSB_TZ => "ksb-TZ",
            Self::KSF => "ksf",
            Self::KSF_CM => "ksf-CM",
            Self::KSH => "ksh",
            Self::KSH_DE => "ksh-DE",
            Self::KU => "ku",
            Self::KU_TR => "ku-TR",
            Self::KW => "kw",
            Self::KW_GB => "kw-GB",
            Self::KY => "ky",
            Self::KY_KG => "ky-KG",
            Self::LAG => "lag",
            Self::LAG_TZ => "lag-TZ",
            Self::LB => "lb",
            Self::LB_LU => "lb-LU",
            Self::LG => "lg",
            Self::LG_UG => "lg-UG",
            Self::LKT => "lkt",
            Self::LKT_US => "lkt-US",
            Self::LN => "ln",
            Self::LN_AO => "ln-AO",
            Self::LN_CD => "ln-CD",
            Self::LN_CF => "ln-CF",
            Self::LN_CG => "ln-CG",
            Self::LO => "lo",
            Self::LO_LA => "lo-LA",
            Self::LRC => "lrc",
            Self::LRC_IQ => "lrc-IQ",
            Self::LRC_IR => "lrc-IR",
            Self::LT => "lt",
            Self::LT_LT => "lt-LT",
            Self::LU => "lu",
            Self::LU_CD => "lu-CD",
            Self::LUO => "luo",
            Self::LUO_KE => "luo-KE",
            Self::LUY => "luy",
            Self::LUY_KE => "luy-KE",
            Self::LV => "lv",
            Self::LV_LV => "lv-LV",
            Self::MAI => "mai",
            Self::MAI_IN => "mai-IN",
            Self::MAS => "mas",
            Self::MAS_KE => "mas-KE",
            Self::MAS_TZ => "mas-TZ",
            Self::MER => "mer",
            Self::MER_KE => "mer-KE",
            Self::MFE => "mfe",
            Self::MFE_MU => "mfe-MU",
            Self::MG => "mg",
            Self::MG_MG => "mg-MG",
            Self::MGH => "mgh",
            Self::MGH_MZ => "mgh-MZ",
            Self::MGO => "mgo",
            Self::MGO_CM => "mgo-CM",
            Self::MI => "mi",
            Self::MI_NZ => "mi-NZ",
            Self::MK => "mk",
            Self::MK_MK => "mk-MK",
            Self::ML => "ml",
            Self::ML_IN => "ml-IN",
            Self::MN => "mn",
            Self::MN_MN => "mn-MN",
            Self::MNI => "mni",
            Self::MNI_BENG => "mni-Beng",
            Self::MNI_BENG_IN => "mni-Beng-IN",
            Self::MR => "mr",
            Self::MR_IN => "mr-IN",
            Self::MS => "ms",
            Self::MS_BN => "ms-BN",
            Self::MS_ID => "ms-ID",
            Self::MS_MY => "ms-MY",
            Self::MS_SG => "ms-SG",
            Self::MT => "mt",
            Self::MT_MT => "mt-MT",
            Self::MUA => "mua",
            Self::MUA_CM => "mua-CM",
            Self::MY => "my",
            Self::MY_MM => "my-MM",
            Self::MZN => "mzn",
            Self::MZN_IR => "mzn-IR",
            Self::NAQ => "naq",
            Self::NAQ_NA => "naq-NA",
            Self::NB => "nb",
            Self::NB_NO => "nb-NO",
            Self::NB_SJ => "nb-SJ",
            Self::ND => "nd",
            Self::ND_ZW => "nd-ZW",
            Self::NE => "ne",
            Self::NE_IN => "ne-IN",
            Self::NE_NP => "ne-NP",
            Self::NL => "nl",
            Self::NL_AW => "nl-AW",
            Self::NL_BE => "nl-BE",
            Self::NL_BQ => "nl-BQ",
            Self::NL_CW => "nl-CW",
            Self::NL_NL => "nl-NL",
            Self::NL_SR => "nl-SR",
            Self::NL_SX => "nl-SX",
            Self::NMG => "nmg",
            Self::NMG_CM => "nmg-CM",
            Self::NN => "nn",
            Self::NN_NO => "nn-NO",
            Self::NNH => "nnh",
            Self::NNH_CM => "nnh-CM",
            Self::NO => "no",
            Self::NUS => "nus",
            Self::NUS_SS => "nus-SS",
            Self::NYN => "nyn",
            Self::NYN_UG => "nyn-UG",
            Self::OM => "om",
            Self::OM_ET => "om-ET",
            Self::OM_KE => "om-KE",
            Self::OR => "or",
            Self::OR_IN => "or-IN",
            Self::OS => "os",
            Self::OS_GE => "os-GE",
            Self::OS_RU => "os-RU",
            Self::PA => "pa",
            Self::PA_ARAB => "pa-Arab",
            Self::PA_ARAB_PK => "pa-Arab-PK",
            Self::PA_GURU => "pa-Guru",
            Self::PA_GURU_IN => "pa-Guru-IN",
            Self::PCM => "pcm",
            Self::PCM_NG => "pcm-NG",
            Self::PL => "pl",
            Self::PL_PL => "pl-PL",
            Self::PS => "ps",
            Self::PS_AF => "ps-AF",
            Self::PS_PK => "ps-PK",
            Self::PT => "pt",
            Self::PT_AO => "pt-AO",
            Self::PT_BR => "pt-BR",
            Self::PT_CH => "pt-CH",
            Self::PT_CV => "pt-CV",
            Self::PT_GQ => "pt-GQ",
            Self::PT_GW => "pt-GW",
            Self::PT_LU => "pt-LU",
            Self::PT_MO => "pt-MO",
            Self::PT_MZ => "pt-MZ",
            Self::PT_PT => "pt-PT",
            Self::PT_ST => "pt-ST",
            Self::PT_TL => "pt-TL",
            Self::QU => "qu",
            Self::QU_BO => "qu-BO",
            Self::QU_EC => "qu-EC",
            Self::QU_PE => "qu-PE",
            Self::RAJ => "raj",
            Self::RAJ_IN => "raj-IN",
            Self::RM => "rm",
            Self::RM_CH => "rm-CH",
            Self::RN => "rn",
            Self::RN_BI => "rn-BI",
            Self::RO => "ro",
            Self::RO_MD => "ro-MD",
            Self::RO_RO => "ro-RO",
            Self::ROF => "rof",
            Self::ROF_TZ => "rof-TZ",
            Self::RU => "ru",
            Self::RU_BY => "ru-BY",
            Self::RU_KG => "ru-KG",
            Self::RU_KZ => "ru-KZ",
            Self::RU_MD => "ru-MD",
            Self::RU_RU => "ru-RU",
            Self::RU_UA => "ru-UA",
            Self::RW => "rw",
            Self::RW_RW => "rw-RW",
            Self::RWK => "rwk",
            Self::RWK_TZ => "rwk-TZ",
            Self::SA => "sa",
            Self::SA_IN => "sa-IN",
            Self::SAH => "sah",
            Self::SAH_RU => "sah-RU",
            Self::SAQ => "saq",
            Self::SAQ_KE => "saq-KE",
            Self::SAT => "sat",
            Self::SAT_OLCK => "sat-Olck",
            Self::SAT_OLCK_IN => "sat-Olck-IN",
            Self::SBP => "sbp",
            Self::SBP_TZ => "sbp-TZ",
            Self::SC => "sc",
            Self::SC_IT => "sc-IT",
            Self::SD => "sd",
            Self::SD_ARAB => "sd-Arab",
            Self::SD_ARAB_PK => "sd-Arab-PK",
            Self::SD_DEVA => "sd-Deva",
            Self::SD_DEVA_IN => "sd-Deva-IN",
            Self::SE => "se",
            Self::SE_FI => "se-FI",
            Self::SE_NO => "se-NO",
            Self::SE_SE => "se-SE",
            Self::SEH => "seh",
            Self::SEH_MZ => "seh-MZ",
            Self::SES => "ses",
            Self::SES_ML => "ses-ML",
            Self::SG => "sg",
            Self::SG_CF => "sg-CF",
            Self::SHI => "shi",
            Self::SHI_LATN => "shi-Latn",
            Self::SHI_LATN_MA => "shi-Latn-MA",
            Self::SHI_TFNG => "shi-Tfng",
            Self::SHI_TFNG_MA => "shi-Tfng-MA",
            Self::SI => "si",
            Self::SI_LK => "si-LK",
            Self::SK => "sk",
            Self::SK_SK => "sk-SK",
            Self::SL => "sl",
            Self::SL_SI => "sl-SI",
            Self::SMN => "smn",
            Self::SMN_FI => "smn-FI",
            Self::SN => "sn",
            Self::SN_ZW => "sn-ZW",
            Self::SO => "so",
            Self::SO_DJ => "so-DJ",
            Self::SO_ET => "so-ET",
            Self::SO_KE => "so-KE",
            Self::SO_SO => "so-SO",
            Self::SQ => "sq",
            Self::SQ_AL => "sq-AL",
            Self::SQ_MK => "sq-MK",
            Self::SQ_XK => "sq-XK",
            Self::SR => "sr",
            Self::SR_CYRL => "sr-Cyrl",
            Self::SR_CYRL_BA => "sr-Cyrl-BA",
            Self::SR_CYRL_ME => "sr-Cyrl-ME",
            Self::SR_CYRL_RS => "sr-Cyrl-RS",
            Self::SR_CYRL_XK => "sr-Cyrl-XK",
            Self::SR_LATN => "sr-Latn",
            Self::SR_LATN_BA => "sr-Latn-BA",
            Self::SR_LATN_ME => "sr-Latn-ME",
            Self::SR_LATN_RS => "sr-Latn-RS",
            Self::SR_LATN_XK => "sr-Latn-XK",
            Self::SU => "su",
            Self::SU_LATN => "su-Latn",
            Self::SU_LATN_ID => "su-Latn-ID",
            Self::SV => "sv",
            Self::SV_AX => "sv-AX",
            Self::SV_FI => "sv-FI",
            Self::SV_SE => "sv-SE",
            Self::SW => "sw",
            Self::SW_CD => "sw-CD",
            Self::SW_KE => "sw-KE",
            Self::SW_TZ => "sw-TZ",
            Self::SW_UG => "sw-UG",
            Self::TA => "ta",
            Self::TA_IN => "ta-IN",
            Self::TA_LK => "ta-LK",
            Self::TA_MY => "ta-MY",
            Self::TA_SG => "ta-SG",
            Self::TE => "te",
            Self::TE_IN => "te-IN",
            Self::TEO => "teo",
            Self::TEO_KE => "teo-KE",
            Self::TEO_UG => "teo-UG",
            Self::TG => "tg",
            Self::TG_TJ => "tg-TJ",
            Self::TH => "th",
            Self::TH_TH => "th-TH",
            Self::TI => "ti",
            Self::TI_ER => "ti-ER",
            Self::TI_ET => "ti-ET",
            Self::TK => "tk",
            Self::TK_TM => "tk-TM",
            Self::TO => "to",
            Self::TO_TO => "to-TO",
            Self::TR => "tr",
            Self::TR_CY => "tr-CY",
            Self::TR_TR => "tr-TR",
            Self::TT => "tt",
            Self::TT_RU => "tt-RU",
            Self::TWQ => "twq",
            Self::TWQ_NE => "twq-NE",
            Self::TZM => "tzm",
            Self::TZM_MA => "tzm-MA",
            Self::UG => "ug",
            Self::UG_CN => "ug-CN",
            Self::UK => "uk",
            Self::UK_UA => "uk-UA",
            Self::UR => "ur",
            Self::UR_IN => "ur-IN",
            Self::UR_PK => "ur-PK",
            Self::UZ => "uz",
            Self::UZ_ARAB => "uz-Arab",
            Self::UZ_ARAB_AF => "uz-Arab-AF",
            Self::UZ_CYRL => "uz-Cyrl",
            Self::UZ_CYRL_UZ => "uz-Cyrl-UZ",
            Self::UZ_LATN => "uz-Latn",
            Self::UZ_LATN_UZ => "uz-Latn-UZ",
            Self::VAI => "vai",
            Self::VAI_LATN => "vai-Latn",
            Self::VAI_LATN_LR => "vai-Latn-LR",
            Self::VAI_VAII => "vai-Vaii",
            Self::VAI_VAII_LR => "vai-Vaii-LR",
            Self::VI => "vi",
            Self::VI_VN => "vi-VN",
            Self::VUN => "vun",
            Self::VUN_TZ => "vun-TZ",
            Self::WAE => "wae",
            Self::WAE_CH => "wae-CH",
            Self::WO => "wo",
            Self::WO_SN => "wo-SN",
            Self::XH => "xh",
            Self::XH_ZA => "xh-ZA",
            Self::XOG => "xog",
            Self::XOG_UG => "xog-UG",
            Self::YAV => "yav",
            Self::YAV_CM => "yav-CM",
            Self::YI => "yi",
            Self::YI_001 => "yi-001",
            Self::YO => "yo",
            Self::YO_BJ => "yo-BJ",
            Self::YO_NG => "yo-NG",
            Self::YRL => "yrl",
            Self::YRL_BR => "yrl-BR",
            Self::YRL_CO => "yrl-CO",
            Self::YRL_VE => "yrl-VE",
            Self::YUE => "yue",
            Self::YUE_HANS => "yue-Hans",
            Self::YUE_HANS_CN => "yue-Hans-CN",
            Self::YUE_HANT => "yue-Hant",
            Self::YUE_HANT_HK => "yue-Hant-HK",
            Self::ZGH => "zgh",
            Self::ZGH_MA => "zgh-MA",
            Self::ZH => "zh",
            Self::ZH_HANS => "zh-Hans",
            Self::ZH_HANS_CN => "zh-Hans-CN",
            Self::ZH_HANS_HK => "zh-Hans-HK",
            Self::ZH_HANS_MO => "zh-Hans-MO",
            Self::ZH_HANS_SG => "zh-Hans-SG",
            Self::ZH_HANT => "zh-Hant",
            Self::ZH_HANT_HK => "zh-Hant-HK",
            Self::ZH_HANT_MO => "zh-Hant-MO",
            Self::ZH_HANT_TW => "zh-Hant-TW",
            Self::ZU => "zu",
            Self::ZU_ZA => "zu-ZA",
            Self::UnsupportedLanguage => "Unsupported Language",
        }
    }
}

impl From<&str> for BC47LanguageInfo {
    #[inline(always)]
    fn from(value: &str) -> Self {
        match value {
            "af" => Self::AF,
            "af-NA" => Self::AF_NA,
            "af-ZA" => Self::AF_ZA,
            "agq" => Self::AGQ,
            "agq-CM" => Self::AGQ_CM,
            "ak" => Self::AK,
            "ak-GH" => Self::AK_GH,
            "am" => Self::AM,
            "am-ET" => Self::AM_ET,
            "ar" => Self::AR,
            "ar-001" => Self::AR_001,
            "ar-AE" => Self::AR_AE,
            "ar-BH" => Self::AR_BH,
            "ar-DJ" => Self::AR_DJ,
            "ar-DZ" => Self::AR_DZ,
            "ar-EG" => Self::AR_EG,
            "ar-EH" => Self::AR_EH,
            "ar-ER" => Self::AR_ER,
            "ar-IL" => Self::AR_IL,
            "ar-IQ" => Self::AR_IQ,
            "ar-JO" => Self::AR_JO,
            "ar-KM" => Self::AR_KM,
            "ar-KW" => Self::AR_KW,
            "ar-LB" => Self::AR_LB,
            "ar-LY" => Self::AR_LY,
            "ar-MA" => Self::AR_MA,
            "ar-MR" => Self::AR_MR,
            "ar-OM" => Self::AR_OM,
            "ar-PS" => Self::AR_PS,
            "ar-QA" => Self::AR_QA,
            "ar-SA" => Self::AR_SA,
            "ar-SD" => Self::AR_SD,
            "ar-SO" => Self::AR_SO,
            "ar-SS" => Self::AR_SS,
            "ar-SY" => Self::AR_SY,
            "ar-TD" => Self::AR_TD,
            "ar-TN" => Self::AR_TN,
            "ar-YE" => Self::AR_YE,
            "as" => Self::AS,
            "as-IN" => Self::AS_IN,
            "asa" => Self::ASA,
            "asa-TZ" => Self::ASA_TZ,
            "ast" => Self::AST,
            "ast-ES" => Self::AST_ES,
            "az" => Self::AZ,
            "az-Cyrl" => Self::AZ_CYRL,
            "az-Cyrl-AZ" => Self::AZ_CYRL_AZ,
            "az-Latn" => Self::AZ_LATN,
            "az-Latn-AZ" => Self::AZ_LATN_AZ,
            "bas" => Self::BAS,
            "bas-CM" => Self::BAS_CM,
            "be" => Self::BE,
            "be-BY" => Self::BE_BY,
            "bem" => Self::BEM,
            "bem-ZM" => Self::BEM_ZM,
            "bez" => Self::BEZ,
            "bez-TZ" => Self::BEZ_TZ,
            "bg" => Self::BG,
            "bg-BG" => Self::BG_BG,
            "bgc" => Self::BGC,
            "bgc-IN" => Self::BGC_IN,
            "bho" => Self::BHO,
            "bho-IN" => Self::BHO_IN,
            "bm" => Self::BM,
            "bm-ML" => Self::BM_ML,
            "bn" => Self::BN,
            "bn-BD" => Self::BN_BD,
            "bn-IN" => Self::BN_IN,
            "bo" => Self::BO,
            "bo-CN" => Self::BO_CN,
            "bo-IN" => Self::BO_IN,
            "br" => Self::BR,
            "br-FR" => Self::BR_FR,
            "brx" => Self::BRX,
            "brx-IN" => Self::BRX_IN,
            "bs" => Self::BS,
            "bs-Cyrl" => Self::BS_CYRL,
            "bs-Cyrl-BA" => Self::BS_CYRL_BA,
            "bs-Latn" => Self::BS_LATN,
            "bs-Latn-BA" => Self::BS_LATN_BA,
            "ca" => Self::CA,
            "ca-AD" => Self::CA_AD,
            "ca-ES" => Self::CA_ES,
            "ca-FR" => Self::CA_FR,
            "ca-IT" => Self::CA_IT,
            "ccp" => Self::CCP,
            "ccp-BD" => Self::CCP_BD,
            "ccp-IN" => Self::CCP_IN,
            "ce" => Self::CE,
            "ce-RU" => Self::CE_RU,
            "ceb" => Self::CEB,
            "ceb-PH" => Self::CEB_PH,
            "cgg" => Self::CGG,
            "cgg-UG" => Self::CGG_UG,
            "chr" => Self::CHR,
            "chr-US" => Self::CHR_US,
            "ckb" => Self::CKB,
            "ckb-IQ" => Self::CKB_IQ,
            "ckb-IR" => Self::CKB_IR,
            "cs" => Self::CS,
            "cs-CZ" => Self::CS_CZ,
            "cv" => Self::CV,
            "cv-RU" => Self::CV_RU,
            "cy" => Self::CY,
            "cy-GB" => Self::CY_GB,
            "da" => Self::DA,
            "da-DK" => Self::DA_DK,
            "da-GL" => Self::DA_GL,
            "dav" => Self::DAV,
            "dav-KE" => Self::DAV_KE,
            "de" => Self::DE,
            "de-AT" => Self::DE_AT,
            "de-BE" => Self::DE_BE,
            "de-CH" => Self::DE_CH,
            "de-DE" => Self::DE_DE,
            "de-IT" => Self::DE_IT,
            "de-LI" => Self::DE_LI,
            "de-LU" => Self::DE_LU,
            "dje" => Self::DJE,
            "dje-NE" => Self::DJE_NE,
            "doi" => Self::DOI,
            "doi-IN" => Self::DOI_IN,
            "dsb" => Self::DSB,
            "dsb-DE" => Self::DSB_DE,
            "dua" => Self::DUA,
            "dua-CM" => Self::DUA_CM,
            "dyo" => Self::DYO,
            "dyo-SN" => Self::DYO_SN,
            "dz" => Self::DZ,
            "dz-BT" => Self::DZ_BT,
            "ebu" => Self::EBU,
            "ebu-KE" => Self::EBU_KE,
            "ee" => Self::EE,
            "ee-GH" => Self::EE_GH,
            "ee-TG" => Self::EE_TG,
            "el" => Self::EL,
            "el-CY" => Self::EL_CY,
            "el-GR" => Self::EL_GR,
            "en" => Self::EN,
            "en-001" => Self::EN_001,
            "en-150" => Self::EN_150,
            "en-AE" => Self::EN_AE,
            "en-AG" => Self::EN_AG,
            "en-AI" => Self::EN_AI,
            "en-AS" => Self::EN_AS,
            "en-AT" => Self::EN_AT,
            "en-AU" => Self::EN_AU,
            "en-BB" => Self::EN_BB,
            "en-BE" => Self::EN_BE,
            "en-BI" => Self::EN_BI,
            "en-BM" => Self::EN_BM,
            "en-BS" => Self::EN_BS,
            "en-BW" => Self::EN_BW,
            "en-BZ" => Self::EN_BZ,
            "en-CA" => Self::EN_CA,
            "en-CC" => Self::EN_CC,
            "en-CH" => Self::EN_CH,
            "en-CK" => Self::EN_CK,
            "en-CM" => Self::EN_CM,
            "en-CX" => Self::EN_CX,
            "en-CY" => Self::EN_CY,
            "en-DE" => Self::EN_DE,
            "en-DG" => Self::EN_DG,
            "en-DK" => Self::EN_DK,
            "en-DM" => Self::EN_DM,
            "en-ER" => Self::EN_ER,
            "en-FI" => Self::EN_FI,
            "en-FJ" => Self::EN_FJ,
            "en-FK" => Self::EN_FK,
            "en-FM" => Self::EN_FM,
            "en-GB" => Self::EN_GB,
            "en-GD" => Self::EN_GD,
            "en-GG" => Self::EN_GG,
            "en-GH" => Self::EN_GH,
            "en-GI" => Self::EN_GI,
            "en-GM" => Self::EN_GM,
            "en-GU" => Self::EN_GU,
            "en-GY" => Self::EN_GY,
            "en-HK" => Self::EN_HK,
            "en-IE" => Self::EN_IE,
            "en-IL" => Self::EN_IL,
            "en-IM" => Self::EN_IM,
            "en-IN" => Self::EN_IN,
            "en-IO" => Self::EN_IO,
            "en-JE" => Self::EN_JE,
            "en-JM" => Self::EN_JM,
            "en-KE" => Self::EN_KE,
            "en-KI" => Self::EN_KI,
            "en-KN" => Self::EN_KN,
            "en-KY" => Self::EN_KY,
            "en-LC" => Self::EN_LC,
            "en-LR" => Self::EN_LR,
            "en-LS" => Self::EN_LS,
            "en-MG" => Self::EN_MG,
            "en-MH" => Self::EN_MH,
            "en-MO" => Self::EN_MO,
            "en-MP" => Self::EN_MP,
            "en-MS" => Self::EN_MS,
            "en-MT" => Self::EN_MT,
            "en-MU" => Self::EN_MU,
            "en-MV" => Self::EN_MV,
            "en-MW" => Self::EN_MW,
            "en-MY" => Self::EN_MY,
            "en-NA" => Self::EN_NA,
            "en-NF" => Self::EN_NF,
            "en-NG" => Self::EN_NG,
            "en-NL" => Self::EN_NL,
            "en-NR" => Self::EN_NR,
            "en-NU" => Self::EN_NU,
            "en-NZ" => Self::EN_NZ,
            "en-PG" => Self::EN_PG,
            "en-PH" => Self::EN_PH,
            "en-PK" => Self::EN_PK,
            "en-PN" => Self::EN_PN,
            "en-PR" => Self::EN_PR,
            "en-PW" => Self::EN_PW,
            "en-RW" => Self::EN_RW,
            "en-SB" => Self::EN_SB,
            "en-SC" => Self::EN_SC,
            "en-SD" => Self::EN_SD,
            "en-SE" => Self::EN_SE,
            "en-SG" => Self::EN_SG,
            "en-SH" => Self::EN_SH,
            "en-SI" => Self::EN_SI,
            "en-SL" => Self::EN_SL,
            "en-SS" => Self::EN_SS,
            "en-SX" => Self::EN_SX,
            "en-SZ" => Self::EN_SZ,
            "en-TC" => Self::EN_TC,
            "en-TK" => Self::EN_TK,
            "en-TO" => Self::EN_TO,
            "en-TT" => Self::EN_TT,
            "en-TV" => Self::EN_TV,
            "en-TZ" => Self::EN_TZ,
            "en-UG" => Self::EN_UG,
            "en-UM" => Self::EN_UM,
            "en-US" => Self::EN_US,
            "en-US-POSIX" => Self::EN_US_POSIX,
            "en-VC" => Self::EN_VC,
            "en-VG" => Self::EN_VG,
            "en-VI" => Self::EN_VI,
            "en-VU" => Self::EN_VU,
            "en-WS" => Self::EN_WS,
            "en-ZA" => Self::EN_ZA,
            "en-ZM" => Self::EN_ZM,
            "en-ZW" => Self::EN_ZW,
            "eo" => Self::EO,
            "eo-001" => Self::EO_001,
            "es" => Self::ES,
            "es-419" => Self::ES_419,
            "es-AR" => Self::ES_AR,
            "es-BO" => Self::ES_BO,
            "es-BR" => Self::ES_BR,
            "es-BZ" => Self::ES_BZ,
            "es-CL" => Self::ES_CL,
            "es-CO" => Self::ES_CO,
            "es-CR" => Self::ES_CR,
            "es-CU" => Self::ES_CU,
            "es-DO" => Self::ES_DO,
            "es-EA" => Self::ES_EA,
            "es-EC" => Self::ES_EC,
            "es-ES" => Self::ES_ES,
            "es-GQ" => Self::ES_GQ,
            "es-GT" => Self::ES_GT,
            "es-HN" => Self::ES_HN,
            "es-IC" => Self::ES_IC,
            "es-MX" => Self::ES_MX,
            "es-NI" => Self::ES_NI,
            "es-PA" => Self::ES_PA,
            "es-PE" => Self::ES_PE,
            "es-PH" => Self::ES_PH,
            "es-PR" => Self::ES_PR,
            "es-PY" => Self::ES_PY,
            "es-SV" => Self::ES_SV,
            "es-US" => Self::ES_US,
            "es-UY" => Self::ES_UY,
            "es-VE" => Self::ES_VE,
            "et" => Self::ET,
            "et-EE" => Self::ET_EE,
            "eu" => Self::EU,
            "eu-ES" => Self::EU_ES,
            "ewo" => Self::EWO,
            "ewo-CM" => Self::EWO_CM,
            "fa" => Self::FA,
            "fa-AF" => Self::FA_AF,
            "fa-IR" => Self::FA_IR,
            "ff" => Self::FF,
            "ff-Adlm" => Self::FF_ADLM,
            "ff-Adlm-BF" => Self::FF_ADLM_BF,
            "ff-Adlm-CM" => Self::FF_ADLM_CM,
            "ff-Adlm-GH" => Self::FF_ADLM_GH,
            "ff-Adlm-GM" => Self::FF_ADLM_GM,
            "ff-Adlm-GN" => Self::FF_ADLM_GN,
            "ff-Adlm-GW" => Self::FF_ADLM_GW,
            "ff-Adlm-LR" => Self::FF_ADLM_LR,
            "ff-Adlm-MR" => Self::FF_ADLM_MR,
            "ff-Adlm-NE" => Self::FF_ADLM_NE,
            "ff-Adlm-NG" => Self::FF_ADLM_NG,
            "ff-Adlm-SL" => Self::FF_ADLM_SL,
            "ff-Adlm-SN" => Self::FF_ADLM_SN,
            "ff-Latn" => Self::FF_LATN,
            "ff-Latn-BF" => Self::FF_LATN_BF,
            "ff-Latn-CM" => Self::FF_LATN_CM,
            "ff-Latn-GH" => Self::FF_LATN_GH,
            "ff-Latn-GM" => Self::FF_LATN_GM,
            "ff-Latn-GN" => Self::FF_LATN_GN,
            "ff-Latn-GW" => Self::FF_LATN_GW,
            "ff-Latn-LR" => Self::FF_LATN_LR,
            "ff-Latn-MR" => Self::FF_LATN_MR,
            "ff-Latn-NE" => Self::FF_LATN_NE,
            "ff-Latn-NG" => Self::FF_LATN_NG,
            "ff-Latn-SL" => Self::FF_LATN_SL,
            "ff-Latn-SN" => Self::FF_LATN_SN,
            "fi" => Self::FI,
            "fi-FI" => Self::FI_FI,
            "fil" => Self::FIL,
            "fil-PH" => Self::FIL_PH,
            "fo" => Self::FO,
            "fo-DK" => Self::FO_DK,
            "fo-FO" => Self::FO_FO,
            "fr" => Self::FR,
            "fr-BE" => Self::FR_BE,
            "fr-BF" => Self::FR_BF,
            "fr-BI" => Self::FR_BI,
            "fr-BJ" => Self::FR_BJ,
            "fr-BL" => Self::FR_BL,
            "fr-CA" => Self::FR_CA,
            "fr-CD" => Self::FR_CD,
            "fr-CF" => Self::FR_CF,
            "fr-CG" => Self::FR_CG,
            "fr-CH" => Self::FR_CH,
            "fr-CI" => Self::FR_CI,
            "fr-CM" => Self::FR_CM,
            "fr-DJ" => Self::FR_DJ,
            "fr-DZ" => Self::FR_DZ,
            "fr-FR" => Self::FR_FR,
            "fr-GA" => Self::FR_GA,
            "fr-GF" => Self::FR_GF,
            "fr-GN" => Self::FR_GN,
            "fr-GP" => Self::FR_GP,
            "fr-GQ" => Self::FR_GQ,
            "fr-HT" => Self::FR_HT,
            "fr-KM" => Self::FR_KM,
            "fr-LU" => Self::FR_LU,
            "fr-MA" => Self::FR_MA,
            "fr-MC" => Self::FR_MC,
            "fr-MF" => Self::FR_MF,
            "fr-MG" => Self::FR_MG,
            "fr-ML" => Self::FR_ML,
            "fr-MQ" => Self::FR_MQ,
            "fr-MR" => Self::FR_MR,
            "fr-MU" => Self::FR_MU,
            "fr-NC" => Self::FR_NC,
            "fr-NE" => Self::FR_NE,
            "fr-PF" => Self::FR_PF,
            "fr-PM" => Self::FR_PM,
            "fr-RE" => Self::FR_RE,
            "fr-RW" => Self::FR_RW,
            "fr-SC" => Self::FR_SC,
            "fr-SN" => Self::FR_SN,
            "fr-SY" => Self::FR_SY,
            "fr-TD" => Self::FR_TD,
            "fr-TG" => Self::FR_TG,
            "fr-TN" => Self::FR_TN,
            "fr-VU" => Self::FR_VU,
            "fr-WF" => Self::FR_WF,
            "fr-YT" => Self::FR_YT,
            "fur" => Self::FUR,
            "fur-IT" => Self::FUR_IT,
            "fy" => Self::FY,
            "fy-NL" => Self::FY_NL,
            "ga" => Self::GA,
            "ga-GB" => Self::GA_GB,
            "ga-IE" => Self::GA_IE,
            "gd" => Self::GD,
            "gd-GB" => Self::GD_GB,
            "gl" => Self::GL,
            "gl-ES" => Self::GL_ES,
            "gsw" => Self::GSW,
            "gsw-CH" => Self::GSW_CH,
            "gsw-FR" => Self::GSW_FR,
            "gsw-LI" => Self::GSW_LI,
            "gu" => Self::GU,
            "gu-IN" => Self::GU_IN,
            "guz" => Self::GUZ,
            "guz-KE" => Self::GUZ_KE,
            "gv" => Self::GV,
            "gv-IM" => Self::GV_IM,
            "ha" => Self::HA,
            "ha-GH" => Self::HA_GH,
            "ha-NE" => Self::HA_NE,
            "ha-NG" => Self::HA_NG,
            "haw" => Self::HAW,
            "haw-US" => Self::HAW_US,
            "he" => Self::HE,
            "he-IL" => Self::HE_IL,
            "hi" => Self::HI,
            "hi-IN" => Self::HI_IN,
            "hi-Latn" => Self::HI_LATN,
            "hi-Latn-IN" => Self::HI_LATN_IN,
            "hr" => Self::HR,
            "hr-BA" => Self::HR_BA,
            "hr-HR" => Self::HR_HR,
            "hsb" => Self::HSB,
            "hsb-DE" => Self::HSB_DE,
            "hu" => Self::HU,
            "hu-HU" => Self::HU_HU,
            "hy" => Self::HY,
            "hy-AM" => Self::HY_AM,
            "ia" => Self::IA,
            "ia-001" => Self::IA_001,
            "id" => Self::ID,
            "id-ID" => Self::ID_ID,
            "ig" => Self::IG,
            "ig-NG" => Self::IG_NG,
            "ii" => Self::II,
            "ii-CN" => Self::II_CN,
            "is" => Self::IS,
            "is-IS" => Self::IS_IS,
            "it" => Self::IT,
            "it-CH" => Self::IT_CH,
            "it-IT" => Self::IT_IT,
            "it-SM" => Self::IT_SM,
            "it-VA" => Self::IT_VA,
            "ja" => Self::JA,
            "ja-JP" => Self::JA_JP,
            "jgo" => Self::JGO,
            "jgo-CM" => Self::JGO_CM,
            "jmc" => Self::JMC,
            "jmc-TZ" => Self::JMC_TZ,
            "jv" => Self::JV,
            "jv-ID" => Self::JV_ID,
            "ka" => Self::KA,
            "ka-GE" => Self::KA_GE,
            "kab" => Self::KAB,
            "kab-DZ" => Self::KAB_DZ,
            "kam" => Self::KAM,
            "kam-KE" => Self::KAM_KE,
            "kde" => Self::KDE,
            "kde-TZ" => Self::KDE_TZ,
            "kea" => Self::KEA,
            "kea-CV" => Self::KEA_CV,
            "kgp" => Self::KGP,
            "kgp-BR" => Self::KGP_BR,
            "khq" => Self::KHQ,
            "khq-ML" => Self::KHQ_ML,
            "ki" => Self::KI,
            "ki-KE" => Self::KI_KE,
            "kk" => Self::KK,
            "kk-KZ" => Self::KK_KZ,
            "kkj" => Self::KKJ,
            "kkj-CM" => Self::KKJ_CM,
            "kl" => Self::KL,
            "kl-GL" => Self::KL_GL,
            "kln" => Self::KLN,
            "kln-KE" => Self::KLN_KE,
            "km" => Self::KM,
            "km-KH" => Self::KM_KH,
            "kn" => Self::KN,
            "kn-IN" => Self::KN_IN,
            "ko" => Self::KO,
            "ko-KP" => Self::KO_KP,
            "ko-KR" => Self::KO_KR,
            "kok" => Self::KOK,
            "kok-IN" => Self::KOK_IN,
            "ks" => Self::KS,
            "ks-Arab" => Self::KS_ARAB,
            "ks-Arab-IN" => Self::KS_ARAB_IN,
            "ks-Deva" => Self::KS_DEVA,
            "ks-Deva-IN" => Self::KS_DEVA_IN,
            "ksb" => Self::KSB,
            "ksb-TZ" => Self::KSB_TZ,
            "ksf" => Self::KSF,
            "ksf-CM" => Self::KSF_CM,
            "ksh" => Self::KSH,
            "ksh-DE" => Self::KSH_DE,
            "ku" => Self::KU,
            "ku-TR" => Self::KU_TR,
            "kw" => Self::KW,
            "kw-GB" => Self::KW_GB,
            "ky" => Self::KY,
            "ky-KG" => Self::KY_KG,
            "lag" => Self::LAG,
            "lag-TZ" => Self::LAG_TZ,
            "lb" => Self::LB,
            "lb-LU" => Self::LB_LU,
            "lg" => Self::LG,
            "lg-UG" => Self::LG_UG,
            "lkt" => Self::LKT,
            "lkt-US" => Self::LKT_US,
            "ln" => Self::LN,
            "ln-AO" => Self::LN_AO,
            "ln-CD" => Self::LN_CD,
            "ln-CF" => Self::LN_CF,
            "ln-CG" => Self::LN_CG,
            "lo" => Self::LO,
            "lo-LA" => Self::LO_LA,
            "lrc" => Self::LRC,
            "lrc-IQ" => Self::LRC_IQ,
            "lrc-IR" => Self::LRC_IR,
            "lt" => Self::LT,
            "lt-LT" => Self::LT_LT,
            "lu" => Self::LU,
            "lu-CD" => Self::LU_CD,
            "luo" => Self::LUO,
            "luo-KE" => Self::LUO_KE,
            "luy" => Self::LUY,
            "luy-KE" => Self::LUY_KE,
            "lv" => Self::LV,
            "lv-LV" => Self::LV_LV,
            "mai" => Self::MAI,
            "mai-IN" => Self::MAI_IN,
            "mas" => Self::MAS,
            "mas-KE" => Self::MAS_KE,
            "mas-TZ" => Self::MAS_TZ,
            "mer" => Self::MER,
            "mer-KE" => Self::MER_KE,
            "mfe" => Self::MFE,
            "mfe-MU" => Self::MFE_MU,
            "mg" => Self::MG,
            "mg-MG" => Self::MG_MG,
            "mgh" => Self::MGH,
            "mgh-MZ" => Self::MGH_MZ,
            "mgo" => Self::MGO,
            "mgo-CM" => Self::MGO_CM,
            "mi" => Self::MI,
            "mi-NZ" => Self::MI_NZ,
            "mk" => Self::MK,
            "mk-MK" => Self::MK_MK,
            "ml" => Self::ML,
            "ml-IN" => Self::ML_IN,
            "mn" => Self::MN,
            "mn-MN" => Self::MN_MN,
            "mni" => Self::MNI,
            "mni-Beng" => Self::MNI_BENG,
            "mni-Beng-IN" => Self::MNI_BENG_IN,
            "mr" => Self::MR,
            "mr-IN" => Self::MR_IN,
            "ms" => Self::MS,
            "ms-BN" => Self::MS_BN,
            "ms-ID" => Self::MS_ID,
            "ms-MY" => Self::MS_MY,
            "ms-SG" => Self::MS_SG,
            "mt" => Self::MT,
            "mt-MT" => Self::MT_MT,
            "mua" => Self::MUA,
            "mua-CM" => Self::MUA_CM,
            "my" => Self::MY,
            "my-MM" => Self::MY_MM,
            "mzn" => Self::MZN,
            "mzn-IR" => Self::MZN_IR,
            "naq" => Self::NAQ,
            "naq-NA" => Self::NAQ_NA,
            "nb" => Self::NB,
            "nb-NO" => Self::NB_NO,
            "nb-SJ" => Self::NB_SJ,
            "nd" => Self::ND,
            "nd-ZW" => Self::ND_ZW,
            "ne" => Self::NE,
            "ne-IN" => Self::NE_IN,
            "ne-NP" => Self::NE_NP,
            "nl" => Self::NL,
            "nl-AW" => Self::NL_AW,
            "nl-BE" => Self::NL_BE,
            "nl-BQ" => Self::NL_BQ,
            "nl-CW" => Self::NL_CW,
            "nl-NL" => Self::NL_NL,
            "nl-SR" => Self::NL_SR,
            "nl-SX" => Self::NL_SX,
            "nmg" => Self::NMG,
            "nmg-CM" => Self::NMG_CM,
            "nn" => Self::NN,
            "nn-NO" => Self::NN_NO,
            "nnh" => Self::NNH,
            "nnh-CM" => Self::NNH_CM,
            "no" => Self::NO,
            "nus" => Self::NUS,
            "nus-SS" => Self::NUS_SS,
            "nyn" => Self::NYN,
            "nyn-UG" => Self::NYN_UG,
            "om" => Self::OM,
            "om-ET" => Self::OM_ET,
            "om-KE" => Self::OM_KE,
            "or" => Self::OR,
            "or-IN" => Self::OR_IN,
            "os" => Self::OS,
            "os-GE" => Self::OS_GE,
            "os-RU" => Self::OS_RU,
            "pa" => Self::PA,
            "pa-Arab" => Self::PA_ARAB,
            "pa-Arab-PK" => Self::PA_ARAB_PK,
            "pa-Guru" => Self::PA_GURU,
            "pa-Guru-IN" => Self::PA_GURU_IN,
            "pcm" => Self::PCM,
            "pcm-NG" => Self::PCM_NG,
            "pl" => Self::PL,
            "pl-PL" => Self::PL_PL,
            "ps" => Self::PS,
            "ps-AF" => Self::PS_AF,
            "ps-PK" => Self::PS_PK,
            "pt" => Self::PT,
            "pt-AO" => Self::PT_AO,
            "pt-BR" => Self::PT_BR,
            "pt-CH" => Self::PT_CH,
            "pt-CV" => Self::PT_CV,
            "pt-GQ" => Self::PT_GQ,
            "pt-GW" => Self::PT_GW,
            "pt-LU" => Self::PT_LU,
            "pt-MO" => Self::PT_MO,
            "pt-MZ" => Self::PT_MZ,
            "pt-PT" => Self::PT_PT,
            "pt-ST" => Self::PT_ST,
            "pt-TL" => Self::PT_TL,
            "qu" => Self::QU,
            "qu-BO" => Self::QU_BO,
            "qu-EC" => Self::QU_EC,
            "qu-PE" => Self::QU_PE,
            "raj" => Self::RAJ,
            "raj-IN" => Self::RAJ_IN,
            "rm" => Self::RM,
            "rm-CH" => Self::RM_CH,
            "rn" => Self::RN,
            "rn-BI" => Self::RN_BI,
            "ro" => Self::RO,
            "ro-MD" => Self::RO_MD,
            "ro-RO" => Self::RO_RO,
            "rof" => Self::ROF,
            "rof-TZ" => Self::ROF_TZ,
            "ru" => Self::RU,
            "ru-BY" => Self::RU_BY,
            "ru-KG" => Self::RU_KG,
            "ru-KZ" => Self::RU_KZ,
            "ru-MD" => Self::RU_MD,
            "ru-RU" => Self::RU_RU,
            "ru-UA" => Self::RU_UA,
            "rw" => Self::RW,
            "rw-RW" => Self::RW_RW,
            "rwk" => Self::RWK,
            "rwk-TZ" => Self::RWK_TZ,
            "sa" => Self::SA,
            "sa-IN" => Self::SA_IN,
            "sah" => Self::SAH,
            "sah-RU" => Self::SAH_RU,
            "saq" => Self::SAQ,
            "saq-KE" => Self::SAQ_KE,
            "sat" => Self::SAT,
            "sat-Olck" => Self::SAT_OLCK,
            "sat-Olck-IN" => Self::SAT_OLCK_IN,
            "sbp" => Self::SBP,
            "sbp-TZ" => Self::SBP_TZ,
            "sc" => Self::SC,
            "sc-IT" => Self::SC_IT,
            "sd" => Self::SD,
            "sd-Arab" => Self::SD_ARAB,
            "sd-Arab-PK" => Self::SD_ARAB_PK,
            "sd-Deva" => Self::SD_DEVA,
            "sd-Deva-IN" => Self::SD_DEVA_IN,
            "se" => Self::SE,
            "se-FI" => Self::SE_FI,
            "se-NO" => Self::SE_NO,
            "se-SE" => Self::SE_SE,
            "seh" => Self::SEH,
            "seh-MZ" => Self::SEH_MZ,
            "ses" => Self::SES,
            "ses-ML" => Self::SES_ML,
            "sg" => Self::SG,
            "sg-CF" => Self::SG_CF,
            "shi" => Self::SHI,
            "shi-Latn" => Self::SHI_LATN,
            "shi-Latn-MA" => Self::SHI_LATN_MA,
            "shi-Tfng" => Self::SHI_TFNG,
            "shi-Tfng-MA" => Self::SHI_TFNG_MA,
            "si" => Self::SI,
            "si-LK" => Self::SI_LK,
            "sk" => Self::SK,
            "sk-SK" => Self::SK_SK,
            "sl" => Self::SL,
            "sl-SI" => Self::SL_SI,
            "smn" => Self::SMN,
            "smn-FI" => Self::SMN_FI,
            "sn" => Self::SN,
            "sn-ZW" => Self::SN_ZW,
            "so" => Self::SO,
            "so-DJ" => Self::SO_DJ,
            "so-ET" => Self::SO_ET,
            "so-KE" => Self::SO_KE,
            "so-SO" => Self::SO_SO,
            "sq" => Self::SQ,
            "sq-AL" => Self::SQ_AL,
            "sq-MK" => Self::SQ_MK,
            "sq-XK" => Self::SQ_XK,
            "sr" => Self::SR,
            "sr-Cyrl" => Self::SR_CYRL,
            "sr-Cyrl-BA" => Self::SR_CYRL_BA,
            "sr-Cyrl-ME" => Self::SR_CYRL_ME,
            "sr-Cyrl-RS" => Self::SR_CYRL_RS,
            "sr-Cyrl-XK" => Self::SR_CYRL_XK,
            "sr-Latn" => Self::SR_LATN,
            "sr-Latn-BA" => Self::SR_LATN_BA,
            "sr-Latn-ME" => Self::SR_LATN_ME,
            "sr-Latn-RS" => Self::SR_LATN_RS,
            "sr-Latn-XK" => Self::SR_LATN_XK,
            "su" => Self::SU,
            "su-Latn" => Self::SU_LATN,
            "su-Latn-ID" => Self::SU_LATN_ID,
            "sv" => Self::SV,
            "sv-AX" => Self::SV_AX,
            "sv-FI" => Self::SV_FI,
            "sv-SE" => Self::SV_SE,
            "sw" => Self::SW,
            "sw-CD" => Self::SW_CD,
            "sw-KE" => Self::SW_KE,
            "sw-TZ" => Self::SW_TZ,
            "sw-UG" => Self::SW_UG,
            "ta" => Self::TA,
            "ta-IN" => Self::TA_IN,
            "ta-LK" => Self::TA_LK,
            "ta-MY" => Self::TA_MY,
            "ta-SG" => Self::TA_SG,
            "te" => Self::TE,
            "te-IN" => Self::TE_IN,
            "teo" => Self::TEO,
            "teo-KE" => Self::TEO_KE,
            "teo-UG" => Self::TEO_UG,
            "tg" => Self::TG,
            "tg-TJ" => Self::TG_TJ,
            "th" => Self::TH,
            "th-TH" => Self::TH_TH,
            "ti" => Self::TI,
            "ti-ER" => Self::TI_ER,
            "ti-ET" => Self::TI_ET,
            "tk" => Self::TK,
            "tk-TM" => Self::TK_TM,
            "to" => Self::TO,
            "to-TO" => Self::TO_TO,
            "tr" => Self::TR,
            "tr-CY" => Self::TR_CY,
            "tr-TR" => Self::TR_TR,
            "tt" => Self::TT,
            "tt-RU" => Self::TT_RU,
            "twq" => Self::TWQ,
            "twq-NE" => Self::TWQ_NE,
            "tzm" => Self::TZM,
            "tzm-MA" => Self::TZM_MA,
            "ug" => Self::UG,
            "ug-CN" => Self::UG_CN,
            "uk" => Self::UK,
            "uk-UA" => Self::UK_UA,
            "ur" => Self::UR,
            "ur-IN" => Self::UR_IN,
            "ur-PK" => Self::UR_PK,
            "uz" => Self::UZ,
            "uz-Arab" => Self::UZ_ARAB,
            "uz-Arab-AF" => Self::UZ_ARAB_AF,
            "uz-Cyrl" => Self::UZ_CYRL,
            "uz-Cyrl-UZ" => Self::UZ_CYRL_UZ,
            "uz-Latn" => Self::UZ_LATN,
            "uz-Latn-UZ" => Self::UZ_LATN_UZ,
            "vai" => Self::VAI,
            "vai-Latn" => Self::VAI_LATN,
            "vai-Latn-LR" => Self::VAI_LATN_LR,
            "vai-Vaii" => Self::VAI_VAII,
            "vai-Vaii-LR" => Self::VAI_VAII_LR,
            "vi" => Self::VI,
            "vi-VN" => Self::VI_VN,
            "vun" => Self::VUN,
            "vun-TZ" => Self::VUN_TZ,
            "wae" => Self::WAE,
            "wae-CH" => Self::WAE_CH,
            "wo" => Self::WO,
            "wo-SN" => Self::WO_SN,
            "xh" => Self::XH,
            "xh-ZA" => Self::XH_ZA,
            "xog" => Self::XOG,
            "xog-UG" => Self::XOG_UG,
            "yav" => Self::YAV,
            "yav-CM" => Self::YAV_CM,
            "yi" => Self::YI,
            "yi-001" => Self::YI_001,
            "yo" => Self::YO,
            "yo-BJ" => Self::YO_BJ,
            "yo-NG" => Self::YO_NG,
            "yrl" => Self::YRL,
            "yrl-BR" => Self::YRL_BR,
            "yrl-CO" => Self::YRL_CO,
            "yrl-VE" => Self::YRL_VE,
            "yue" => Self::YUE,
            "yue-Hans" => Self::YUE_HANS,
            "yue-Hans-CN" => Self::YUE_HANS_CN,
            "yue-Hant" => Self::YUE_HANT,
            "yue-Hant-HK" => Self::YUE_HANT_HK,
            "zgh" => Self::ZGH,
            "zgh-MA" => Self::ZGH_MA,
            "zh" => Self::ZH,
            "zh-Hans" => Self::ZH_HANS,
            "zh-Hans-CN" => Self::ZH_HANS_CN,
            "zh-Hans-HK" => Self::ZH_HANS_HK,
            "zh-Hans-MO" => Self::ZH_HANS_MO,
            "zh-Hans-SG" => Self::ZH_HANS_SG,
            "zh-Hant" => Self::ZH_HANT,
            "zh-Hant-HK" => Self::ZH_HANT_HK,
            "zh-Hant-MO" => Self::ZH_HANT_MO,
            "zh-Hant-TW" => Self::ZH_HANT_TW,
            "zu" => Self::ZU,
            "zu-ZA" => Self::ZU_ZA,
            _ => Self::UnsupportedLanguage,
        }
    }
}

// TODO
// use serde::{Deserialize, Serialize};

// use std::fs;

// fn bcp47_json_to_rust_parser() {
//     let langs: Vec<LanguageIdentifiers> = serde_json::from_str(&BCP47_JSON).unwrap();

//     let mut enum_defs = String::new();
//     let mut english_match = String::new();
//     let mut native_match = String::new();
//     let mut code_match = String::new();

//     for lang in langs {
//         // Convert code like "af-NA" to enum variant AF_NA
//         let variant = lang.code.to_uppercase().replace("-", "_");

//         enum_defs.push_str(&format!("    {},\n", variant));

//         english_match.push_str(&format!(
//             "            Self::{} => \"{}\",\n",
//             variant, lang.english
//         ));
//         native_match.push_str(&format!(
//             "            Self::{} => \"{}\",\n",
//             variant, lang.native
//         ));
//         code_match.push_str(&format!(
//             "            Self::{} => \"{}\",\n",
//             variant, lang.code
//         ));
//     }

//     let rust_code = format!(
//         r#"pub enum BC47LanguageInfo {{
// {enum_defs}}}

// impl BC47LanguageInfo {{
//     pub fn english(&self) -> &str {{
//         match self {{
// {english_match}        }}
//     }}

//     pub fn native(&self) -> &str {{
//         match self {{
// {native_match}        }}
//     }}

//     pub fn code(&self) -> &str {{
//         match self {{
// {code_match}        }}
//     }}
// }}
// "#,
//         enum_defs = enum_defs,
//         english_match = english_match,
//         native_match = native_match,
//         code_match = code_match,
//     );

//     fs::write("all.rs", rust_code).unwrap();
//     println!("all.rs generated successfully!");
// }

// pub const BCP47_JSON: &str = include_str!("../BCP-47-Lang-Tags.json");

// #[derive(Debug, Serialize, Deserialize, Encode, Decode)]
// pub struct Bcp47(Vec<LanguageIdentifiers>);

// impl Bcp47 {}

// #[derive(Debug, Serialize, Deserialize, Encode, Decode)]
// pub struct LanguageIdentifiers {
//     pub code: String,
//     pub english: String,
//     pub native: String,
// }
