﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/gsw.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/gsw.xml
 */
gsw{
    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]"}
    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.82.45"}
    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.y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        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."}
                H{"H"}
                HHmm{"HH:mm"}
                HHmmss{"HH:mm:ss"}
                Hm{"H:mm"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E d. MMM"}
                MMMMEd{"E d. MMMM"}
                MMMMd{"d. MMMM"}
                MMMMdd{"dd. MMMM"}
                MMMd{"d. MMM"}
                MMd{"d.MM."}
                MMdd{"dd.MM."}
                Md{"d.M."}
                d{"d"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y-M"}
                yMEd{"E, y-M-d"}
                yMM{"MM.y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d. MMM y"}
                yMMMM{"MMMM y"}
                yMMdd{"dd.MM.y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            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{"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.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{"MM – MM.y"}
                    y{"MM.y – MM.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"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "vorm.",
                "nam.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y",
                "d. MMMM y",
                "dd.MM.y",
                "dd.MM.yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d."}
                H{"H"}
                HHmm{"HH:mm"}
                HHmmss{"HH:mm:ss"}
                Hm{"H:mm"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E d. MMM"}
                MMMMEd{"E d. MMMM"}
                MMMMd{"d. MMMM"}
                MMMMdd{"dd. MMMM"}
                MMMd{"d. MMM"}
                MMd{"d.MM."}
                MMdd{"dd.MM."}
                Md{"d.M."}
                d{"d"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y-M"}
                yMEd{"E, y-M-d"}
                yMM{"MM.y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d. MMM y"}
                yMMMM{"MMMM y"}
                yMMdd{"dd.MM.y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Su.",
                        "Mä.",
                        "Zi.",
                        "Mi.",
                        "Du.",
                        "Fr.",
                        "Sa.",
                    }
                    wide{
                        "Sunntig",
                        "Määntig",
                        "Ziischtig",
                        "Mittwuch",
                        "Dunschtig",
                        "Friitig",
                        "Samschtig",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "M",
                        "D",
                        "M",
                        "D",
                        "F",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "v. Chr.",
                    "n. Chr.",
                }
                wide{
                    "v. Chr.",
                    "n. Chr.",
                }
            }
            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{"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.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{"MM – MM.y"}
                    y{"MM.y – MM.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är",
                        "Apr",
                        "Mai",
                        "Jun",
                        "Jul",
                        "Aug",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dez",
                    }
                    wide{
                        "Januar",
                        "Februar",
                        "März",
                        "April",
                        "Mai",
                        "Juni",
                        "Juli",
                        "Auguscht",
                        "Septämber",
                        "Oktoober",
                        "Novämber",
                        "Dezämber",
                    }
                }
                stand-alone{
                    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",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"›"}
        alternateQuotationStart{"‹"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"Tag"}
            relative{
                "-1"{"geschter"}
                "-2"{"vorgeschter"}
                "0"{"hüt"}
                "1"{"moorn"}
                "2"{"übermoorn"}
            }
        }
        dayperiod{
            dn{"Tageshälfti"}
        }
        era{
            dn{"Epoche"}
        }
        hour{
            dn{"Schtund"}
        }
        minute{
            dn{"Minuute"}
        }
        month{
            dn{"Monet"}
        }
        second{
            dn{"Sekunde"}
        }
        week{
            dn{"Wuche"}
        }
        weekday{
            dn{"Wuchetag"}
        }
        year{
            dn{"Jaar"}
        }
        zone{
            dn{"Zone"}
        }
    }
    listPattern{
        standard{
            2{"{0} und {1}"}
            end{"{0} und {1}"}
        }
    }
    measurementSystemNames{
        US{"angloamerikaanisch"}
        metric{"metrisch"}
    }
    units{
        day{
            one{"{0} Taag"}
            other{"{0} Tääg"}
        }
        hour{
            one{"{0} Schtund"}
            other{"{0} Schtunde"}
        }
        minute{
            one{"{0} Minuute"}
            other{"{0} Minuute"}
        }
        month{
            one{"{0} Monet"}
            other{"{0} Mönet"}
        }
        second{
            one{"{0} Sekunde"}
            other{"{0} Sekunde"}
        }
        week{
            one{"{0} Wuche"}
            other{"{0} Wuche"}
        }
        year{
            one{"{0} Jahr"}
            other{"{0} Jahr"}
        }
    }
}
