﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/rbnf/nl.xml
// *
// ***************************************************************************
nl{
    RBNFRules{
        OrdinalRules{
            "%digits-ordinal:",
            "-x: \u2212>>;",
            "0: =#,##0=e;",
        }
        SpelloutRules{
            "%%2d-year:",
            "0: honderd;",
            "1: =%spellout-numbering=;",
            "%spellout-numbering-year:",
            "-x: min >>;",
            "x.x: =#,###0.#=;",
            "0: =%spellout-numbering=;",
            "1100/100: <<>%%2d-year>;",
            "2000: =%spellout-numbering=;",
            "2100/100: <<>%%2d-year>;",
            "3000: =%spellout-numbering=;",
            "3100/100: <<>%%2d-year>;",
            "4000: =%spellout-numbering=;",
            "4100/100: <<>%%2d-year>;",
            "5000: =%spellout-numbering=;",
            "5100/100: <<>%%2d-year>;",
            "6000: =%spellout-numbering=;",
            "6100/100: <<>%%2d-year>;",
            "7000: =%spellout-numbering=;",
            "7100/100: <<>%%2d-year>;",
            "8000: =%spellout-numbering=;",
            "8100/100: <<>%%2d-year>;",
            "9000: =%spellout-numbering=;",
            "9100/100: <<>%%2d-year>;",
            "10000: =%spellout-numbering=;",
            "%spellout-numbering:",
            "0: =%spellout-cardinal=;",
            "%%number-en:",
            "1: een\u00ADen\u00AD;",
            "2: twee\u00AD\u00EBn\u00AD;",
            "3: drie\u00AD\u00EBn\u00AD;",
            "4: =%spellout-cardinal=\u00ADen\u00AD;",
            "%spellout-cardinal:",
            "-x: min >>;",
            "x.x: << komma >>;",
            "0: nul;",
            "1: een;",
            "2: twee;",
            "3: drie;",
            "4: vier;",
            "5: vijf;",
            "6: zes;",
            "7: zeven;",
            "8: acht;",
            "9: negen;",
            "10: tien;",
            "11: elf;",
            "12: twaalf;",
            "13: dertien;",
            "14: veertien;",
            "15: vijftien;",
            "16: zestien;",
            "17: zeventien;",
            "18: achttien;",
            "19: negentien;",
            "20: [>%%number-en>]twintig;",
            "30: [>%%number-en>]dertig;",
            "40: [>%%number-en>]veertig;",
            "50: [>%%number-en>]vijftig;",
            "60: [>%%number-en>]zestig;",
            "70: [>%%number-en>]zeventig;",
            "80: [>%%number-en>]tachtig;",
            "90: [>%%number-en>]negentig;",
            "100: honderd[>>];",
            "200: <<\u00ADhonderd[\u00AD>>];",
            "1000: duizend[\u00AD>>];",
            "2000: <<\u00ADduizend[\u00AD>>];",
            "100000/1000: <<\u00ADduizend[\u00AD>>];",
            "1000000: << miljoen[ >>];",
            "1000000000: << miljard[ >>];",
            "1000000000000: << biljoen[ >>];",
            "1000000000000000: << biljard[ >>];",
            "1000000000000000000: =#,##0=;",
            "%%ord-ste:",
            "0: ste;",
            "1: \u00AD=%spellout-ordinal=;",
            "%spellout-ordinal:",
            "-x: min >>;",
            "x.x: =#,##0.#=;",
            "0: nulste;",
            "1: eerste;",
            "2: tweede;",
            "3: derde;",
            "4: =%spellout-cardinal=de;",
            "8: =%spellout-cardinal=ste;",
            "9: =%spellout-cardinal=de;",
            "20: =%spellout-cardinal=ste;",
            "100: honderd>%%ord-ste>;",
            "200: <%spellout-cardinal<\u00ADhonderd>%%ord-ste>;",
            "1000: duizend>%%ord-ste>;",
            "2000: <%spellout-cardinal<\u00ADduizend>%%ord-ste>;",
            "1000000: <%spellout-cardinal<\u00ADmiljoen>%%ord-ste>;",
            "1000000000: <%spellout-cardinal<\u00ADmiljard>%%ord-ste>;",
            "1000000000000: <%spellout-cardinal<\u00ADbiljoen>%%ord-ste>;",
            "1000000000000000: <%spellout-cardinal<\u00ADbiljard>%%ord-ste>;",
            "1000000000000000000: =#,##0=.;",
        }
    }
    Version{"2.0.84.99"}
}
