﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/lb.xml
// *
// ***************************************************************************
lb{
    AuxExemplarCharacters{
        "[á à ă â å ã ā æ ç è ĕ ê ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ö ø ō œ ş ß ú ù ŭ û ü"
        " ū ÿ]"
    }
    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 q r s t u v w x y 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{
        "[\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \u0022 “ „ « » ( ) \\[ \\] \\{ \\} § @ * / "
        "\\& #]"
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        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 Dausend"}
                        other{"0 Dausend"}
                    }
                    10000{
                        one{"00 Dausend"}
                        other{"00 Dausend"}
                    }
                    100000{
                        one{"000 Dausend"}
                        other{"000 Dausend"}
                    }
                    1000000{
                        one{"0 Millioun"}
                        other{"0 Milliounen"}
                    }
                    10000000{
                        one{"00 Milliounen"}
                        other{"00 Milliounen"}
                    }
                    100000000{
                        one{"000 Milliounen"}
                        other{"000 Milliounen"}
                    }
                    1000000000{
                        one{"0 Milliard"}
                        other{"0 Milliarden"}
                    }
                    10000000000{
                        one{"00 Milliarden"}
                        other{"00 Milliarden"}
                    }
                    100000000000{
                        one{"000 Milliarden"}
                        other{"000 Milliarden"}
                    }
                    1000000000000{
                        one{"0 Billioun"}
                        other{"0 Billiounen"}
                    }
                    10000000000000{
                        one{"00 Billiounen"}
                        other{"00 Billiounen"}
                    }
                    100000000000000{
                        one{"000 Billiounen"}
                        other{"000 Billiounen"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0 Dsd'.'"}
                        other{"0 Dsd'.'"}
                    }
                    10000{
                        one{"00 Dsd'.'"}
                        other{"00 Dsd'.'"}
                    }
                    100000{
                        one{"000 Dsd'.'"}
                        other{"000 Dsd'.'"}
                    }
                    1000000{
                        one{"0 Mio'.'"}
                        other{"0 Mio'.'"}
                    }
                    10000000{
                        one{"00 Mio'.'"}
                        other{"00 Mio'.'"}
                    }
                    100000000{
                        one{"000 Mio'.'"}
                        other{"000 Mio'.'"}
                    }
                    1000000000{
                        one{"0 Mrd'.'"}
                        other{"0 Mrd'.'"}
                    }
                    10000000000{
                        one{"00 Mrd'.'"}
                        other{"00 Mrd'.'"}
                    }
                    100000000000{
                        one{"000 Mrd'.'"}
                        other{"000 Mrd'.'"}
                    }
                    1000000000000{
                        one{"0 Bio'.'"}
                        other{"0 Bio'.'"}
                    }
                    10000000000000{
                        one{"00 Bio'.'"}
                        other{"00 Bio'.'"}
                    }
                    100000000000000{
                        one{"000 Bio'.'"}
                        other{"000 Bio'.'"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
                timeSeparator{":"}
            }
        }
        minimumGroupingDigits{"1"}
        native{"latn"}
    }
    Version{"2.1.12.94"}
    calendar{
        buddhist{
            eras{
                abbreviated{
                    "BE",
                }
            }
        }
        chinese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM U",
                "d. MMMM U",
                "dd.MM U",
                "dd.MM.yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            cyclicNameSets{
                zodiacs{
                    format{
                        abbreviated{
                            "Rat",
                            "Ochs",
                            "Tiger",
                            "Kannéngchen",
                            "Draach",
                            "Schlaang",
                            "Päerd",
                            "Geess",
                            "Af",
                            "Hong",
                            "Hond",
                            "Schwäin",
                        }
                    }
                }
            }
        }
        dangi{
            cyclicNameSets{
                zodiacs{
                    format{
                        abbreviated{
                            "Rat",
                            "Ochs",
                            "Tiger",
                            "Kannéngchen",
                            "Draach",
                            "Schlaang",
                            "Päerd",
                            "Geess",
                            "Af",
                            "Hong",
                            "Hond",
                            "Schwäin",
                        }
                    }
                }
            }
        }
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y G",
                "d. MMMM y G",
                "dd.MM.y G",
                "dd.MM.yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d."}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d. MMM y G"}
                GyMMMd{"d. MMM y G"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMd{"d. MMM"}
                Md{"d.M."}
                d{"d"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M.y GGGGG"}
                yyyyMEd{"E, d.M.y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d. MMM y G"}
                yyyyMMMd{"d. MMM y G"}
                yyyyMd{"d.M.y GGGGG"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            intervalFormats{
                M{
                    M{"M.–M."}
                }
                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. – 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}"}
                y{
                    y{"y–y G"}
                }
                yM{
                    M{"MM.y – MM.y G"}
                    y{"MM.y – MM.y G"}
                }
                yMEd{
                    M{"E, dd.MM.y – E, dd.MM.y G"}
                    d{"E, dd.MM.y – E, dd.MM.y G"}
                    y{"E, dd.MM.y – E, dd.MM.y G"}
                }
                yMMM{
                    M{"MMM–MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                yMMMEd{
                    M{"E, d. MMM – E, d. MMM y G"}
                    d{"E, d. – E, d. MMM y G"}
                    y{"E, d. MMM y – E, d. MMM y G"}
                }
                yMMMM{
                    M{"MMMM–MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"d. MMM – d. MMM y G"}
                    d{"d.–d. MMM y G"}
                    y{"d. MMM y – d. MMM y G"}
                }
                yMd{
                    M{"dd.MM.y – dd.MM.y G"}
                    d{"dd.MM.y – dd.MM.y G"}
                    y{"dd.MM.y – dd.MM.y G"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "moies",
                "nomëttes",
            }
            AmPmMarkersNarrow{
                "mo.",
                "nomë.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y",
                "d. MMMM y",
                "d. MMM y",
                "dd.MM.yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            NoonMarker{"mëttes"}
            NoonMarkerNarrow{"më."}
            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{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d. MMM y G"}
                GyMMMd{"d. MMM y G"}
                H{"HH 'Auer'"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMd{"d. MMM"}
                Md{"d.M."}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M.y"}
                yMEd{"E, d.M.y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d. MMM y"}
                yMMMd{"d. MMM y"}
                yMd{"d.M.y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Son.",
                        "Méi.",
                        "Dën.",
                        "Mët.",
                        "Don.",
                        "Fre.",
                        "Sam.",
                    }
                    narrow{
                        "S",
                        "M",
                        "D",
                        "M",
                        "D",
                        "F",
                        "S",
                    }
                    short{
                        "So.",
                        "Mé.",
                        "Dë.",
                        "Më.",
                        "Do.",
                        "Fr.",
                        "Sa.",
                    }
                    wide{
                        "Sonndeg",
                        "Méindeg",
                        "Dënschdeg",
                        "Mëttwoch",
                        "Donneschdeg",
                        "Freideg",
                        "Samschdeg",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Son",
                        "Méi",
                        "Dën",
                        "Mët",
                        "Don",
                        "Fre",
                        "Sam",
                    }
                    narrow{
                        "S",
                        "M",
                        "D",
                        "M",
                        "D",
                        "F",
                        "S",
                    }
                    short{
                        "So.",
                        "Mé.",
                        "Dë.",
                        "Më.",
                        "Do.",
                        "Fr.",
                        "Sa.",
                    }
                    wide{
                        "Sonndeg",
                        "Méindeg",
                        "Dënschdeg",
                        "Mëttwoch",
                        "Donneschdeg",
                        "Freideg",
                        "Samschdeg",
                    }
                }
            }
            eras{
                abbreviated{
                    "v. Chr.",
                    "n. Chr.",
                }
                abbreviated%variant{
                    "v. e. Z.",
                    "n. e. Z.",
                }
                wide{
                    "v. Chr.",
                    "n. Chr.",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH 'Auer'"}
                }
                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 'Auer' v"}
                }
                M{
                    M{"M.–M."}
                }
                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. – 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{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d. MMM – E, d. MMM y"}
                    d{"E, d. – E, d. MMM y"}
                    y{"E, d. MMM y – E, d. MMM y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d. MMM – d. MMM y"}
                    d{"d.–d. MMM y"}
                    y{"d. MMM y – d. MMM y"}
                }
                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{
                        "Jan.",
                        "Feb.",
                        "Mäe.",
                        "Abr.",
                        "Mee",
                        "Juni",
                        "Juli",
                        "Aug.",
                        "Sep.",
                        "Okt.",
                        "Nov.",
                        "Dez.",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Januar",
                        "Februar",
                        "Mäerz",
                        "Abrëll",
                        "Mee",
                        "Juni",
                        "Juli",
                        "August",
                        "September",
                        "Oktober",
                        "November",
                        "Dezember",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mäe",
                        "Abr",
                        "Mee",
                        "Jun",
                        "Jul",
                        "Aug",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dez",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Januar",
                        "Februar",
                        "Mäerz",
                        "Abrëll",
                        "Mee",
                        "Juni",
                        "Juli",
                        "August",
                        "September",
                        "Oktober",
                        "November",
                        "Dezember",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. Quartal",
                        "2. Quartal",
                        "3. Quartal",
                        "4. Quartal",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. Quartal",
                        "2. Quartal",
                        "3. Quartal",
                        "4. Quartal",
                    }
                }
            }
        }
        hebrew{
            eras{
                abbreviated{
                    "AM",
                }
            }
        }
        islamic{
            eras{
                abbreviated{
                    "AH",
                }
            }
        }
        japanese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y G",
                "d. MMMM y G",
                "dd.MM.y G",
                "dd.MM.yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        roc{
            eras{
                abbreviated{
                    "Before R.O.C.",
                    "Minguo",
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    fields{
        day{
            dn{"Dag"}
            relative{
                "-1"{"gëschter"}
                "0"{"haut"}
                "1"{"muer"}
            }
            relativeTime{
                future{
                    one{"an {0} Dag"}
                    other{"a(n) {0} Deeg"}
                }
                past{
                    one{"virun {0} Dag"}
                    other{"viru(n) {0} Deeg"}
                }
            }
        }
        day-narrow{
            dn{"D."}
            relativeTime{
                future{
                    one{"+{0} D."}
                    other{"+{0} D."}
                }
                past{
                    one{"-{0} D."}
                    other{"-{0} D."}
                }
            }
        }
        day-short{
            dn{"D."}
            relativeTime{
                future{
                    one{"an {0} D."}
                    other{"a(n) {0} D."}
                }
                past{
                    one{"virun {0} D."}
                    other{"viru(n) {0} D."}
                }
            }
        }
        dayperiod{
            dn{"Dageshallschent"}
        }
        era{
            dn{"Epoch"}
        }
        fri{
            relative{
                "-1"{"leschte Freideg"}
                "0"{"dëse Freideg"}
                "1"{"nächste Freideg"}
            }
        }
        fri-narrow{
            relative{
                "-1"{"leschte Fr."}
                "0"{"dëse Fr."}
                "1"{"nächste Fr."}
            }
        }
        fri-short{
            relative{
                "-1"{"leschte Fre."}
                "0"{"dëse Fre."}
                "1"{"nächste Fre."}
            }
        }
        hour{
            dn{"Stonn"}
            relativeTime{
                future{
                    one{"an {0} Stonn"}
                    other{"a(n) {0} Stonnen"}
                }
                past{
                    one{"virun {0} Stonn"}
                    other{"viru(n) {0} Stonnen"}
                }
            }
        }
        hour-narrow{
            dn{"St."}
            relativeTime{
                future{
                    one{"+{0} St."}
                    other{"+{0} St."}
                }
                past{
                    one{"-{0} St."}
                    other{"-{0} St."}
                }
            }
        }
        hour-short{
            dn{"St."}
            relativeTime{
                future{
                    one{"an {0} St."}
                    other{"a(n) {0} St."}
                }
                past{
                    one{"virun {0} St."}
                    other{"viru(n) {0} St."}
                }
            }
        }
        minute{
            dn{"Minutt"}
            relativeTime{
                future{
                    one{"an {0} Minutt"}
                    other{"a(n) {0} Minutten"}
                }
                past{
                    one{"virun {0} Minutt"}
                    other{"viru(n) {0} Minutten"}
                }
            }
        }
        minute-narrow{
            dn{"Min."}
            relativeTime{
                future{
                    one{"+{0} Min."}
                    other{"+{0} Min."}
                }
                past{
                    one{"-{0} Min."}
                    other{"-{0} Min."}
                }
            }
        }
        minute-short{
            dn{"Min."}
            relativeTime{
                future{
                    one{"an {0} Min."}
                    other{"a(n) {0} Min."}
                }
                past{
                    one{"virun {0} Min."}
                    other{"viru(n) {0} Min."}
                }
            }
        }
        mon{
            relative{
                "-1"{"leschte Méindeg"}
                "0"{"dëse Méindeg"}
                "1"{"nächste Méindeg"}
            }
        }
        mon-narrow{
            relative{
                "-1"{"leschte Mé."}
                "0"{"dëse Mé."}
                "1"{"nächste Mé."}
            }
        }
        mon-short{
            relative{
                "-1"{"leschte Méi."}
                "0"{"dëse Méi."}
                "1"{"nächste Méi."}
            }
        }
        month{
            dn{"Mount"}
            relative{
                "-1"{"leschte Mount"}
                "0"{"dëse Mount"}
                "1"{"nächste Mount"}
            }
            relativeTime{
                future{
                    one{"an {0} Mount"}
                    other{"a(n) {0} Méint"}
                }
                past{
                    one{"virun {0} Mount"}
                    other{"viru(n) {0} Méint"}
                }
            }
        }
        month-narrow{
            dn{"M."}
            relativeTime{
                future{
                    one{"+{0} M."}
                    other{"+{0} M."}
                }
                past{
                    one{"-{0} M."}
                    other{"-{0} M."}
                }
            }
        }
        month-short{
            dn{"M."}
            relativeTime{
                future{
                    one{"an {0} M."}
                    other{"a(n) {0} M."}
                }
                past{
                    one{"virun {0} M."}
                    other{"viru(n) {0} M."}
                }
            }
        }
        quarter{
            dn{"Quartal"}
            relativeTime{
                future{
                    one{"an {0} Quartal"}
                    other{"a(n) {0} Quartaler"}
                }
                past{
                    one{"virun {0} Quartal"}
                    other{"viru(n) {0} Quartaler"}
                }
            }
        }
        quarter-narrow{
            dn{"Q."}
            relativeTime{
                future{
                    one{"+{0} Q."}
                    other{"+{0} Q."}
                }
                past{
                    one{"-{0} Q."}
                    other{"-{0} Q."}
                }
            }
        }
        quarter-short{
            dn{"Q."}
            relativeTime{
                future{
                    one{"an {0} Q."}
                    other{"a(n) {0} Q."}
                }
                past{
                    one{"virun {0} Q."}
                    other{"viru(n) {0} Q."}
                }
            }
        }
        sat{
            relative{
                "-1"{"leschte Samschdeg"}
                "0"{"dëse Samschdeg"}
                "1"{"nächste Samschdeg"}
            }
        }
        sat-narrow{
            relative{
                "-1"{"leschte Sa."}
                "0"{"dëse Sa."}
                "1"{"nächste Sa."}
            }
        }
        sat-short{
            relative{
                "-1"{"leschte Sam."}
                "0"{"dëse Sam."}
                "1"{"nächste Sam."}
            }
        }
        second{
            dn{"Sekonn"}
            relativeTime{
                future{
                    one{"an {0} Sekonn"}
                    other{"a(n) {0} Sekonnen"}
                }
                past{
                    one{"virun {0} Sekonn"}
                    other{"viru(n) {0} Sekonnen"}
                }
            }
        }
        second-narrow{
            dn{"Sek."}
            relativeTime{
                future{
                    one{"+{0} Sek."}
                    other{"+{0} Sek."}
                }
                past{
                    one{"-{0} Sek."}
                    other{"-{0} Sek."}
                }
            }
        }
        second-short{
            dn{"Sek."}
            relativeTime{
                future{
                    one{"an {0} Sek."}
                    other{"a(n) {0} Sek."}
                }
                past{
                    one{"virun {0} Sek."}
                    other{"viru(n) {0} Sek."}
                }
            }
        }
        sun{
            relative{
                "-1"{"leschte Sonndeg"}
                "0"{"dëse Sonndeg"}
                "1"{"nächste Sonndeg"}
            }
        }
        sun-narrow{
            relative{
                "-1"{"leschte So."}
                "0"{"dëse So."}
                "1"{"nächste So."}
            }
        }
        sun-short{
            relative{
                "-1"{"leschte Son."}
                "0"{"dëse Son."}
                "1"{"nächste Son."}
            }
        }
        thu{
            relative{
                "-1"{"leschten Donneschdeg"}
                "0"{"dësen Donneschdeg"}
                "1"{"nächsten Donneschdeg"}
            }
        }
        thu-narrow{
            relative{
                "-1"{"leschten Do."}
                "0"{"dësen Do."}
                "1"{"nächsten Do."}
            }
        }
        thu-short{
            relative{
                "-1"{"leschten Don."}
                "0"{"dësen Don."}
                "1"{"nächsten Don."}
            }
        }
        tue{
            relative{
                "-1"{"leschten Dënschdeg"}
                "0"{"dësen Dënschdeg"}
                "1"{"nächsten Dënschdeg"}
            }
        }
        tue-narrow{
            relative{
                "-1"{"leschten Dë."}
                "0"{"dësen Dë."}
                "1"{"nächsten Dë."}
            }
        }
        tue-short{
            relative{
                "-1"{"leschten Dë."}
                "0"{"dësen Dë."}
                "1"{"nächsten Dë."}
            }
        }
        wed{
            relative{
                "-1"{"leschte Mëttwoch"}
                "0"{"dëse Mëttwoch"}
                "1"{"nächste Mëttwoch"}
            }
        }
        wed-narrow{
            relative{
                "-1"{"leschte Më."}
                "0"{"dëse Më."}
                "1"{"nächste Më."}
            }
        }
        wed-short{
            relative{
                "-1"{"leschte Mët."}
                "0"{"dëse Mët."}
                "1"{"nächste Mët."}
            }
        }
        week{
            dn{"Woch"}
            relative{
                "-1"{"lescht Woch"}
                "0"{"dës Woch"}
                "1"{"nächst Woch"}
            }
            relativeTime{
                future{
                    one{"an {0} Woch"}
                    other{"a(n) {0} Wochen"}
                }
                past{
                    one{"virun {0} Woch"}
                    other{"viru(n) {0} Wochen"}
                }
            }
        }
        week-narrow{
            dn{"W."}
            relativeTime{
                future{
                    one{"+{0} W."}
                    other{"+{0} W."}
                }
                past{
                    one{"-{0} W."}
                    other{"-{0} W."}
                }
            }
        }
        week-short{
            dn{"W."}
            relativeTime{
                future{
                    one{"an {0} W."}
                    other{"a(n) {0} W."}
                }
                past{
                    one{"virun {0} W."}
                    other{"viru(n) {0} W."}
                }
            }
        }
        weekday{
            dn{"Wochendag"}
        }
        year{
            dn{"Joer"}
            relative{
                "-1"{"lescht Joer"}
                "0"{"dëst Joer"}
                "1"{"nächst Joer"}
            }
            relativeTime{
                future{
                    one{"an {0} Joer"}
                    other{"a(n) {0} Joer"}
                }
                past{
                    one{"virun {0} Joer"}
                    other{"viru(n) {0} Joer"}
                }
            }
        }
        year-narrow{
            dn{"J."}
            relativeTime{
                future{
                    one{"+{0} J."}
                    other{"+{0} J."}
                }
                past{
                    one{"-{0} J."}
                    other{"-{0} J."}
                }
            }
        }
        year-short{
            dn{"J."}
            relativeTime{
                future{
                    one{"an {0} J."}
                    other{"a(n) {0} J."}
                }
                past{
                    one{"virun {0} J."}
                    other{"viru(n) {0} J."}
                }
            }
        }
        zone{
            dn{"Zäitzon"}
        }
    }
    layout{
        characters{"left-to-right"}
        lines{"top-to-bottom"}
    }
    listPattern{
        standard{
            2{"{0} a(n) {1}"}
            end{"{0} a(n) {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0}, {1}"}
            end{"{0}, {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}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"Engleschen Eenheetesystem"}
        US{"Angloamerikaneschen Eenheetesystem"}
        metric{"Metreschen Eenheetesystem"}
    }
}
