﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/fr_BE.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/rbnf/fr_BE.xml
 */
fr_BE{
    RBNFRules{
        OrdinalRules{
            "%%dord-mascabbrev:",
            "0: e;",
            "1: er;",
            "2: e;",
            "%digits-ordinal-masculine:",
            "-x: \u2212>>;",
            "0: =#,##0==%%dord-mascabbrev=;",
            "%%dord-femabbrev:",
            "0: e;",
            "1: re;",
            "2: e;",
            "%digits-ordinal-feminine:",
            "-x: \u2212>>;",
            "0: =#,##0==%%dord-femabbrev=;",
            "%digits-ordinal:",
            "0: =%digits-ordinal-masculine=;",
        }
        SpelloutRules{
            "%%lenient-parse:",
            "&[last primary ignorable ] << ' ' << ',' << '-' << '\u00AD';",
            "%spellout-numbering-year:",
            "-x: moins >>;",
            "x.x: =#,###0.#=;",
            "0: =%spellout-numbering=;",
            "1100/100: <%spellout-cardinal-masculine<-cent>%%cents-m>;",
            "10000: =%spellout-numbering=;",
            "%spellout-numbering:",
            "0: =%spellout-cardinal-masculine=;",
            "%%et-un:",
            "1: et-un;",
            "2: =%spellout-cardinal-masculine=;",
            "11: et-onze;",
            "12: =%spellout-cardinal-masculine=;",
            "%%cents-m:",
            "0: s;",
            "1: -=%spellout-cardinal-masculine=;",
            "%spellout-cardinal-masculine:",
            "-x: moins >>;",
            "x.x: << virgule >>;",
            "0: z\u00E9ro;",
            "1: un;",
            "2: deux;",
            "3: trois;",
            "4: quatre;",
            "5: cinq;",
            "6: six;",
            "7: sept;",
            "8: huit;",
            "9: neuf;",
            "10: dix;",
            "11: onze;",
            "12: douze;",
            "13: treize;",
            "14: quatorze;",
            "15: quinze;",
            "16: seize;",
            "17: dix->>;",
            "20: vingt[->%%et-un>];",
            "30: trente[->%%et-un>];",
            "40: quarante[->%%et-un>];",
            "50: cinquante[->%%et-un>];",
            "60: soixante[->%%et-un>];",
            "70: septante[->%%et-un>];",
            "80: quatre-vingt>%%cents-m>;",
            "90: nonante[->%%et-un>];",
            "100: cent[->>];",
            "200: <%spellout-cardinal-masculine<-cent>%%cents-m>;",
            "1000: mille[->>];",
            "2000: <%spellout-cardinal-masculine<-mille[->>];",
            "1000000: un million[ >>];",
            "2000000: <%spellout-cardinal-masculine< millions[ >>];",
            "1000000000: un milliard[ >>];",
            "2000000000: <%spellout-cardinal-masculine< milliards[ >>];",
            "1000000000000: un billion[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< billions[ >>];",
            "1000000000000000: un billiard[ >>];",
            "2000000000000000: <%spellout-cardinal-masculine< billiards[ >>];",
            "1000000000000000000: =#,##0=;",
            "%%et-une:",
            "1: et-une;",
            "2: =%spellout-cardinal-feminine=;",
            "11: et-onze;",
            "12: =%spellout-cardinal-feminine=;",
            "%%cents-f:",
            "0: s;",
            "1: -=%spellout-cardinal-feminine=;",
            "%spellout-cardinal-feminine:",
            "-x: moins >>;",
            "x.x: << virgule >>;",
            "0: z\u00E9ro;",
            "1: une;",
            "2: =%spellout-cardinal-masculine=;",
            "20: vingt[->%%et-une>];",
            "30: trente[->%%et-une>];",
            "40: quarante[->%%et-une>];",
            "50: cinquante[->%%et-une>];",
            "60: soixante[->%%et-une>];",
            "70: septante[->%%et-une>];",
            "80: quatre-vingt>%%cents-f>;",
            "90: nonante[->%%et-une>];",
            "100: cent[->>];",
            "200: <%spellout-cardinal-masculine<-cent>%%cents-f>;",
            "1000: mille[->>];",
            "2000: <%spellout-cardinal-masculine<-mille[->>];",
            "1000000: un million[ >>];",
            "2000000: <%spellout-cardinal-masculine< millions[ >>];",
            "1000000000: un milliard[ >>];",
            "2000000000: <%spellout-cardinal-masculine< milliards[ >>];",
            "1000000000000: un billion[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< billions[ >>];",
            "1000000000000000: un billiard[ >>];",
            "2000000000000000: <%spellout-cardinal-masculine< billiards[ >>];",
            "1000000000000000000: =#,##0=;",
            "%%et-unieme:",
            "1: et-uni\u00E8me;",
            "2: =%%spellout-ordinal=;",
            "11: et-onzi\u00E8me;",
            "12: =%%spellout-ordinal=;",
            "%%cents-o:",
            "0: i\u00E8me;",
            "1: -=%%spellout-ordinal=;",
            "%%mille-o:",
            "0: i\u00E8me;",
            "1: e-=%%spellout-ordinal=;",
            "%%spellout-ordinal:",
            "1: uni\u00E8me;",
            "2: deuxi\u00E8me;",
            "3: troisi\u00E8me;",
            "4: quatri\u00E8me;",
            "5: cinqui\u00E8me;",
            "6: sixi\u00E8me;",
            "7: septi\u00E8me;",
            "8: huiti\u00E8me;",
            "9: neuvi\u00E8me;",
            "10: dixi\u00E8me;",
            "11: onzi\u00E8me;",
            "12: douzi\u00E8me;",
            "13: treizi\u00E8me;",
            "14: quatorzi\u00E8me;",
            "15: quinzi\u00E8me;",
            "16: seizi\u00E8me;",
            "17: dix->>;",
            "20: vingti\u00E8me;",
            "21: vingt->%%et-unieme>;",
            "30: trenti\u00E8me;",
            "31: trente->%%et-unieme>;",
            "40: quaranti\u00E8me;",
            "41: quarante->%%et-unieme>;",
            "50: cinquanti\u00E8me;",
            "51: cinquante->%%et-unieme>;",
            "60: soixanti\u00E8me;",
            "61: soixante->%%et-unieme>;",
            "70: septanti\u00E8me;",
            "71: septante->%%et-unieme>;",
            "80: quatre-vingt>%%cents-o>;",
            "90: nonanti\u00E8me;",
            "91: nonante->%%et-unieme>;",
            "100: cent>%%cents-o>;",
            "200: <%spellout-cardinal-masculine<-cent>%%cents-o>;",
            "1000: mill->%%mille-o>;",
            "2000: <%spellout-cardinal-masculine<-mill->%%mille-o>;",
            "2001: 1,000,000 <%spellout-cardinal-masculine<-million->%%cents-o>;",
            "1000000000: <%spellout-cardinal-masculine<-milliard->%%cents-o>;",
            "1000000000000: <%spellout-cardinal-masculine<-billion->%%cents-o>;",
            "1000000000000000: <%spellout-cardinal-masculine<-billiard->%%cents-o>;",
            "1000000000000000000: =#,##0=;",
            "%spellout-ordinal-masculine:",
            "-x: moins >>;",
            "x.x: =#,##0.#=;",
            "0: z\u00E9roi\u00E8me;",
            "1: premier;",
            "2: =%%spellout-ordinal=;",
            "%spellout-ordinal-feminine:",
            "-x: moins >>;",
            "x.x: =#,##0.#=;",
            "0: z\u00E9roi\u00E8me;",
            "1: premi\u00E8re;",
            "2: =%%spellout-ordinal=;",
        }
    }
    Version{"2.0.59.35"}
}
