// ***************************************************************************
// *
// *   Copyright (C) 1999-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************
//              or better http://www.jtcsv.com/cgibin/icu-bugs

eo {
    Version { "4.0" } 
    // collation: accented characters have primary (base character) differences
    // see Jitterbug 1440 http://www.jtcsv.com/cgibin/icu-bugs?findid=1440
    collations {
        standard { 
            Version { "1.0" }
            Sequence { "&C<\u0109<<<\u0108 &G<\u011d<<<\u011c &H<\u0125<<<\u0124"
                       "&J<\u0135<<<\u0134 &S<\u015d<<<\u015c &U<\u016d<<<\u016c" }
        }
    }
    // data comes from http://www.bertilow.com/lanlin/iso.php and http://www.geonames.de/
    Countries { 
        AD { "Andoro" }
        AE { "Unui\u011dintaj Arabaj Emirlandos" }
        AF { "Afganujo" }
        AG { "Antigvo-Barbudo" }
        AI { "Angvilo" }
        AL { "Albanujo" }
        AM { "Armenujo" }
        AN { "Nederlandaj Antiloj" }
        AO { "Angolo" }
        AQ { "Antarkto" }
        AR { "Argentino" }
        AT { "A\u016dstrujo" }
        AU { "A\u016dstralio" }
        AW { "Arubo" }
        AZ { "Azerbaj\u011dano" }

        BA { "Bosnio-Hercegovino" }
        BB { "Barbado" }
        BD { "Banglade\u015do" }
        BE { "Belgujo" }
        BF { "Burkino" }
        BG { "Bulgarujo" }
        BH { "Barejno" }
        BI { "Burundo" }
        BJ { "Benino" }
        BM { "Bermudoj" }
        BN { "Brunejo" }
        BO { "Bolivio" }
        BR { "Brazilo" }
        BS { "Bahamoj" }
        BT { "Butano" }
        BW { "Bocvano" }
        BY { "Belorusujo" }
        BZ { "Belizo" }

        CA { "Kanado" }
        CF { "Centr-Afrika Respubliko" }
        CG { "Kongolo" }
        CH { "Svisujo" }
        CI { "Ebur-Bordo" }
        CK { "Kukinsuloj" }
        CL { "\u0108ilio" }
        CM { "Kameruno" }
        CN { "\u0108inujo" }
        CO { "Kolombio" }
        CR { "Kostariko" }
        //CS { "Serbujo kaj Montenegro" } // TODO: if we allow this, then SP must go away
        CU { "Kubo" }
        CV { "Kabo-Verdo" }
        CY { "Kipro" }
        CZ { "\u0108e\u0125ujo" } // Incomplete translation?

        DE { "Germanujo" }
        DJ { "\u011cibutio" }
        DK { "Danujo" }
        DM { "Dominiko" }
        DO { "Domingo" } // Incomplete translation?
        DZ { "Al\u011derio" }

        EC { "Ekvadoro" }
        EE { "Estonujo" }
        EG { "Egipto" }
        EH { "Okcidenta Saharo" }
        ER { "Eritreo" }
        ES { "Hispanujo" }
        ET { "Etiopujo" }

        FI { "Finnlando" }
        FJ { "Fi\u011doj" }
        FM { "Mikronezio" }
        FO { "Ferooj" }
        FR { "Francujo" }

        GA { "Gabono" }
        GB { "Unui\u011dinta Re\u011dlando" }
        GD { "Grenado" }
        GE { "Kartvelujo" }
        GF { "Franca Gviano" }
        GH { "Ganao" }
        GI { "\u011cibraltaro" }
        GL { "Gronlando" }
        GM { "Gambio" }
        GN { "Gvineo" }
        GP { "Gvadelupo" }
        GQ { "Ekvatora Gvineo" }
        GR { "Grekujo" }
        GS { "Sud-Georgio kaj Sud-Sandvi\u0109insuloj" }
        GT { "Gvatemalo" }
        GU { "Gvamo" }
        GW { "Gvineo-Bisa\u016do" }
        GY { "Gujano" }

        //HK { "Honkongo" } // missing S.A.R. China
        HM { "Herda kaj Makdonaldaj Insuloj" }
        HN { "Honduro" }
        HR { "Kroatujo" }
        HT { "Haitio" }
        HU { "Hungarujo" }

        ID { "Indonezio" }
        IE { "Irlando" }
        IL { "Israelo" }
        //IN { "Barato" } // Alternate spelling
        IN { "Hindujo" }
        IO { "Brita Hindoceana Teritorio" }
        IQ { "Irako" }
        IR { "Irano" }
        IS { "Islando" }
        IT { "Italujo" }

        JM { "Jamajko" }
        JO { "Jordanio" }
        JP { "Japanujo" }

        KE { "Kenjo" }
        KG { "Kirgizistano" }
        KH { "Kambo\u011do" }
        KI { "Kiribato" }
        KM { "Komoroj" }
        KN { "Sent-Kristofo kaj Neviso" }
        KP { "Nord-Koreo" }
        KR { "Sud-Koreo" }
        KW { "Kuvajto" }
        KY { "Kejmanoj" }
        KZ { "Kaza\u0125stano" }

        LA { "Laoso" }
        LB { "Libano" }
        LC { "Sent-Lucio" }
        LI { "Li\u0125ten\u015dtejno" }
        LK { "Sri-Lanko" }
        LR { "Liberio" }
        LS { "Lesoto" }
        LT { "Litovujo" }
        LU { "Luksemburgo" }
        LV { "Latvujo" }
        LY { "Libio" }

        MA { "Maroko" }
        MC { "Monako" }
        MD { "Moldavujo" }
        MG { "Madagaskaro" }
        MH { "Mar\u015daloj" }
        MK { "Makedonujo" }
        ML { "Malio" }
        MM { "Mjanmao" }
        MN { "Mongolujo" }
        //MO { "Makao" } // missing S.A.R. China
        MP { "Nord-Marianoj" }
        MQ { "Martiniko" }
        MR { "Ma\u016dritanujo" }
        MT { "Malto" }
        MU { "Ma\u016dricio" }
        MV { "Maldivoj" }
        MW { "Malavio" }
        MX { "Meksiko" }
        MY { "Malajzio" }
        MZ { "Mozambiko" }

        NA { "Namibio" }
        NC { "Nov-Kaledonio" }
        NE { "Ni\u011dero" }
        NF { "Norfolkinsulo" }
        NG { "Ni\u011derio" }
        NI { "Nikaragvo" }
        NL { "Nederlando" }
        NO { "Norvegujo" }
        NP { "Nepalo" }
        NR { "Nauro" }
        NU { "Niuo" }
        NZ { "Nov-Zelando" }

        OM { "Omano" }

        PA { "Panamo" }
        PE { "Peruo" }
        PF { "Franca Polinezio" }
        PG { "Papuo-Nov-Gvineo" }
        PH { "Filipinoj" }
        PK { "Pakistano" }
        PL { "Pollando" }
        PM { "Sent-Piero kaj Mikelono" }
        PN { "Pitkarna Insulo" }
        PR { "Puerto-Riko" }
        PT { "Portugalujo" }
        PW { "Bela\u016do" }
        PY { "Paragvajo" }

        QA { "Kataro" }

        RE { "Reunio" }
        RO { "Rumanujo" }
        RU { "Rusujo" }
        RW { "Ruando" }

        SA { "Sa\u016dda Arabujo" }
        SB { "Salomonoj" }
        SC { "Sej\u015deloj" }
        SD { "Sudano" }
        SE { "Svedujo" }
        SG { "Singapuro" }
        SH { "Sent-Heleno" }
        SI { "Slovenujo" }
        SJ { "Svalbardo kaj Jan-Majen-insulo" }
        SK { "Slovakujo" }
        SL { "Siera-Leono" }
        SM { "San-Marino" }
        SN { "Senegalo" }
        SO { "Somalujo" }
        SP { "Serbujo" }
        SR { "Surinamo" }
        ST { "Sao-Tomeo kaj Principeo" }
        SV { "Salvadoro" }
        SY { "Sirio" }
        SZ { "Svazilando" }

        TD { "\u0108ado" }
        TG { "Togolo" } // Just plain Togo?
        TH { "Tajlando" }
        TJ { "Ta\u011dikujo" } // Ta\u011dikistano?
        //TL { "Orienta Timoro" }    // This was called East Timor. Now it's Timor-Leste
        TM { "Turkmenujo" } // Turkmenistano?
        TN { "Tunizio" }
        TO { "Tongo" }
        TR { "Turkujo" }
        TT { "Trinidado kaj Tobago" }
        TV { "Tuvalo" }
        TW { "Tajvano" }
        TZ { "Tanzanio" }

        UA { "Ukrajno" }
        UG { "Ugando" }
        UM { "Usonaj malgrandaj insuloj" }
        US { "Usono" }
        UY { "Urugvajo" }
        UZ { "Uzbekujo" } // Uzbekistano?

        VA { "Vatikano" }
        VC { "Sent-Vincento kaj la Grenadinoj" }
        VE { "Venezuelo" }
        VG { "Britaj Virgulininsuloj" }
        VI { "Usonaj Virgulininsuloj" }
        VN { "Vjetnamo" }
        VU { "Vanuatuo" }

        WF { "Valiso kaj Futuno" }
        WS { "Samoo" }

        YE { "Jemeno" }
        YT { "Majoto" }

        ZA { "Sud-Afriko" }
        ZM { "Zambio" }
        ZW { "Zimbabvo" }
    }
    DateTimePatterns { 
        "H'-a horo kaj 'm z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE, d'-a de 'MMMM yyyy",
        "yyyy-MMMM-dd",
        "yyyy-MMM-dd",
        "yy-MM-dd",
        "{1} {0}",
    }
    DateTimeElements:intvector { 
        2,
        4,
    }
    AmPmMarkers { 
        "atm",
        "ptm",
    }
    DayAbbreviations { 
        "di",
        "lu",
        "ma",
        "me",
        "\u0135a",
        "ve",
        "sa",
    }
    DayNames { 
        "diman\u0109o",
        "lundo",
        "mardo",
        "merkredo",
        "\u0135a\u016ddo",
        "vendredo",
        "sabato",
    }
    Eras { 
        "aK",
        "pK",
    }
    // Data comes from http://www.bertilow.com/lanlin/iso.php
    Languages {
        aa { "afara" }
        ab { "ab\u0125aza" }
        af { "afrikansa" }
        am { "amhara" }
        ar { "araba" }
        as { "asama" }
        ay { "ajmara" }
        az { "azerbaj\u011dana" }
        ba { "ba\u015dkira" }
        be { "belorusa" }
        bg { "bulgara" }
        bh { "bihara" }
        bi { "bislamo" }
        bn { "bengala" }
        bo { "tibeta" }
        br { "bretona" }
        ca { "kataluna" }
        co { "korsika" }
        cs { "\u0109e\u0125a" }
        cy { "kimra" }
        da { "dana" }
        de { "germana" }
        dz { "dzonko" }
        el { "greka" }
        en { "angla" }
        eo { "esperanto" }
        es { "hispana" }
        et { "estona" }
        eu { "e\u016dska" }
        fa { "persa" }
        fi { "finna" }
        fj { "fi\u011dia" }
        fo { "feroa" }
        fr { "franca" }
        fy { "frisa" }
        ga { "irlanda" }
        gd { "gaela" }
        gl { "galega" }
        gn { "gvarania" }
        gu { "gu\u011darata" }
        ha { "ha\u016dsa" }
        he { "hebrea" }
        hi { "hinda" }
        hr { "kroata" }
        hu { "hungara" }
        hy { "armena" }
        ia { "interlingvao" }
        id { "indonezia" }
        ie { "okcidentalo" }
        ik { "eskima" }
        is { "islanda" }
        it { "itala" }
        iu { "inuita" }
        ja { "japana" }
        jv { "java" }
        ka { "kartvela" }
        kk { "kaza\u0125a" }
        kl { "gronlanda" }
        km { "kmera" }
        kn { "kanara" }
        ko { "korea" }
        ks { "ka\u015dmira" }
        ku { "kurda" }
        ky { "kirgiza" }
        la { "latino" }
        ln { "lingala" }
        lo { "la\u016da" }
        lt { "litova" }
        lv { "latva" }
        mg { "malagasa" }
        mi { "maoria" }
        mk { "makedona" }
        ml { "malajalama" }
        mn { "mongola" }
        mr { "marata" }
        ms { "malaja" }
        mt { "malta" }
        my { "birma" }
        na { "naura" }
        ne { "nepala" }
        nl { "nederlanda" }
        no { "norvega" }
        oc { "okcitana" }
        om { "oroma" }
        or { "orijo" }
        pa { "pan\u011daba" }
        pl { "pola" }
        ps { "pa\u015dtua" }
        pt { "portugala" }
        qu { "ke\u0109ua" }
        rm { "roman\u0109a" }
        rn { "burunda" }
        ro { "rumana" }
        ru { "rusa" }
        rw { "ruanda" }
        sa { "sanskrito" }
        sd { "sinda" }
        sg { "sangoa" }
        sh { "serbo-Kroata" }
        si { "sinhala" }
        sk { "slovaka" }
        sl { "slovena" }
        sm { "samoa" }
        sn { "\u015dona" }
        so { "somala" }
        sq { "albana" }
        sr { "serba" }
        ss { "svazia" }
        st { "sota" }
        su { "sunda" }
        sv { "sveda" }
        sw { "svahila" }
        ta { "tamila" }
        te { "telugua" }
        tg { "ta\u011dika" }
        th { "taja" }
        ti { "tigraja" }
        tk { "turkmena" }
        tl { "filipina" }
        tn { "cvana" }
        to { "tongaa" }
        tr { "turka" }
        ts { "conga" }
        tt { "tatara" }
        tw { "akana" }
        ug { "ujgura" }
        uk { "ukraina" }
        ur { "urduo" }
        uz { "uzbeka" }
        vi { "vjetnama" }
        vo { "volapuko" }
        wo { "volofa" }
        xh { "ksosa" }
        yi { "jida" }
        yo { "joruba" }
        za { "\u011duanga" }
        zh { "\u0109ina" }
        zu { "zulua" }
    }
    MonthAbbreviations { 
        "jan",
        "feb",
        "mar",
        "apr",
        "maj",
        "jun",
        "jul",
        "a\u016dg",
        "sep",
        "okt",
        "nov",
        "dec",
    }
    MonthNames { 
        "januaro",
        "februaro",
        "marto",
        "aprilo",
        "majo",
        "junio",
        "julio",
        "a\u016dgusto",
        "septembro",
        "oktobro",
        "novembro",
        "decembro",
    }
    NumberElements { 
        ",",
        "\u00A0",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
    localPatternChars { "GjMtkHmslTDUSnahKzJd" }
    LocaleScript:array{ 
        "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters { "[a-z \u016d \u0109 \u011d \u0125 \u0135 \u015d]" }
    //------------------------------------------------------------
    // Rule Based Number Format Support
    //------------------------------------------------------------

// data from 'Esperanto-programita 1' courtesy of Markus Scherer

    SpelloutRules {
        "-x: minus >>;\n"
        "x.x: << komo >>;\n"
        "nulo; unu; du; tri; kvar; kvin; ses; sep; ok; na\u016d;\n"
        "10: dek[ >>];\n"
        "20: <<dek[ >>];\n"
        "100: cent[ >>];\n"
        "200: <<cent[ >>];\n"
        "1000: mil[ >>];\n"
        "2000: <<mil[ >>];\n"
        "10000: dekmil[ >>];\n"
        "11000>: << mil[ >>];\n"
        "1,000,000: miliono[ >>];\n"
        "2,000,000: << milionoj[ >>];\n"
        "1,000,000,000: miliardo[ >>];\n"
        "2,000,000,000: << miliardoj[ >>];\n"
        "1,000,000,000,000: biliono[ >>];\n"
        "2,000,000,000,000: << bilionoj[ >>];\n"
        "1,000,000,000,000,000: =#,##0=;\n"
    }
}
