﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/da.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/da.xml
 */
da{
    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 Æ Ø Å]"}
    ExemplarCharactersPunctuation{"[\- ‐ – , ; \: ! ? . … ' ‘ ’ \" “ ” ( ) \[ \] § @ * / \& # † ′ ″]"}
    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.65.46"}
    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."}
                Gy{"y G"}
                H{"HH"}
                Hm{"HH.mm"}
                Hms{"HH.mm.ss"}
                M{"M"}
                MEd{"E. d/M"}
                MMM{"MMM"}
                MMMEd{"E d. MMM"}
                MMMMEd{"E d. MMMM"}
                MMMd{"d. MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d."}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                y{"y G"}
                yM{"M/y G"}
                yMEd{"E. d/M/y G"}
                yMMM{"MMM y G"}
                yMMMEd{"E. d. MMM y G"}
                yMMMd{"d. MMM y G"}
                yMd{"d/M/y G"}
                yQ{"Q y G"}
                yQQQ{"QQQ y G"}
                yyMM{"MM/y G"}
                yyMMM{"MMM y G"}
                yyQ{"Q. 'kvartal' y G"}
                yyyy{"y G"}
                yyyyMM{"MM/y G"}
                yyyyMMM{"MMM y G"}
            }
        }
        gregorian{
            AmPmMarkers{
                "f.m.",
                "e.m.",
            }
            DateTimePatterns{
                "HH.mm.ss zzzz",
                "HH.mm.ss z",
                "HH.mm.ss",
                "HH.mm",
                "EEEE 'den' d. MMMM y",
                "d. MMM y",
                "dd/MM/yyyy",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d."}
                H{"HH"}
                Hm{"HH.mm"}
                Hms{"HH.mm.ss"}
                M{"M"}
                MEd{"E. d/M"}
                MMM{"MMM"}
                MMMEd{"E d. MMM"}
                MMMMEd{"E d. MMMM"}
                MMMd{"d. MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d."}
                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"}
                yQ{"Q yyyy"}
                yQQQ{"QQQ y"}
                yyMM{"MM/yy"}
                yyMMM{"MMM yy"}
                yyQ{"Q. 'kvartal' yy"}
                yyyy{"y"}
                yyyyMM{"MM/yyyy"}
                yyyyMMM{"MMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "søn",
                        "man",
                        "tir",
                        "ons",
                        "tor",
                        "fre",
                        "lør",
                    }
                    wide{
                        "søndag",
                        "mandag",
                        "tirsdag",
                        "onsdag",
                        "torsdag",
                        "fredag",
                        "lørdag",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "M",
                        "T",
                        "O",
                        "T",
                        "F",
                        "L",
                    }
                }
            }
            eras{
                abbreviated{
                    "f.Kr.",
                    "e.Kr.",
                }
                wide{
                    "f.Kr.",
                    "e.Kr.",
                }
            }
            fields{
                day{
                    dn{"dag"}
                    relative{
                        "-1"{"i går"}
                        "-2"{"i forgårs"}
                        "0"{"i dag"}
                        "1"{"i morgen"}
                        "2"{"i overmorgen"}
                    }
                }
                dayperiod{
                    dn{"dagtid"}
                }
                era{
                    dn{"æra"}
                }
                hour{
                    dn{"time"}
                }
                minute{
                    dn{"minut"}
                }
                month{
                    dn{"måned"}
                    relative{
                        "-1"{"Sidste måned"}
                        "0"{"Denne måned"}
                        "1"{"Næste måned"}
                    }
                }
                second{
                    dn{"sekund"}
                }
                week{
                    dn{"uge"}
                    relative{
                        "-1"{"Sidste uge"}
                        "0"{"Denne uge"}
                        "1"{"Næste uge"}
                    }
                }
                weekday{
                    dn{"ugedag"}
                }
                year{
                    dn{"år"}
                    relative{
                        "-1"{"Sidste år"}
                        "0"{"I år"}
                        "1"{"Næste år"}
                    }
                }
                zone{
                    dn{"tidszone"}
                }
            }
            intervalFormats{
                H{
                    H{"HH-HH"}
                    a{"HH-HH"}
                }
                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 v"}
                    a{"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 'den' d. MMM - E 'den' d. MMM"}
                    d{"E 'den' d. - E 'den' 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/yyyy - MM/yyyy"}
                    y{"MM/yyyy - MM/yyyy"}
                }
                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 'den' d. MMM - E 'den' d. MMM y"}
                    d{"E 'den' d. - E 'den' d. MMM y"}
                    y{"E 'den' d. MMM y - E 'den' 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.",
                        "mar.",
                        "apr.",
                        "maj",
                        "jun.",
                        "jul.",
                        "aug.",
                        "sep.",
                        "okt.",
                        "nov.",
                        "dec.",
                    }
                    wide{
                        "januar",
                        "februar",
                        "marts",
                        "april",
                        "maj",
                        "juni",
                        "juli",
                        "august",
                        "september",
                        "oktober",
                        "november",
                        "december",
                    }
                }
                stand-alone{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "maj",
                        "jun",
                        "jul",
                        "aug",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. kvartal",
                        "2. kvartal",
                        "3. kvartal",
                        "4. kvartal",
                    }
                }
            }
        }
        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"}
                Hm{"HH.mm"}
                Hms{"HH.mm.ss"}
                M{"M"}
                MEd{"E. d/M"}
                MMM{"MMM"}
                MMMEd{"E d. MMM"}
                MMMMEd{"E d. MMMM"}
                MMMd{"d. MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d."}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                yyMM{"MM/y G"}
                yyMMM{"MMM y G"}
                yyQ{"Q. 'kvartal' y G"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"E. d/M/y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E. d. MMM y G"}
                yyyyMMMd{"d. MMM y G"}
                yyyyMd{"d/M/y G"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
        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 GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d."}
                Gy{"y G"}
                H{"HH"}
                Hm{"HH.mm"}
                Hms{"HH.mm.ss"}
                M{"M"}
                MEd{"E. d/M"}
                MMM{"MMM"}
                MMMEd{"E d. MMM"}
                MMMMEd{"E d. MMMM"}
                MMMd{"d. MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d."}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                y{"y G"}
                yyMM{"MM/y GGGGG"}
                yyMMM{"MMM y G"}
                yyQ{"Q. 'kvartal' y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"E. d/M/y GGGGG"}
                yyyyMM{"MM/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E. d. MMM y G"}
                yyyyMMMd{"d. MMM y G"}
                yyyyMd{"d/M/y GGGGG"}
                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 GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d."}
                Gy{"y G"}
                H{"HH"}
                Hm{"HH.mm"}
                Hms{"HH.mm.ss"}
                M{"M"}
                MEd{"E. d/M"}
                MMM{"MMM"}
                MMMEd{"E d. MMM"}
                MMMMEd{"E d. MMMM"}
                MMMd{"d. MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d."}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                y{"y G"}
                yyMM{"MM/y GGGGG"}
                yyMMM{"MMM y G"}
                yyQ{"Q. 'kvartal' y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"E. d/M/y GGGGG"}
                yyyyMM{"MM/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E. d. MMM y G"}
                yyyyMMMd{"d. MMM y G"}
                yyyyMd{"d/M/y GGGGG"}
                yyyyQ{"Q y G"}
                yyyyQQQ{"QQQ y G"}
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‹"}
        alternateQuotationStart{"›"}
        quotationEnd{"«"}
        quotationStart{"»"}
    }
    listPattern{
        standard{
            2{"{0} og {1}"}
            end{"{0} og {1}"}
        }
    }
    measurementSystemNames{
        UK{"De britiske målesystemer"}
        US{"De amerikanske målesystemer"}
        metric{"Det metriske system"}
    }
    units{
        day{
            one{"{0} dag"}
            other{"{0} dage"}
        }
        day-future{
            0{"Om 0 dage"}
            1{"Om 1 dag"}
            other{"Om {0} dage"}
        }
        day-past{
            0{"0 dage siden"}
            1{"1 dag siden"}
            other{"{0} dage siden"}
        }
        hour{
            one{"{0} time"}
            other{"{0} timer"}
        }
        hour-future{
            0{"Om 0 timer"}
            1{"Om 1 time"}
            other{"Om {0} timer"}
        }
        hour-past{
            0{"0 timer siden"}
            1{"1 time siden"}
            other{"{0} timer siden"}
        }
        minute{
            one{"{0} minut"}
            other{"{0} minutter"}
        }
        minute-future{
            0{"Om 0 minutter"}
            1{"Om 1 minut"}
            other{"Om {0} minutter"}
        }
        minute-past{
            0{"0 minutter siden"}
            1{"1 minut siden"}
            other{"{0} minutter siden"}
        }
        month{
            one{"{0} måned"}
            other{"{0} måneder"}
        }
        month-future{
            0{"Om 0 måneder"}
            1{"Om 1 måned"}
            other{"Om {0} måneder"}
        }
        month-past{
            0{"0 måneder siden"}
            1{"1 måned siden"}
            other{"{0} måneder siden"}
        }
        second{
            one{"{0} sekund"}
            other{"{0} sekunder"}
        }
        second-future{
            0{"Om 0 sekunder"}
            1{"Om 1 sekund"}
            other{"Om {0} sekunder"}
        }
        second-past{
            0{"0 sekunder siden"}
            1{"1 sekund siden"}
            other{"{0} sekunder siden"}
        }
        week{
            one{"{0} uge"}
            other{"{0} uger"}
        }
        week-future{
            0{"Om 0 uger"}
            1{"om 1 uge"}
            other{"Om {0} uger"}
        }
        week-past{
            0{"0 uger siden"}
            1{"1 uge siden"}
            other{"{0} uger siden"}
        }
        year{
            one{"{0} år"}
            other{"{0} år"}
        }
        year-future{
            0{"Om 0 år"}
            1{"Om 1 år"}
            other{"Om {0} år"}
        }
        year-past{
            0{"0 år siden"}
            1{"1 år siden"}
            other{"{0} år siden"}
        }
    }
    unitsShort{
        day{
            one{"{0} dag"}
            other{"{0} dage"}
        }
        hour{
            one{"{0} t."}
            other{"{0} t."}
        }
        minute{
            one{"{0} min."}
            other{"{0} min."}
        }
        month{
            one{"{0} mdr."}
            other{"{0} mdr."}
        }
        second{
            one{"{0} sek."}
            other{"{0} sek."}
        }
        week{
            one{"{0} uge"}
            other{"{0} uger"}
        }
        year{
            one{"{0} år"}
            other{"{0} år"}
        }
    }
}
