﻿// ***************************************************************************
// *
// * 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{
    AuxExemplarCharacters{"[y ō q ŗ w x]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
        word-final{"{0}…"}
        word-initial{"…{0}"}
        word-medial{"{0}…{1}"}
    }
    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 Ī Y J K Ķ L Ļ M N Ņ O P Q R S Š T U Ū V W X Z Ž]"}
    ExemplarCharactersPunctuation{
        "[\\- ‐ – — , ; \\: ! ? . … ' ‘ ’ ‚ \u0022 “ ” „ ( ) \\[ \\] § @ * / \\& # † "
        "‡ ′ ″]"
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        latn{
            miscPatterns{
                atLeast{"vismaz {0}"}
                range{"{0}–{1}"}
            }
            patterns{
                accountingFormat{"¤#0.00"}
                currencyFormat{"¤#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 triljons"}
                        other{"0 triljoni"}
                        zero{"0 triljoni"}
                    }
                    10000000000000{
                        one{"00 triljons"}
                        other{"00 triljoni"}
                        zero{"00 triljoni"}
                    }
                    100000000000000{
                        one{"000 triljons"}
                        other{"000 triljoni"}
                        zero{"000 triljoni"}
                    }
                }
            }
            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 mljrd'.'"}
                        other{"0 mljrd'.'"}
                        zero{"0 mljrd'.'"}
                    }
                    10000000000{
                        one{"00 mljrd'.'"}
                        other{"00 mljrd'.'"}
                        zero{"00 mljrd'.'"}
                    }
                    100000000000{
                        one{"000 mljrd'.'"}
                        other{"000 mljrd'.'"}
                        zero{"000 mljrd'.'"}
                    }
                    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{"+"}
                superscriptingExponent{"×"}
                timeSeparator{":"}
            }
        }
        minimumGroupingDigits{"3"}
        native{"latn"}
    }
    Version{"2.1.15.80"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, y. 'gada' d. MMMM G",
                "y. 'gada' d. MMMM G",
                "y. 'gada' d. MMM G",
                "dd.MM.y GGGGG",
                "{1}, {0}",
                "{1} 'plkst.' {0}",
                "{1} 'plkst.' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Ed{"E, d."}
                Gy{"y. 'g'. G"}
                GyMMM{"y. 'g'. MMM G"}
                GyMMMEd{"E, y. 'g'. d. MMM G"}
                GyMMMd{"y. 'g'. d. MMM G"}
                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"}
                ms{"mm:ss"}
                y{"y. 'g'. G"}
                yyyy{"y. 'g'. G"}
                yyyyM{"MM.y. G"}
                yyyyMEd{"E, d.M.y. G"}
                yyyyMMM{"y. 'g'. MMM G"}
                yyyyMMMEd{"E, y. 'g'. d. MMM G"}
                yyyyMMMM{"y. 'g'. MMMM G"}
                yyyyMMMd{"y. 'g'. d. MMM G"}
                yyyyMd{"d.MM.y. G"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"y. 'gada' QQQQ G"}
            }
            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{"MMM–MMM"}
                }
                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. G"}
                }
                yM{
                    M{"MM.y.–MM.y. GGGGG"}
                    y{"MM.y.–MM.y. GGGGG"}
                }
                yMEd{
                    M{"E, dd.MM.y.–E, dd.MM.y. GGGGG"}
                    d{"E, dd.MM.y.–E, dd.MM.y. GGGGG"}
                    y{"E, dd.MM.y.–E, dd.MM.y. GGGGG"}
                }
                yMMM{
                    M{"y. 'gada' MMM–MMM G"}
                    y{"y. 'gada' MMM–y. 'gada' MMM G"}
                }
                yMMMEd{
                    M{"E, y. 'gada' d. MMM–E, y. 'gada' d. MMM G"}
                    d{"E, y. 'gada' d. MMM–E, y. 'gada' d. MMM G"}
                    y{"E, y. 'gada' d. MMM–E, y. 'gada' d. MMM G"}
                }
                yMMMM{
                    M{"y. 'gada' MMMM–MMMM G"}
                    y{"y. 'gada' MMMM–y. 'gada' MMMM G"}
                }
                yMMMd{
                    M{"y. 'gada' d. MMM–d. MMM G"}
                    d{"y. 'gada' d.–d. MMM G"}
                    y{"y. 'gada' d. MMM–y. 'gada' d. MMM G"}
                }
                yMd{
                    M{"dd.MM.y.–dd.MM.y. GGGGG"}
                    d{"dd.MM.y.–dd.MM.y. GGGGG"}
                    y{"dd.MM.y.–dd.MM.y. GGGGG"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "priekšpusdienā",
                "pēcpusdienā",
            }
            AmPmMarkersNarrow{
                "priekšp.",
                "pēcp.",
            }
            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}",
            }
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                E{"ccc"}
                EHm{"E, HH:mm"}
                EHms{"E, HH:mm:ss"}
                Ed{"E, d."}
                Ehm{"E, h:mm a"}
                Ehms{"E, h:mm:ss a"}
                Gy{"G y. 'g'."}
                GyMMM{"G y. 'g'. MMM"}
                GyMMMEd{"E, G y. 'g'. d. MMM"}
                GyMMMd{"G y. 'g'. d. MMM"}
                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.y."}
                yMEd{"E, d.M.y."}
                yMMM{"y. 'g'. MMM"}
                yMMMEd{"E, y. 'g'. d. MMM"}
                yMMMM{"y. 'g'. MMMM"}
                yMMMd{"y. 'g'. d. MMM"}
                yMd{"d.M.y."}
                yQQQ{"y. 'g'. QQQ"}
                yQQQQ{"y. 'g'. QQQQ"}
            }
            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",
                        "Pr",
                        "Ot",
                        "Tr",
                        "Ce",
                        "Pk",
                        "Se",
                    }
                    wide{
                        "Svētdiena",
                        "Pirmdiena",
                        "Otrdiena",
                        "Trešdiena",
                        "Ceturtdiena",
                        "Piektdiena",
                        "Sestdiena",
                    }
                }
            }
            dayPeriod{
                format{
                    narrow{
                        noon{"pusd."}
                    }
                    wide{
                        noon{"pusdienlaikā"}
                    }
                }
                stand-alone{
                    wide{
                        afternoon1{"pēcpusdiena"}
                        evening1{"vakars"}
                        midnight{"pusnakts"}
                        morning1{"rīts"}
                        night1{"nakts"}
                        noon{"pusdienlaiks"}
                    }
                }
            }
            eras{
                abbreviated{
                    "p.m.ē.",
                    "m.ē.",
                }
                narrow{
                    "p.m.ē.",
                    "m.ē.",
                }
                wide{
                    "pirms mūsu ēras",
                    "mūsu ērā",
                }
            }
            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.y.–MM.y."}
                    y{"MM.y.–MM.y."}
                }
                yMEd{
                    M{"E, dd.MM.y. – E, dd.MM.y."}
                    d{"E, dd.MM.y. – E, dd.MM.y."}
                    y{"E, dd.MM.y. – E, dd.MM.y."}
                }
                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{"y. 'gada' MMMM–MMMM"}
                    y{"y. 'gada' MMMM – y. 'gada' MMMM"}
                }
                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.y.–dd.MM.y."}
                    d{"dd.MM.y.–dd.MM.y."}
                    y{"dd.MM.y.–dd.MM.y."}
                }
            }
            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{
                        "1. cet.",
                        "2. cet.",
                        "3. cet.",
                        "4. cet.",
                    }
                    narrow{
                        "1.",
                        "2.",
                        "3.",
                        "4.",
                    }
                    wide{
                        "1. ceturksnis",
                        "2. ceturksnis",
                        "3. ceturksnis",
                        "4. ceturksnis",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1. cet.",
                        "2. cet.",
                        "3. cet.",
                        "4. cet.",
                    }
                    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{"“"}
    }
    fields{
        day{
            dn{"diena"}
            relative{
                "-1"{"vakar"}
                "-2"{"aizvakar"}
                "0"{"šodien"}
                "1"{"rīt"}
                "2"{"parīt"}
            }
            relativeTime{
                future{
                    one{"pēc {0} dienas"}
                    other{"pēc {0} dienām"}
                    zero{"pēc {0} dienām"}
                }
                past{
                    one{"pirms {0} dienas"}
                    other{"pirms {0} dienām"}
                    zero{"pirms {0} dienām"}
                }
            }
        }
        day-narrow{
            dn{"d."}
            relativeTime{
                future{
                    one{"pēc {0} d."}
                    other{"pēc {0} d."}
                    zero{"pēc {0} d."}
                }
                past{
                    one{"pirms {0} d."}
                    other{"pirms {0} d."}
                    zero{"pirms {0} d."}
                }
            }
        }
        day-short{
            dn{"d."}
            relativeTime{
                future{
                    one{"pēc {0} d."}
                    other{"pēc {0} d."}
                    zero{"pēc {0} d."}
                }
                past{
                    one{"pirms {0} d."}
                    other{"pirms {0} d."}
                    zero{"pirms {0} d."}
                }
            }
        }
        dayperiod{
            dn{"Priekšpusdienā/pēcpusdienā"}
        }
        era{
            dn{"Ēra"}
        }
        fri{
            relative{
                "-1"{"pagājušajā piektdienā"}
                "0"{"šajā piektdienā"}
                "1"{"nākamajā piektdienā"}
            }
        }
        fri-narrow{
            relative{
                "-1"{"pag. piektd."}
                "0"{"šajā piektd."}
                "1"{"nāk. piektd."}
            }
        }
        fri-short{
            relative{
                "-1"{"pag. piektd."}
                "0"{"šajā piektd."}
                "1"{"nāk. piektd."}
            }
        }
        hour{
            dn{"Stundas"}
            relativeTime{
                future{
                    one{"pēc {0} stundas"}
                    other{"pēc {0} stundām"}
                    zero{"pēc {0} stundām"}
                }
                past{
                    one{"pirms {0} stundas"}
                    other{"pirms {0} stundām"}
                    zero{"pirms {0} stundām"}
                }
            }
        }
        hour-narrow{
            dn{"h"}
            relativeTime{
                future{
                    one{"pēc {0} h"}
                    other{"pēc {0} h"}
                    zero{"pēc {0} h"}
                }
                past{
                    one{"pirms {0} h"}
                    other{"pirms {0} h"}
                    zero{"pirms {0} h"}
                }
            }
        }
        hour-short{
            dn{"st."}
            relativeTime{
                future{
                    one{"pēc {0} st."}
                    other{"pēc {0} st."}
                    zero{"pēc {0} st."}
                }
                past{
                    one{"pirms {0} st."}
                    other{"pirms {0} st."}
                    zero{"pirms {0} st."}
                }
            }
        }
        minute{
            dn{"Minūtes"}
            relativeTime{
                future{
                    one{"pēc {0} minūtes"}
                    other{"pēc {0} minūtēm"}
                    zero{"pēc {0} minūtēm"}
                }
                past{
                    one{"pirms {0} minūtes"}
                    other{"pirms {0} minūtēm"}
                    zero{"pirms {0} minūtēm"}
                }
            }
        }
        minute-narrow{
            dn{"min"}
            relativeTime{
                future{
                    one{"pēc {0} min"}
                    other{"pēc {0} min"}
                    zero{"pēc {0} min"}
                }
                past{
                    one{"pirms {0} min"}
                    other{"pirms {0} min"}
                    zero{"pirms {0} min"}
                }
            }
        }
        minute-short{
            dn{"min."}
            relativeTime{
                future{
                    one{"pēc {0} min."}
                    other{"pēc {0} min."}
                    zero{"pēc {0} min."}
                }
                past{
                    one{"pirms {0} min."}
                    other{"pirms {0} min."}
                    zero{"pirms {0} min."}
                }
            }
        }
        mon{
            relative{
                "-1"{"pagājušajā pirmdienā"}
                "0"{"šajā pirmdienā"}
                "1"{"nākamajā pirmdienā"}
            }
        }
        mon-narrow{
            relative{
                "-1"{"pag. pirmd."}
                "0"{"šajā pirmd."}
                "1"{"nāk. pirmd."}
            }
        }
        mon-short{
            relative{
                "-1"{"pag. pirmd."}
                "0"{"šajā pirmd."}
                "1"{"nāk. pirmd."}
            }
        }
        month{
            dn{"Mēnesis"}
            relative{
                "-1"{"pagājušajā mēnesī"}
                "0"{"šajā mēnesī"}
                "1"{"nākamajā mēnesī"}
            }
            relativeTime{
                future{
                    one{"pēc {0} mēneša"}
                    other{"pēc {0} mēnešiem"}
                    zero{"pēc {0} mēnešiem"}
                }
                past{
                    one{"pirms {0} mēneša"}
                    other{"pirms {0} mēnešiem"}
                    zero{"pirms {0} mēnešiem"}
                }
            }
        }
        month-narrow{
            dn{"mēn."}
            relativeTime{
                future{
                    one{"pēc {0} mēn."}
                    other{"pēc {0} mēn."}
                    zero{"pēc {0} mēn."}
                }
                past{
                    one{"pirms {0} mēn."}
                    other{"pirms {0} mēn."}
                    zero{"pirms {0} mēn."}
                }
            }
        }
        month-short{
            dn{"mēn."}
            relativeTime{
                future{
                    one{"pēc {0} mēn."}
                    other{"pēc {0} mēn."}
                    zero{"pēc {0} mēn."}
                }
                past{
                    one{"pirms {0} mēn."}
                    other{"pirms {0} mēn."}
                    zero{"pirms {0} mēn."}
                }
            }
        }
        quarter{
            dn{"ceturksnis"}
            relativeTime{
                future{
                    one{"pēc {0} ceturkšņa"}
                    other{"pēc {0} ceturkšņiem"}
                    zero{"pēc {0} ceturkšņiem"}
                }
                past{
                    one{"pirms {0} ceturkšņa"}
                    other{"pirms {0} ceturkšņiem"}
                    zero{"pirms {0} ceturkšņiem"}
                }
            }
        }
        quarter-narrow{
            dn{"cet."}
            relativeTime{
                future{
                    one{"pēc {0} cet."}
                    other{"pēc {0} cet."}
                    zero{"pēc {0} cet."}
                }
                past{
                    one{"pirms {0} cet."}
                    other{"pirms {0} cet."}
                    zero{"pirms {0} cet."}
                }
            }
        }
        quarter-short{
            dn{"cet."}
            relativeTime{
                future{
                    one{"pēc {0} cet."}
                    other{"pēc {0} cet."}
                    zero{"pēc {0} cet."}
                }
                past{
                    one{"pirms {0} cet."}
                    other{"pirms {0} cet."}
                    zero{"pirms {0} cet."}
                }
            }
        }
        sat{
            relative{
                "-1"{"pagājušajā sestdienā"}
                "0"{"šajā sestdienā"}
                "1"{"nākamajā sestdienā"}
            }
        }
        sat-narrow{
            relative{
                "-1"{"pag. sestd."}
                "0"{"šajā sestd."}
                "1"{"nāk. sestd."}
            }
        }
        sat-short{
            relative{
                "-1"{"pag. sestd."}
                "0"{"šajā sestd."}
                "1"{"nāk. sestd."}
            }
        }
        second{
            dn{"Sekundes"}
            relative{
                "0"{"tagad"}
            }
            relativeTime{
                future{
                    one{"pēc {0} sekundes"}
                    other{"pēc {0} sekundēm"}
                    zero{"pēc {0} sekundēm"}
                }
                past{
                    one{"pirms {0} sekundes"}
                    other{"pirms {0} sekundēm"}
                    zero{"pirms {0} sekundēm"}
                }
            }
        }
        second-narrow{
            dn{"s"}
            relativeTime{
                future{
                    one{"pēc {0} s"}
                    other{"pēc {0} s"}
                    zero{"pēc {0} s"}
                }
                past{
                    one{"pirms {0} s"}
                    other{"pirms {0} s"}
                    zero{"pirms {0} s"}
                }
            }
        }
        second-short{
            dn{"sek."}
            relativeTime{
                future{
                    one{"pēc {0} sek."}
                    other{"pēc {0} sek."}
                    zero{"pēc {0} sek."}
                }
                past{
                    one{"pirms {0} sek."}
                    other{"pirms {0} sek."}
                    zero{"pirms {0} sek."}
                }
            }
        }
        sun{
            relative{
                "-1"{"pagājušajā svētdienā"}
                "0"{"šajā svētdienā"}
                "1"{"nākamajā svētdienā"}
            }
        }
        sun-narrow{
            relative{
                "-1"{"pag. svētd."}
                "0"{"šajā svētd."}
                "1"{"nāk. svētd."}
            }
        }
        sun-short{
            relative{
                "-1"{"pag. svētd."}
                "0"{"šajā svētd."}
                "1"{"nāk. svētd."}
            }
        }
        thu{
            relative{
                "-1"{"pagājušajā ceturtdienā"}
                "0"{"šajā ceturtdienā"}
                "1"{"nākamajā ceturtdienā"}
            }
        }
        thu-narrow{
            relative{
                "-1"{"pag. ceturtd."}
                "0"{"šajā ceturtd."}
                "1"{"nāk. ceturtd."}
            }
        }
        thu-short{
            relative{
                "-1"{"pag. ceturtd."}
                "0"{"šajā ceturtd."}
                "1"{"nāk. ceturtd."}
            }
        }
        tue{
            relative{
                "-1"{"pagājušajā otrdienā"}
                "0"{"šajā otrdienā"}
                "1"{"nākamajā otrdienā"}
            }
        }
        tue-narrow{
            relative{
                "-1"{"pag. otrd."}
                "0"{"šajā otrd."}
                "1"{"nāk. otrd."}
            }
        }
        tue-short{
            relative{
                "-1"{"pag. otrd."}
                "0"{"šajā otrd."}
                "1"{"nāk. otrd."}
            }
        }
        wed{
            relative{
                "-1"{"pagājušajā trešdienā"}
                "0"{"šajā trešdienā"}
                "1"{"nākamajā trešdienā"}
            }
        }
        wed-narrow{
            relative{
                "-1"{"pag. trešd."}
                "0"{"šajā trešd."}
                "1"{"nāk. trešd."}
            }
        }
        wed-short{
            relative{
                "-1"{"pag. trešd."}
                "0"{"šajā trešd."}
                "1"{"nāk. trešd."}
            }
        }
        week{
            dn{"nedēļa"}
            relative{
                "-1"{"pagājušajā nedēļā"}
                "0"{"šajā nedēļā"}
                "1"{"nākamajā nedēļā"}
            }
            relativeTime{
                future{
                    one{"pēc {0} nedēļas"}
                    other{"pēc {0} nedēļām"}
                    zero{"pēc {0} nedēļām"}
                }
                past{
                    one{"pirms {0} nedēļas"}
                    other{"pirms {0} nedēļām"}
                    zero{"pirms {0} nedēļām"}
                }
            }
        }
        week-narrow{
            dn{"ned."}
            relativeTime{
                future{
                    one{"pēc {0} ned."}
                    other{"pēc {0} ned."}
                    zero{"pēc {0} ned."}
                }
                past{
                    one{"pirms {0} ned."}
                    other{"pirms {0} ned."}
                    zero{"pirms {0} ned."}
                }
            }
        }
        week-short{
            dn{"ned."}
            relativeTime{
                future{
                    one{"pēc {0} ned."}
                    other{"pēc {0} ned."}
                    zero{"pēc {0} ned."}
                }
                past{
                    one{"pirms {0} ned."}
                    other{"pirms {0} ned."}
                    zero{"pirms {0} ned."}
                }
            }
        }
        weekday{
            dn{"nedēļas diena"}
        }
        year{
            dn{"Gads"}
            relative{
                "-1"{"pagājušajā gadā"}
                "0"{"šajā gadā"}
                "1"{"nākamajā gadā"}
            }
            relativeTime{
                future{
                    one{"pēc {0} gada"}
                    other{"pēc {0} gadiem"}
                    zero{"pēc {0} gadiem"}
                }
                past{
                    one{"pirms {0} gada"}
                    other{"pirms {0} gadiem"}
                    zero{"pirms {0} gadiem"}
                }
            }
        }
        year-narrow{
            dn{"g."}
            relativeTime{
                future{
                    one{"pēc {0} g."}
                    other{"pēc {0} g."}
                    zero{"pēc {0} g."}
                }
                past{
                    one{"pirms {0} g."}
                    other{"pirms {0} g."}
                    zero{"pirms {0} g."}
                }
            }
        }
        year-short{
            dn{"g."}
            relativeTime{
                future{
                    one{"pēc {0} g."}
                    other{"pēc {0} g."}
                    zero{"pēc {0} g."}
                }
                past{
                    one{"pirms {0} g."}
                    other{"pirms {0} g."}
                    zero{"pirms {0} g."}
                }
            }
        }
        zone{
            dn{"Laika josla"}
        }
    }
    listPattern{
        standard{
            2{"{0} un {1}"}
            end{"{0} un {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} un {1}"}
            end{"{0} un {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0} {1}"}
            end{"{0} {1}"}
            middle{"{0} {1}"}
            start{"{0} {1}"}
        }
        unit-short{
            2{"{0} un {1}"}
            end{"{0} un {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"angļu"}
        US{"amerikāņu"}
        metric{"metriskā"}
    }
    transformNames{
        BGN{"BGN"}
        Numeric{"Ciparu"}
        Tone{"Intonācija"}
        UNGEGN{"UNGEGN"}
        x-Accents{"Diakritiskās zīmes"}
        x-Fullwidth{"Pilna platuma"}
        x-Halfwidth{"Pusplatuma"}
        x-Jamo{"Džamo"}
        x-Pinyin{"Piņjiņ"}
        x-Publishing{"Izdevējdarbība"}
    }
}
