﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/lv.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <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{"Ķīnas īpašās pārvaldes apgabals 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{"Ķīnas īpašās pārvaldes apgabals 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{"Seišeļu 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"}
    }
    Version{"2.0.92.87"}
}
