// ***************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************
//  Date        Name        Description
//  11/17/99    aliu        Added support for transliterators.
//  01/15/2002  grhoten     Synchronized the language and contry codes with ISO standards

// ***  Note: do NOT translate or modify (customize) this root locale.  
//      Instead, put translations in sub locales.

root {
    Version { "5.0" }

    Variants{
        Fallback{ "" }
        NY      { "NY" }        // No longer valid variant. Here for backwards compatibility.
        EURO    { "EURO" }      // EURO variant display name
        POSIX   { "POSIX" }
        REVISED { "REVISED" }
    }
    Keys{
        collation { "COLLATION" }
        calendar  { "CALENDAR" }
        currency  { "CURRENCY" }
    }
    Types{
        // keys for collation (traditional may also be used for traditional chinese)
	// The values in root must always be capitalized because the signify the values are         // codes not translations
        collation{
          Fallback{ "" }
          direct      { "DIRECT"    }
          phonebook   { "PHONEBOOK" }
          pinyin      { "PINYIN"    }
          stroke      { "STROKE"    }
          traditional { "TRADITIONAL" }
        }
        calendar{
          Fallback{ "" }
          traditional { "TRADITIONAL" }
          japanese    { "JAPANESE"  }
          buddhist    { "BUDDHIST"  }
          islamic     { "ISLAMIC"   }
          hebrew      { "HEBREW"    }
          chinese     { "CHINESE"   }
          gregorian   { "GREGORIAN" }

        }
    }

    // TODO: Remove this
    // this is a special tag that makes genrb include UCARules.txt for collation
    "%%UCARULES" { "UCARules.txt"} // UCARules

    
    collations {
       standard {
          Version  { "0.0" }
          Sequence { "" }
       }
       default { "standard" }
    }

    //------------------------------------------------------------
    // BEGIN Transliterator support
    //------------------------------------------------------------

    // See also icu/source/data/translit/index.txt

    TransliteratorNamePattern {
        // Format for the display name of a Transliterator.
        // This is the language-neutral form of this resource.
        "{0,choice,0#|1#{1}|2#{1}-{2}}" // Display name
    }

    // Transliterator display names
    // This is the English form of this resource.
    "%Translit%Hex"         { "%Translit%Hex" }
    "%Translit%UnicodeName" { "%Translit%UnicodeName" }
    "%Translit%UnicodeChar" { "%Translit%UnicodeChar" }

    //------------------------------------------------------------
    // END Transliterator support
    //------------------------------------------------------------

    AmPmMarkers { 
        "AM",
        "PM",
    }
    // The official list list of ISO-3166 country codes are located at:
    // http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/en_listp1.html
    Countries {
        Fallback{""} // this is just to make cloctst not complain and not break the fallback chain..if multilevel fallback is implemented
        AD { "AD" }
        AE { "AE" }
        AF { "AF" }
        AG { "AG" }
        AI { "AI" }
        AL { "AL" }
        AM { "AM" }
        AN { "AN" }
        AO { "AO" }
        AQ { "AQ" }
        AR { "AR" }
        AS { "AS" }
        AT { "AT" }
        AU { "AU" }
        AW { "AW" }
        AZ { "AZ" }

        BA { "BA" }
        BB { "BB" }
        BD { "BD" }
        BE { "BE" }
        BF { "BF" }
        BG { "BG" }
        BH { "BH" }
        BI { "BI" }
        BJ { "BJ" }
        BM { "BM" }
        BN { "BN" }
        BO { "BO" }
        BR { "BR" }
        BS { "BS" }
        BT { "BT" }
        BV { "BV" }
        BW { "BW" }
        BY { "BY" }
        BZ { "BZ" }

        CA { "CA" }
        CC { "CC" }
        CD { "CD" }
        CF { "CF" }
        CG { "CG" }
        CH { "CH" }
        CI { "CI" }
        CK { "CK" }
        CL { "CL" }
        CM { "CM" }
        CN { "CN" }
        CO { "CO" }
        CR { "CR" }
        //CS { "CS" } // TODO: if we allow this, then SP must go away
        CU { "CU" }
        CV { "CV" }
        CX { "CX" }
        CY { "CY" }
        CZ { "CZ" }

        DE { "DE" }
        DJ { "DJ" }
        DK { "DK" }
        DM { "DM" }
        DO { "DO" }
        DZ { "DZ" }

        EC { "EC" }
        EE { "EE" }
        EG { "EG" }
        EH { "EH" }
        ER { "ER" }
        ES { "ES" }
        ET { "ET" }

        FI { "FI" }
        FJ { "FJ" }
        FK { "FK" }
        FM { "FM" }
        FO { "FO" }
        FR { "FR" }

        GA { "GA" }
        GB { "GB" }
        GD { "GD" }
        GE { "GE" }
        GF { "GF" }
        GH { "GH" }
        GI { "GI" }
        GL { "GL" }
        GM { "GM" }
        GN { "GN" }
        GP { "GP" }
        GQ { "GQ" }
        GR { "GR" }
        GS { "GS" }
        GT { "GT" }
        GU { "GU" }
        GW { "GW" }
        GY { "GY" }

        HK { "HK" }
        HM { "HM" }
        HN { "HN" }
        HR { "HR" }
        HT { "HT" }
        HU { "HU" }

        ID { "ID" }
        IE { "IE" }
        IL { "IL" }
        IN { "IN" }
        IO { "IO" }
        IQ { "IQ" }
        IR { "IR" }
        IS { "IS" }
        IT { "IT" }

        JM { "JM" }
        JO { "JO" }
        JP { "JP" }

        KE { "KE" }
        KG { "KG" }
        KH { "KH" }
        KI { "KI" }
        KM { "KM" }
        KN { "KN" }
        KP { "KP" }
        KR { "KR" }
        KW { "KW" }
        KY { "KY" }
        KZ { "KZ" }

        LA { "LA" }
        LB { "LB" }
        LC { "LC" }
        LI { "LI" }
        LK { "LK" }
        LR { "LR" }
        LS { "LS" }
        LT { "LT" }
        LU { "LU" }
        LV { "LV" }
        LY { "LY" }

        MA { "MA" }
        MC { "MC" }
        MD { "MD" }
        MG { "MG" }
        MH { "MH" }
        MK { "MK" }
        ML { "ML" }
        MM { "MM" }
        MN { "MN" }
        MO { "MO" }
        MP { "MP" }
        MQ { "MQ" }
        MR { "MR" }
        MS { "MS" }
        MT { "MT" }
        MU { "MU" }
        MV { "MV" }
        MW { "MW" }
        MX { "MX" }
        MY { "MY" }
        MZ { "MZ" }

        NA { "NA" }
        NC { "NC" }
        NE { "NE" }
        NF { "NF" }
        NG { "NG" }
        NI { "NI" }
        NL { "NL" }
        NO { "NO" }
        NP { "NP" }
        NR { "NR" }
        NU { "NU" }
        NZ { "NZ" }

        OM { "OM" }

        PA { "PA" }
        PE { "PE" }
        PF { "PF" }
        PG { "PG" }
        PH { "PH" }
        PK { "PK" }
        PL { "PL" }
        PM { "PM" }
        PN { "PN" }
        PR { "PR" }
        PS { "PS" }
        PT { "PT" }
        PW { "PW" }
        PY { "PY" }

        QA { "QA" }

        RE { "RE" }
        RO { "RO" }
        RU { "RU" }
        RW { "RW" }

        SA { "SA" }
        SB { "SB" }
        SC { "SC" }
        SD { "SD" }
        SE { "SE" }
        SG { "SG" }
        SH { "SH" }
        SI { "SI" }
        SJ { "SJ" }
        SK { "SK" }
        SL { "SL" }
        SM { "SM" }
        SN { "SN" }
        SO { "SO" }
        SP { "SP" }
        SR { "SR" }
        ST { "ST" }
        SV { "SV" }
        SY { "SY" }
        SZ { "SZ" }

        TC { "TC" }
        TD { "TD" }
        TF { "TF" }
        TG { "TG" }
        TH { "TH" }
        TJ { "TJ" }
        TK { "TK" }
        TM { "TM" }
        TN { "TN" }
        TO { "TO" }
        TL { "TL" }
        TR { "TR" }
        TT { "TT" }
        TV { "TV" }
        TW { "TW" }
        TZ { "TZ" }

        UA { "UA" }
        UG { "UG" }
        UM { "UM" }
        US { "US" }
        UY { "UY" }
        UZ { "UZ" }

        VA { "VA" }
        VC { "VC" }
        VE { "VE" }
        VG { "VG" }
        VI { "VI" }
        VN { "VN" }
        VU { "VU" }

        WF { "WF" }
        WS { "WS" }

        YE { "YE" }
        YT { "YT" }
        YU { "YU" }

        ZA { "ZA" }
              
        ZM { "ZM" }
        ZW { "ZW" }
    }
    
    DateTimeElements:intvector { 
        1,
        1,
    }

    DateTimePatterns {
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss ",
        "HH:mm",
        "EEEE, yyyy MMMM dd ",
        "yyyy MMMM d ",
        "yyyy MMM d ",
        "yy/MM/dd", // Changing this will break binary compatibility.
        "{1} {0}",
    }

    DayAbbreviations {
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7"
    }
    DayNames { 
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7"
    }
    Eras { 
        "BCE", // BC
        "CE"   // AD
    }
    MonthAbbreviations {
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8",
        "9",
        "10",
        "11",
        "12"
    }
    MonthNames {
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8",
        "9",
        "10",
        "11",
        "12"
    }

    // If there is a two letter abbreviation (ISO-639-1) for a three letter
    // abbreviation (ISO-639-2), the two letter abbreviation must be used.
    // Source: http://lcweb.loc.gov/standards/iso639-2/englangn.html
    Languages {
        Fallback{""}
        root{ "root" }

        aa  { "aa"  }
        ab  { "ab"  }
        ace { "ace" }
        ach { "ach" }
        ada { "ada" }
        ae  { "ae"  }
        af  { "af"  }
        afa { "afa" }
        afh { "afh" }
        ak  { "ak"  }
        akk { "akk" }
        ale { "ale" }
        alg { "alg" }
        am  { "am"  }
        ang { "ang" }
        apa { "apa" }
        ar  { "ar"  }
        arc { "arc" }
        arn { "arn" }
        arp { "arp" }
        art { "art" }
        arw { "arw" }
        as  { "as"  }
        ast { "ast" }
        ath { "ath" }
        aus { "aus" }
        av  { "av"  }
        awa { "awa" }
        ay  { "ay"  }
        az  { "az"  }
        ba  { "ba"  }
        bad { "bad" }
        bai { "bai" }
        bal { "bal" }
        bam { "bam" }
        ban { "ban" }
        bas { "bas" }
        bat { "bat" }
        be  { "be"  }
        bej { "bej" }
        bem { "bem" }
        ber { "ber" }
        bg  { "bg"  }
        bh  { "bh"  }
        bho { "bho" }
        bi  { "bi"  }
        bik { "bik" }
        bin { "bin" }
        bla { "bla" }
        bm  { "bm"  }
        bn  { "bn"  }
        bnt { "bnt" }
        bo  { "bo"  }
        br  { "br"  }
        bra { "bra" }
        bs  { "bs"  }
        btk { "btk" }
        bua { "bua" }
        bug { "bug" }
        byn { "byn" }
        ca  { "ca"  }
        cad { "cad" }
        cai { "cai" }
        car { "car" }
        cau { "cau" }
        ce  { "ce"  }
        ceb { "ceb" }
        cel { "cel" }
        ch  { "ch"  }
        chb { "chb" }
        chg { "chg" }
        chk { "chk" }
        chm { "chm" }
        chn { "chn" }
        cho { "cho" }
        chp { "chp" }
        chr { "chr" }
        chy { "chy" }
        cmc { "cmc" }
        co  { "co"  }
        cop { "cop" }
        cpe { "cpe" }
        cpf { "cpf" }
        cpp { "cpp" }
        cr  { "cr"  }
        crp { "crp" }
        cs  { "cs"  }
        cu  { "cu"  }
        cus { "cus" }
        cv  { "cv"  }
        cy  { "cy"  }
        da  { "da"  }
        dak { "dak" }
        dar { "dar" }
        day { "day" }
        de  { "de"  }
        del { "del" }
        den { "den" }
        dgr { "dgr" }
        din { "din" }
        doi { "doi" }
        dra { "dra" }
        dua { "dua" }
        dum { "dum" }
        dv  { "dv"  }
        dyu { "dyu" }
        dz  { "dz"  }
        ee  { "ee"  }
        efi { "efi" }
        egy { "egy" }
        eka { "eka" }
        el  { "el"  }
        elx { "elx" }
        en  { "en"  }
        enm { "enm" }
        eo  { "eo"  }
        es  { "es"  }
        et  { "et"  }
        eu  { "eu"  }
        ewo { "ewo" }
        fa  { "fa"  }
        fan { "fan" }
        fat { "fat" }
        ff  { "ff"  }
        fi  { "fi"  }
        fiu { "fiu" }
        fj  { "fj"  }
        fo  { "fo"  }
        fon { "fon" }
        fr  { "fr"  }
        frm { "frm" }
        fro { "fro" }
        fur { "fur" }
        fy  { "fy"  }
        ga  { "ga"  }
        gaa { "gaa" }
        gay { "gay" }
        gba { "gba" }
        gd  { "gd"  }
        gem { "gem" }
        gez { "gez" }
        gil { "gil" }
        gl  { "gl"  }
        gla { "gla" }
        gmh { "gmh" }
        gn  { "gn"  }
        goh { "goh" }
        gon { "gon" }
        gor { "gor" }
        got { "got" }
        grb { "grb" }
        grc { "grc" }
        gu  { "gu"  }
        gv  { "gv"  }
        gwi { "gwi" }
        hai { "hai" }
        ha  { "ha"  }
        haw { "haw" }
        he  { "he"  }
        hi  { "hi"  }
        hil { "hil" }
        him { "him" }
        hit { "hit" }
        hmn { "hmn" }
        ho  { "ho"  }
        hr  { "hr"  }
        ht  { "ht"  }
        hu  { "hu"  }
        hup { "hup" }
        hy  { "hy"  }
        hz  { "hz"  }
        ia  { "ia"  }
        iba { "iba" }
        id  { "id"  }
        ie  { "ie"  }
        ig  { "ig"  }
        ii  { "ii"  }
        ijo { "ijo" }
        ik  { "ik"  }
        ilo { "ilo" }
        inc { "inc" }
        ine { "ine" }
        inh { "inh" }
        io  { "io"  }
        ira { "ira" }
        iro { "iro" }
        is  { "is"  }
        it  { "it"  }
        iu  { "iu"  }
        //iw  { "iw"  }
        ja  { "ja"  }
        jpr { "jpr" }
        jrb { "jrb" }
        jv  { "jv"  }
        ka  { "ka"  }
        kaa { "kaa" }
        kab { "kab" }
        kac { "kac" }
        kam { "kam" }
        kar { "kar" }
        kaw { "kaw" }
        kbd { "kbd" }
        kg  { "kg"  }
        kha { "kha" }
        khi { "khi" }
        kho { "kho" }
        ki  { "ki"  }
        kj  { "kj"  }
        kk  { "kk"  }
        kl  { "kl"  }
        km  { "km"  }
        kmb { "kmb" }
        kn  { "kn"  }
        ko  { "ko"  }
        kok { "kok" }
        kos { "kos" }
        kpe { "kpe" }
        kr  { "kr"  }
        kro { "kro" }
        kru { "kru" }
        ks  { "ks"  }
        ku  { "ku"  }
        kum { "kum" }
        kut { "kut" }
        kv  { "kv"  }
        kw  { "kw"  }
        ky  { "ky"  }
        la  { "la"  }
        lad { "lad" }
        lah { "lah" }
        lam { "lam" }
        lb  { "lb"  }
        lez { "lez" }
        lg  { "lg"  }
        lin { "lin" }
        li  { "li"  }
        lit { "lit" }
        ln  { "ln"  }
        lo  { "lo"  }
        lol { "lol" }
        loz { "loz" }
        lt  { "lt"  }
        lu  { "lu"  }
        lua { "lua" }
        lui { "lui" }
        lun { "lun" }
        luo { "luo" }
        lus { "lus" }
        lv  { "lv"  }
        mad { "mad" }
        mag { "mag" }
        mai { "mai" }
        mak { "mak" }
        man { "man" }
        map { "map" }
        mas { "mas" }
        mdr { "mdr" }
        men { "men" }
        mg  { "mg"  }
        mga { "mga" }
        mh  { "mh"  }
        mi  { "mi"  }
        mic { "mic" }
        min { "min" }
        mis { "mis" }
        mk  { "mk"  }
        mkh { "mkh" }
        ml  { "ml"  }
        mn  { "mn"  }
        mnc { "mnc" }
        mni { "mni" }
        mno { "mno" }
        mo  { "mo"  }
        moh { "moh" }
        mos { "mos" }
        mr  { "mr"  }
        ms  { "ms"  }
        mt  { "mt"  }
        mul { "mul" }
        mun { "mun" }
        mus { "mus" }
        mwr { "mwr" }
        my  { "my"  }
        myn { "myn" }
        na  { "na"  }
        nah { "nah" }
        nai { "nai" }
        nap { "nap" }
        nb  { "nb"  }
        nd  { "nd"  }
        nds { "nds" }
        ne  { "ne"  }
        new { "new" }
        ng  { "ng"  }
        nia { "nia" }
        nic { "nic" }
        niu { "niu" }
        nl  { "nl"  }
        nn  { "nn"  }
        no  { "no"  }
        non { "non" }
        nr  { "nr"  }
        nso { "nso" }
        nub { "nub" }
        nv  { "nv"  }
        ny  { "ny"  }
        nym { "nym" }
        nyn { "nyn" }
        nyo { "nyo" }
        nzi { "nzi" }
        oc  { "oc"  }
        oj  { "oj"  }
        om  { "om"  }
        or  { "or"  }
        os  { "os"  }
        osa { "osa" }
        ota { "ota" }
        oto { "oto" }
        pa  { "pa"  }
        paa { "paa" }
        pag { "pag" }
        pal { "pal" }
        pam { "pam" }
        pap { "pap" }
        pau { "pau" }
        peo { "peo" }
        phi { "phi" }
        phn { "phn" }
        pi  { "pi"  }
        pl  { "pl"  }
        pon { "pon" }
        pra { "pra" }
        pro { "pro" }
        ps  { "ps"  }
        pt  { "pt"  }
        // qaa-qtz is reserved for locale use
        qu  { "qu"  }
        raj { "raj" }
        rap { "rap" }
        rar { "rar" }
        rm  { "rm"  }
        rn  { "rn"  }
        ro  { "ro"  }
        roa { "roa" }
        rom { "rom" }
        ru  { "ru"  }
        rw  { "rw"  }
        sa  { "sa"  }
        sad { "sad" }
        sah { "sah" }
        sai { "sai" }
        sal { "sal" }
        sam { "sam" }
        sas { "sas" }
        sat { "sat" }
        sc  { "sc"  }
        sco { "sco" }
        sd  { "sd"  }
        se  { "se"  }
        sel { "sel" }
        sem { "sem" }
        sg  { "sg"  }
        sga { "sga" }
        sgn { "sgn" }
        sh  { "sh"  }
        shn { "shn" }
        si  { "si"  }
        sid { "sid" }
        sio { "sio" }
        sit { "sit" }
        sk  { "sk"  }
        sl  { "sl"  }
        sla { "sla" }
        sm  { "sm"  }
        sma { "sma" }
        smi { "smi" }
        smj { "smj" }
        smn { "smn" }
        sms { "sms" }
        sn  { "sn"  }
        snk { "snk" }
        so  { "so"  }
        sog { "sog" }
        son { "son" }
        sq  { "sq"  }
        sr  { "sr"  }
        srr { "srr" }
        ss  { "ss"  }
        ssa { "ssa" }
        st  { "st"  }
        su  { "su"  }
        suk { "suk" }
        sus { "sus" }
        sux { "sux" }
        sv  { "sv"  }
        sw  { "sw"  }
        syr { "syr" }
        ta  { "ta"  }
        tai { "tai" }
        te  { "te"  }
        tem { "tem" }
        ter { "ter" }
        tet { "tet" }
        tg  { "tg"  }
        th  { "th"  }
        tig { "tig" }
        ti  { "ti"  }
        tiv { "tiv" }
        tk  { "tk"  }
        tkl { "tkl" }
        tl  { "tl"  }
        tli { "tli" }
        tmh { "tmh" }
        tn  { "tn"  }
        tog { "tog" }
        to  { "to"  }
        tpi { "tpi" }
        tr  { "tr"  }
        ts  { "ts"  }
        tsi { "tsi" }
        tt  { "tt"  }
        tum { "tum" }
        tup { "tup" }
        tur { "tur" }
        tut { "tut" }
        tvl { "tvl" }
        tw  { "tw"  }
        ty  { "ty"  }
        tyv { "tyv" }
        ug  { "ug"  }
        uga { "uga" }
        uk  { "uk"  }
        umb { "umb" }
        und { "und" }
        ur  { "ur"  }
        uz  { "uz"  }
        vai { "vai" }
        ve  { "ve"  }
        vi  { "vi"  }
        vo  { "vo"  }
        vot { "vot" }
        wa  { "wa"  }
        wak { "wak" }
        wal { "wal" }
        war { "war" }
        was { "was" }
        wen { "wen" }
        wo  { "wo"  }
        xh  { "xh"  }
        yao { "yao" }
        yap { "yap" }
        yi  { "yi"  }
        yo  { "yo"  }
        ypk { "ypk" }
        za  { "za"  }
        zap { "zap" }
        zen { "zen" }
        zh  { "zh"  }
        znd { "znd" }
        zu  { "zu"  }
        zun { "zun" }
    }

    // Localized display names of currencies, analogous to Countries
    // and Languages.  "Common usage" display names are listed here in
    // root.  Only a few unique symbols should be listed here.  "$",
    // for example, is used to indicate not only USD, but also ARS,
    // AUD, BND, CAD, CLP, COP, JDF, ETB, MXN, NZD, and SOS.  Hoever,
    // its default meaning in many locales is USD, so we list it here
    // and override it in sublocales that use "$" for something else.
    // @since ICU 2.2
    Currencies {
        EUR { "\u20AC", "EUR" } // Euro
        GBP { "\u00A3", "GBP" } // British Pound Sterling
        INR { "=0#Rs.|1#Re.|1<Rs.", "INR" } // Indian Rupee
        ITL { "\u20A4", "ITL" } // Italian Lira
        JPY { "\u00A5", "JPY" } // Japanese Yen
        USD { "$",      "USD" } // US Dollar
    }

    // Currency metadata.  Unlike the "Currencies" element, this is
    // NOT true locale data.  It exists only in root.  The two
    // integers are the fraction digits for each currency, and the
    // rounding increment.  The fraction digits must be an integer
    // from 0..9.  If there is no rounding, the rounding increment is
    // zero.  Otherwise the rounding increment is given in units of
    // 10^(-fraction_digits).  The special tag "DEFAULT" gives the
    // meta data for all currencies not otherwise listed.
    // Last update: Tue Apr  8 16:57:42 2003
    CurrencyMeta {
        ADP:intvector { 0, 0 } // Andorran Peseta: ANDORRA (AD)
        BHD:intvector { 3, 0 } // Bahraini Dinar: BAHRAIN (BH)
        BIF:intvector { 0, 0 } // Burundi Franc: BURUNDI (BI)
        BYR:intvector { 0, 0 } // Belarussian Ruble: BELARUS (BY)
        CHF:intvector { 2, 5 } // Swiss Franc: LIECHTENSTEIN (LI), SWITZERLAND (CH)
        CLF:intvector { 0, 0 } // Unidades de fomento: CHILE (CL)
        CLP:intvector { 0, 0 } // Chilean Peso: CHILE (CL)
        DJF:intvector { 0, 0 } // Djibouti Franc: DJIBOUTI (DJ)
        GNF:intvector { 0, 0 } // Guinea Franc: GUINEA (GN)
        IQD:intvector { 3, 0 } // Iraqi Dinar: IRAQ (IQ)
        JOD:intvector { 3, 0 } // Jordanian Dinar: JORDAN (JO)
        JPY:intvector { 0, 0 } // Yen: JAPAN (JP)
        KMF:intvector { 0, 0 } // Comoro Franc: COMOROS (KM)
        KRW:intvector { 0, 0 } // Won: KOREA, REPUBLIC OF (KR)
        KWD:intvector { 3, 0 } // Kuwaiti Dinar: KUWAIT (KW)
        LYD:intvector { 3, 0 } // Lybian Dinar: LIBYAN ARAB JAMAHIRIYA (LY)
        MGF:intvector { 0, 0 } // Malagasy Franc: MADAGASCAR (MG)
        OMR:intvector { 3, 0 } // Rial Omani: OMAN (OM)
        PYG:intvector { 0, 0 } // Guarani: PARAGUAY (PY)
        RWF:intvector { 0, 0 } // Rwanda Franc: RWANDA (RW)
        TND:intvector { 3, 0 } // Tunisian Dinar: TUNISIA (TN)
        TRL:intvector { 0, 0 } // Turkish Lira: TURKEY (TR)
        TTD:intvector { 0, 0 } // Trinidad and Tobago Dollar: TRINIDAD AND TOBAGO (TT)
        VUV:intvector { 0, 0 } // Vatu: VANUATU (VU)
        XAF:intvector { 0, 0 } // CFA Franc BEAC: CAMEROON (CM), CENTRAL AFRICAN REPUBLIC (CF), CHAD (TD), CONGO (CG), EQUATORIAL GUINEA (GQ), GABON (GA)
        XOF:intvector { 0, 0 } // CFA Franc BCEAO: BENIN (BJ), BURKINA FASO (BF), COTE D'IVOIRE (CI), GUINEA-BISSAU (GW), MALI (ML), NIGER (NE), SENEGAL (SN), TOGO (TG)
        XPF:intvector { 0, 0 } // CFP Franc: FRENCH POLYNESIA (PF), NEW CALEDONIA (NC), WALLIS AND FUTUNA (WF)
        DEFAULT:intvector { 2, 0 } // (All currencies not listed)
    }
    
    NumberElements { 
        ".",
        ",",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ".",
        "+",
    }
    NumberPatterns { 
        "#,##0.###;-#,##0.###",
        "\u00A4 #,##0.00;-\u00A4 #,##0.00",
        "#,##0%",
        "#E0",
    }
    localPatternChars { "GyMdkHmsSEDFwWahKzYe" }

    zoneStrings:array {      
        {
            "",
            "",
            "",
            "",
            "",
            ""
        }
    }


    LocaleScript:array {
        "Zyyy"
    }

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

    /*
     * Default used to be English (US) rules, but now default just formats
     * like DecimalFormat.  The former default rules are now the _en rules.
     */
    SpelloutRules {
        "=#,##0.######=;\n"
    }

    OrdinalRules {
        "=#,##0=;\n"
    }

    DurationRules {
        "=#,##0=;\n"
    }

    ExemplarCharacters{"[]"}

    Scripts {
        Arab { "Arab" }
        Armn { "Armn" }
        Beng { "Beng" }
        Bopo { "Bopo" }
        Brai { "Brai" }
        Buhd { "Buhd" }
        Cans { "Cans" }
        Cher { "Cher" }
        Cprt { "Cprt" }
        Cyrl { "Cyrl" }
        Deva { "Deva" }
        Dsrt { "Dsrt" }
        Ethi { "Ethi" }
        Geor { "Geor" }
        Goth { "Goth" }
        Grek { "Grek" }
        Gujr { "Gujr" }
        Guru { "Guru" }
        Hang { "Hang" }
        Hano { "Hano" }
        Hani { "Hani" }
        Hans { "Hans" } // Not a formal part of ISO-15924 yet
        Hant { "Hant" } // Not a formal part of ISO-15924 yet
        Hebr { "Hebr" }
        Hira { "Hira" }
        Ital { "Ital" }
        Kana { "Kana" }
        Khmr { "Khmr" }
        Knda { "Knda" }
        Laoo { "Laoo" }
        Latn { "Latn" }
        Limb { "Limb" }
        Linb { "Linb" }
        Mlym { "Mlym" }
        Mong { "Mong" }
        Mymr { "Mymr" }
        Ogam { "Ogam" }
        Orya { "Orya" }
        Osma { "Osma" }
        Qaac { "Qaac" }
        Qaai { "Qaai" }
        Runr { "Runr" }
        Shaw { "Shaw" }
        Sinh { "Sinh" }
        Syrc { "Syrc" }
        Tagb { "Tagb" }
        Tale { "Tale" }
        Taml { "Taml" }
        Telu { "Telu" }
        Tglg { "Tglg" }
        Thaa { "Thaa" }
        Thai { "Thai" }
        Tibt { "Tibt" }
        Ugar { "Ugar" }
        Yiii { "Yiii" }
        Zyyy { "Zyyy" }
   }

    // Map from ISO 3166 country codes to ISO 4217 currency codes
    // NOTE: This is not true locale data; it exists only in ROOT
    // Last update: Tue Apr  8 16:57:42 2003
    CurrencyMap {
        _EURO { "EUR" } // : Euro
        AE { "AED" } // UNITED ARAB EMIRATES: UAE Dirham
        AF { "AFN" } // AFGHANISTAN: Afghani
        AG { "XCD" } // ANTIGUA AND BARBUDA: East Caribbean Dollar
        AI { "XCD" } // ANGUILLA: East Caribbean Dollar
        AL { "ALL" } // ALBANIA: Leck
        AM { "AMD" } // ARMENIA: Armenian Dram
        AN { "ANG" } // NETHERLANDS ANTILLES: Netherlands Antillan Guilder
        AO { "AOA" } // ANGOLA: Kwanza
        AR { "ARS" } // ARGENTINA: Argentine Peso
        AS { "USD" } // AMERICAN SAMOA: US Dollar
        AT { "EUR" } // AUSTRIA: Euro
        AT_PREEURO { "ATS" }
        AU { "AUD" } // AUSTRALIA: Australian Dollar
        AW { "AWG" } // ARUBA: Aruban Guilder
        AZ { "AZM" } // AZERBAIJAN: Azerbaijanian Manat
        BA { "BAM" } // BOSNIA AND HERZEGOVINA: Convertible Marks
        BB { "BBD" } // BARBADOS: Barbados Dollar
        BD { "BDT" } // BANGLADESH: Taka
        BE { "EUR" } // BELGIUM: Euro
        BE_PREEURO { "BEF" }
        BF { "XOF" } // BURKINA FASO: CFA Franc BCEAO
        BG { "BGN" } // BULGARIA: Bulgarian Lev
        BH { "BHD" } // BAHRAIN: Bahraini Dinar
        BI { "BIF" } // BURUNDI: Burundi Franc
        BJ { "XOF" } // BENIN: CFA Franc BCEAO
        BM { "BMD" } // BERMUDA: Bermudian Dollar
        BN { "BND" } // BRUNEI DARUSSALAM: Brunei Dollar
        BO { "BOB" } // BOLIVIA: Boliviano
        BR { "BRL" } // BRAZIL: Brazilian Real
        BS { "BSD" } // BAHAMAS: Bahamian Dollar
        BV { "NOK" } // BOUVET ISLAND: Norwegian Krone
        BW { "BWP" } // BOTSWANA: Pula
        BY { "BYR" } // BELARUS: Belarussian Ruble
        BZ { "BZD" } // BELIZE: Belize Dollar
        CA { "CAD" } // CANADA: Canadian Dollar
        CC { "AUD" } // COCOS (KEELING) ISLANDS: Australian Dollar
        CD { "CDF" } // CONGO, THE DEMOCRATIC REPUBLIC OF THE: Franc Congolais
        CF { "XAF" } // CENTRAL AFRICAN REPUBLIC: CFA Franc BEAC
        CG { "XAF" } // CONGO: CFA Franc BEAC
        CH { "CHF" } // SWITZERLAND: Swiss Franc
        CI { "XOF" } // COTE D'IVOIRE: CFA Franc BCEAO
        CK { "NZD" } // COOK ISLANDS: New Zealand Dollar
        CL { "CLP" } // CHILE: Chilean Peso
        CM { "XAF" } // CAMEROON: CFA Franc BEAC
        CN { "CNY" } // CHINA: Yuan Renminbi
        CO { "COP" } // COLOMBIA: Colombian Peso
        CR { "CRC" } // COSTA RICA: Costa Rican Colon
        CU { "CUP" } // CUBA: Cuban Peso
        CV { "CVE" } // CAPE VERDE: Cape Verde Escudo
        CX { "AUD" } // CHRISTMAS ISLAND: Australian Dollar
        CY { "CYP" } // CYPRUS: Cyprus Pound
        CZ { "CZK" } // CZECH REPUBLIC: Czech Koruna
        DE { "EUR" } // GERMANY: Euro
        DE_PREEURO { "DEM" }
        DJ { "DJF" } // DJIBOUTI: Djibouti Franc
        DK { "DKK" } // DENMARK: Danish Krone
        DM { "XCD" } // DOMINICA: East Caribbean Dollar
        DO { "DOP" } // DOMINICAN REPUBLIC: Dominican Peso
        DZ { "DZD" } // ALGERIA: Algerian Dinar
        EC { "ECS" } // ECUADOR: Sucre
        EE { "EEK" } // ESTONIA: Kroon
        EG { "EGP" } // EGYPT: Egyptian Pound
        EH { "MAD" } // WESTERN SAHARA: Moroccan Dirham
        ER { "ERN" } // ERITREA: Nakfa
        ES { "EUR" } // SPAIN: Euro
        ES_PREEURO { "ESP" }
        ET { "ETB" } // ETHIOPIA: Ethiopian Birr
        FI { "EUR" } // FINLAND: Euro
        FI_PREEURO { "FIM" }
        FJ { "FJD" } // FIJI: Fiji Dollar
        FK { "FKP" } // FALKLAND ISLANDS (MALVINAS): Falkland Islands Pound
        FM { "USD" } // MICRONESIA, FEDERATED STATES OF: US Dollar
        FO { "DKK" } // FAROE ISLANDS: Danish Krone
        FR { "EUR" } // FRANCE: Euro
        FR_PREEURO { "FRF" }
        GA { "XAF" } // GABON: CFA Franc BEAC
        GB { "GBP" } // UNITED KINGDOM: Pound Sterling
        GD { "XCD" } // GRENADA: East Caribbean Dollar
        GE { "GEL" } // GEORGIA: Lari
        GF { "EUR" } // FRENCH GUIANA: Euro
        GH { "GHC" } // GHANA: Cedi
        GI { "GIP" } // GIBRALTAR: Gibraltar Pound
        GL { "DKK" } // GREENLAND: Danish Krone
        GM { "GMD" } // GAMBIA: Dalasi
        GN { "GNF" } // GUINEA: Guinea Franc
        GP { "EUR" } // GUADELOUPE: Euro
        GQ { "XAF" } // EQUATORIAL GUINEA: CFA Franc BEAC
        GR { "EUR" } // GREECE: Euro
        GR_PREEURO { "GRD" }
        GT { "GTQ" } // GUATEMALA: Quetzal
        GU { "USD" } // GUAM: US Dollar
        GY { "GYD" } // GUYANA: Guyana Dollar
        HK { "HKD" } // HONG KONG: Hong Kong Dollar
        HM { "AUD" } // HEARD ISLAND AND MCDONALD ISLANDS: Australian Dollar
        HN { "HNL" } // HONDURAS: Lempira
        HR { "HRK" } // CROATIA: Croatian kuna
        HU { "HUF" } // HUNGARY: Forint
        ID { "IDR" } // INDONESIA: Rupiah
        IE { "EUR" } // IRELAND: Euro
        IE_PREEURO { "IEP" }
        IL { "ILS" } // ISRAEL: New Israeli Sheqel
        IN { "INR" } // INDIA: Indian Rupee
        IO { "USD" } // BRITISH INDIAN OCEAN TERRITORY: US Dollar
        IQ { "IQD" } // IRAQ: Iraqi Dinar
        IR { "IRR" } // IRAN, ISLAMIC REPUBLIC OF: Iranian Rial
        IS { "ISK" } // ICELAND: Iceland Krona
        IT { "EUR" } // ITALY: Euro
        IT_PREEURO { "ITL" }
        JM { "JMD" } // JAMAICA: Jamaican Dollar
        JO { "JOD" } // JORDAN: Jordanian Dinar
        JP { "JPY" } // JAPAN: Yen
        KE { "KES" } // KENYA: Kenyan Shilling
        KG { "KGS" } // KYRGYZSTAN: Som
        KH { "KHR" } // CAMBODIA: Riel
        KI { "AUD" } // KIRIBATI: Australian Dollar
        KM { "KMF" } // COMOROS: Comoro Franc
        KN { "XCD" } // SAINT KITTS AND NEVIS: East Caribbean Dollar
        KP { "KPW" } // KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF: North Korean Won
        KR { "KRW" } // KOREA, REPUBLIC OF: Won
        KW { "KWD" } // KUWAIT: Kuwaiti Dinar
        KY { "KYD" } // CAYMAN ISLANDS: Cayman Islands Dollar
        KZ { "KZT" } // KAZAKHSTAN: Tenge
        LA { "LAK" } // LAO PEOPLE'S DEMOCRATIC REPUBLIC: Kip
        LB { "LBP" } // LEBANON: Lebanese Pound
        LC { "XCD" } // SAINT LUCIA: East Caribbean Dollar
        LI { "CHF" } // LIECHTENSTEIN: Swiss Franc
        LK { "LKR" } // SRI LANKA: Sri Lanka Rupee
        LR { "LRD" } // LIBERIA: Liberian Dollar
        LT { "LTL" } // LITHUANIA: Lithuanian Litas
        LU { "EUR" } // LUXEMBOURG: Euro
        LU_PREEURO { "LUF" }
        LV { "LVL" } // LATVIA: Latvian Lats
        LY { "LYD" } // LIBYAN ARAB JAMAHIRIYA: Lybian Dinar
        MA { "MAD" } // MOROCCO: Moroccan Dirham
        MC { "EUR" } // MONACO: Euro
        MD { "MDL" } // MOLDOVA, REPUBLIC OF: Moldovan Leu
        MG { "MGF" } // MADAGASCAR: Malagasy Franc
        MH { "USD" } // MARSHALL ISLANDS: US Dollar
        MK { "MKD" } // MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF: Denar
        ML { "XOF" } // MALI: CFA Franc BCEAO
        MM { "MMK" } // MYANMAR: Kyat
        MN { "MNT" } // MONGOLIA: Tugrik
        MO { "MOP" } // MACAO: Pataca
        MP { "USD" } // NORTHERN MARIANA ISLANDS: US Dollar
        MQ { "EUR" } // MARTINIQUE: Euro
        MR { "MRO" } // MAURITANIA: Ouguiya
        MS { "XCD" } // MONTSERRAT: East Caribbean Dollar
        MT { "MTL" } // MALTA: Maltese Lira
        MU { "MUR" } // MAURITIUS: Mauritius Rupee
        MV { "MVR" } // MALDIVES: Rufiyaa
        MW { "MWK" } // MALAWI: Kwacha
        MX { "MXN" } // MEXICO: Mexican Peso
        MY { "MYR" } // MALAYSIA: Malaysian Ringgit
        MZ { "MZM" } // MOZAMBIQUE: Metical
        NC { "XPF" } // NEW CALEDONIA: CFP Franc
        NE { "XOF" } // NIGER: CFA Franc BCEAO
        NF { "AUD" } // NORFOLK ISLAND: Australian Dollar
        NG { "NGN" } // NIGERIA: Naira
        NI { "NIO" } // NICARAGUA: Cordoba Oro
        NL { "EUR" } // NETHERLANDS: Euro
        NL_PREEURO { "NLG" }
        NO { "NOK" } // NORWAY: Norwegian Krone
        NP { "NPR" } // NEPAL: Nepalese Rupee
        NR { "AUD" } // NAURU: Australian Dollar
        NU { "NZD" } // NIUE: New Zealand Dollar
        NZ { "NZD" } // NEW ZEALAND: New Zealand Dollar
        OM { "OMR" } // OMAN: Rial Omani
        PA { "PAB" } // PANAMA: Balboa
        PE { "PEN" } // PERU: Nuevo Sol
        PF { "XPF" } // FRENCH POLYNESIA: CFP Franc
        PG { "PGK" } // PAPUA NEW GUINEA: Kina
        PH { "PHP" } // PHILIPPINES: Philippine Peso
        PK { "PKR" } // PAKISTAN: Pakistan Rupee
        PL { "PLN" } // POLAND: Zloty
        PM { "EUR" } // SAINT PIERRE AND MIQUELON: Euro
        PN { "NZD" } // PITCAIRN: New Zealand Dollar
        PR { "USD" } // PUERTO RICO: US Dollar
        PT { "EUR" } // PORTUGAL: Euro
        PT_PREEURO { "PTE" }
        PW { "USD" } // PALAU: US Dollar
        PY { "PYG" } // PARAGUAY: Guarani
        QA { "QAR" } // QATAR: Qatari Rial
        RE { "EUR" } // REUNION: Euro
        RO { "ROL" } // ROMANIA: Leu
        RU { "RUR" } // RUSSIAN FEDERATION: Russian Ruble
        RW { "RWF" } // RWANDA: Rwanda Franc
        SA { "SAR" } // SAUDI ARABIA: Saudi Riyal
        SB { "SBD" } // SOLOMON ISLANDS: Solomon Islands Dollar
        SC { "SCR" } // SEYCHELLES: Seychelles Rupee
        SD { "SDD" } // SUDAN: Sudanese Dinar
        SE { "SEK" } // SWEDEN: Swedish Krona
        SG { "SGD" } // SINGAPORE: Singapore Dollar
        SH { "SHP" } // SAINT HELENA: Saint Helena Pound
        SI { "SIT" } // SLOVENIA: Tolar
        SJ { "NOK" } // SVALBARD AND JAN MAYEN: Norwegian Krone
        SK { "SKK" } // SLOVAKIA: Slovak Koruna
        SL { "SLL" } // SIERRA LEONE: Leone
        SM { "EUR" } // SAN MARINO: Euro
        SN { "XOF" } // SENEGAL: CFA Franc BCEAO
        SO { "SOS" } // SOMALIA: Somali Shilling
        SR { "SRG" } // SURINAME: Suriname Guilder
        ST { "STD" } // SAO TOME AND PRINCIPE: Dobra
        SV { "SVC" } // EL SALVADOR: El Salvador Colon
        SY { "SYP" } // SYRIAN ARAB REPUBLIC: Syrian Pound
        SZ { "SZL" } // SWAZILAND: Lilangeni
        TC { "USD" } // TURKS AND CAICOS ISLANDS: US Dollar
        TD { "XAF" } // CHAD: CFA Franc BEAC
        TF { "EUR" } // FRENCH SOUTHERN TERRITORIES: Euro
        TG { "XOF" } // TOGO: CFA Franc BCEAO
        TH { "THB" } // THAILAND: Baht
        TJ { "TJS" } // TAJIKISTAN: Somoni
        TK { "NZD" } // TOKELAU: New Zealand Dollar
        TL { "USD" } // TIMOR-LESTE: US Dollar
        TM { "TMM" } // TURKMENISTAN: Manat
        TN { "TND" } // TUNISIA: Tunisian Dinar
        TO { "TOP" } // TONGA: Pa'anga
        TR { "TRL" } // TURKEY: Turkish Lira
        TT { "TTD" } // TRINIDAD AND TOBAGO: Trinidad and Tobago Dollar
        TV { "AUD" } // TUVALU: Australian Dollar
        TW { "TWD" } // TAIWAN, PROVINCE OF CHINA: New Taiwan Dollar
        TZ { "TZS" } // TANZANIA, UNITED REPUBLIC OF: Tanzanian Shilling
        UA { "UAH" } // UKRAINE: Hryvnia
        UG { "UGX" } // UGANDA: Uganda Shilling
        UM { "USD" } // UNITED STATES MINOR OUTLYING ISLANDS: US Dollar
        US { "USD" } // UNITED STATES: US Dollar
        UY { "UYU" } // URUGUAY: Peso Uruguayo
        UZ { "UZS" } // UZBEKISTAN: Uzbekistan Sum
        VA { "EUR" } // HOLY SEE (VATICAN CITY STATE): Euro
        VC { "XCD" } // SAINT VINCENT AND THE GRENADINES: East Caribbean Dollar
        VE { "VEB" } // VENEZUELA: Bolivar
        VG { "USD" } // VIRGIN ISLANDS, BRITISH: US Dollar
        VI { "USD" } // VIRGIN ISLANDS, U.S.: US Dollar
        VN { "VND" } // VIET NAM: Dong
        VU { "VUV" } // VANUATU: Vatu
        WF { "XPF" } // WALLIS AND FUTUNA: CFP Franc
        WS { "WST" } // SAMOA: Tala
        YE { "YER" } // YEMEN: Yemeni Rial
        YT { "EUR" } // MAYOTTE: Euro
        YU { "YUM" } // YUGOSLAVIA: Yugoslavian Dinar
        ZA { "ZAR" } // SOUTH AFRICA: Rand
        ZM { "ZMK" } // ZAMBIA: Kwacha
        ZW { "ZWD" } // ZIMBABWE: Zimbabwe Dollar
    }

    // International Calendars Data.
    // NOTE (ICU 2.6) - the format of this data WILL CHANGE in future releases.  

    // The type of the default calendar - looked up in the registry
    DefaultCalendar {  "gregorian" }

   // Japanese calendar data
    Eras_japanese {
        // Name                         Gregorian Year
        "Taika",                        //  645
        "Hakuchi",                      //  650
        "Hakuh\u014D",                  //  672
        "Shuch\u014D",                  //  686
        "Taih\u014D",                   //  701
        "Keiun",                        //  704
        "Wad\u014D",                    //  708
        "Reiki",                        //  715
        "Y\u014Dr\u014D",               //  717
        "Jinki",                        //  724
        "Tempy\u014D",                  //  729
        "Tempy\u014D-kamp\u014D",       //  749
        "Tempy\u014D-sh\u014Dh\u014D",  //  749
        "Tempy\u014D-h\u014Dji",        //  757
        "Temph\u014D-jingo",            //  765
        "Jingo-keiun",                  //  767
        "H\u014Dki",                    //  770
        "Ten-\u014D",                   //  781
        "Enryaku",                      //  782
        "Daid\u014D",                   //  806
        "K\u014Dnin",                   //  810
        "Tench\u014D",                  //  824
        "Sh\u014Dwa",                   //  834
        "Kaj\u014D",                    //  848
        "Ninju",                        //  851
        "Saiko",                        //  854
        "Tennan",                       //  857
        "J\u014Dgan",                   //  859
        "Genkei",                       //  877
        "Ninna",                        //  885
        "Kampy\u014D",                  //  889
        "Sh\u014Dtai",                  //  898
        "Engi",                         //  901
        "Ench\u014D",                   //  923
        "Sh\u014Dhei",                  //  931
        "Tengy\u014D",                  //  938
        "Tenryaku",                     //  947
        "Tentoku",                      //  957
        "\u014Cwa",                     //  961
        "K\u014Dh\u014D",               //  964
        "Anna",                         //  968
        "Tenroku",                      //  970
        "Ten-en",                       //  973
        "J\u014Dgen",                   //  976
        "Tengen",                       //  978
        "Eikan",                        //  983
        "Kanna",                        //  985
        "Ei-en",                        //  987
        "Eiso",                         //  989
        "Sh\u014Dryaku",                //  990
        "Ch\u014Dtoku",                 //  995
        "Ch\u014Dh\u014D",              //  999
        "Kank\u014D",                   // 1004
        "Ch\u014Dwa",                   // 1012
        "Kannin",                       // 1017
        "Jian",                         // 1021
        "Manju",                        // 1024
        "Ch\u014Dgen",                  // 1028
        "Ch\u014Dryaku",                // 1037
        "Ch\u014Dky\u016B",             // 1040
        "Kantoku",                      // 1044
        "Eish\u014D",                   // 1046
        "Tengi",                        // 1053
        "K\u014Dhei",                   // 1058
        "Jiryaku",                      // 1065
        "Enky\u016B",                   // 1069
        "Sh\u014Dho",                   // 1074
        "Sh\u014Dryaku",                // 1077
        "Eiho",                         // 1081
        "\u014Ctoku",                   // 1084
        "Kanji",                        // 1087
        "Kaho",                         // 1094
        "Eich\u014D",                   // 1096
        "Sh\u014Dtoku",                 // 1097
        "K\u014Dwa",                    // 1099
        "Ch\u014Dji",                   // 1104
        "Kash\u014D",                   // 1106
        "Tennin",                       // 1108
        "Ten-ei",                       // 1110
        "Eiky\u016B",                   // 1113
        "Gen-ei",                       // 1118
        "Hoan",                         // 1120
        "Tenji",                        // 1124
        "Daiji",                        // 1126
        "Tensh\u014D",                  // 1131
        "Ch\u014Dsh\u014D",             // 1132
        "Hoen",                         // 1135
        "Eiji",                         // 1141
        "K\u014Dji",                    // 1142
        "Teny\u014D",                   // 1144
        "Ky\u016Ban",                   // 1145
        "Ninpei",                       // 1151
        "Ky\u016Bju",                   // 1154
        "Hogen",                        // 1156
        "Heiji",                        // 1159
        "Eiryaku",                      // 1160
        "\u014Cho",                     // 1161
        "Ch\u014Dkan",                  // 1163
        "Eiman",                        // 1165
        "Nin-an",                       // 1166
        "Ka\u014D",                     // 1169
        "Sh\u014Dan",                   // 1171
        "Angen",                        // 1175
        "Jish\u014D",                   // 1177
        "Y\u014Dwa",                    // 1181
        "Juei",                         // 1182
        "Genryuku",                     // 1184
        "Bunji",                        // 1185
        "Kenky\u016B",                  // 1190
        "Sh\u014Dji",                   // 1199
        "Kennin",                       // 1201
        "Genky\u016B",                  // 1204
        "Ken-ei",                       // 1206
        "Sh\u014Dgen",                  // 1207
        "Kenryaku",                     // 1211
        "Kenp\u014D",                   // 1213
        "Sh\u014Dky\u016B",             // 1219
        "J\u014D\u014D",                // 1222
        "Gennin",                       // 1224
        "Karoku",                       // 1225
        "Antei",                        // 1227
        "Kanki",                        // 1229
        "J\u014Dei",                    // 1232
        "Tempuku",                      // 1233
        "Bunryaku",                     // 1234
        "Katei",                        // 1235
        "Ryakunin",                     // 1238
        "En-\u014D",                    // 1239
        "Ninji",                        // 1240
        "Kangen",                       // 1243
        "H\u014Dji",                    // 1247
        "Kench\u014D",                  // 1249
        "K\u014Dgen",                   // 1256
        "Sh\u014Dka",                   // 1257
        "Sh\u014Dgen",                  // 1259
        "Bun-\u014D",                   // 1260
        "K\u014Dch\u014D",              // 1261
        "Bun-ei",                       // 1264
        "Kenji",                        // 1275
        "K\u014Dan",                    // 1278
        "Sh\u014D\u014D",               // 1288
        "Einin",                        // 1293
        "Sh\u014Dan",                   // 1299
        "Kengen",                       // 1302
        "Kagen",                        // 1303
        "Tokuji",                       // 1306
        "Enkei",                        // 1308
        "\u014Cch\u014D",               // 1311
        "Sh\u014Dwa",                   // 1312
        "Bunp\u014D",                   // 1317
        "Gen\u014D",                    // 1319
        "Genky\u014D",                  // 1321
        "Sh\u014Dch\u016B",             // 1324
        "Kareki",                       // 1326
        "Gentoku",                      // 1329
        "Genk\u014D",                   // 1331
        "Kemmu",                        // 1334
        "Engen",                        // 1336
        "K\u014Dkoku",                  // 1340
        "Sh\u014Dhei",                  // 1346
        "Kentoku",                      // 1370
        "Bunch\u0169",                  // 1372
        "Tenju",                        // 1375
        "K\u014Dwa",                    // 1381
        "Gench\u0169",                  // 1384
        "Meitoku",                      // 1384
        "K\u014Dryaku",                 // 1379
        "Kakei",                        // 1387
        "K\u014D\u014D",                // 1389
        "Meitoku",                      // 1390
        "\u014Cei",                     // 1394
        "Sh\u014Dch\u014D",             // 1428
        "Eiky\u014D",                   // 1429
        "Kakitsu",                      // 1441
        "Bun-an",                       // 1444
        "H\u014Dtoku",                  // 1449
        "Ky\u014Dtoku",                 // 1452
        "K\u014Dsh\u014D",              // 1455
        "Ch\u014Droku",                 // 1457
        "Kansh\u014D",                  // 1460
        "Bunsh\u014D",                  // 1466
        "\u014Cnin",                    // 1467
        "Bunmei",                       // 1469
        "Ch\u014Dky\u014D",             // 1487
        "Entoku",                       // 1489
        "Mei\u014D",                    // 1492
        "Bunki",                        // 1501
        "Eish\u014D",                   // 1504
        "Taiei",                        // 1521
        "Ky\u014Droku",                 // 1528
        "Tenmon",                       // 1532
        "K\u014Dji",                    // 1555
        "Eiroku",                       // 1558
        "Genki",                        // 1570
        "Tensh\u014D",                  // 1573
        "Bunroku",                      // 1592
        "Keich\u014D",                  // 1596
        "Genwa",                        // 1615
        "Kan-ei",                       // 1624
        "Sh\u014Dho",                   // 1644
        "Keian",                        // 1648
        "Sh\u014D\u014D",               // 1652
        "Meiryaku",                     // 1655
        "Manji",                        // 1658
        "Kanbun",                       // 1661
        "Enp\u014D",                    // 1673
        "Tenwa",                        // 1681
        "J\u014Dky\u014D",              // 1684
        "Genroku",                      // 1688
        "H\u014Dei",                    // 1704
        "Sh\u014Dtoku",                 // 1711
        "Ky\u014Dh\u014D",              // 1716
        "Genbun",                       // 1736
        "Kanp\u014D",                   // 1741
        "Enky\u014D",                   // 1744
        "Kan-en",                       // 1748
        "H\u014Dryaku",                 // 1751
        "Meiwa",                        // 1764
        "An-ei",                        // 1772
        "Tenmei",                       // 1781
        "Kansei",                       // 1789
        "Ky\u014Dwa",                   // 1801
        "Bunka",                        // 1804
        "Bunsei",                       // 1818
        "Tenp\u014D",                   // 1830
        "K\u014Dka",                    // 1844
        "Kaei",                         // 1848
        "Ansei",                        // 1854
        "Man-en",                       // 1860
        "Bunky\u016B",                  // 1861
        "Genji",                        // 1864
        "Kei\u014D",                    // 1865
        "Meiji",                        // 1868
        "Taish\u014D",                  // 1912
        "Sh\u014Dwa",                   // 1926
        "Heisei",                       // 1989             
    }
    
    
    // Buddhist calendar data
    Eras_buddhist:array {
           "BE"                             // Buddhist Era  = 543 BC Gregorian
    }

    DateTimePatterns_japanese:array {
        "h:mm:ss a z", // full time pattern
        "h:mm:ss a z", // long time pattern
        "h:mm:ss a", // medium time pattern
        "h:mm a", // short time pattern
        "EEEE, MMMM d, y G", // full date pattern
        "MMMM d, y G", // long date pattern
        "MMM d, y G", // medium date pattern
        "M/d/yy", // short date pattern
        "{1} {0}" // date-time pattern
    }

    DateTimePatterns_buddhist { // shorten year, use Era
        "h:mm:ss a z",
        "h:mm:ss a z",
        "h:mm:ss a",
        "h:mm a",
        "EEEE, MMMM d, yyyy G",
        "MMMM d, yyyy G",
        "MMM d, yyyy G",
        "M/d/yyyy",
        "{1} {0}",
    }

    // Islamic calendar  - the Religious (Astronomical) variant first
    Eras_islamic:array { 
        "AH" // Anno Hijri
    }

    MonthNames_islamic {
        "Muharram",                   
        "Safar",
        "Rabi' I",
        "Rabi' II",
        "Jumada I",
        "Jumada II",
        "Rajab",
        "Sha'ban",
        "Ramadan",
        "Shawwal",
        "Dhu'l-Qi'dah",
        "Dhu'l-Hijjah"
    }   
    MonthAbbreviations_islamic {  // same as MonthNames (no data)
        "root/MonthNames_islamic"
    }   
    // Civil is identical other than in calculations
    Eras_islamic-civil:alias {
        "root/Eras_islamic"
    }
    MonthNames_islamic-civil:alias {
        "root/MonthNames_islamic"
    }
    MonthAbbreviations_islamic-civil:alias {
        "root/MonthAbbreviations_islamic"
    }

    // the PaperSize units are in mm
    PaperSize:intvector{
        297, // height
        210  // width 
    }
    MeasurementSystem:int{ 0 } // ISO/Metric system
}

