﻿// ***************************************************************************
// *
// * Copyright (C) 2007 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/lv.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/lv.xml
 */
lv{
    AuxExemplarCharacters{"[y q w x]"}
    Countries{
        172{"Neatkarīgo Valstu Savienība"}
        AD{"Andora"}
        AE{"Apvienotie Arābu Emirāti"}
        AF{"Afganistāna"}
        AG{"Antigva un Barbuda"}
        AI{"Angilja"}
        AL{"Albānija"}
        AM{"Armēnija"}
        AN{"Antiļas"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Argentīna"}
        AS{"Amerikāņu Samoa"}
        AT{"Austrija"}
        AU{"Austrālija"}
        AW{"Aruba"}
        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"}
        BM{"Bermudu salas"}
        BN{"Bruneja"}
        BO{"Bolīvija"}
        BR{"Brazīlija"}
        BS{"Bahamas"}
        BT{"Butāna"}
        BV{"Buvē sala"}
        BW{"Botsvāna"}
        BY{"Baltkrievija"}
        BZ{"Beliza"}
        CA{"Kanāda"}
        CC{"Kokosu (Kīlinga) salas"}
        CD{"Kongo Demokrātiskā Republika"}
        CF{"Centrālāfrikas Republika"}
        CG{"Kongo"}
        CH{"Šveice"}
        CI{"Kotdivuāra"}
        CK{"Kuka salas"}
        CL{"Čīle"}
        CM{"Kamerūna"}
        CN{"Ķīna"}
        CO{"Kolumbija"}
        CR{"Kostarika"}
        CS{"Serbija un Melnkalne"}
        CU{"Kuba"}
        CV{"Kaboverde"}
        CX{"Ziemsvētku sala"}
        CY{"Kipra"}
        CZ{"Čehija"}
        DE{"Vācija"}
        DJ{"Džibutija"}
        DK{"Dānija"}
        DM{"Dominika"}
        DO{"Dominikānas Republika"}
        DZ{"Alžīrija"}
        EC{"Ekvadora"}
        EE{"Igaunija"}
        EG{"Ēģipte"}
        EH{"Rietumsahāra"}
        ER{"Eritreja"}
        ES{"Spānija"}
        ET{"Etiopija"}
        FI{"Somija"}
        FJ{"Fidži"}
        FK{"Folklenda salas"}
        FM{"Mikronēzijas Federatīvās Valstis"}
        FO{"Farē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, Ķīnas īpašās pārvaldes apgabals"}
        HM{"Hērda un Makdonalda salas"}
        HN{"Hondurasa"}
        HR{"Horvātija"}
        HT{"Haiti"}
        HU{"Ungārija"}
        ID{"Indonēzija"}
        IE{"Īrija"}
        IL{"Izraēla"}
        IN{"Indija"}
        IO{"Britu Indijas okeāna teritorija"}
        IQ{"Irāka"}
        IR{"Irāna"}
        IS{"Islande"}
        IT{"Itālija"}
        JE{"Džērsija"}
        JM{"Jamaika"}
        JO{"Jordānija"}
        JP{"Japāna"}
        KE{"Kenija"}
        KG{"Kirgīzija"}
        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"}
        MG{"Madagaskara"}
        MH{"Māršala salas"}
        MK{"Maķedonija"}
        ML{"Mali"}
        MM{"Mjanma"}
        MN{"Mongolija"}
        MO{"Makao, Ķīnas īpašās pārvaldes apgabals"}
        MP{"Ziemeļu Marianas"}
        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{"Norfolka"}
        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īniešu pašpārvaldes teritorija"}
        PT{"Portugāle"}
        PW{"Palau"}
        PY{"Paragvaja"}
        QA{"Katara"}
        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"}
        ST{"Santome un Prinsipi"}
        SV{"Salvadora"}
        SY{"Sīrija"}
        SZ{"Svazilenda"}
        TC{"Tērksas un Kaikosas salas"}
        TD{"Čada"}
        TF{"Franču dienvidu teritorijas"}
        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 mazās aizjūras teritorijas"}
        US{"United States"}
        UY{"Urugvaja"}
        UZ{"Uzbekistāna"}
        VA{"Vatikāns"}
        VC{"Sentvinsenta un Grenadīnas"}
        VE{"Venecuēla"}
        VG{"Britu Virdžīnu salas"}
        VI{"Amerikāņu Virdžīnu salas"}
        VN{"Vjetnama"}
        VU{"Vanuatu"}
        WF{"Volisa un Futuna"}
        WS{"Samoa"}
        YE{"Jemena"}
        YT{"Majota"}
        ZA{"Dienvidāfrika"}
        ZM{"Zambija"}
        ZW{"Zimbabve"}
    }
    Currencies{
        LVL{
            "Ls",
            "LVL",
        }
    }
    ExemplarCharacters{"[a ā b c č d e ē f g ģ h i ī j k ķ l ļ m n ņ o p r s š t u ū v z ž]"}
    Keys{
        calendar{"Kalendārs"}
        currency{"Valūta"}
    }
    Languages{
        ar{"arābu"}
        bg{"bulgāru"}
        bn{"bengāļu"}
        cs{"čehu"}
        da{"dāņu"}
        de{"vācu"}
        el{"grieķu"}
        en{"angļu"}
        es{"spāņu"}
        et{"igauņu"}
        fi{"somu"}
        fr{"franču"}
        ga{"īru"}
        he{"ivrits"}
        hr{"horvātu"}
        hu{"ungāru"}
        it{"itāliešu"}
        ja{"japāņu"}
        ko{"korejiešu"}
        lt{"lietuviešu"}
        lv{"latviešu"}
        mt{"maltiešu"}
        nl{"holandiešu"}
        no{"norvēģu"}
        pl{"poļu"}
        pt{"portugāļu"}
        ro{"rumāņu"}
        ru{"krievu"}
        sk{"slovāku"}
        sl{"slovēņu"}
        sv{"zviedru"}
        th{"taju"}
        tr{"turku"}
        zh{"ķīniešu"}
        zh_Hans{"ķīniešu vienkāršotā"}
        zh_Hant{"ķīniešu tradicionālā"}
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        " ",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "#,##0.00 ¤",
        "#,##0%",
        "#E0",
    }
    Version{"1.92"}
    calendar{
        gregorian{
            DateTimePatterns{
                "HH:mm:ss v",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, yyyy'. gada 'd. MMMM",
                "yyyy'. gada 'd. MMMM",
                "yyyy.d.M",
                "yy.d.M",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "Sv",
                        "P",
                        "O",
                        "T",
                        "C",
                        "Pk",
                        "S",
                    }
                    wide{
                        "svētdiena",
                        "pirmdiena",
                        "otrdiena",
                        "trešdiena",
                        "ceturtdiena",
                        "piektdiena",
                        "sestdiena",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                    }
                }
            }
            eras{
                abbreviated{
                    "pmē",
                    "mē",
                }
                narrow{
                    "p.m.ē.",
                    "m.ē.",
                }
                wide{
                    "pirms mūsu ēras",
                    "mūsu ērā",
                }
            }
            fields{
                day{
                    relative{
                        "-1"{"vakar"}
                        "-2"{"aizvakar"}
                        "0"{"šodien"}
                        "1"{"rīt"}
                        "2"{"parīt"}
                        "3"{"aizparīt"}
                    }
                }
                era{
                    dn{"Ēra"}
                }
                hour{
                    dn{"Stundas"}
                }
                minute{
                    dn{"Minūtes"}
                }
                month{
                    dn{"Mēnesis"}
                }
                second{
                    dn{"Sekundes"}
                }
                week{
                    dn{"Nedēļa"}
                }
                weekday{
                    dn{"Nedēļas diena"}
                }
                year{
                    dn{"Gads"}
                }
                zone{
                    dn{"Josla"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mar",
                        "Apr",
                        "Mai",
                        "Jūn",
                        "Jūl",
                        "Aug",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dec",
                    }
                    wide{
                        "janvāris",
                        "februāris",
                        "marts",
                        "aprīlis",
                        "maijs",
                        "jūnijs",
                        "jūlijs",
                        "augusts",
                        "septembris",
                        "oktobris",
                        "novembris",
                        "decembris",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "C1",
                        "C2",
                        "C3",
                        "C4",
                    }
                    wide{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                }
            }
        }
    }
    delimiters{
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    measurementSystemNames{
        US{"britu"}
        metric{"metriskā"}
    }
    messages{
        nostr{"nē:ne:n"}
        yesstr{"jā:ja:j"}
    }
    zoneStrings{
        "America:Chicago"{
            ec{"Čikāga"}
        }
        "America:Denver"{
            ec{"Denvera"}
        }
        "America:Indianapolis"{
            ec{"Indianapolisa"}
        }
        "America:Los_Angeles"{
            ec{"Losandželosa"}
        }
        "America:New_York"{
            ec{"Ņujorka"}
        }
        "America:Phoenix"{
            ec{"Fīniksa"}
        }
        "America:Rio_Branco"{
            ec{"Riobranko"}
        }
        "America:Sao_Paulo"{
            ec{"Sanpaulu"}
        }
        "Asia:Almaty"{
            ec{"Almati"}
        }
        "Asia:Anadyr"{
            ec{"Anadira"}
        }
        "Australia:Adelaide"{
            ec{"Adelaida"}
        }
        "Pacific:Auckland"{
            ec{"Oklenda"}
        }
        "Pacific:Honolulu"{
            ec{"Honolulu"}
        }
    }
}
