﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/de.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/de.xml
 */
de{
    AuxExemplarCharacters{"[á à ă â å ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ø ō œ ú ù ŭ û ū ÿ]"}
    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 ß]"}
    ExemplarCharactersCurrency{"[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]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0 %"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.51.59"}
    calendar{
        buddhist{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d. MMMM y G",
                "d. MMMM y G",
                "d. MMM y G",
                "d.M.yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d."}
                H{"HH 'Uhr'"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMMdd{"dd. MMMM"}
                MMMd{"d. MMM"}
                MMd{"d.MM."}
                MMdd{"dd.MM."}
                Md{"d.M."}
                d{"d"}
                ms{"mm:ss"}
                y{"y G"}
                yM{"M.y G"}
                yMEd{"EEE, d.M.y G"}
                yMMM{"MMM y G"}
                yMMMEd{"EEE, d. MMM y G"}
                yQ{"Q y G"}
                yQQQ{"QQQ y G"}
                yyMM{"MM.y G"}
                yyMMM{"MMM y G"}
                yyMMdd{"dd.MM.y G"}
                yyQ{"Q y G"}
                yyQQQQ{"QQQQ y G"}
                yyyy{"y G"}
                yyyyMMMM{"MMMM y G"}
            }
        }
        gregorian{
            AmPmMarkers{
                "vorm.",
                "nachm.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y",
                "d. MMMM y",
                "dd.MM.yyyy",
                "dd.MM.yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d."}
                H{"HH 'Uhr'"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMMdd{"dd. MMMM"}
                MMMd{"d. MMM"}
                MMd{"d.MM."}
                MMdd{"dd.MM."}
                Md{"d.M."}
                d{"d"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M.y"}
                yMEd{"EEE, d.M.y"}
                yMMM{"MMM y"}
                yMMMEd{"EEE, d. MMM y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
                yyMM{"MM.yy"}
                yyMMM{"MMM yy"}
                yyMMdd{"dd.MM.yy"}
                yyQ{"Q yy"}
                yyQQQQ{"QQQQ yy"}
                yyyy{"y"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "So.",
                        "Mo.",
                        "Di.",
                        "Mi.",
                        "Do.",
                        "Fr.",
                        "Sa.",
                    }
                    wide{
                        "Sonntag",
                        "Montag",
                        "Dienstag",
                        "Mittwoch",
                        "Donnerstag",
                        "Freitag",
                        "Samstag",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "M",
                        "D",
                        "M",
                        "D",
                        "F",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "v. Chr.",
                    "n. Chr.",
                }
                wide{
                    "v. Chr.",
                    "n. Chr.",
                }
            }
            fields{
                day{
                    dn{"Tag"}
                    relative{
                        "-1"{"Gestern"}
                        "-2"{"Vorgestern"}
                        "-3"{"Vor drei Tagen"}
                        "0"{"Heute"}
                        "1"{"Morgen"}
                        "2"{"Übermorgen"}
                        "3"{"In drei Tagen"}
                    }
                }
                dayperiod{
                    dn{"Tageshälfte"}
                }
                era{
                    dn{"Epoche"}
                }
                hour{
                    dn{"Stunde"}
                }
                minute{
                    dn{"Minute"}
                }
                month{
                    dn{"Monat"}
                }
                second{
                    dn{"Sekunde"}
                }
                week{
                    dn{"Woche"}
                }
                weekday{
                    dn{"Wochentag"}
                }
                year{
                    dn{"Jahr"}
                }
                zone{
                    dn{"Zone"}
                }
            }
            intervalFormats{
                H{
                    H{"HH-HH 'Uhr'"}
                    a{"HH-HH 'Uhr'"}
                }
                Hm{
                    H{"HH:mm-HH:mm"}
                    a{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                Hmv{
                    H{"HH:mm-HH:mm v"}
                    a{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                Hv{
                    H{"HH-HH 'Uhr' v"}
                    a{"HH-HH 'Uhr' 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"}
                }
                MMMM{
                    M{"LLLL-LLLL"}
                }
                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.yy - MM.yy"}
                    y{"MM.yy - MM.yy"}
                }
                yMEd{
                    M{"E, dd.MM.yy - E, dd.MM.yy"}
                    d{"E, dd.MM.yy - E, dd.MM.yy"}
                    y{"E, dd.MM.yy - E, dd.MM.yy"}
                }
                yMMM{
                    M{"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.yy - dd.MM.yy"}
                    d{"dd.MM.yy - dd.MM.yy"}
                    y{"dd.MM.yy - dd.MM.yy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mär",
                        "Apr",
                        "Mai",
                        "Jun",
                        "Jul",
                        "Aug",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dez",
                    }
                    wide{
                        "Januar",
                        "Februar",
                        "März",
                        "April",
                        "Mai",
                        "Juni",
                        "Juli",
                        "August",
                        "September",
                        "Oktober",
                        "November",
                        "Dezember",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mär",
                        "Apr",
                        "Mai",
                        "Jun",
                        "Jul",
                        "Aug",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dez",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    wide{
                        "1. Quartal",
                        "2. Quartal",
                        "3. Quartal",
                        "4. Quartal",
                    }
                }
            }
        }
        islamic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d. MMMM y G",
                "d. MMMM y G",
                "d. MMM y G",
                "d.M.y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d."}
                H{"HH 'Uhr'"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMMdd{"dd. MMMM"}
                MMMd{"d. MMM"}
                MMd{"d.MM."}
                MMdd{"dd.MM."}
                Md{"d.M."}
                d{"d"}
                ms{"mm:ss"}
                yyMM{"MM.y G"}
                yyMMM{"MMM y G"}
                yyMMdd{"dd.MM.y G"}
                yyQ{"Q y G"}
                yyQQQQ{"QQQQ y G"}
                yyyy{"y G"}
                yyyyM{"M.y G"}
                yyyyMEd{"EEE, d.M.y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, d. MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
            eras{
                abbreviated{
                    "AH",
                }
                narrow:alias{"/LOCALE/calendar/islamic/eras/abbreviated"}
                wide:alias{"/LOCALE/calendar/islamic/eras/abbreviated"}
            }
            monthNames{
                default{"format"}
                format{
                    abbreviated{
                        "Muh.",
                        "Saf.",
                        "Rab. I",
                        "Rab. II",
                        "Jum. I",
                        "Jum. II",
                        "Raj.",
                        "Sha.",
                        "Ram.",
                        "Shaw.",
                        "Dhuʻl-Q.",
                        "Dhuʻl-H.",
                    }
                    default{"wide"}
                    narrow:alias{"/LOCALE/calendar/islamic/monthNames/stand-alone/narrow"}
                    wide{
                        "Muharram",
                        "Safar",
                        "Rabiʻ I",
                        "Rabiʻ II",
                        "Jumada I",
                        "Jumada II",
                        "Rajab",
                        "Shaʻban",
                        "Ramadan",
                        "Shawwal",
                        "Dhuʻl-Qiʻdah",
                        "Dhuʻl-Hijjah",
                    }
                }
                stand-alone{
                    abbreviated:alias{"/LOCALE/calendar/islamic/monthNames/format/abbreviated"}
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide:alias{"/LOCALE/calendar/islamic/monthNames/format/wide"}
                }
            }
        }
        japanese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d. MMMM y G",
                "d. MMMM y G",
                "d. MMM y G",
                "d.M.y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d."}
                H{"HH 'Uhr'"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMMdd{"dd. MMMM"}
                MMMd{"d. MMM"}
                MMd{"d.MM."}
                MMdd{"dd.MM."}
                Md{"d.M."}
                d{"d"}
                ms{"mm:ss"}
                yyMM{"MM.y G"}
                yyMMM{"MMM y G"}
                yyMMdd{"dd.MM.y G"}
                yyQ{"Q y G"}
                yyQQQQ{"QQQQ y G"}
                yyyy{"y G"}
                yyyyM{"M.y G"}
                yyyyMEd{"EEE, d.M.y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, d. MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
        roc{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d. MMMM y G",
                "d. MMMM y G",
                "d. MMM y G",
                "d.M.y G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d."}
                H{"HH 'Uhr'"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMMdd{"dd. MMMM"}
                MMMd{"d. MMM"}
                MMd{"d.MM."}
                MMdd{"dd.MM."}
                Md{"d.M."}
                d{"d"}
                ms{"mm:ss"}
                yyMM{"MM.y G"}
                yyMMM{"MMM y G"}
                yyMMdd{"dd.MM.y G"}
                yyQ{"Q y G"}
                yyQQQQ{"QQQQ y G"}
                yyyy{"y G"}
                yyyyM{"M.y G"}
                yyyyMEd{"EEE, d.M.y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"EEE, d. MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    listPattern{
        standard{
            2{"{0} und {1}"}
            end{"{0} und {1}"}
        }
    }
    measurementSystemNames{
        US{"Angloamerikanisch"}
        metric{"Metrisch"}
    }
    units{
        day{
            one{"{0} Tag"}
            other{"{0} Tage"}
        }
        hour{
            one{"{0} Stunde"}
            other{"{0} Stunden"}
        }
        minute{
            one{"{0} Minute"}
            other{"{0} Minuten"}
        }
        month{
            one{"{0} Monat"}
            other{"{0} Monate"}
        }
        second{
            one{"{0} Sekunde"}
            other{"{0} Sekunden"}
        }
        week{
            one{"{0} Woche"}
            other{"{0} Wochen"}
        }
        year{
            one{"{0} Jahr"}
            other{"{0} Jahre"}
        }
    }
    unitsShort{
        day{
            one{"{0} Tag"}
            other{"{0} Tage"}
        }
        hour{
            one{"{0} Std."}
            other{"{0} Std."}
        }
        minute{
            one{"{0} Min."}
            other{"{0} Min."}
        }
        month{
            one{"{0} Monat"}
            other{"{0} Monate"}
        }
        second{
            one{"{0} Sek."}
            other{"{0} Sek."}
        }
        week{
            one{"{0} Woche"}
            other{"{0} Wochen"}
        }
        year{
            one{"{0} Jahr"}
            other{"{0} Jahre"}
        }
    }
}
