﻿// ***************************************************************************
// *
// * Copyright (C) 2011 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{
    Countries{
        001{"Pasaulis"}
        002{"Afrika"}
        003{"Šiaurės Amerika"}
        005{"Pietų Amerika"}
        009{"Okeanija"}
        011{"Vakarų Afrika"}
        013{"Centrinė Amerika"}
        014{"Rytų Afrika"}
        015{"Šiaurės Afrika"}
        017{"Vidurio Afrika"}
        018{"Pietų Afrika [018]"}
        019{"Amerika"}
        021{"Šiaurinė Amerika"}
        029{"Karibai"}
        030{"Rytų Azija"}
        034{"Pietų Azija"}
        035{"Pietryčių Azija"}
        039{"Pietų Europa"}
        053{"Australija ir Naujoji Zelandija"}
        054{"Melanezija"}
        057{"Mikronezijos regionas"}
        061{"Polinezija"}
        062{"Pietų vidurio Azija"}
        142{"Azija"}
        143{"Centrinė Azija"}
        145{"Vakarų Azija"}
        150{"Europa"}
        151{"Rytų Europa"}
        154{"Šiaurės Europa"}
        155{"Vakarų Europa"}
        172{"Nepriklausomų Valstybių Sandrauga"}
        200{"Čekoslovakija"}
        419{"Lotynų Amerika"}
        AC{"Ascension sala"}
        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"}
        AX{"Alandų salos"}
        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"}
        BL{"Švento Baltramiejaus sala"}
        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"}
        CP{"Clipperton sala"}
        CR{"Kosta Rika"}
        CS{"Serbija ir Juodkalnija"}
        CU{"Kuba"}
        CV{"Žaliasis Kyšulys"}
        CX{"Kalėdų sala"}
        CY{"Kipras"}
        CZ{"Čekija"}
        DE{"Vokietija"}
        DG{"Diego Garcia"}
        DJ{"Džibutis"}
        DK{"Danija"}
        DM{"Dominika"}
        DO{"Dominikos Respublika"}
        DZ{"Alžyras"}
        EA{"Ceuta ir Melilla"}
        EC{"Ekvadoras"}
        EE{"Estija"}
        EG{"Egiptas"}
        EH{"Vakarų Sachara"}
        ER{"Eritrėja"}
        ES{"Ispanija"}
        ET{"Etiopija"}
        EU{"Europos Sąjunga"}
        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"}
        GG{"Guernsis"}
        GH{"Gana"}
        GI{"Gibraltaras"}
        GL{"Grenlandija"}
        GM{"Gambija"}
        GN{"Gvinėja"}
        GP{"Gvadelupė"}
        GQ{"Pusiaujo Gvinėja"}
        GR{"Graikija"}
        GS{"Pietų Džordžija ir Pietų Sandvičo 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"}
        IC{"Kanarų salos"}
        ID{"Indonezija"}
        IE{"Airija"}
        IL{"Izraelis"}
        IM{"Meino sala"}
        IN{"Indija"}
        IO{"Indijos vandenyno britų sritis"}
        IQ{"Irakas"}
        IR{"Iranas"}
        IS{"Islandija"}
        IT{"Italija"}
        JE{"Džersis"}
        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"}
        ME{"Juodkalnija"}
        MF{"Saint-Martin"}
        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"}
        QO{"Nuošali Okeanija"}
        RE{"Reunionas"}
        RO{"Rumunija"}
        RS{"Serbija"}
        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{"Slovakija"}
        SL{"Siera Leonė"}
        SM{"San Marinas"}
        SN{"Senegalas"}
        SO{"Somalis"}
        SR{"Surinamas"}
        ST{"San Tomė ir Principė"}
        SV{"Salvadoras"}
        SY{"Sirija"}
        SZ{"Svazilendas"}
        TA{"Tristan da Cunha"}
        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ė"}
        ZZ{"nežinoma sritis"}
    }
    Version{"2.0.59.68"}
}
