﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/lv.xml
// *
// ***************************************************************************
lv{
    Countries{
        001{"pasaule"}
        002{"Āfrika"}
        003{"Ziemeļamerika"}
        005{"Dienvidamerika"}
        009{"Okeānija"}
        011{"Rietumāfrika"}
        013{"Centrālamerika"}
        014{"Austrumāfrika"}
        015{"Ziemeļāfrika"}
        017{"Vidusāfrika"}
        018{"Dienvidāfrika"}
        019{"Amerika"}
        021{"Amerikas ziemeļu daļa"}
        029{"Karību jūras reģions"}
        030{"Austrumāzija"}
        034{"Dienvidāzija"}
        035{"Centrālaustrumāzija"}
        039{"Dienvideiropa"}
        053{"Austrālāzija"}
        054{"Melanēzija"}
        057{"Mikronēzijas reģions"}
        061{"Polinēzija"}
        142{"Āzija"}
        143{"Centrālāzija"}
        145{"Rietumāzija"}
        150{"Eiropa"}
        151{"Austrumeiropa"}
        154{"Ziemeļeiropa"}
        155{"Rietumeiropa"}
        419{"Latīņamerika"}
        AC{"Debesbraukšanas sala"}
        AD{"Andora"}
        AE{"Apvienotie Arābu Emirāti"}
        AF{"Afganistāna"}
        AG{"Antigva un Barbuda"}
        AI{"Angilja"}
        AL{"Albānija"}
        AM{"Armēnija"}
        AN{"Nīderlandes Antiļas"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Argentīna"}
        AS{"Amerikāņu Samoa"}
        AT{"Austrija"}
        AU{"Austrālija"}
        AW{"Aruba"}
        AX{"Olandes salas"}
        AZ{"Azerbaidžāna"}
        BA{"Bosnija un Hercegovina"}
        BB{"Barbadosa"}
        BD{"Bangladeša"}
        BE{"Beļģija"}
        BF{"Burkinafaso"}
        BG{"Bulgārija"}
        BH{"Bahreina"}
        BI{"Burundi"}
        BJ{"Benina"}
        BL{"Senbartelmī"}
        BM{"Bermudu salas"}
        BN{"Bruneja"}
        BO{"Bolīvija"}
        BQ{"Nīderlandes Karību salas"}
        BR{"Brazīlija"}
        BS{"Bahamu salas"}
        BT{"Butāna"}
        BV{"Buvē sala"}
        BW{"Botsvāna"}
        BY{"Baltkrievija"}
        BZ{"Beliza"}
        CA{"Kanāda"}
        CC{"Kokosu jeb Kīlinga salas"}
        CD{"Kongo-Kinšasa"}
        CF{"Centrālāfrikas Republika"}
        CG{"Kongo - Brazavila"}
        CH{"Šveice"}
        CI{"Kotdivuāra"}
        CK{"Kuka salas"}
        CL{"Čīle"}
        CM{"Kamerūna"}
        CN{"Ķīna"}
        CO{"Kolumbija"}
        CP{"Klipertona sala"}
        CR{"Kostarika"}
        CU{"Kuba"}
        CV{"Kaboverde"}
        CW{"Kirasao"}
        CX{"Ziemsvētku sala"}
        CY{"Kipra"}
        CZ{"Čehija"}
        DE{"Vācija"}
        DG{"Djego Garsijas atols"}
        DJ{"Džibutija"}
        DK{"Dānija"}
        DM{"Dominika"}
        DO{"Dominikāna"}
        DZ{"Alžīrija"}
        EA{"Seūta un Melilja"}
        EC{"Ekvadora"}
        EE{"Igaunija"}
        EG{"Ēģipte"}
        EH{"Rietumsahāra"}
        ER{"Eritreja"}
        ES{"Spānija"}
        ET{"Etiopija"}
        EU{"Eiropas Savienība"}
        FI{"Somija"}
        FJ{"Fidži"}
        FK{"Folklenda salas"}
        FM{"Mikronēzija"}
        FO{"Fēru Salas"}
        FR{"Francija"}
        GA{"Gabona"}
        GB{"Lielbritānija"}
        GD{"Grenāda"}
        GE{"Gruzija"}
        GF{"Franču Gviāna"}
        GG{"Gērnsija"}
        GH{"Gana"}
        GI{"Gibraltārs"}
        GL{"Grenlande"}
        GM{"Gambija"}
        GN{"Gvineja"}
        GP{"Gvadelupa"}
        GQ{"Ekvatoriālā Gvineja"}
        GR{"Grieķija"}
        GS{"Dienviddžordžija un Dienvidsendviču salas"}
        GT{"Gvatemala"}
        GU{"Guama"}
        GW{"Gvineja-Bisava"}
        GY{"Gajāna"}
        HK{"Honkonga"}
        HM{"Hērda un Makdonalda salas"}
        HN{"Hondurasa"}
        HR{"Horvātija"}
        HT{"Haiti"}
        HU{"Ungārija"}
        IC{"Kanāriju salas"}
        ID{"Indonēzija"}
        IE{"Īrija"}
        IL{"Izraēla"}
        IM{"Mena"}
        IN{"Indija"}
        IO{"Indijas okeāna Britu teritorija"}
        IQ{"Irāka"}
        IR{"Irāna"}
        IS{"Īslande"}
        IT{"Itālija"}
        JE{"Džērsija"}
        JM{"Jamaika"}
        JO{"Jordānija"}
        JP{"Japāna"}
        KE{"Kenija"}
        KG{"Kirgizstāna"}
        KH{"Kambodža"}
        KI{"Kiribati"}
        KM{"Komoru salas"}
        KN{"Sentkitsa un Nevisa"}
        KP{"Ziemeļkoreja"}
        KR{"Dienvidkoreja"}
        KW{"Kuveita"}
        KY{"Kaimanu salas"}
        KZ{"Kazahstāna"}
        LA{"Laosa"}
        LB{"Libāna"}
        LC{"Sentlūsija"}
        LI{"Lihtenšteina"}
        LK{"Šrilanka"}
        LR{"Libērija"}
        LS{"Lesoto"}
        LT{"Lietuva"}
        LU{"Luksemburga"}
        LV{"Latvija"}
        LY{"Lībija"}
        MA{"Maroka"}
        MC{"Monako"}
        MD{"Moldova"}
        ME{"Melnkalne"}
        MF{"Senmartēna"}
        MG{"Madagaskara"}
        MH{"Māršala salas"}
        MK{"Maķedonija"}
        ML{"Mali"}
        MM{"Mjanma (Birma)"}
        MN{"Mongolija"}
        MO{"Makao"}
        MP{"Ziemeļu Marianas salas"}
        MQ{"Martinika"}
        MR{"Mauritānija"}
        MS{"Montserrata"}
        MT{"Malta"}
        MU{"Maurīcija"}
        MV{"Maldīvija"}
        MW{"Malāvija"}
        MX{"Meksika"}
        MY{"Malaizija"}
        MZ{"Mozambika"}
        NA{"Namībija"}
        NC{"Jaunkaledonija"}
        NE{"Nigēra"}
        NF{"Norfolkas sala"}
        NG{"Nigērija"}
        NI{"Nikaragva"}
        NL{"Nīderlande"}
        NO{"Norvēģija"}
        NP{"Nepāla"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Jaunzēlande"}
        OM{"Omāna"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Franču Polinēzija"}
        PG{"Papua-Jaungvineja"}
        PH{"Filipīnas"}
        PK{"Pakistāna"}
        PL{"Polija"}
        PM{"Senpjēra un Mikelona"}
        PN{"Pitkērna"}
        PR{"Puertoriko"}
        PS{"Palestīna"}
        PT{"Portugāle"}
        PW{"Palau"}
        PY{"Paragvaja"}
        QA{"Katara"}
        QO{"Okeānijas attālās salas"}
        RE{"Reinjona"}
        RO{"Rumānija"}
        RS{"Serbija"}
        RU{"Krievija"}
        RW{"Ruanda"}
        SA{"Saūda Arābija"}
        SB{"Zālamana salas"}
        SC{"Šeišelu salas"}
        SD{"Sudāna"}
        SE{"Zviedrija"}
        SG{"Singapūra"}
        SH{"Sv.Helēnas sala"}
        SI{"Slovēnija"}
        SJ{"Svalbāra un Jana Majena sala"}
        SK{"Slovākija"}
        SL{"Sjerraleone"}
        SM{"Sanmarīno"}
        SN{"Senegāla"}
        SO{"Somālija"}
        SR{"Surinama"}
        SS{"Dienvidsudāna"}
        ST{"Santome un Prinsipi"}
        SV{"Salvadora"}
        SX{"Sintmārtena"}
        SY{"Sīrija"}
        SZ{"Svazilenda"}
        TA{"Tristana da Kuņas salas"}
        TC{"Tērksas un Kaikosas salas"}
        TD{"Čada"}
        TF{"Francijas Dienvidjūru Zemes"}
        TG{"Togo"}
        TH{"Taizeme"}
        TJ{"Tadžikistāna"}
        TK{"Tokelau"}
        TL{"Austrumtimora"}
        TM{"Turkmenistāna"}
        TN{"Tunisija"}
        TO{"Tonga"}
        TR{"Turcija"}
        TT{"Trinidāda un Tobāgo"}
        TV{"Tuvalu"}
        TW{"Taivāna"}
        TZ{"Tanzānija"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"ASV Aizjūras salas"}
        US{"Amerikas Savienotās Valstis"}
        UY{"Urugvaja"}
        UZ{"Uzbekistāna"}
        VA{"Vatikāns"}
        VC{"Sentvinsenta un Grenadīnas"}
        VE{"Venecuēla"}
        VG{"Britu Virdžīnas"}
        VI{"ASV Virdžīnas"}
        VN{"Vjetnama"}
        VU{"Vanuatu"}
        WF{"Volisa un Futuna"}
        WS{"Samoa"}
        XK{"Kosova"}
        YE{"Jemena"}
        YT{"Majota"}
        ZA{"Dienvidāfrikas Republika"}
        ZM{"Zambija"}
        ZW{"Zimbabve"}
        ZZ{"nezināms reģions"}
    }
    Countries%short{
        GB{"Lielbritānija"}
        US{"ASV"}
    }
    Countries%variant{
        CD{"Kongo Demokrātiskā Republika"}
        CG{"Kongo (Republika)"}
        CI{"Ziloņkaula krasts"}
        FK{"Folklenda (Malvinu) salas"}
        MK{"Maķedonija (BDRM)"}
    }
    Version{"2.1.19.19"}
}
