﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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 æ ø å]"}
    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 “ ” ( ) \\[ \\] § @ * / \\& # † ′ ″]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0 %"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 tusind"}
                        other{"0 tusind"}
                    }
                    10000{
                        one{"00 tusind"}
                        other{"00 tusind"}
                    }
                    100000{
                        one{"000 tusind"}
                        other{"000 tusind"}
                    }
                    1000000{
                        one{"0 million"}
                        other{"0 millioner"}
                    }
                    10000000{
                        one{"00 millioner"}
                        other{"00 millioner"}
                    }
                    100000000{
                        one{"000 millioner"}
                        other{"000 millioner"}
                    }
                    1000000000{
                        one{"0 milliard"}
                        other{"0 milliarder"}
                    }
                    10000000000{
                        one{"00 milliarder"}
                        other{"00 milliarder"}
                    }
                    100000000000{
                        one{"000 milliarder"}
                        other{"000 milliarder"}
                    }
                    1000000000000{
                        one{"0 billion"}
                        other{"0 billioner"}
                    }
                    10000000000000{
                        one{"00 billioner"}
                        other{"00 billioner"}
                    }
                    100000000000000{
                        one{"000 billioner"}
                        other{"000 billioner"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0"}
                        other{"0"}
                    }
                    10000{
                        one{"0"}
                        other{"0"}
                    }
                    100000{
                        one{"0"}
                        other{"0"}
                    }
                    1000000{
                        one{"0 mio"}
                        other{"0 mio"}
                    }
                    10000000{
                        one{"00 mio"}
                        other{"00 mio"}
                    }
                    100000000{
                        one{"000 mio"}
                        other{"000 mio"}
                    }
                    1000000000{
                        one{"0 mia"}
                        other{"0 mia"}
                    }
                    10000000000{
                        one{"00 mia"}
                        other{"00 mia"}
                    }
                    100000000000{
                        one{"000 mia"}
                        other{"000 mia"}
                    }
                    1000000000000{
                        one{"0 bill"}
                        other{"0 bill"}
                    }
                    10000000000000{
                        one{"00 bill"}
                        other{"00 bill"}
                    }
                    100000000000000{
                        one{"000 bill"}
                        other{"000 bill"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{","}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.82.45"}
    calendar{
        buddhist{
            eras{
                abbreviated{
                    "BE",
                }
            }
        }
        generic{
            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}",
            }
            availableFormats{
                Ed{"E 'd'. d."}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E d. MMM y G"}
                GyMMMd{"d. MMM 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"}
                Md{"d/M"}
                d{"d."}
                h{"h a"}
                hm{"h.mm a"}
                hms{"h.mm.ss a"}
                ms{"mm.ss"}
                y{"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"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y 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{"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 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 'den' d. MMM – E 'den' d. MMM y G"}
                    d{"E 'den' d. – E 'den' d. MMM y G"}
                    y{"E 'den' d. MMM y – E 'den' 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{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "HH.mm.ss zzzz",
                "HH.mm.ss z",
                "HH.mm.ss",
                "HH.mm",
                "EEEE 'den' d. MMMM y",
                "d. MMM y",
                "dd/MM/y",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E 'd'. d."}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E d. MMM y G"}
                GyMMMd{"d. MMM 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."}
                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"}
                yMM{"MM/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{
                        "søn.",
                        "man.",
                        "tir.",
                        "ons.",
                        "tor.",
                        "fre.",
                        "lør.",
                    }
                    narrow{
                        "S",
                        "M",
                        "T",
                        "O",
                        "T",
                        "F",
                        "L",
                    }
                    short{
                        "sø",
                        "ma",
                        "ti",
                        "on",
                        "to",
                        "fr",
                        "lø",
                    }
                    wide{
                        "søndag",
                        "mandag",
                        "tirsdag",
                        "onsdag",
                        "torsdag",
                        "fredag",
                        "lørdag",
                    }
                }
                stand-alone{
                    abbreviated{
                        "søn",
                        "man",
                        "tir",
                        "ons",
                        "tor",
                        "fre",
                        "lør",
                    }
                    narrow{
                        "S",
                        "M",
                        "T",
                        "O",
                        "T",
                        "F",
                        "L",
                    }
                    short{
                        "sø",
                        "ma",
                        "ti",
                        "on",
                        "to",
                        "fr",
                        "lø",
                    }
                    wide{
                        "søndag",
                        "mandag",
                        "tirsdag",
                        "onsdag",
                        "torsdag",
                        "fredag",
                        "lørdag",
                    }
                }
            }
            eras{
                abbreviated{
                    "f.Kr.",
                    "e.Kr.",
                }
                wide{
                    "f.Kr.",
                    "e.Kr.",
                }
            }
            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 '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/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 '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/y – dd/MM/y"}
                    d{"dd/MM/y – dd/MM/y"}
                    y{"dd/MM/y – dd/MM/y"}
                }
            }
            monthNames{
                format{
                    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",
                    }
                    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",
                    }
                    wide{
                        "januar",
                        "februar",
                        "marts",
                        "april",
                        "maj",
                        "juni",
                        "juli",
                        "august",
                        "september",
                        "oktober",
                        "november",
                        "december",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. kvartal",
                        "2. kvartal",
                        "3. kvartal",
                        "4. kvartal",
                    }
                }
                stand-alone{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. kvartal",
                        "2. kvartal",
                        "3. kvartal",
                        "4. kvartal",
                    }
                }
            }
        }
        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",
                "d. MMM y G",
                "d/M/y",
                "{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"{"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"}
        }
    }
    listPattern{
        standard{
            2{"{0} og {1}"}
            end{"{0} og {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {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{
            one{"om {0} dag"}
            other{"om {0} dage"}
        }
        day-past{
            one{"{0} dag siden"}
            other{"{0} dage siden"}
        }
        hour{
            one{"{0} time"}
            other{"{0} timer"}
        }
        hour-future{
            one{"om {0} time"}
            other{"om {0} timer"}
        }
        hour-past{
            one{"{0} time siden"}
            other{"{0} timer siden"}
        }
        minute{
            one{"{0} minut"}
            other{"{0} minutter"}
        }
        minute-future{
            one{"om {0} minut"}
            other{"om {0} minutter"}
        }
        minute-past{
            one{"{0} minut siden"}
            other{"{0} minutter siden"}
        }
        month{
            one{"{0} måned"}
            other{"{0} måneder"}
        }
        month-future{
            one{"om {0} måned"}
            other{"om {0} måneder"}
        }
        month-past{
            one{"{0} måned siden"}
            other{"{0} måneder siden"}
        }
        second{
            one{"{0} sekund"}
            other{"{0} sekunder"}
        }
        second-future{
            one{"om {0} sekund"}
            other{"om {0} sekunder"}
        }
        second-past{
            one{"{0} sekund siden"}
            other{"{0} sekunder siden"}
        }
        week{
            one{"{0} uge"}
            other{"{0} uger"}
        }
        week-future{
            one{"om {0} uge"}
            other{"om {0} uger"}
        }
        week-past{
            one{"{0} uge siden"}
            other{"{0} uger siden"}
        }
        year{
            one{"{0} år"}
            other{"{0} år"}
        }
        year-future{
            one{"om {0} år"}
            other{"om {0} år"}
        }
        year-past{
            one{"{0} å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"}
        }
    }
}
