﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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>/xml/main/lv.xml
 */
lv{
    AuxExemplarCharacters{"[q w x y]"}
    ExemplarCharacters{"[a ā b c č d e ē f g ģ h i ī j k ķ l ļ m n ņ o p r s š t u ū v z ž]"}
    ExemplarCharactersIndex{"[A B C Č D E F G Ģ H I J K Ķ L Ļ M N Ņ O P Q R S Š T U V W X Y Z Ž]"}
    ExemplarCharactersPunctuation{"[\- ‐ – — , ; \: ! ? . … ' ‘ ’ ‚ \" “ ” „ ( ) \[ \] § @ * / \& # † ‡ ′ ″]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00;(¤#,##0.00)"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 tūkstotis"}
                        other{"0 tūkstoši"}
                        zero{"0 tūkstoši"}
                    }
                    10000{
                        one{"00 tūkstotis"}
                        other{"00 tūkstoši"}
                        zero{"00 tūkstoši"}
                    }
                    100000{
                        one{"000 tūkstotis"}
                        other{"000 tūkstoši"}
                        zero{"000 tūkstoši"}
                    }
                    1000000{
                        one{"0 miljons"}
                        other{"0 miljoni"}
                        zero{"0 miljoni"}
                    }
                    10000000{
                        one{"00 miljons"}
                        other{"00 miljoni"}
                        zero{"00 miljoni"}
                    }
                    100000000{
                        one{"000 miljons"}
                        other{"000 miljoni"}
                        zero{"000 miljoni"}
                    }
                    1000000000{
                        one{"0 miljards"}
                        other{"0 miljardi"}
                        zero{"0 miljardi"}
                    }
                    10000000000{
                        one{"00 miljards"}
                        other{"00 miljardi"}
                        zero{"00 miljardi"}
                    }
                    100000000000{
                        one{"000 miljards"}
                        other{"000 miljardi"}
                        zero{"000 miljardi"}
                    }
                    1000000000000{
                        one{"0 trilj'.'"}
                        other{"0 trilj'.'"}
                        zero{"0 trilj'.'"}
                    }
                    10000000000000{
                        one{"00 trilj'.'"}
                        other{"00 trilj'.'"}
                        zero{"00 trilj'.'"}
                    }
                    100000000000000{
                        one{"000 trilj'.'"}
                        other{"000 trilj'.'"}
                        zero{"000 trilj'.'"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0 tūkst'.'"}
                        other{"0 tūkst'.'"}
                        zero{"0 tūkst'.'"}
                    }
                    10000{
                        one{"00 tūkst'.'"}
                        other{"00 tūkst'.'"}
                        zero{"00 tūkst'.'"}
                    }
                    100000{
                        one{"000 tūkst'.'"}
                        other{"000 tūkst'.'"}
                        zero{"000 tūkst'.'"}
                    }
                    1000000{
                        one{"0 milj'.'"}
                        other{"0 milj'.'"}
                        zero{"0 milj'.'"}
                    }
                    10000000{
                        one{"00 milj'.'"}
                        other{"00 milj'.'"}
                        zero{"00 milj'.'"}
                    }
                    100000000{
                        one{"000 milj'.'"}
                        other{"000 milj'.'"}
                        zero{"000 milj'.'"}
                    }
                    1000000000{
                        one{"0 md"}
                        other{"0 md"}
                        zero{"0 md"}
                    }
                    10000000000{
                        one{"00 md"}
                        other{"00 md"}
                        zero{"00 md"}
                    }
                    100000000000{
                        one{"000 md"}
                        other{"000 md"}
                        zero{"000 md"}
                    }
                    1000000000000{
                        one{"0 trilj'.'"}
                        other{"0 trilj'.'"}
                        zero{"0 trilj'.'"}
                    }
                    10000000000000{
                        one{"00 trilj'.'"}
                        other{"00 trilj'.'"}
                        zero{"00 trilj'.'"}
                    }
                    100000000000000{
                        one{"000 trilj'.'"}
                        other{"000 trilj'.'"}
                        zero{"000 trilj'.'"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"nav skaitlis"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.75.99"}
    calendar{
        gregorian{
            AmPmMarkers{
                "priekšpusdienā",
                "pēcpusdienā",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, y. 'gada' d. MMMM",
                "y. 'gada' d. MMMM",
                "y. 'gada' d. MMM",
                "dd.MM.yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d."}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, dd.MM."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMMEd{"E, d. MMMM"}
                MMMMd{"d. MMMM"}
                MMMd{"d. MMM"}
                Md{"dd.MM."}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y. 'g'."}
                yM{"MM.yyyy."}
                yMEd{"E, d.M.y."}
                yMMM{"yyyy. 'g'. MMM"}
                yMMMEd{"E, y. 'g'. d. MMM"}
                yMMMM{"y. 'g'. MMMM"}
                yMMMd{"y. 'g'. d. MMM"}
                yMd{"d.M.y."}
                yQ{"Q yyyy"}
                yQQQ{"y QQQ"}
                yyQ{"Q yy"}
                yyyy{"y. 'g'."}
            }
            dayNames{
                format{
                    abbreviated{
                        "Sv",
                        "Pr",
                        "Ot",
                        "Tr",
                        "Ce",
                        "Pk",
                        "Se",
                    }
                    narrow{
                        "S",
                        "P",
                        "O",
                        "T",
                        "C",
                        "P",
                        "S",
                    }
                    short{
                        "Sv",
                        "Pr",
                        "Ot",
                        "Tr",
                        "Ce",
                        "Pk",
                        "Se",
                    }
                    wide{
                        "svētdiena",
                        "pirmdiena",
                        "otrdiena",
                        "trešdiena",
                        "ceturtdiena",
                        "piektdiena",
                        "sestdiena",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Sv",
                        "Pr",
                        "Ot",
                        "Tr",
                        "Ce",
                        "Pk",
                        "Se",
                    }
                    narrow{
                        "S",
                        "P",
                        "O",
                        "T",
                        "C",
                        "P",
                        "S",
                    }
                    short{
                        "Sv",
                        "P",
                        "O",
                        "T",
                        "C",
                        "Pk",
                        "S",
                    }
                    wide{
                        "Svētdiena",
                        "Pirmdiena",
                        "Otrdiena",
                        "Trešdiena",
                        "Ceturtdiena",
                        "Piektdiena",
                        "Sestdiena",
                    }
                }
            }
            eras{
                abbreviated{
                    "p.m.ē.",
                    "m.ē.",
                }
                wide{
                    "pirms mūsu ēras",
                    "mūsu ērā",
                }
            }
            fields{
                day{
                    dn{"Diena"}
                    relative{
                        "-1"{"vakar"}
                        "-2"{"aizvakar"}
                        "0"{"šodien"}
                        "1"{"rīt"}
                        "2"{"parīt"}
                    }
                }
                dayperiod{
                    dn{"Pirmspusd./pēcpusd."}
                }
                era{
                    dn{"Ēra"}
                }
                hour{
                    dn{"Stundas"}
                }
                minute{
                    dn{"Minūtes"}
                }
                month{
                    dn{"Mēnesis"}
                    relative{
                        "-1"{"Pagājušajā mēnesī"}
                        "0"{"Šomēnes"}
                        "1"{"Nākammēnes"}
                    }
                }
                second{
                    dn{"Sekundes"}
                }
                week{
                    dn{"Nedēļa"}
                    relative{
                        "-1"{"Pagājušajā nedēļā"}
                        "0"{"Šonedēļ"}
                        "1"{"Nākamnedēļ"}
                    }
                }
                weekday{
                    dn{"Nedēļas diena"}
                }
                year{
                    dn{"Gads"}
                    relative{
                        "-1"{"Pagājušajā gadā"}
                        "0"{"Šogad"}
                        "1"{"Nākamgad"}
                    }
                }
                zone{
                    dn{"Laika josla"}
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"MM.–MM."}
                }
                MEd{
                    M{"E, dd.MM – E, dd.MM"}
                    d{"E, dd.MM – E, dd.MM"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"E, d. MMM – E, d. MMM"}
                    d{"E, d. MMM – E, d. MMM"}
                }
                MMMd{
                    M{"d. MMM – d. MMM"}
                    d{"d.–d. MMM"}
                }
                Md{
                    M{"dd.MM–dd.MM"}
                    d{"dd.MM.–dd.MM."}
                }
                d{
                    d{"d.–d."}
                }
                fallback{"{0} - {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y.–y."}
                }
                yM{
                    M{"MM.yyyy.–MM.yyyy."}
                    y{"MM.yyyy.–MM.yyyy."}
                }
                yMEd{
                    M{"E, dd.MM.yy. – E, dd.MM.yy."}
                    d{"E, dd.MM.yy. – E, dd.MM.yy."}
                    y{"E, dd.MM.yy. – E, dd.MM.yy."}
                }
                yMMM{
                    M{"y. 'gada' MMM–MMM"}
                    y{"y. 'gada' MMM – y. 'gada' MMM"}
                }
                yMMMEd{
                    M{"E, y. 'gada' d. MMM – E, y. 'gada' d. MMM"}
                    d{"E, y. 'gada' d. MMM – E, y. 'gada' d. MMM"}
                    y{"E, y. 'gada' d. MMM – E, y. 'gada' d. MMM"}
                }
                yMMMM{
                    M{"MM.yyyy.–MM.yyyy."}
                    y{"MM.yyyy.–MM.yyyy."}
                }
                yMMMd{
                    M{"y. 'gada' d. MMM – d. MMM"}
                    d{"y. 'gada' d.–d. MMM"}
                    y{"y. 'gada' d. MMM – y. 'gada' d. MMM"}
                }
                yMd{
                    M{"dd.MM.yy.–dd.MM.yy."}
                    d{"dd.MM.yyyy.–dd.MM.yyyy."}
                    y{"dd.MM.yy.–dd.MM.yy."}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "janv.",
                        "febr.",
                        "marts",
                        "apr.",
                        "maijs",
                        "jūn.",
                        "jūl.",
                        "aug.",
                        "sept.",
                        "okt.",
                        "nov.",
                        "dec.",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "janvāris",
                        "februāris",
                        "marts",
                        "aprīlis",
                        "maijs",
                        "jūnijs",
                        "jūlijs",
                        "augusts",
                        "septembris",
                        "oktobris",
                        "novembris",
                        "decembris",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Janv.",
                        "Febr.",
                        "Marts",
                        "Apr.",
                        "Maijs",
                        "Jūn.",
                        "Jūl.",
                        "Aug.",
                        "Sept.",
                        "Okt.",
                        "Nov.",
                        "Dec.",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Janvāris",
                        "Februāris",
                        "Marts",
                        "Aprīlis",
                        "Maijs",
                        "Jūnijs",
                        "Jūlijs",
                        "Augusts",
                        "Septembris",
                        "Oktobris",
                        "Novembris",
                        "Decembris",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "C1",
                        "C2",
                        "C3",
                        "C4",
                    }
                    narrow{
                        "1.",
                        "2.",
                        "3.",
                        "4.",
                    }
                    wide{
                        "1. ceturksnis",
                        "2. ceturksnis",
                        "3. ceturksnis",
                        "4. ceturksnis",
                    }
                }
                stand-alone{
                    abbreviated{
                        "C1",
                        "C2",
                        "C3",
                        "C4",
                    }
                    narrow{
                        "1.",
                        "2.",
                        "3.",
                        "4.",
                    }
                    wide{
                        "1. ceturksnis",
                        "2. ceturksnis",
                        "3. ceturksnis",
                        "4. ceturksnis",
                    }
                }
            }
        }
        hebrew{
            monthNames{
                format{
                    wide{
                        "tišri",
                        "hešvans",
                        "kisļevs",
                        "tevets",
                        "ševats",
                        "1. adars",
                        "adars",
                        "nisans",
                        "ijars",
                        "sivans",
                        "tamuzs",
                        "avs",
                        "eluls",
                        "2. adars",
                    }
                }
            }
        }
        islamic{
            monthNames{
                format{
                    wide{
                        "muharams",
                        "safars",
                        "1. rabī",
                        "2. rabī",
                        "1. džumādā",
                        "2. džumādā",
                        "radžabs",
                        "šabans",
                        "ramadāns",
                        "šauvals",
                        "du al-kidā",
                        "du al-hidžā",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} un {1}"}
            end{"{0} un {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"angļu"}
        US{"amerikāņu"}
        metric{"metriskā"}
    }
    units{
        day{
            one{"{0} diennakts"}
            other{"{0} diennaktis"}
            zero{"{0} diennaktis"}
        }
        day-future{
            one{"Pēc {0} dienas"}
            other{"Pēc {0} dienām"}
            zero{"Pēc {0} dienām"}
        }
        day-past{
            one{"Pirms {0} dienas"}
            other{"Pirms {0} dienām"}
            zero{"Pirms {0} dienām"}
        }
        hour{
            one{"{0} stunda"}
            other{"{0} stundas"}
            zero{"{0} stundas"}
        }
        hour-future{
            one{"Pēc {0} stundas"}
            other{"Pēc {0} stundām"}
            zero{"Pēc {0} stundām"}
        }
        hour-past{
            one{"Pirms {0} stundas"}
            other{"Pirms {0} stundām"}
            zero{"Pirms {0} stundām"}
        }
        minute{
            one{"{0} minūte"}
            other{"{0} minūtes"}
            zero{"{0} minūtes"}
        }
        minute-future{
            one{"Pēc {0} minūtes"}
            other{"Pēc {0} minūtēm"}
            zero{"Pēc {0} minūtēm"}
        }
        minute-past{
            one{"Pirms {0} minūtes"}
            other{"Pirms {0} minūtēm"}
            zero{"Pirms {0} minūtēm"}
        }
        month{
            one{"{0} mēnesis"}
            other{"{0} mēneši"}
            zero{"{0} mēneši"}
        }
        month-future{
            one{"Pēc {0} mēneša"}
            other{"Pēc {0} mēnešiem"}
            zero{"Pēc {0} mēnešiem"}
        }
        month-past{
            one{"Pirms {0} mēneša"}
            other{"Pirms {0} mēnešiem"}
            zero{"Pirms {0} mēnešiem"}
        }
        second{
            one{"{0} sekunde"}
            other{"{0} sekundes"}
            zero{"{0} sekundes"}
        }
        second-future{
            one{"Pēc {0} sekundes"}
            other{"Pēc {0} sekundēm"}
            zero{"Pēc {0} sekundēm"}
        }
        second-past{
            one{"Pirms {0} sekundes"}
            other{"Pirms {0} sekundēm"}
            zero{"Pirms {0} sekundēm"}
        }
        week{
            one{"{0} nedēļa"}
            other{"{0} nedēļas"}
            zero{"{0} nedēļas"}
        }
        week-future{
            one{"Pēc {0} nedēļas"}
            other{"Pēc {0} nedēļām"}
            zero{"Pēc {0} nedēļām"}
        }
        week-past{
            one{"Pirms {0} nedēļas"}
            other{"Pirms {0} nedēļām"}
            zero{"Pirms {0} nedēļām"}
        }
        year{
            one{"{0} gads"}
            other{"{0} gadi"}
            zero{"{0} gadi"}
        }
        year-future{
            one{"Pēc {0} gada"}
            other{"Pēc {0} gadiem"}
            zero{"Pēc {0} gadiem"}
        }
        year-past{
            one{"Pirms {0} gada"}
            other{"Pirms {0} gadiem"}
            zero{"Pirms {0} gadiem"}
        }
    }
    unitsShort{
        day{
            one{"{0} diena"}
            other{"{0} dienas"}
            zero{"{0} dienas"}
        }
        hour{
            one{"{0} h"}
            other{"{0} h"}
            zero{"{0} h"}
        }
        minute{
            one{"{0} min"}
            other{"{0} min"}
            zero{"{0} min"}
        }
        month{
            one{"{0} mēn."}
            other{"{0} mēn."}
            zero{"{0} mēn."}
        }
        second{
            one{"{0} s"}
            other{"{0} s"}
            zero{"{0} s"}
        }
        week{
            one{"{0} ned."}
            other{"{0} ned."}
            zero{"{0} ned."}
        }
        year{
            one{"{0} g."}
            other{"{0} g."}
            zero{"{0} g."}
        }
    }
}
