﻿// ***************************************************************************
// *
// * Copyright (C) 2006 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/lt.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/lt.xml
 */
lt{
    AuxExemplarCharacters{"[q w x]"}
    Countries{
        001{"Pasaulis"}
        002{"Afrika"}
        005{"Pietų Amerika"}
        011{"Vakarų Afrika"}
        013{"Centrinė Amerika"}
        014{"Rytų Afrika"}
        015{"Šiaurės Afrika"}
        017{"Vidurio Afrika"}
        018{"Pietų Afrika [018]"}
        019{"Amerika"}
        029{"Karibai"}
        030{"Rytų Azija"}
        034{"Pietų Azija"}
        035{"Pietryčių Azija"}
        039{"Pietų Europa"}
        053{"Australija ir Naujoji Zelandija"}
        054{"Melanezija"}
        057{"Mikronezija [057]"}
        061{"Polinezija"}
        142{"Azija"}
        143{"Centrinė Azija"}
        145{"Vakarų Azija"}
        150{"Europa"}
        151{"Rytų Europa"}
        154{"Šiaurės Europa"}
        155{"Vakarų Europa"}
        200{"Čekoslovakija"}
        419{"Lotynų Amerika ir Karibai"}
        AD{"Andora"}
        AE{"Jungtiniai Arabų Emyratai"}
        AF{"Afganistanas"}
        AG{"Antigva ir Barbuda"}
        AI{"Angilija"}
        AL{"Albanija"}
        AM{"Armėnija"}
        AN{"Olandijos Antilai"}
        AO{"Angola"}
        AQ{"Antarktis"}
        AR{"Argentina"}
        AS{"Amerikos Samoa"}
        AT{"Austrija"}
        AU{"Australija"}
        AW{"Aruba"}
        AZ{"Azerbaidžanas"}
        BA{"Bosnija ir Hercegovina"}
        BB{"Barbadosas"}
        BD{"Bangladešas"}
        BE{"Belgija"}
        BF{"Burkina Fasas"}
        BG{"Bulgarija"}
        BH{"Bahreinas"}
        BI{"Burundis"}
        BJ{"Beninas"}
        BM{"Bermuda"}
        BN{"Brunėjus"}
        BO{"Bolivija"}
        BR{"Brazilija"}
        BS{"Bahamos"}
        BT{"Butanas"}
        BV{"Bouvet sala"}
        BW{"Botsvana"}
        BY{"Baltarusija"}
        BZ{"Belizas"}
        CA{"Kanada"}
        CC{"Kokosų salos"}
        CD{"Kongo Demokratinė Respublika"}
        CF{"Centrinės Afrikos Respublika"}
        CG{"Kongas"}
        CH{"Šveicarija"}
        CI{"Dramblio Kaulo Krantas"}
        CK{"Kuko salos"}
        CL{"Čilė"}
        CM{"Kamerūnas"}
        CN{"Kinija"}
        CO{"Kolumbija"}
        CR{"Kosta Rika"}
        CS{"Serbija ir Juodkalnija"}
        CU{"Kuba"}
        CV{"Žaliasis Kyšulys"}
        CX{"Kalėdų sala"}
        CY{"Kipras"}
        CZ{"Čekija"}
        DE{"Vokietija"}
        DJ{"Džibutis"}
        DK{"Danija"}
        DM{"Dominika"}
        DO{"Dominikos Respublika"}
        DZ{"Alžyras"}
        EC{"Ekvadoras"}
        EE{"Estija"}
        EG{"Egiptas"}
        EH{"Vakarų Sachara"}
        ER{"Eritrėja"}
        ES{"Ispanija"}
        ET{"Etiopija"}
        FI{"Suomija"}
        FJ{"Fidžis"}
        FK{"Falklando salos"}
        FM{"Mikronezija"}
        FO{"Farerų salos"}
        FR{"Prancūzija"}
        GA{"Gabonas"}
        GB{"Didžioji Britanija"}
        GD{"Grenada"}
        GE{"Gruzija"}
        GF{"Prancūzijos Gviana"}
        GH{"Gana"}
        GI{"Gibraltaras"}
        GL{"Grenlandija"}
        GM{"Gambija"}
        GN{"Gvinėja"}
        GP{"Gvadelupė"}
        GQ{"Pusiaujo Gvinėja"}
        GR{"Graikija"}
        GS{"Rytų Džordžija ir Rytų Sandwich salos"}
        GT{"Gvatemala"}
        GU{"Guamas"}
        GW{"Bisau Gvinėja"}
        GY{"Gajana"}
        HK{"Kinijos S.A.R.Honkongas"}
        HM{"Heardo ir McDonaldo Salų Sritis"}
        HN{"Hondūras"}
        HR{"Kroatija"}
        HT{"Haitis"}
        HU{"Vengrija"}
        ID{"Indonezija"}
        IE{"Airija"}
        IL{"Izraelis"}
        IN{"Indija"}
        IO{"Indijos vandenyno britų sritis"}
        IQ{"Irakas"}
        IR{"Iranas"}
        IS{"Islandija"}
        IT{"Italija"}
        JM{"Jamaika"}
        JO{"Jordanija"}
        JP{"Japonija"}
        KE{"Kenija"}
        KG{"Kirgiztanas"}
        KH{"Kambodža"}
        KI{"Kiribatis"}
        KM{"Komorai"}
        KN{"Sent Kitsas ir Nevis"}
        KP{"Šiaurės Korėja"}
        KR{"Pietų Korėja"}
        KW{"Kuveitas"}
        KY{"Kaimanų salos"}
        KZ{"Kazachstanas"}
        LA{"Laosas"}
        LB{"Libanas"}
        LC{"Šventoji Liucija"}
        LI{"Lichtenšteinas"}
        LK{"Šri Lanka"}
        LR{"Liberija"}
        LS{"Lesotas"}
        LT{"Lietuva"}
        LU{"Liuksemburgas"}
        LV{"Latvija"}
        LY{"Libija"}
        MA{"Marokas"}
        MC{"Monakas"}
        MD{"Moldova"}
        MG{"Madagaskaras"}
        MH{"Maršalo Salos"}
        MK{"Makedonija"}
        ML{"Malis"}
        MM{"Mianmaras"}
        MN{"Mongolija"}
        MO{"Macao"}
        MP{"Marianos šiaurinės salos"}
        MQ{"Martinika"}
        MR{"Mauritanija"}
        MS{"Montserratas"}
        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{"Niue"}
        NZ{"Naujoji Zelandija"}
        OM{"Omanas"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Prancūzų Polinezija"}
        PG{"Papua Naujoji Gvinėja"}
        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"}
        RO{"Rumunija"}
        RU{"Rusijos Federacija"}
        RW{"Ruanda"}
        SA{"Saudo Arabija"}
        SB{"Saliamono salos"}
        SC{"Seišeliai"}
        SD{"Sudanas"}
        SE{"Švedija"}
        SG{"Singapūras"}
        SH{"Šventoji Elena"}
        SI{"Slovėnija"}
        SJ{"Svalbardo ir Jan Majen salos"}
        SK{"Slovakia"}
        SL{"Siera Leonė"}
        SM{"San Marinas"}
        SN{"Senegalas"}
        SO{"Somalis"}
        SR{"Surinamas"}
        ST{"San Tomė ir Principė"}
        SV{"Salvadoras"}
        SY{"Sirija"}
        SZ{"Svazilendas"}
        TC{"Turkso ir Caicoso salos"}
        TD{"Čadas"}
        TF{"Prancūzijos Pietų sritys"}
        TG{"Togas"}
        TH{"Tailandas"}
        TJ{"Tadžikistanas"}
        TK{"Tokelau"}
        TL{"Rytų Timoras"}
        TM{"Turkmėnistanas"}
        TN{"Tunisas"}
        TO{"Tonga"}
        TR{"Turkija"}
        TT{"Trinidadas ir Tobagas"}
        TV{"Tuvalu"}
        TW{"Taivanas"}
        TZ{"Tanzanija"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"Jungtinių Valstijų mažosios aplinkinės salos"}
        US{"Jungtinės Valstijos"}
        UY{"Urugvajus"}
        UZ{"Uzbekistanas"}
        VA{"Vatikanas"}
        VC{"Šventasis Vincentas ir Grenadinai"}
        VE{"Venesuela"}
        VG{"Didžiosios Britanijos Mergelių salos"}
        VI{"Mergelių salos (JAV)"}
        VN{"Vietnamas"}
        VU{"Vanuatu"}
        WF{"Wallisas ir Futuna"}
        WS{"Samoa"}
        YE{"Jemenas"}
        YT{"Mayotte’as"}
        ZA{"Pietų Afrika"}
        ZM{"Zambija"}
        ZW{"Zimbabvė"}
    }
    Currencies{
        BRL{
            "BRL",
            "Brazilijos realas",
        }
        CNY{
            "CNY",
            "Ženminbi juanis",
        }
        EUR{
            "€",
            "Euras",
        }
        GBP{
            "£",
            "Svaras sterlingų",
        }
        INR{
            "=0#Rs.|1#Re.|1<Rs.",
            "Indijos rupija",
        }
        JPY{
            "¥",
            "Jena",
        }
        LTL{
            "Lt",
            "Litas",
        }
        RUB{
            "RUB",
            "Rusijos rublis",
        }
        USD{
            "$",
            "JAV doleris",
        }
    }
    ExemplarCharacters{"[a ą b c č d e ę ė f-i į y j-p r s š t u ų ū v z ž]"}
    Keys{
        calendar{"kalendorius"}
        currency{"valiuta"}
    }
    Languages{
        ar{"Arabų"}
        bg{"Bulgarų"}
        bn{"Bengalų"}
        cs{"Čekų"}
        da{"Danų"}
        de{"Vokiečių"}
        el{"Graikų"}
        en{"Anglų"}
        es{"Ispanų"}
        et{"Estų"}
        fi{"Suomių"}
        fr{"Prancūzų"}
        he{"Hebrajų"}
        hi{"Hindi"}
        hr{"Kroatų"}
        hu{"Vengrų"}
        it{"Italų"}
        ja{"Japonų"}
        ko{"Korėjiečių"}
        lt{"Lietuvių"}
        lv{"Latvių"}
        nl{"Olandų"}
        no{"Norvegų"}
        pl{"Lenkų"}
        pt{"Portugalų"}
        ro{"Rumunų"}
        ru{"Rusų"}
        sk{"Slovakų"}
        sl{"Slovėnų"}
        sv{"Švedų"}
        th{"Tajų"}
        tr{"Turkų"}
        zh{"Kinų"}
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    Scripts{
        Latn{"Latin"}
    }
    Version{"1.71"}
    calendar{
        gregorian{
            AmPmMarkers{
                "priešpiet",
                "popiet",
            }
            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}",
            }
            availableFormats{
                HHmm{"HH:mm"}
                HHmmss{"HH:mm:ss"}
                MMMdd{"MMM-dd"}
                MMdd{"MM.dd"}
                hhmm{"hh:mm a"}
                hhmmss{"hh:mm:ss a"}
                yyyyMM{"yyyy.MM"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Sk",
                        "Pr",
                        "An",
                        "Tr",
                        "Kt",
                        "Pn",
                        "Št",
                    }
                    wide{
                        "sekmadienis",
                        "pirmadienis",
                        "antradienis",
                        "trečiadienis",
                        "ketvirtadienis",
                        "penktadienis",
                        "šeštadienis",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "P",
                        "A",
                        "T",
                        "K",
                        "P",
                        "Š",
                    }
                }
            }
            eras{
                abbreviated{
                    "pr. Kr.",
                    "po Kr.",
                }
            }
            fields{
                day{
                    dn{"diena"}
                }
                dayperiod{
                    dn{"dienos metas"}
                }
                era{
                    dn{"era"}
                }
                hour{
                    dn{"valanda"}
                }
                minute{
                    dn{"minutė"}
                }
                month{
                    dn{"mėnuo"}
                }
                second{
                    dn{"Sekundė"}
                }
                week{
                    dn{"savaitė"}
                }
                weekday{
                    dn{"savaitės diena"}
                }
                year{
                    dn{"metai"}
                }
                zone{
                    dn{"juosta"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Sau",
                        "Vas",
                        "Kov",
                        "Bal",
                        "Geg",
                        "Bir",
                        "Lie",
                        "Rgp",
                        "Rgs",
                        "Spl",
                        "Lap",
                        "Grd",
                    }
                    wide{
                        "sausio",
                        "vasario",
                        "kovo",
                        "balandžio",
                        "gegužės",
                        "birželio",
                        "liepos",
                        "rugpjūčio",
                        "rugsėjo",
                        "spalio",
                        "lapkričio",
                        "gruodžio",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "V",
                        "K",
                        "B",
                        "G",
                        "B",
                        "L",
                        "R",
                        "R",
                        "S",
                        "L",
                        "G",
                    }
                    wide{
                        "Sausis",
                        "Vasaris",
                        "Kovas",
                        "Balandis",
                        "Gegužė",
                        "Birželis",
                        "Liepa",
                        "Rugpjūtis",
                        "Rugsėjis",
                        "Spalis",
                        "Lapkritis",
                        "Gruodis",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "pirmas ketvirtis",
                        "antras ketvirtis",
                        "trečias ketvirtis",
                        "ketvirtas ketvirtis",
                    }
                }
            }
        }
    }
    delimiters{
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    localPatternChars{"GanjkHmsSEDFwWxhKzAeugXZvcL"}
    zoneStrings{
        "America:Chicago"{
            ec{"Čikaga"}
        }
        "America:Denver"{
            ec{"Denveris"}
        }
        "America:Indiana:Petersburg"{
            ec{"Peterburgas"}
        }
        "America:Los_Angeles"{
            ec{"Los Andželas"}
        }
        "America:Moncton"{
            ec{"Monktonas"}
        }
        "America:New_York"{
            ec{"Niujorkas"}
        }
        "America:Phoenix"{
            ec{"Fyniksas"}
        }
        "America:Sao_Paulo"{
            ec{"San Paulas"}
        }
    }
}
