﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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{
    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 “ ” „ ( ) \\[ \\] § @ * / \\& # † "
        "‡ ′ ″]"
    }
    LocaleScript{
        "Latn",
    }
    MoreInformation{"?"}
    NumberElements{
        latn{
            miscPatterns{
                atLeast{"{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{"·"}
            }
        }
    }
    Version{"2.0.99.67"}
    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ā",
            }
            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{
                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{"QQQ y"}
                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",
                    }
                }
            }
            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{
                        "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{"“"}
    }
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    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"}
                }
            }
        }
        dayperiod{
            dn{"Priekšpusdienā/pēcpusdienā"}
        }
        era{
            dn{"Ēra"}
        }
        fri{
            relative{
                "-1"{"pagājušajā piektdienā"}
                "0"{"šopiektdien"}
                "1"{"nākamajā piektdienā"}
            }
        }
        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"}
                }
            }
        }
        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"}
                }
            }
        }
        mon{
            relative{
                "-1"{"pagājušajā pirmdienā"}
                "0"{"šopirmdien"}
                "1"{"nākampirmdien"}
            }
        }
        month{
            dn{"Mēnesis"}
            relative{
                "-1"{"pagājušajā mēnesī"}
                "0"{"šomēnes"}
                "1"{"nākammē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"}
                }
            }
        }
        sat{
            relative{
                "-1"{"pagājušajā sestdienā"}
                "0"{"šosestdien"}
                "1"{"nākamajā sestdienā"}
            }
        }
        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"}
                }
            }
        }
        sun{
            relative{
                "-1"{"pagājušajā svētdienā"}
                "0"{"šosvētdien"}
                "1"{"nākamsvētdien"}
            }
        }
        thu{
            relative{
                "-1"{"pagājušajā ceturtdienā"}
                "0"{"šoceturtdien"}
                "1"{"nākamajā ceturtdienā"}
            }
        }
        tue{
            relative{
                "-1"{"pagājušajā otrdienā"}
                "0"{"šootrdien"}
                "1"{"nākamajā otrdienā"}
            }
        }
        wed{
            relative{
                "-1"{"pagājušajā trešdienā"}
                "0"{"šotrešdien"}
                "1"{"nākamajā trešdienā"}
            }
        }
        week{
            dn{"Nedēļa"}
            relative{
                "-1"{"pagājušajā nedēļā"}
                "0"{"šonedēļ"}
                "1"{"nākamnedēļ"}
            }
            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"}
                }
            }
        }
        weekday{
            dn{"Nedēļas diena"}
        }
        year{
            dn{"Gads"}
            relative{
                "-1"{"pagājušajā gadā"}
                "0"{"šogad"}
                "1"{"nākamgad"}
            }
            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"}
                }
            }
        }
        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"}
    }
    units{
        acceleration{
            g-force{
                one{"Brīvās krišanas paātrinājums: {0}"}
                other{"Brīvās krišanas paātrinājums: {0}"}
                zero{"Brīvās krišanas paātrinājums: {0}"}
            }
        }
        angle{
            arc-minute{
                one{"{0} minūte"}
                other{"{0} minūtes"}
                zero{"{0} minūtes"}
            }
            arc-second{
                one{"{0} sekunde"}
                other{"{0} sekundes"}
                zero{"{0} sekundes"}
            }
            degree{
                one{"{0} grāds"}
                other{"{0} grādi"}
                zero{"{0} grādi"}
            }
        }
        area{
            acre{
                one{"{0} akrs"}
                other{"{0} akri"}
                zero{"{0} akri"}
            }
            hectare{
                one{"{0} hektārs"}
                other{"{0} hektāri"}
                zero{"{0} hektāri"}
            }
            square-foot{
                one{"{0} kvadrātpēda"}
                other{"{0} kvadrātpēdas"}
                zero{"{0} kvadrātpēdas"}
            }
            square-kilometer{
                one{"{0} kvadrātkilometrs"}
                other{"{0} kvadrātkilometri"}
                zero{"{0} kvadrātkilometri"}
            }
            square-meter{
                one{"{0} kvadrātmetrs"}
                other{"{0} kvadrātmetri"}
                zero{"{0} kvadrātmetri"}
            }
            square-mile{
                one{"{0} kvadrātjūdze"}
                other{"{0} kvadrātjūdzes"}
                zero{"{0} kvadrātjūdzes"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0} diena"}
                other{"{0} dienas"}
                zero{"{0} dienas"}
            }
            hour{
                one{"{0} stunda"}
                other{"{0} stundas"}
                zero{"{0} stundas"}
            }
            millisecond{
                one{"{0} milisekunde"}
                other{"{0} milisekundes"}
                zero{"{0} milisekundes"}
            }
            minute{
                one{"{0} minūte"}
                other{"{0} minūtes"}
                zero{"{0} minūtes"}
            }
            month{
                one{"{0} mēnesis"}
                other{"{0} mēneši"}
                zero{"{0} mēneši"}
            }
            second{
                one{"{0} sekunde"}
                other{"{0} sekundes"}
                zero{"{0} sekundes"}
            }
            week{
                one{"{0} nedēļa"}
                other{"{0} nedēļas"}
                zero{"{0} nedēļas"}
            }
            year{
                one{"{0} gads"}
                other{"{0} gadi"}
                zero{"{0} gadi"}
            }
        }
        length{
            centimeter{
                one{"{0} centimetrs"}
                other{"{0} centimetri"}
                zero{"{0} centimetri"}
            }
            foot{
                one{"{0} pēda"}
                other{"{0} pēdas"}
                zero{"{0} pēdas"}
            }
            inch{
                one{"{0} colla"}
                other{"{0} collas"}
                zero{"{0} collas"}
            }
            kilometer{
                one{"{0} kilometrs"}
                other{"{0} kilometri"}
                zero{"{0} kilometri"}
            }
            light-year{
                one{"{0} gaismas gads"}
                other{"{0} gaismas gadi"}
                zero{"{0} gaismas gadi"}
            }
            meter{
                one{"{0} metrs"}
                other{"{0} metri"}
                zero{"{0} metri"}
            }
            mile{
                one{"{0} jūdze"}
                other{"{0} jūdzes"}
                zero{"{0} jūdzes"}
            }
            millimeter{
                one{"{0} milimetrs"}
                other{"{0} milimetri"}
                zero{"{0} milimetri"}
            }
            picometer{
                one{"{0} pikometrs"}
                other{"{0} pikometri"}
                zero{"{0} pikometri"}
            }
            yard{
                one{"{0} jards"}
                other{"{0} jardi"}
                zero{"{0} jardi"}
            }
        }
        mass{
            gram{
                one{"{0} grams"}
                other{"{0} grami"}
                zero{"{0} grami"}
            }
            kilogram{
                one{"{0} kilograms"}
                other{"{0} kilogrami"}
                zero{"{0} kilogrami"}
            }
            ounce{
                one{"{0} unce"}
                other{"{0} unces"}
                zero{"{0} unces"}
            }
            pound{
                one{"{0} mārciņa"}
                other{"{0} mārciņas"}
                zero{"{0} mārciņas"}
            }
        }
        power{
            horsepower{
                one{"{0} zirgspēks"}
                other{"{0} zirgspēki"}
                zero{"{0} zirgspēki"}
            }
            kilowatt{
                one{"{0} kilovats"}
                other{"{0} kilovati"}
                zero{"{0} kilovati"}
            }
            watt{
                one{"{0} vats"}
                other{"{0} vati"}
                zero{"{0} vati"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} hektopaskāls"}
                other{"{0} hektopaskāli"}
                zero{"{0} hektopaskāli"}
            }
            inch-hg{
                one{"{0} dzīvsudraba staba colla"}
                other{"{0} dzīvsudraba staba collas"}
                zero{"{0} dzīvsudraba staba collas"}
            }
            millibar{
                one{"{0} milibārs"}
                other{"{0} milibāri"}
                zero{"{0} milibāri"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} kilometrs stundā"}
                other{"{0} kilometri stundā"}
                zero{"{0} kilometri stundā"}
            }
            meter-per-second{
                one{"{0} metrs sekundē"}
                other{"{0} metri sekundē"}
                zero{"{0} metri sekundē"}
            }
            mile-per-hour{
                one{"{0} jūdze stundā"}
                other{"{0} jūdzes stundā"}
                zero{"{0} jūdzes stundā"}
            }
        }
        temperature{
            celsius{
                one{"{0} Celsija grāds"}
                other{"{0} Celsija grādi"}
                zero{"{0} Celsija grādi"}
            }
            fahrenheit{
                one{"{0} Fārenheita grāds"}
                other{"{0} Fārenheita grādi"}
                zero{"{0} Fārenheita grādi"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} kubikkilometrs"}
                other{"{0} kubikkilometri"}
                zero{"{0} kubikkilometri"}
            }
            cubic-mile{
                one{"{0} kubikjūdze"}
                other{"{0} kubikjūdzes"}
                zero{"{0} kubikjūdzes"}
            }
            liter{
                one{"{0} litrs"}
                other{"{0} litri"}
                zero{"{0} litri"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"{0}G"}
                other{"{0}G"}
                zero{"{0}G"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
                zero{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
                zero{"{0}″"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
                zero{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0}ac"}
                other{"{0}ac"}
                zero{"{0}ac"}
            }
            hectare{
                one{"{0}ha"}
                other{"{0}ha"}
                zero{"{0}ha"}
            }
            square-foot{
                one{"{0}ft²"}
                other{"{0}ft²"}
                zero{"{0}ft²"}
            }
            square-kilometer{
                one{"{0}km²"}
                other{"{0}km²"}
                zero{"{0}km²"}
            }
            square-meter{
                one{"{0}m²"}
                other{"{0}m²"}
                zero{"{0}m²"}
            }
            square-mile{
                one{"{0}mi²"}
                other{"{0}mi²"}
                zero{"{0}mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0}d"}
                other{"{0}d"}
                zero{"{0}d"}
            }
            hour{
                one{"{0}h"}
                other{"{0}h"}
                zero{"{0}h"}
            }
            millisecond{
                one{"{0}ms"}
                other{"{0}ms"}
                zero{"{0}ms"}
            }
            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."}
            }
        }
        length{
            centimeter{
                one{"{0}cm"}
                other{"{0}cm"}
                zero{"{0}cm"}
            }
            foot{
                one{"{0}ft"}
                other{"{0}ft"}
                zero{"{0}ft"}
            }
            inch{
                one{"{0}in"}
                other{"{0}in"}
                zero{"{0}in"}
            }
            kilometer{
                one{"{0}km"}
                other{"{0}km"}
                zero{"{0}km"}
            }
            light-year{
                one{"{0}ly"}
                other{"{0}ly"}
                zero{"{0}ly"}
            }
            meter{
                one{"{0}m"}
                other{"{0}m"}
                zero{"{0}m"}
            }
            mile{
                one{"{0}mi"}
                other{"{0}mi"}
                zero{"{0}mi"}
            }
            millimeter{
                one{"{0}mm"}
                other{"{0}mm"}
                zero{"{0}mm"}
            }
            picometer{
                one{"{0}pm"}
                other{"{0}pm"}
                zero{"{0}pm"}
            }
            yard{
                one{"{0}yd"}
                other{"{0}yd"}
                zero{"{0}yd"}
            }
        }
        mass{
            gram{
                one{"{0}g"}
                other{"{0}g"}
                zero{"{0}g"}
            }
            kilogram{
                one{"{0}kg"}
                other{"{0}kg"}
                zero{"{0}kg"}
            }
            ounce{
                one{"{0}oz"}
                other{"{0}oz"}
                zero{"{0}oz"}
            }
            pound{
                one{"{0}lb"}
                other{"{0}lb"}
                zero{"{0}lb"}
            }
        }
        power{
            horsepower{
                one{"{0} ZS"}
                other{"{0} ZS"}
                zero{"{0} ZS"}
            }
            kilowatt{
                one{"{0}kW"}
                other{"{0}kW"}
                zero{"{0}kW"}
            }
            watt{
                one{"{0}W"}
                other{"{0}W"}
                zero{"{0}W"}
            }
        }
        pressure{
            hectopascal{
                one{"{0}hPa"}
                other{"{0}hPa"}
                zero{"{0}hPa"}
            }
            inch-hg{
                one{"{0}inHg"}
                other{"{0}inHg"}
                zero{"{0}inHg"}
            }
            millibar{
                one{"{0}mbar"}
                other{"{0}mbar"}
                zero{"{0}mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0}km/h"}
                other{"{0}km/h"}
                zero{"{0}km/h"}
            }
            meter-per-second{
                one{"{0}m/s"}
                other{"{0}m/s"}
                zero{"{0}m/s"}
            }
            mile-per-hour{
                one{"{0}mi/h"}
                other{"{0}mi/h"}
                zero{"{0}mi/h"}
            }
        }
        temperature{
            celsius{
                one{"{0}°"}
                other{"{0}°"}
                zero{"{0}°"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
                zero{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0}km³"}
                other{"{0}km³"}
                zero{"{0}km³"}
            }
            cubic-mile{
                one{"{0}mi³"}
                other{"{0}mi³"}
                zero{"{0}mi³"}
            }
            liter{
                one{"{0}l"}
                other{"{0}l"}
                zero{"{0}l"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                one{"{0} G"}
                other{"{0} G"}
                zero{"{0} G"}
            }
        }
        angle{
            arc-minute{
                one{"{0} min"}
                other{"{0} min"}
                zero{"{0} min"}
            }
            arc-second{
                one{"{0} s"}
                other{"{0} s"}
                zero{"{0} s"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
                zero{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0} ac"}
                other{"{0} ac"}
                zero{"{0} ac"}
            }
            hectare{
                one{"{0} ha"}
                other{"{0} ha"}
                zero{"{0} ha"}
            }
            square-foot{
                one{"{0} ft²"}
                other{"{0} ft²"}
                zero{"{0} ft²"}
            }
            square-kilometer{
                one{"{0} km²"}
                other{"{0} km²"}
                zero{"{0} km²"}
            }
            square-meter{
                one{"{0} m²"}
                other{"{0} m²"}
                zero{"{0} m²"}
            }
            square-mile{
                one{"{0} mi²"}
                other{"{0} mi²"}
                zero{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0} d"}
                other{"{0} d"}
                zero{"{0} d"}
            }
            hour{
                one{"{0} h"}
                other{"{0} h"}
                zero{"{0} h"}
            }
            millisecond{
                one{"{0} ms"}
                other{"{0} ms"}
                zero{"{0} ms"}
            }
            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."}
            }
        }
        length{
            centimeter{
                one{"{0} cm"}
                other{"{0} cm"}
                zero{"{0} cm"}
            }
            foot{
                one{"{0} ft"}
                other{"{0} ft"}
                zero{"{0} ft"}
            }
            inch{
                one{"{0} in"}
                other{"{0} in"}
                zero{"{0} in"}
            }
            kilometer{
                one{"{0} km"}
                other{"{0} km"}
                zero{"{0} km"}
            }
            light-year{
                one{"{0} ly"}
                other{"{0} ly"}
                zero{"{0} ly"}
            }
            meter{
                one{"{0} m"}
                other{"{0} m"}
                zero{"{0} m"}
            }
            mile{
                one{"{0} mi"}
                other{"{0} mi"}
                zero{"{0} mi"}
            }
            millimeter{
                one{"{0} mm"}
                other{"{0} mm"}
                zero{"{0} mm"}
            }
            picometer{
                one{"{0} pm"}
                other{"{0} pm"}
                zero{"{0} pm"}
            }
            yard{
                one{"{0} yd"}
                other{"{0} yd"}
                zero{"{0} yd"}
            }
        }
        mass{
            gram{
                one{"{0} g"}
                other{"{0} g"}
                zero{"{0} g"}
            }
            kilogram{
                one{"{0} kg"}
                other{"{0} kg"}
                zero{"{0} kg"}
            }
            ounce{
                one{"{0} oz"}
                other{"{0} oz"}
                zero{"{0} oz"}
            }
            pound{
                one{"{0} lb"}
                other{"{0} lb"}
                zero{"{0} lb"}
            }
        }
        power{
            horsepower{
                one{"{0} ZS"}
                other{"{0} ZS"}
                zero{"{0} ZS"}
            }
            kilowatt{
                one{"{0} kW"}
                other{"{0} kW"}
                zero{"{0} kW"}
            }
            watt{
                one{"{0} W"}
                other{"{0} W"}
                zero{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} hPa"}
                other{"{0} hPa"}
                zero{"{0} hPa"}
            }
            inch-hg{
                one{"{0} inHg"}
                other{"{0} inHg"}
                zero{"{0} inHg"}
            }
            millibar{
                one{"{0} mbar"}
                other{"{0} mbar"}
                zero{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} km/h"}
                other{"{0} km/h"}
                zero{"{0} km/h"}
            }
            meter-per-second{
                one{"{0} m/s"}
                other{"{0} m/s"}
                zero{"{0} m/s"}
            }
            mile-per-hour{
                one{"{0} mi/h"}
                other{"{0} mi/h"}
                zero{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                one{"{0} °C"}
                other{"{0} °C"}
                zero{"{0} °C"}
            }
            fahrenheit{
                one{"{0} °F"}
                other{"{0} °F"}
                zero{"{0} °F"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} km³"}
                other{"{0} km³"}
                zero{"{0} km³"}
            }
            cubic-mile{
                one{"{0} mi³"}
                other{"{0} mi³"}
                zero{"{0} mi³"}
            }
            liter{
                one{"{0} l"}
                other{"{0} l"}
                zero{"{0} l"}
            }
        }
    }
}
