// ***************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

es {
    Version { "3.0" }
    collations {
        standard {
            Version { "1.1" }
            Sequence { "& N < n\u0303<<< N\u0303"
                       "&A<<\u00c6/E &a<<\u00e6/e" }
        }
        traditional {
            Version { "1.0" }
            Sequence { "& N < n\u0303<<< N\u0303"
                "&C < ch <<< Ch <<< CH"
                "&l < ll <<< Ll <<< LL"
            }
        }
    }
    // Currency display names
    Currencies {
        ADP { "ADP", "Peseta Andorrana" }
        AED { "AED", "Dirham de los Emiratos \u00C1rabes Unidos" }
        AFA { "AFA", "Afghani" }
        ALL { "ALL", "Lek Alban\u00E9s" }
        AMD { "AMD", "Dram Armenio" }
        ANG { "ANG", "Guilder de India Occidental" }
        AOK { "AOK", "Kwanza Angol\u00E9s" }
        ARA { "ARA", "Austral Argentino" }
        ARS { "ARS", "Peso Argentino" }
        ATS { "ATS", "Chel\u00EDn Austriaco" }
        AUD { "AUD", "D\u00F3lar Australiano" }
        AWG { "AWG", "Guilder de Aruba" }
        AZM { "AZM", "Manat de Azerbaijan" }
        BAD { "BAD", "Dinar de Bosnia-Herzogovinia" }
        BBD { "BBD", "D\u00F3lar de Barbados" }
        BDT { "BDT", "Taka de Bangladesh" }
        BEF { "BEF", "Franco Belga" }
        BGL { "BGL", "Lev Bulgaro" }
        BHD { "BHD", "Dinar de Barein" }
        BIF { "BIF", "Franco de Burundi" }
        BMD { "BMD", "D\u00F3lar de Bermudas" }
        BND { "BND", "D\u00F3lar de Brunei" }
        BOB { "$b", "Boliviano de Bolivia" }
        BRL { "BRL", "Real de Brazil" }
        BSD { "BSD", "D\u00F3lar de Bahamas" }
        BWP { "BWP", "Pula de Botswana" }
        BYR { "BYR", "Rublo de Belorusia" }
        BZD { "BZD", "D\u00F3lar de Belize" }
        CAD { "CAD", "D\u00F3lar Canadiense" }
        CHF { "CHF", "Franco Suizo" }
        CLP { "CLP", "Peso Chileno" }
        COP { "COP", "Peso de Colombia" }
        CRC { "CRC", "Colon de Costa Rica" }
        CUP { "CUP", "Peso Cubano" }
        CVE { "CVE", "Escudo de Cabo Verde" }
        CYP { "CYP", "Libra de Chipre" }
        CZK { "CZK", "Krona Checa" }
        DEM { "DEM", "Marco Alem\u00E1n" }
        DJF { "DJF", "Franco de Djibouti" }
        DKK { "DKK", "Corona Danesa" }
        DOP { "RD$", "Peso Dominicano" }
        // DRP { "DRP", "Peso de la Rep\u00FAblica Dominicana" } -- invalid
        DZD { "DZD", "Dinar de Algeria" }
        ECS { "S/.", "Sucre de Ecuador" }
        // ECU { "ECU", "Moenda \u00DAnica Europea (EURO)" } -- invalid
        EEK { "EEK", "Corona de Estonia" }
        EGP { "EGP", "Libra Egipcia" }
        ESP { "\u20A7", "Peseta Espa\u00F1ola" }
        ETB { "ETB", "Birr de Etiop\u00EDa" }
        EUR { "\u20AC", "Moneda de los estados miembros de EMU" }
        FIM { "FIM", "Marco Finland\u00E9s" }
        FJD { "FJD", "D\u00F3lar de Fiji" }
        FKP { "FKP", "Libra de Falkland" }
        FRF { "FRF", "Franco Franc\u00E9s" }
        GBP { "\u00A3", "Libra Brit\u00E1nica" }
        GEK { "GEK", "Kupon de Georgia" }
        GHC { "GHC", "Cedi de Ghana" }
        GIP { "GIP", "Libra de Gibraltar" }
        GMD { "GMD", "Dalasi de Gambia" }
        GNF { "GNF", "Franco de Guinea" }
        GRD { "GRD", "Dracma Griego" }
        GTQ { "Q", "Quedzal de Guatemala" }
        GWP { "GWP", "Peso de Guinea" }
        GYD { "GYD", "D\u00F3lar Guayan\u00E9s" }
        HKD { "HKD", "D\u00F3lar de Hong Kong" }
        HNL { "L.", "Lempira de Honduras" }
        HRD { "HRD", "Dinar de Croacia" }
        HTG { "HTG", "Gourde de Haiti" }
        HUF { "HUF", "Flor\u00EDn H\u00FAngaro" }
        IDR { "IDR", "Rupia Indonesia" }
        IEP { "IEP", "Libra Irlandesa" }
        ILS { "ILS", "Scheckel Israel\u00ED" }
        INR { "=0#Rs.|1#Re.|1<Rs.", "Rupia India" }
        IQD { "IQD", "Dinar Iraqu\u00ED" }
        IRR { "IRR", "Rial Iran\u00ED" }
        ISK { "ISK", "Corona Islandesa" }
        ITL { "\u20A4", "Lira Italiana" }
        JMD { "JMD", "D\u00F3lar de Jamaica" }
        JOD { "JOD", "Dinar de Jordania" }
        JPY { "\u00A5", "Yen Japon\u00E9s" }
        KES { "KES", "Chel\u00EDn de Kenya" }
        KHR { "KHR", "Riel de Camboya" }
        // KIS { "KIS", "Som de Kirghizstan" } -- invalid
        KMF { "KMF", "Franco de Comoros" }
        KPW { "KPW", "Won de Corea del Norte" }
        KRW { "KRW", "Won de Corea del Sur" }
        KWD { "KWD", "Dinar de Kuwait" }
        KYD { "KYD", "D\u00F3lar de las Caim\u00E1n" }
        KZT { "KZT", "Tenge de Kazakhst\u00E1n" }
        LAK { "LAK", "Kip de Letonia" }
        LBP { "LBP", "Libra Libanesa" }
        LKR { "LKR", "Rupia de Ceil\u00E1n" }
        LRD { "LRD", "D\u00F3lar de Liberia" }
        LSL { "LSL", "Loti de Lesotho" }
        LTL { "LTL", "Lita de Lituania" }
        LUF { "LUF", "Franco de Luxemburgo" }
        LVL { "LVL", "Lat Latonia" }
        LYD { "LYD", "Dinar Libio" }
        MAD { "MAD", "Dirham Marroqu\u00ED" }
        MDL { "MDL", "Lei de Moldavia" }
        MGF { "MGF", "Franco de Madagascar" }
        MNT { "MNT", "Tugrik de Mongolia" }
        MOP { "MOP", "Pataca de Macao" }
        MRO { "MRO", "Ouguiya de Mauritania" }
        MTL { "MTL", "Lira de Malta" }
        MUR { "MUR", "Rupia de Mauritius" }
        MVR { "MVR", "Rufia de Maldivas" }
        MWK { "MWK", "Kwacha de Malawi" }
        MXN { "MXN", "Peso Mexicano (nuevo)" }
        MXP { "MXP", "Peso Mexicano (viejo)" }
        MYR { "MYR", "Ringgit de Malaysia" }
        MZM { "MZM", "Metical de Mozambique" }
        NGN { "NGN", "Naira de Nigeria" }
        NIO { "C$", "Cordoba de Nicaragua" }
        NLG { "NLG", "Guilder de Holanda" }
        NOK { "NOK", "C\u00F3rona Noruega" }
        NPR { "NPR", "Rupia de Nepal" }
        NZD { "NZD", "D\u00F3lar de Nueva Zelanda" }
        OMR { "OMR", "Rial de Om\u00E1n" }
        PAB { "B/", "Balboa de Panam\u00E1" }
        PEI { "PEI", "Inti de Per\u00FA" }
        PEN { "S/", "Sol de Per\u00FA - Nuevo" }
        PES { "PES", "Sol de Per\u00FA" }
        PGK { "PGK", "Kina de Papua Nueva Guinea" }
        PHP { "PHP", "Peso Filipino" }
        PKR { "PKR", "Rupia de Pakist\u00E1n" }
        PLN { "PLN", "Zloty de Polonia" }
        PTE { "PTE", "Escudo Portugu\u00E9s" }
        PYG { "Gs", "Guarani de Paraguay" }
        QAR { "QAR", "Riyal de Qatar" }
        // RMB { "RMB", "Remnminbi Yuan de China" } -- invalid
        ROL { "ROL", "Lei de Rumania" }
        RUR { "RUR", "Rublo Ruso" }
        RWF { "RWF", "Franco de Rwanda" }
        SAR { "SAR", "Riyal de Arabia Saud\u00ED" }
        SBD { "SBD", "D\u00F3lar de las Islas Solomon" }
        SCR { "SCR", "Rupias de Seychelles" }
        SDP { "SDP", "Libra de Sud\u00E1n" }
        SEK { "SEK", "C\u00F3rona Sueca" }
        SGD { "SGD", "D\u00F3lar de Singapur" }
        SHP { "SHP", "Libra de St.Helena" }
        SIT { "SIT", "Tolar de Eslovenia" }
        SKK { "SKK", "C\u00F3rona Eslovaca" }
        SLL { "SLL", "Sierra Le\u00F3n" }
        SOS { "SOS", "Chell\u00EDn de Somalia" }
        SRG { "SRG", "Guilder de Surinam" }
        STD { "STD", "Sao Tome / Principe Dobra" }
        SUR { "SUR", "Rublo Ruso (viejo)" }
        SVC { "SVC", "Colon de El Salvador" }
        SYP { "SYP", "libra de Siria" }
        SZL { "SZL", "Lilangeni de Swaziland" }
        THB { "THB", "Baht de Tailandia" }
        TJR { "TJR", "Rublo de Tadzikist\u00E1n" }
        TMM { "TMM", "Manat de Turkmenist\u00E1n" }
        TND { "TND", "Dinar de Tun\u00EDcia" }
        TOP { "TOP", "Pa'anga de Tonga" }
        TPE { "TPE", "Escudo de Timor" }
        TRL { "TRL", "Lira de Turqu\u00EDa" }
        TTD { "TTD", "D\u00F3lar de Trinidad y Tobagor" }
        TWD { "TWD", "D\u00F3lar de Nuevo Taiw\u00E1n" }
        TZS { "TZS", "Chell\u00EDn de Tanzania" }
        UAK { "UAK", "karbowanez de Ucrainia" }
        UGS { "UGS", "Chell\u00EDn de Uganda" }
        USD { "$", "D\u00F3lar Americano" }
        UYP { "UYP", "Nuevo Peso de Uruguay" }
        UYU { "NU$", "UYU" }
        VEB { "Bs", "Bolivar de Venezuela" }
        VND { "\u0111", "Dong de Vietn\u00E1m" }
        VUV { "VUV", "Vatu de Vanuatu" }
        WST { "WST", "Tala de Samoa" }
        XAF { "XAF", "Franco de Gab\u00F3n" }
        XCD { "XCD", "D\u00F3lar de Caribe Oriental" }
        XOF { "XOF", "Franco de Benin (C.f.A.)" }
        YER { "YER", "Ryal de Yemen" }
        ZAR { "ZAR", "Rand de Sur \u00C1frica" }
        ZMK { "ZMK", "Kwacha de Zambia" }
        ZWD { "ZWD", "D\u00F3lar de Zimbawe" }
    }
    /* Duplicates from root commented out. */
    Countries { 
        Fallback{ "en"}
        AE { "Emiratos \u00C1rabes Unidos" }
        AF { "Afganist\u00E1n" }
        AG { "Antigua y Barbuda" }
        AI { "Anguila" }
        //AL { "Albania" }
        //AM { "Armenia" }
        AN { "Antillas Neerlandesas" }
        //AO { "Angola" }
        AQ { "Ant\u00E1rtica" }
        //AR { "Argentina" }
        AS { "Samoa Americana" }
        //AT { "Austria" }
        //AU { "Australia" }
        //AW { "Aruba" }
        AZ { "Azerbaiy\u00E1n" }
        BA { "Bosnia y Hercegovina" }
        //BB { "Barbados" }
        //BD { "Bangladesh" }
        BE { "B\u00E9lgica" }
        //BF { "Burkina Faso" }
        //BG { "Bulgaria" }
        BH { "Bahr\u00E1in" }
        //BI { "Burundi" }
        BJ { "Ben\u00EDn" }
        BM { "Bermudas" }
        BN { "Brun\u00E9i" }
        //BO { "Bolivia" }
        BR { "Brasil" }
        //BS { "Bahamas" }
        BT { "But\u00E1n" }
        BV { "Isla Bouvet" }
        BW { "Botsuana" }
        BY { "Bielorrusia" }
        BZ { "Belice" }
        CA { "Canad\u00E1" }
        CC { "Islas Cocos (Keeling)" }
        CD { "Rep\u00FAblica Democr\u00E1tica del Congo" }
        CF { "Rep\u00FAblica Centroafricana" }
        //CG { "Congo" }
        CH { "Suiza" }
        CI { "Costa de Marfil" }
        CK { "Islas Cook" }
        //CL { "Chile" }
        CM { "Camer\u00FAn" }
        //CN { "China" }
        //CO { "Colombia" }
        //CR { "Costa Rica" }
        //CU { "Cuba" }
        CV { "Cabo Verde" }
        CX { "Isla de Christmas" }
        CY { "Chipre" }
        CZ { "Rep\u00FAblica Checa" }
        //CZ { "Chequia" } // Old value
        DE { "Alemania" }
        DJ { "Yibuti" }
        DK { "Dinamarca" }
        //DM { "Dominica" }
        DO { "Rep\u00FAblica Dominicana" }
        DZ { "Argelia" }
        //EC { "Ecuador" }
        //EE { "Estonia" }
        EG { "Egipto" }
        EH { "S\u00E1hara Occidental" }
        //ER { "Eritrea" }
        ES { "Espa\u00F1a" }
        ET { "Etiop\u00EDa" }
        FI { "Finlandia" }
        FJ { "Fidji" }
        FK { "Islas Falkland (Malvinas)" }    // alternate name { "Islas Malvinas" }
        //FM { "Micronesia, Estados Federados de" }
        FO { "Islas Feroe" }
        FR { "Francia" }
        GA { "Gab\u00F3n" }
        GB { "Reino Unido" }
        GD { "Granada" }
        //GE { "Georgia" }
        GF { "Guayana Francesa" }
        //GH { "Ghana" }
        //GI { "Gibraltar" }
        GL { "Groenlandia" }
        //GM { "Gambia" }
        //GN { "Guinea" }
        GP { "Guadalupe" }
        GQ { "Guinea Ecuatorial" }
        GR { "Grecia" }
        GS { "Islas Georgia del Sur y Sandwich del Sur" }
        //GT { "Guatemala" }
        //GU { "Guam" }
        //GW { "Guinea-Bissau" }
        //GY { "Guyana" }
        HK { "Hong Kong, Regi\u00F3n administrativa especial de China" }
        HM { "Islas Heard y McDonald" }
        //HN { "Honduras" }
        HR { "Croacia" }
        HT { "Hait\u00ED" }
        HU { "Hungr\u00EDa" }
        //ID { "Indonesia" }
        IE { "Irlanda" }
        //IL { "Israel" }
        //IN { "India" }
        IO { "Territorios Brit\u00E1nicos del Oc\u00E9ano \u00CDndico" }
        IQ { "Irak" }
        IR { "Ir\u00E1n" }
        IS { "Islandia" }
        IT { "Italia" }
        //JM { "Jamaica" }
        JO { "Jordania" }
        JP { "Jap\u00F3n" }
        KE { "Kenia" }
        KG { "Kirguizist\u00E1n" }
        KH { "Camboya" }
        //KI { "Kiribati" }
        KM { "Comores" }
        KN { "San Crist\u00F3bal y Nieves" }
        KP { "Corea del Norte" }    // alternate name { "Corea, Rep\u00FAblica Popular Democr\u00E1tica de" }
        KR { "Corea del Sur" }    // alternate name { "Corea, Rep\u00FAblica de " }
        //KW { "Kuwait" }
        KY { "Islas Caim\u00E1n" }
        KZ { "Kazajist\u00E1n" }
        //LA { "Rep\u00FAblica Democr\u00E1tica Popular Lao" } // From translation center
        LB { "L\u00EDbano" }
        //LC { "Santa Lucia" }
        //LI { "Liechtenstein" }
        //LK { "Sri Lanka" }
        //LR { "Liberia" }
        LS { "Lesoto" }
        LT { "Lituania" }
        LU { "Luxemburgo" }
        LV { "Letonia" }
        LY { "Libia" }
        MA { "Marruecos" }
        MC { "M\u00F3naco" }
        //MD { "Moldavia, Rep\u00FAblica de" }
        //MG { "Madagascar" }
        MH { "Islas Marshall" }
        //MK { "Macedonia, Antigua Rep\u00FAblica Yugoslava de" }    // alternate name { "Macedonia, Rep\u00FAblica de" }
        ML { "Mal\u00ED" }
        //MM { "Myanmar" }
        //MN { "Mongolia" }
        MO { "Macao, Regi\u00F3n administrativa especial de China" }
        MP { "Islas Marianas del Norte" }
        MQ { "Martinica" }
        //MR { "Mauritania" }
        //MS { "Montserrat" }
        //MT { "Malta" }
        MU { "Mauricio" }
        MV { "Maldivas" }
        MW { "Malaui" }
        MX { "M\u00E9xico" }
        MY { "Malasia" }
        //MZ { "Mozambique" }
        //NA { "Namibia" }
        NC { "Nueva Caledonia" }
        NE { "N\u00EDger" }
        NF { "Isla Norfolk" }
        //NG { "Nigeria" }
        //NI { "Nicaragua" }
        NL { "Pa\u00EDses Bajos" }
        NO { "Noruega" }
        //NP { "Nepal" }
        //NR { "Nauru" }
        //NU { "Niue" }
        NZ { "Nueva Zelanda" }
        OM { "Om\u00E1n" }
        PA { "Panam\u00E1" }
        PE { "Per\u00FA" }
        PF { "Polinesia Francesa" }
        PG { "Pap\u00FAa Nueva Guinea" }
        //PH { "Islas Filipinas" }  // Original value
        PH { "Filipinas" }
        PK { "Pakist\u00E1n" }
        PL { "Polonia" }
        PM { "San Pedro y Miquel\u00F3n" }
        //PN { "Pitcairn" }
        //PR { "Puerto Rico" }
        PS { "Territorios Palestinos" }
        //PT { "Portugal" }
        //PW { "Palau" }
        //PY { "Paraguay" }
        //QA { "Qatar" }
        //RE { "Reuni\u00F3n" }
        RO { "Rumania" }
        RU { "Rusia" }
        //RU { "Federaci\u00F3n Rusa" } // From translation center
        RW { "Ruanda" }
        SA { "Arabia Saud\u00ED" }
        SB { "Islas Salom\u00F3n" }
        //SC { "Seychelles" }
        SD { "Sud\u00E1n" }
        SE { "Suecia" }
        SG { "Singapur" }
        SH { "Santa Elena" } // From translation center
        SI { "Eslovenia" }
        SJ { "Svalbard y Jan Mayen" }
        SK { "Eslovaquia" }
        SL { "Sierra Leona" }
        //SM { "San Marino" }
        //SN { "Senegal" }
        //SO { "Somalia" }
        SP { "Serbia" }
        //SR { "Surinam" }
        ST { "Santo Tom\u00E9 y Pr\u00EDncipe" }
        //SV { "El Salvador" }
        SY { "Siria" }
        SZ { "Suazilandia" }
        TC { "Islas Turcas y Caicos" }
        //TD { "Chad" }
        TF { "Territorios Australes Franceses" }
        //TG { "Togo" }
        TH { "Tailandia" }
        TJ { "Tayikist\u00E1n" }
        //TK { "Tokelau" }
        TL { "Timor Oriental" }
        TM { "Turkmenist\u00E1n" }
        TN { "T\u00FAnez" }
        //TO { "Tonga" }
        TR { "Turqu\u00EDa" }
        TT { "Trinidad y Tabago" }
        //TV { "Tuvalu" }
        TW { "Taiw\u00E1n, Rep\u00FAblica de China" }
        //TZ { "Tanzania" }
        UA { "Ucrania" }
        //UG { "Uganda" }
        UM { "Islas menores alejadas de Estados Unidos" }
        //UM { "Islas Perif\u00E9ricas Menores de los Estados Unidos" } // Old value
        US { "Estados Unidos" }
        //UY { "Uruguay" }
        UZ { "Uzbekist\u00E1n" }
        //VA { "Santa Sede (Ciudad del Vaticano)" }
        VA { "Ciudad del Vaticano" }
        VC { "San Vicente y las Granadinas" }
        //VE { "Venezuela" }
        VG { "Islas V\u00EDrgenes Brit\u00E1nicas" }
        VI { "Islas V\u00EDrgenes de los Estados Unidos" }
        //VN { "Vietnam" }
        //VU { "Vanuatu" }
        WF { "Wallis y Futuna" }
        //WS { "Samoa" }
        //YE { "Yemen" }
        //YT { "Mayotte" }
        //YU { "Yugoslavia" }
        ZA { "Sud\u00E1frica" }
        //ZM { "Zambia" }
        ZW { "Zimbabue" }
    }
    DateTimeElements:intvector { 
        2,
        1,
    }
    DateTimePatterns { 
        "HH'H'mm''ss\" z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE d' de 'MMMM' de 'yyyy",
        "d' de 'MMMM' de 'yyyy",
        "dd-MMM-yy",
        "d/MM/yy",
        "{1} {0}",
    }
    DayAbbreviations { 
        "dom",
        "lun",
        "mar",
        "mi\u00E9",
        "jue",
        "vie",
        "s\u00E1b",
    }
    DayNames { 
        "domingo",
        "lunes",
        "martes",
        "mi\u00E9rcoles",
        "jueves",
        "viernes",
        "s\u00E1bado",
    }
    Eras { 
        "a.C.",  // Said to be a.C. for antes de Cristo
        "d.C.",  // Said to be d.C. for despu\u00E9s de Cristo
    }
    // Spanish does not capitalize the language names like English
    Languages {
        root{"ra\u00EDz" }    // The only exception to ISO-639

        aa { "afar" }
        af { "afrikaans" }
        am { "am\u00E1rico" }
        ar { "\u00E1rabe" }
        as { "asam\u00E9s" }
        az { "azerbayano" }
        be { "bielorruso" }
        bg { "b\u00FAlgaro" }
        bh { "bihari" }
        bi { "bislama" }
        bn { "bengal\u00ED" }
        bo { "tibetano" }
        br { "bret\u00F3n" }
        ca { "catal\u00E1n" }
        co { "corso" }
        cs { "checo" }
        cy { "gal\u00E9s" }
        da { "dan\u00E9s" }
        de { "alem\u00E1n" }
        el { "griego" }
        en { "ingl\u00E9s" }
        eo { "esperanto" }
        es { "espa\u00F1ol" }
        et { "estonio" }
        eu { "vasco" }
        fa { "farsi" }
        fi { "finland\u00E9s" }
        fo { "fero\u00E9s" }
        fr { "franc\u00E9s" }
        ga { "irland\u00E9s" }
        gd { "ga\u00E9lico escoc\u00E9s" }
        gl { "gallego" }
        gu { "goujarat\u00ED" } // If this changes, then change Gujr in Scripts too.
        gv { "ga\u00E9lico man\u00E9s" }
        ha { "hausa" }
        haw { "hawaiano" }
        he { "hebreo" }
        hi { "hindi" }
        hr { "croata" }
        hu { "h\u00FAngaro" }
        hy { "armenio" }
        id { "indonesio" }
        ie { "interlingue" }
        ik { "inupiak" }
        is { "island\u00e9s" }
        it { "italiano" }
        iu { "inuktitut" }
        ja { "japon\u00E9s" }
        ka { "georgiano" }
        kk { "kazajo" }
        kl { "groenland\u00E9s" }
        km { "kmer" } // If this changes, then change Khmr in Scripts too.
        kn { "canara" } // If this changes, then change Knda in Scripts too.
        ko { "coreano" }
        ku { "kurdo" }
        kw { "c\u00F3rnico" }
        ky { "kirghiz" }
        la { "lat\u00EDn" }
        ln { "lingala" }
        lo { "laosiano" }
        lt { "lituano" }
        //lv { "let\u00F3n" } // Old value
        lv { "letonio" }
        mg { "malgache" }
        mi { "maor\u00ED" }
        mk { "macedonio" }
        ml { "malayalam" }
        mn { "mongol" }
        mo { "moldavo" }
        mr { "marathi" }
        ms { "malayo" }
        mt { "malt\u00e9s" }
        my { "birmano" }
        na { "nauruano" }
        nl { "holand\u00E9s" }
        nb { "bokmal noruego" }
        ne { "nepal\u00ED" }
        no { "noruego" }
        nn { "nynorsk noruego" }
        om { "oromo" }
        or { "oriya" }
        pa { "punjab\u00ED" }
        pl { "polaco" }
        ps { "pashto" }
        pt { "portugu\u00E9s" }
        qu { "quechua" }
        ro { "rumano" }
        ru { "ruso" }
        sa { "s\u00E1nscrito" }
        sg { "sango" }
        sh { "serbocroata" }
        si { "cingal\u00E9s" }
        sk { "eslovaco" }
        sl { "esloveno" }
        sm { "samoano" }
        so { "somal\u00ED" }
        sq { "alban\u00E9s" }
        sr { "serbio" }
        su { "sundan\u00E9s" }
        sv { "sueco" }
        sw { "swahili" }
        ta { "tamil" }
        te { "telugu" }
        th { "tailand\u00E9s" }
        ti { "tigrinya" }
        tl { "tagalo" }
        tr { "turco" }
        ts { "tsonga" }
        tt { "t\u00E1taro" }
        ug { "uigur" }
        uk { "ucraniano" }
        ur { "urdu" }
        uz { "uzbeko" }
        vi { "vietnamita" }
        vo { "volapuk" }
        wo { "uolof" }
        xh { "xhosa" }
        yo { "yoruba" }
        za { "zhuang" }
        zh { "chino" }
        zu { "zul\u00FA" }
    }
    localPatternChars { "GuMtkHmsSEDFwWahKzUe" }
    LocaleScript{ 
        "Latn",  // ISO 15924 Name 
    }
    // u umlaut \u00fc is a rare character.
    // It can be found in words like multilig\u00fce, ag\u00fcita and Itag\u00fc\u00ed
    ExemplarCharacters { "[a-z \u00f1 \u00e1 \u00e9 \u00ed \u00f3 \u00fa \u00fc]" }
    MonthAbbreviations { 
        "ene",
        "feb",
        "mar",
        "abr",
        "may",
        "jun",
        "jul",
        "ago",
        "sep",
        "oct",
        "nov",
        "dic",
    }
    MonthNames { 
        "enero",
        "febrero",
        "marzo",
        "abril",
        "mayo",
        "junio",
        "julio",
        "agosto",
        "septiembre",
        "octubre",
        "noviembre",
        "diciembre",
    }
    NumberPatterns { 
        "#,##0.###;-#,##0.###",
        "\u00A4#,##0.00;(\u00A4#,##0.00)",
        "#,##0%",
        "#E0",
    }
    Scripts {
        Arab { "\u00E1rabe" }
        Armn { "armenio" }
        Beng { "bengal\u00ED" }
        // ? Bopo { "Bopomofo" }
        Brai { "braille" } // Lowercase?
        // ? Buhd { "Buhid" }
        // ? Cans { "Unified Canadian Aboriginal Symbols" }
        // ? Cher { "Cherokee" }
        Cprt { "chipriota" } // grecochipriota?
        Cyrl { "cir\u00EDlico" }
        // ? Deva { "Devanagari" }
        // ? Dsrt { "Deseret" }
        // ? Ethi { "et\u00EDopico" }
        Geor { "georgiano" }
        Goth { "g\u00F3tico" }
        Grek { "griego" }
        Gujr { "goujarat\u00ED" }
        // ? Guru { "Gurmukhi" }
        // ? Hang { "Hangul" }
        // ? Hano { "Hanunoo" }
        // ? Hani { "han" }
        // ? Hans { "simplificado han" } // Not a formal part of ISO-15924 yet
        // ? Hant { "tradicional han" } // Not a formal part of ISO-15924 yet
        Hebr { "hebreo" }
        // ? Hira { "Hiragana" }
        // ? Ital { "antigua bastardilla" } // Probably right.
        // ? Kana { "Katakana" }
        Khmr { "kmer" }
        Knda { "canara" }
        // ? Laoo { "Lao" }
        Latn { "lat\u00EDn" }
        // ? Limb { "Limbu" }
        // ? Linb { "Linear B" }
        // ? Mlym { "Malayalam" }
        Mong { "mongoliano" }
        Mymr { "myanmar" }
        // ? Ogam { "Ogham" }
        // ? Orya { "Oriya" }
        // ? Osma { "Osmanya" }
        // ? Qaac { "Coptic" } // Coptic is not a formal part of ISO-15924 yet
        // ? Qaai { "Inherited" } // PUA  Difficult to translate
        // ? Runr { "Runic" }
        // ? Shaw { "Shavian" }
        // ? Sinh { "Sinhala" }
        // ? Syrc { "Syriac" }
        // ? Tagb { "Tagbanwa" }
        // ? Tale { "Tai Le" }
        Taml { "tamil" }
        Telu { "telugu" }
        Tglg { "tagalo" }
        // ? Thaa { "Thaana" }
        Thai { "tailand\u00E9s" }
        Tibt { "tibetano" }
        // ? Ugar { "Ugaritic" }
        // ? Yiii { "Yi" }
        // ? Zyyy { "com\u00FAn" } // This may need to become "undetermined script"
    }

    //------------------------------------------------------------
    // Rule Based Number Format Support
    //------------------------------------------------------------

    // * Spellout rules for Spanish.  The Spanish rules are quite similar to
    // * the English rules, but there are some important differences:
    // * First, we have to provide separate rules for most of the twenties
    // * because the ones digit frequently picks up an accent mark that it
    // * doesn't have when standing alone.  Second, each multiple of 100 has
    // * to be specified separately because the multiplier on 100 very often
    // * changes form in the contraction: 500 is "quinientos," not
    // * "cincocientos."  In addition, the word for 100 is "cien" when
    // * standing alone, but changes to "ciento" when followed by more digits.
    // * There also some other differences.

    // The Spanish rules are incomplete.  I'm missing information on negative
    // numbers and numbers with fractional parts.  I also don't have
    // information on numbers higher than the millions.

    SpelloutRules {
        // negative-number and fraction rules
        "-x: menos >>;\n"
        "x.x: << punto >>;\n"
        // words for values from 0 to 19
        "cero; uno; dos; tres; cuatro; cinco; seis; siete; ocho; nueve;\n"
        "diez; once; doce; trece; catorce; quince; diecis\u00e9is;\n"
        "    diecisiete; dieciocho; diecinueve;\n"
        // words for values from 20 to 29 (necessary because the ones digit
        // often picks up an accent mark it doesn't have when standing alone)
        "veinte; veintiuno; veintid\u00f3s; veintitr\u00e9s; veinticuatro;\n"
        "    veinticinco; veintis\u00e9is; veintisiete; veintiocho;\n"
        "    veintinueve;\n"
        // words for multiples of 10 (notice that the tens digit is separated
        // from the ones digit by the word "y".)
        "30: treinta[ y >>];\n"
        "40: cuarenta[ y >>];\n"
        "50: cincuenta[ y >>];\n"
        "60: sesenta[ y >>];\n"
        "70: setenta[ y >>];\n"
        "80: ochenta[ y >>];\n"
        "90: noventa[ y >>];\n"
        // 100 by itself is "cien," but 100 followed by something is "cineto"
        "100: cien;\n"
        "101: ciento >>;\n"
        // words for multiples of 100 (must be stated because they're
        // rarely simple concatenations)
        "200: doscientos[ >>];\n"
        "300: trescientos[ >>];\n"
        "400: cuatrocientos[ >>];\n"
        "500: quinientos[ >>];\n"
        "600: seiscientos[ >>];\n"
        "700: setecientos[ >>];\n"
        "800: ochocientos[ >>];\n"
        "900: novecientos[ >>];\n"
        // for 1,000, the multiplier on "mil" is omitted: 2,000 is "dos mil,"
        // but 1,000 is just "mil."
        "1000: mil[ >>];\n"
        "2000: << mil[ >>];\n"
        // 1,000,000 is "un millon," not "uno millon"
        "1,000,000: un mill\u00f3n[ >>];\n"
        "2,000,000: << mill\u00f3n[ >>];\n"
        // overflow rule
        "1,000,000,000: =#,##0= (incomplete data);" 
    }
    Keys{
         collation { "Colaci\u00f3n" }
         calendar  { "Calendario" }
    }
    // The following should probably be all lowercase.
    Types {
        collation{
            direct      { "Directo Orden" }
            phonebook   { "Gu\u00FDa Orden" }
            // PINYIN      { "PINYIN" }
            stroke      { "Pincelada Orden" }
            traditional { "Tradicional Orden" }
        }
        calendar{
            //traditional { "Tradicional" }
            japanese    { "Japon\u00E9s" }
            buddhist    { "Budista" }
            islamic     { "Isl\u00E1mico" }
            hebrew      { "Hebreo" }
            chinese     { "Chino" }
            gregorian   { "Gregoriano" }
        }
    }
    Variants {
        REVISED { "Revisado" }
    }

}
