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

lt {
    Version{ "2.0" }
    collations {
      standard { 
        Version { "2.0" }
        Sequence { 
            "&\u0328 << \u0307" // put dot-above after ogonek
            "&[before 1]D<č<<<Č"
            "&[before 1]J<y<<<Y"
            "&[before 1]T<š<<<Š"
            "&[before 1]Ʒ<ž<<<Ž"
            // sources differ on the following, and the strengths thereof
            // so keep in file but leave commented out
            // "&C<<ch<<<Ch<<<CH"
            // "&H<ch<<<Ch<<<CH"
            // "&[before 1]B<ą<<<Ą"
            // "&[before 1]F<ę<<<Ę<ė<<<Ė"
            // "&[before 1]I<į<<<Į"
            // "&[before 1]V<ų<<<Ų<ū<<<Ū"
        }
      }
    }
    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",
        "\u0160t",
    }
    DayNames { 
        "Sekmadienis",
        "Pirmadienis",
        "Antradienis",
        "Tre\u010Diadienis",
        "Ketvirtadienis",
        "Penktadienis",
        "\u0160e\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" }
    }
}