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

lt {
    Version{ "2.0" }
    collations {
      standard { 
        Version { "1.0" }
        Sequence { "[backwards 2]& C < c\u030C <<< C\u030C & I << y = \u0131 <<< Y = \u0130 "
        "& S < s\u030C <<< S\u030C & X < y\u0301<<< Y\u0301 < y\u0302 <<< Y\u0302 < y\u0308<<< Y"
        "\u0308 & Z < z\u030C <<< Z\u030C" }
      }
    }
    Countries { 
        Fallback{ "en"}
        AD { "Andora" }
        AE { "Jungtiniai Arab\u0173 Emyratai" }
        AF { "Afganistanas" }
        AG { "Antigva ir Barbuda" }
        AI { "Angvila" }
        AL { "Albanija" }
        AM { "Arm\u0117nija" }
        AN { "Nyderland\u0173 Antilai" }
        //AO { "Angola" }
        AQ { "Antarktika" }
        //AR { "Argentina" }
        AS { "Amerikos Samoa" }
        AT { "Austrija" }
        AU { "Australija" }
        //AW { "Aruba" }
        AZ { "Azerbaid\u017Eanas" }
        BA { "Bosnija ir Hercegovina" }
        BB { "Barbadosas" }
        BD { "Banglade\u0161as" }
        BE { "Belgija" }
        BF { "Burkina Fasas" }
        BG { "Bulgarija" }
        BH { "Bahreinas" }
        BI { "Burundis" }
        BJ { "Beninas" }
        BM { "Bermudai" }
        BN { "Brun\u0117jus" }
        BO { "Bolivija" }
        BR { "Brazilija" }
        BS { "Bahamai" }
        BT { "Butanas" }
        BV { "Bouvet sala" }
        BW { "Botsvana" }
        BY { "Baltarusija" }
        BZ { "Belizas" }
        CA { "Kanada" }
        CC { "Kokos\u0173 salos" }
        CD { "Kongo Demokratin\u0117 Respublika" }
        CF { "Centrin\u0117s Afrikos Respublika" }
        CG { "Kongas" }
        CH { "\u0160veicarija" }
        CI { "Kot d'Ivuar" }
        CK { "Kuko salos" }
        CL { "\u010Cil\u0117" }
        CM { "Kamer\u016Bnas" }
        CN { "Kinija" }
        CO { "Kolumbija" }
        CR { "Kosta Rika" }
        CU { "Kuba" }
        CV { "\u017Daliojo Ky\u0161ulio salos" }
        CX { "Kal\u0117d\u0173 sala" }
        CY { "Kipras" }
        CZ { "\u010Cekijos respublika" }
        DE { "Vokietija" }
        DJ { "D\u017Eibutis" }
        DK { "Danija" }
        DM { "Dominika" }
        DO { "Dominikos Respublika" }
        DZ { "Al\u017Eyras" }
        EC { "Ekvadoras" }
        EE { "Estija" }
        EG { "Egiptas" }
        EH { "Vakar\u0173 Sachara" }
        ER { "Eritr\u0117ja" }
        ES { "Ispanija" }
        ET { "Etiopija" }
        FI { "Suomija" }
        FJ { "Fid\u017Eis" }
        FK { "Folklendo salos (Malvinai)" }    // alternate name { "Folklendo salos" }
        FM { "Mikronezijos Federacin\u0117s Valstijos" }
        FO { "Farer\u0173 salos" }
        FR { "Pranc\u016Bzija" }
        GA { "Gabonas" }
        GB { "Did\u017Eioji Britanija" }
        //GD { "Grenada" }
        GE { "Gruzija" }
        GF { "Pranc\u016Bzijos Gviana" }
        GH { "Gana" }
        GI { "Gibraltaras" }
        GL { "Grenlandija" }
        GM { "Gambija" }
        GN { "Gvin\u0117ja" }
        GP { "Gvadelup\u0117" }
        GQ { "Ekvatorin\u0117 Gvin\u0117ja" }
        GR { "Graikija" }
        GS { "Ryt\u0173 D\u017Eord\u017Eija ir Ryt\u0173 Sandwich salos" }
        GT { "Gvatemala" }
        GU { "Guamas" }
        GW { "Gvin\u0117ja-Bisau" }
        GY { "Gviana" }
        HK { "Kinijos S.A.R.Honkongas" }
        HM { "Heard ir McDonald salos" }
        HN { "Hond\u016Bras" }
        HR { "Kroatija" }
        HT { "Haitis" }
        HU { "Vengrija" }
        ID { "Indonezija" }
        IE { "Airija" }
        IL { "Izraelis" }
        IN { "Indija" }
        IO { "Brit\u0173 Indijos vandenyno teritorija" }
        IQ { "Irakas" }
        IR { "Irano" }
        IS { "Islandija" }
        IT { "Italija" }
        JM { "Jamaika" }
        JO { "Jordanija" }
        JP { "Japonija" }
        KE { "Kenija" }
        KG { "Kirgiztanas" }
        KH { "Kambod\u017Ea" }
        KI { "Kiribatis" }
        KM { "Komorai" }
        KN { "Sent Kitsas ir Nevis" }
        KP { "\u0160iaur\u0117s Kor\u0117ja" }    // alternate name { "Kor\u0117jos Demokratin\u0117 Liaudies Respublika" }
        KR { "Piet\u0173 Kor\u0117ja" }    // alternate name { "Kor\u0117jos Respublika" }
        KW { "Kuveitas" }
        KY { "Kaiman\u0173 salos" }
        KZ { "Kazachstanas" }
        LA { "Laoso Liaudies Demokratin\u0117 Respublika" }
        LB { "Libanas" }
        LC { "\u0160ventoji Liucija" }
        LI { "Lichten\u0161teinas" }
        LK { "\u0160ri Lanka" }
        LR { "Liberija" }
        LS { "Lesotas" }
        LT { "Lietuva" }
        LU { "Liuksemburgas" }
        LV { "Latvija" }
        LY { "Libijos Arab\u0173 D\u017Eamahirija" }
        MA { "Marokas" }
        MC { "Monakas" }
        MD { "Moldovos Respublika" }
        MG { "Madagaskaras" }
        MH { "Mar\u0161alo salos" }
        MK { "Makedonijos Respublika" }
        ML { "Malis" }
        MM { "Mjanma" }
        MN { "Mongolija" }
        MO { "Kinijos S.A.R. Makao" }
        MP { "\u0160iaurin\u0117s Marianos salos" }
        MQ { "Martinika" }
        MR { "Mauritanija" }
        MS { "Montserat" }
        //MT { "Malta" }
        MU { "Mauricijus" }
        MV { "Maldivai" }
        MW { "Malavis" }
        MX { "Meksika" }
        MY { "Malaizija" }
        MZ { "Mozambikas" }
        NA { "Namibija" }
        NC { "Naujoji Kaledonija" }
        NE { "Nigeris" }
        NF { "Norfolko sala" }
        NG { "Nigerija" }
        NI { "Nikaragva" }
        NL { "Nyderlandai" }
        NO { "Norvegija" }
        NP { "Nepalas" }
        //NR { "Nauru" }
        NU { "Niuj\u0117" }
        NZ { "Naujoji Zelandija" }
        OM { "Omanas" }
        //PA { "Panama" }
        //PE { "Peru" }
        PF { "Pranc\u016Bz\u0173 Polinezija" }
        PG { "Papua Naujoji Gvin\u0117ja" }
        PH { "Filipinai" }
        PK { "Pakistanas" }
        PL { "Lenkija" }
        PM { "Sen Pjeras ir Mikelonas" }
        PN { "Pitkernas" }
        PR { "Puerto Rikas" }
        PS { "Palestinos teritorija" }
        PT { "Portugalija" }
        //PW { "Palau" }
        PY { "Paragvajus" }
        QA { "Kataras" }
        RE { "Rejunjonas" }
        RO { "Rumunija" }
        RU { "Rusijos Federacija" }
        RW { "Ruanda" }
        SA { "Saudo Arabija" }
        SB { "Saliamono salos" }
        SC { "Sei\u0161eliai" }
        SD { "Sudanas" }
        SE { "\u0160vedija" }
        SG { "Singap\u016Bras" }
        SH { "\u0160ventoji Elena" }
        SI { "Slov\u0117nija" }
        SJ { "Svalbardo ir Jan Majen salos" }
        //SK { "Slovakia" }
        SL { "Siera Leon\u0117" }
        SM { "San Marinas" }
        SN { "Senegalas" }
        SO { "Somalis" }
        SR { "Surinamas" }
        ST { "San Tom\u0117 ir Princip\u0117" }
        SV { "El Salvadoras" }
        SY { "Sirija" }    // alternate name { "Sirijos Arab\u0173 Respublika" }
        SZ { "Svazilendas" }
        TC { "Turks ir Kaikos salos" }
        TD { "\u010Cadas" }
        TF { "Pranc\u016Bz\u0173 pietin\u0117s teritorijos" }
        TG { "Togas" }
        TH { "Tailandas" }
        TJ { "Tad\u017Eikija" }
        //TK { "Tokelau" }
        TL { "Ryt\u0173 Timoras" }
        TM { "Turkm\u0117nistanas" }
        TN { "Tunisas" }
        //TO { "Tonga" }
        TR { "Turkija" }
        TT { "Trinidadas ir Tobagas" }
        //TV { "Tuvalu" }
        TW { "Taivanis, Kinijos provincija" }
        TZ { "Tanzanija" }
        UA { "Ukraina" }
        //UG { "Uganda" }
        UM { "JAV antraeil\u0117s teritorijos salos" }
        //US { "JAV" } // Poor translation. JAV -> United States
        UY { "Urugvajus" }
        UZ { "Uzbekija" }
        VA { "Vatikano Miesto Valstija" }
        VC { "\u0160ventasis Vincentas ir Grenadinai" }
        VE { "Venesuela" }
        VG { "Brit\u0173 Virginijos salos" }
        VI { "JAV Virginijos salos" } // Poor translation? JAV -> United States
        VN { "Vietnamas" }
        //VU { "Vanuatu" }
        WF { "Valiso ir Futuna salos" }
        //WS { "Samoa" }
        YE { "Jemenas" }
        YT { "Majot\u0117" }
        YU { "Jugoslavija" }
        ZA { "Piet\u0173 Afrika" }
        ZM { "Zambija" }
        ZW { "Zimbabv\u0117" }
    }
    DateTimePatterns { 
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "yyyy 'm.' MMMM d 'd.',EEEE",
        "yyyy 'm.' MMMM d 'd.'",
        "yyyy.MM.dd",
        "yyyy.MM.dd",
        "{1} {0}",
    }
    DateTimeElements:intvector {
        2,
        4, // "Minimal Days in First Week"   Lithuania follows ISO 8601 
    }
    DayAbbreviations { 
        "sk",
        "pr",
        "an",
        "tr",
        "kt",
        "pn",
        "\u0161t",
    }
    DayNames { 
        "sekmadienis",
        "pirmadienis",
        "antradienis",
        "tre\u010Diadienis",
        "ketvirtadienis",
        "penktadienis",
        "\u0161e\u0161tadienis",
    }
    Eras { 
        "pr.Kr.",
        "po.Kr.",
    }
    Languages { 
        ar { "Arab\u0173" }
        bg { "Bulgar\u0173" }
        cs { "\u010Cekijos" }
        da { "Dan\u0173" }
        de { "Vokie\u010Di\u0173" }
        el { "Graik\u0173" }
        en { "Angl\u0173" }
        es { "Ispan\u0173" }
        et { "Est\u0173" }
        fi { "Suomi\u0173" }
        fr { "Pranc\u016Bz\u0173" }
        he { "Hebraj\u0173" }
        hr { "Kroat\u0173" }
        hu { "Vengr\u0173" }
        it { "Ital\u0173" }
        ja { "Japon\u0173" }
        ko { "Kor\u0117jie\u010Di\u0173" }
        lt { "Lietuvi\u0173" }
        lv { "Latvi\u0173" }
        nl { "Oland\u0173" }
        no { "Norveg\u0173" }
        pl { "Lenk\u0173" }
        pt { "Portugal\u0173" }
        ro { "Rumun\u0173" }
        ru { "Rus\u0173" }
        sk { "Slovak\u0173" }
        sl { "Slov\u0117n\u0173" }
        sv { "\u0160ved\u0173" }
        tr { "Turk\u0173" }
        zh { "Kin\u0173" }
        //zh_cn { "Kin\u0173 (supaprastinta)" }
        //zh_tw { "Kin\u0173 (tadicin\u0117)" }
    }
    MonthAbbreviations { 
        "sau",
        "vas",
        "kov",
        "bal",
        "geg",
        "bir",
        "lie",
        "rgp",
        "rgs",
        "spa",
        "lap",
        "grd",
    }
    MonthNames { 
        "sausio",
        "vasario",
        "kovo",
        "baland\u017Eio",
        "gegu\u017E\u0117s",
        "bir\u017Eelio",
        "liepos",
        "rugpj\u016B\u010Dio",
        "rugs\u0117jo",
        "spalio",
        "lapkri\u010Dio",
        "gruod\u017Eio",
    }
    NumberElements { 
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }

    LocaleScript{ 
        "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters { "[a-z \u0105 \u0119 \u012f \u0173 \u0117 \u016b \u010d \u0161 \u017e]" }

    // Currency display names
    Currencies {
        LTL { "Lt", "LTL" }
    }
}