﻿// ***************************************************************************
// *
// * 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/rbnf/it.xml
// *
// ***************************************************************************
/**
 *  ICU <specials > source: <path>/xml/rbnf/it.xml
 */
it{
    RBNFRules{
        OrdinalRules{
            "%%dord-mascabbrev:",
            "0: \u1D52;",
            "%digits-ordinal-masculine:",
            "-x: \u2212>>;",
            "0: =#,##0==%%dord-mascabbrev=;",
            "%%dord-femabbrev:",
            "0: \u1D43;",
            "%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.x: =#,###0.#=;",
            "0: =%spellout-numbering=;",
            "%spellout-numbering:",
            "0: =%spellout-cardinal-masculine-o=;",
            "%spellout-cardinal-masculine-o:",
            "-x: meno >>;",
            "x.x: << virgola >>;",
            "0: zero;",
            "1: uno;",
            "2: due;",
            "3: tre;",
            "4: quattro;",
            "5: cinque;",
            "6: sei;",
            "7: sette;",
            "8: otto;",
            "9: nove;",
            "10: dieci;",
            "11: undici;",
            "12: dodici;",
            "13: tredici;",
            "14: quattordici;",
            "15: quindici;",
            "16: sedici;",
            "17: diciasette;",
            "18: diciotto;",
            "19: diciannove;",
            "20: vent>%%msco-with-i>;",
            "30: trent>%%msco-with-a>;",
            "40: quarant>%%msco-with-a>;",
            "50: cinquant>%%msco-with-a>;",
            "60: sessant>%%msco-with-a>;",
            "70: settant>%%msco-with-a>;",
            "80: ottant>%%msco-with-a>;",
            "90: novant>%%msco-with-a>;",
            "100: cent>%%msco-with-o>;",
            "200: <<\u00ADcent>%%msco-with-o>;",
            "1000: mille[\u00AD>>];",
            "2000: <%%msc-no-final<\u00ADmila[\u00AD>>];",
            "1000000: un milione[ >>];",
            "2000000: <%spellout-cardinal-masculine< milioni[ >>];",
            "1000000000: un miliardo[ >>];",
            "2000000000: <%spellout-cardinal-masculine< miliardi[ >>];",
            "1000000000000: un bilione[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilioni[ >>];",
            "1000000000000000: un biliardo[ >>];",
            "2000000000000000: <%spellout-cardinal-masculine< biliardi[ >>];",
            "1000000000000000000: =#,##0=;",
            "%%msco-with-i:",
            "0: i;",
            "1: \u00ADuno;",
            "2: i\u00ADdue;",
            "3: i\u00ADtr\u00E9;",
            "4: i\u00AD=%spellout-cardinal-masculine-o=;",
            "8: \u00ADotto;",
            "9: i\u00ADnove;",
            "10: ERROR;",
            "%%msco-with-a:",
            "0: a;",
            "1: \u00ADuno;",
            "2: a\u00ADdue;",
            "3: a\u00ADtr\u00E9;",
            "4: a\u00AD=%spellout-cardinal-masculine-o=;",
            "8: \u00ADotto;",
            "9: a\u00ADnove;",
            "10: ERROR;",
            "%%msco-with-o:",
            "0: o;",
            "1: \u00ADuno;",
            "2: o\u00ADdue;",
            "3: o\u00ADtr\u00E9;",
            "4: o\u00AD=%spellout-cardinal-masculine-o=;",
            "8: \u00ADotto;",
            "9: o\u00AD=%spellout-cardinal-masculine-o=;",
            "80: \u00AD=%spellout-cardinal-masculine-o=;",
            "90: o\u00AD=%spellout-cardinal-masculine-o=;",
            "%spellout-cardinal-masculine:",
            "-x: meno >>;",
            "x.x: << virgola >>;",
            "0: zero;",
            "1: un;",
            "2: =%spellout-cardinal-masculine-o=;",
            "20: vent>%%msc-with-i>;",
            "30: trent>%%msc-with-a>;",
            "40: quarant>%%msc-with-a>;",
            "50: cinquant>%%msc-with-a>;",
            "60: sessant>%%msc-with-a>;",
            "70: settant>%%msc-with-a>;",
            "80: ottant>%%msc-with-a>;",
            "90: novant>%%msc-with-a>;",
            "100: cent>%%msc-with-o>;",
            "200: <<\u00ADcent>%%msc-with-o>;",
            "1000: mille[\u00AD>>];",
            "2000: <%%msc-no-final<\u00ADmila[\u00AD>>];",
            "1000000: un milione[ >>];",
            "2000000: <%spellout-cardinal-masculine< milioni[ >>];",
            "1000000000: un miliardo[ >>];",
            "2000000000: <%spellout-cardinal-masculine< miliardi[ >>];",
            "1000000000000: un bilione[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilioni[ >>];",
            "1000000000000000: un biliardo[ >>];",
            "2000000000000000: <%spellout-cardinal-masculine< biliardi[ >>];",
            "1000000000000000000: =#,##0=;",
            "%%msc-with-i:",
            "0: i;",
            "1: \u00ADun;",
            "2: =%%msco-with-i=;",
            "%%msc-with-a:",
            "0: a;",
            "1: \u00ADun;",
            "2: =%%msco-with-a=;",
            "%%msc-with-o:",
            "0: o;",
            "1: \u00ADuno;",
            "2: o\u00ADdue;",
            "3: o\u00ADtr\u00E9;",
            "4: o\u00AD=%spellout-cardinal-masculine-o=;",
            "8: \u00ADotto;",
            "9: o\u00AD=%spellout-cardinal-masculine-o=;",
            "80: \u00AD=%spellout-cardinal-masculine-o=;",
            "90: o\u00AD=%spellout-cardinal-masculine-o=;",
            "%%msc-no-final:",
            "0: ERROR;",
            "2: =%spellout-cardinal-masculine=;",
            "20: vent>%%msc-with-i-nofinal>;",
            "30: trent>%%msc-with-a-nofinal>;",
            "40: quarant>%%msc-with-a-nofinal>;",
            "50: cinquant>%%msc-with-a-nofinal>;",
            "60: sessant>%%msc-with-a-nofinal>;",
            "70: settant>%%msc-with-a-nofinal>;",
            "80: ottant>%%msc-with-a-nofinal>;",
            "90: novant>%%msc-with-a-nofinal>;",
            "100: cent>%%msc-with-o-nofinal>;",
            "200: <<\u00ADcent>%%msc-with-o-nofinal>;",
            "1000: ERROR;",
            "%%msc-with-i-nofinal:",
            "0: =%%msc-with-i=;",
            "3: a\u00ADtre;",
            "4: =%%msc-with-i=;",
            "%%msc-with-a-nofinal:",
            "0: =%%msc-with-a=;",
            "3: a\u00ADtre;",
            "4: =%%msc-with-a=;",
            "%%msc-with-o-nofinal:",
            "0: =%%msc-with-o=;",
            "3: o\u00ADtre;",
            "4: =%%msc-with-o=;",
            "%spellout-cardinal-feminine:",
            "-x: meno >>;",
            "x.x: << virgola >>;",
            "0: zero;",
            "1: una;",
            "2: =%spellout-cardinal-masculine-o=;",
            "20: vent>%%fem-with-i>;",
            "30: trent>%%fem-with-a>;",
            "40: quarant>%%fem-with-a>;",
            "50: cinquant>%%fem-with-a>;",
            "60: sessant>%%fem-with-a>;",
            "70: settant>%%fem-with-a>;",
            "80: ottant>%%fem-with-a>;",
            "90: novant>%%fem-with-a>;",
            "100: cent>%%fem-with-o>;",
            "200: <<\u00ADcent>%%fem-with-o>;",
            "1000: mille[\u00AD>>];",
            "2000: <%%msc-no-final<\u00ADmila[\u00AD>>];",
            "1000000: un milione[ >>];",
            "2000000: <%spellout-cardinal-masculine< milioni[ >>];",
            "1000000000: un miliardo[ >>];",
            "2000000000: <%spellout-cardinal-masculine< miliardi[ >>];",
            "1000000000000: un bilione[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilioni[ >>];",
            "1000000000000000: un biliardo[ >>];",
            "2000000000000000: <%spellout-cardinal-masculine< biliardi[ >>];",
            "1000000000000000000: =#,##0=;",
            "%%fem-with-i:",
            "0: i;",
            "1: \u00ADuna;",
            "2: =%%msco-with-i=;",
            "%%fem-with-a:",
            "0: a;",
            "1: \u00ADuna;",
            "2: =%%msco-with-a=;",
            "%%fem-with-o:",
            "0: o;",
            "1: \u00ADuna;",
            "2: =%%msco-with-o=;",
        }
    }
    Version{"4126"}
}
