﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/nl.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/nl.xml
 */
nl{
    AuxExemplarCharacters{"[å ã ç ñ ô]"}
    ExemplarCharacters{"[a á ä b-e é ë f-i í ï {ij} j-o ó ö p-u ú ü v-z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "¤ #,##0.00;¤ #,##0.00-",
        "#,##0%",
        "#E0",
    }
    Version{"2.0.42.82"}
    calendar{
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            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}",
            }
            availableFormats{
                Hm{"HH:mm"}
                M{"L"}
                MEd{"E d-M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d-MMM"}
                MMd{"d-MM"}
                MMdd{"dd-MM"}
                Md{"d-M"}
                d{"d"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M-yyyy"}
                yMEd{"EEE d-M-yyyy"}
                yMMM{"MMM y"}
                yMMMEd{"EEE d MMM y"}
                yMMMM{"MMMM y"}
                yQ{"Q yyyy"}
                yQQQ{"QQQ y"}
                yyMM{"MM-yy"}
                yyMMM{"MMM yy"}
                yyQ{"Q yy"}
                yyQQQQ{"QQQQ yy"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "zo",
                        "ma",
                        "di",
                        "wo",
                        "do",
                        "vr",
                        "za",
                    }
                    wide{
                        "zondag",
                        "maandag",
                        "dinsdag",
                        "woensdag",
                        "donderdag",
                        "vrijdag",
                        "zaterdag",
                    }
                }
                stand-alone{
                    narrow{
                        "Z",
                        "M",
                        "D",
                        "W",
                        "D",
                        "V",
                        "Z",
                    }
                }
            }
            eras{
                abbreviated{
                    "v. Chr.",
                    "n. Chr.",
                }
                wide{
                    "Voor Christus",
                    "Anno Domini",
                }
            }
            fields{
                day{
                    dn{"Dag"}
                    relative{
                        "-1"{"Gisteren"}
                        "-2"{"Eergisteren"}
                        "-3"{"Drie dagen geleden"}
                        "0"{"Vandaag"}
                        "1"{"Morgen"}
                        "2"{"Overmorgen"}
                        "3"{"Over drie dagen"}
                    }
                }
                dayperiod{
                    dn{"AM/PM"}
                }
                era{
                    dn{"Tijdperk"}
                }
                hour{
                    dn{"Uur"}
                }
                minute{
                    dn{"Minuut"}
                }
                month{
                    dn{"Maand"}
                }
                second{
                    dn{"Seconde"}
                }
                week{
                    dn{"Week"}
                }
                weekday{
                    dn{"Dag van de week"}
                }
                year{
                    dn{"Jaar"}
                }
                zone{
                    dn{"Zone"}
                }
            }
            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"}
                }
                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{"HH-HH"}
                    h{"HH-HH"}
                }
                hm{
                    a{"HH:mm-HH:mm"}
                    h{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                hmv{
                    a{"HH:mm-HH:mm v"}
                    h{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                hv{
                    a{"HH-HH v"}
                    h{"HH-HH 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{"MM–MM – yyyy"}
                    y{"MM-yyyy – MM-yyyy"}
                }
                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.",
                        "mrt.",
                        "apr.",
                        "mei",
                        "jun.",
                        "jul.",
                        "aug.",
                        "sep.",
                        "okt.",
                        "nov.",
                        "dec.",
                    }
                    wide{
                        "januari",
                        "februari",
                        "maart",
                        "april",
                        "mei",
                        "juni",
                        "juli",
                        "augustus",
                        "september",
                        "oktober",
                        "november",
                        "december",
                    }
                }
                stand-alone{
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "1e kwartaal",
                        "2e kwartaal",
                        "3e kwartaal",
                        "4e kwartaal",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
            }
        }
        hebrew{
            monthNames{
                format{
                    wide{
                        "Tisjrie",
                        "Chesjwan",
                        "Kislev",
                        "Tevet",
                        "Sjevat",
                        "Adar A",
                        "Adar",
                        "Nisan",
                        "Ijar",
                        "Sivan",
                        "Tammoez",
                        "Av",
                        "Elloel",
                        "Adar B",
                    }
                }
            }
        }
        islamic{
            eras{
                abbreviated{
                    "Saʻna Hizjria",
                }
            }
            monthNames{
                format{
                    wide{
                        "Moeharram",
                        "Safar",
                        "Rabiʻa al awal",
                        "Rabiʻa al thani",
                        "Joemadʻal awal",
                        "Joemadʻal thani",
                        "Rajab",
                        "Sjaʻaban",
                        "Ramadan",
                        "Sjawal",
                        "Doe al kaʻaba",
                        "Doe al hizja",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"’"}
        quotationStart{"‘"}
    }
    measurementSystemNames{
        US{"Amerikaans"}
        metric{"Metriek"}
    }
    units{
        day{
            one{"{0} dag"}
            other{"{0} dagen"}
        }
        hour{
            one{"{0} uur"}
            other{"{0} uur"}
        }
        minute{
            one{"{0} minuut"}
            other{"{0} minuten"}
        }
        month{
            one{"{0} maand"}
            other{"{0} maanden"}
        }
        second{
            one{"{0} seconde"}
            other{"{0} seconden"}
        }
        week{
            one{"{0} week"}
            other{"{0} weken"}
        }
        year{
            one{"{0} jaar"}
            other{"{0} jaar"}
        }
    }
    unitsShort{
        day{
            one{"{0} dag"}
            other{"{0} dagen"}
        }
        hour{
            one{"{0} u"}
            other{"{0} u"}
        }
        minute{
            one{"{0} min."}
            other{"{0} min."}
        }
        month{
            one{"{0} mnd"}
            other{"{0} mnd"}
        }
        second{
            one{"{0} sec."}
            other{"{0} sec."}
        }
        week{
            one{"{0} wk"}
            other{"{0} wkn"}
        }
        year{
            one{"{0} jr"}
            other{"{0} jr"}
        }
    }
}
