﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/rbnf/pt.xml
// *
// ***************************************************************************
pt{
    RBNFRules{
        OrdinalRules{
            "%%dord-mascabbrev:",
            "0: \u00BA;",
            "%digits-ordinal-masculine:",
            "-x: \u2212>>;",
            "0: =#,##0==%%dord-mascabbrev=;",
            "%%dord-femabbrev:",
            "0: \u00AA;",
            "%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=;",
            "%spellout-cardinal-masculine:",
            "-x: menos >>;",
            "x.x: << v\u00EDrgula >>;",
            "0: zero;",
            "1: um;",
            "2: dois;",
            "3: tr\u00EAs;",
            "4: quatro;",
            "5: cinco;",
            "6: seis;",
            "7: sete;",
            "8: oito;",
            "9: nove;",
            "10: dez;",
            "11: onze;",
            "12: doze;",
            "13: treze;",
            "14: catorze;",
            "15: quinze;",
            "16: dezesseis;",
            "17: dezessete;",
            "18: dezoito;",
            "19: dezenove;",
            "20: vinte[ e >>];",
            "30: trinta[ e >>];",
            "40: quarenta[ e >>];",
            "50: cinquenta[ e >>];",
            "60: sessenta[ e >>];",
            "70: setenta[ e >>];",
            "80: oitenta[ e >>];",
            "90: noventa[ e >>];",
            "100: cem;",
            "101: cento e >>;",
            "200: duzentos[ e >>];",
            "300: trezentos[ e >>];",
            "400: quatrocentos[ e >>];",
            "500: quinhentos[ e >>];",
            "600: seiscentos[ e >>];",
            "700: setecentos[ e >>];",
            "800: oitocentos[ e >>];",
            "900: novecentos[ e >>];",
            "1000: mil[ e >>];",
            "2000: << mil[ e >>];",
            "1000000: um milh\u00E3o[ e >>];",
            "2000000: << milh\u00F5es[ e >>];",
            "1000000000: um bilh\u00E3o[ e >>];",
            "2000000000: << bilh\u00F5es[ e >>];",
            "1000000000000: um trilh\u00E3o[ e >>];",
            "2000000000000: << trilh\u00F5es[ e >>];",
            "1000000000000000: um quatrilh\u00E3o[ e >>];",
            "2000000000000000: << quatrilh\u00F5es[ e >>];",
            "1000000000000000000: =#,##0=;",
            "%spellout-cardinal-feminine:",
            "-x: menos >>;",
            "x.x: << v\u00EDrgula >>;",
            "0: zero;",
            "1: uma;",
            "2: duas;",
            "3: =%spellout-cardinal-masculine=;",
            "20: vinte[ e >>];",
            "30: trinta[ e >>];",
            "40: quarenta[ e >>];",
            "50: cinquenta[ e >>];",
            "60: sessenta[ e >>];",
            "70: setenta[ e >>];",
            "80: oitenta[ e >>];",
            "90: noventa[ e >>];",
            "100: cem;",
            "101: cento e >>;",
            "200: duzentas[ e >>];",
            "300: trezentas[ e >>];",
            "400: quatrocentas[ e >>];",
            "500: quinhentas[ e >>];",
            "600: seiscentas[ e >>];",
            "700: setecentas[ e >>];",
            "800: oitocentas[ e >>];",
            "900: novecentas[ e >>];",
            "1000: mil[ e >>];",
            "2000: << mil[ e >>];",
            "1000000: um milh\u00E3o[ e >>];",
            "2000000: <%spellout-cardinal-masculine< milh\u00F5es[ e >>];",
            "1000000000: um bilh\u00E3o[ e >>];",
            "2000000000: <%spellout-cardinal-masculine< bilh\u00F5es[ e >>];",
            "1000000000000: um trilh\u00E3o[ e >>];",
            "2000000000000: <%spellout-cardinal-masculine< trilh\u00F5es[ e >>];",
            "1000000000000000: um quatrilh\u00E3o[ e >>];",
            "2000000000000000: <%spellout-cardinal-masculine< quatrilh\u00F5es[ e >>];",
            "1000000000000000000: =#,##0=;",
            "%spellout-ordinal-masculine:",
            "-x: menos >>;",
            "x.x: =#,##0.#=;",
            "0: zero;",
            "1: primeiro;",
            "2: segundo;",
            "3: terceiro;",
            "4: quarto;",
            "5: quinto;",
            "6: sexto;",
            "7: s\u00E9timo;",
            "8: oitavo;",
            "9: nono;",
            "10: d\u00E9cimo[ >>];",
            "20: vig\u00E9simo[ >>];",
            "30: trig\u00E9simo[ >>];",
            "40: quadrag\u00E9simo[ >>];",
            "50: quinquag\u00E9simo[ >>];",
            "60: sexag\u00E9simo[ >>];",
            "70: septuag\u00E9simo[ >>];",
            "80: octog\u00E9simo[ >>];",
            "90: nonag\u00E9simo[ >>];",
            "100: cent\u00E9simo[ >>];",
            "200: ducent\u00E9simo[ >>];",
            "300: tricent\u00E9simo[ >>];",
            "400: quadringent\u00E9simo[ >>];",
            "500: quingent\u00E9simo[ >>];",
            "600: sexcent\u00E9simo[ >>];",
            "700: septingent\u00E9simo[ >>];",
            "800: octingent\u00E9simo[ >>];",
            "900: noningent\u00E9simo[ >>];",
            "1000: mil\u00E9simo[ >>];",
            "2000: <%spellout-cardinal-masculine< \u00ADmil\u00E9simo[ >>];",
            "1000000: um milion\u00E9simo[ >>];",
            "2000000: <%spellout-cardinal-masculine< milion\u00E9simo[ >>];",
            "1000000000: um bilion\u00E9simo[ >>];",
            "2000000000: <%spellout-cardinal-masculine< bilion\u00E9simo[ >>];",
            "1000000000000: um trilion\u00E9simo[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< trilion\u00E9sima[ >>];",
            "1000000000000000: um quadrilion\u00E9simo[ >>];",
            "2000000000000000: <%spellout-cardinal-masculine< quadrilion\u00E9simo[ >>];",
            "1000000000000000000: =#,##0=\u00BA;",
            "%spellout-ordinal-feminine:",
            "-x: menos >>;",
            "x.x: =#,##0.#=;",
            "0: zero;",
            "1: primeira;",
            "2: segunda;",
            "3: terceira;",
            "4: quarta;",
            "5: quinta;",
            "6: sexta;",
            "7: s\u00E9tima;",
            "8: oitava;",
            "9: nona;",
            "10: d\u00E9cima[ >>];",
            "20: vig\u00E9sima[ >>];",
            "30: trig\u00E9sima[ >>];",
            "40: quadrag\u00E9sima[ >>];",
            "50: quinquag\u00E9sima[ >>];",
            "60: sexag\u00E9sima[ >>];",
            "70: septuag\u00E9sima[ >>];",
            "80: octog\u00E9sima[ >>];",
            "90: nonag\u00E9sima[ >>];",
            "100: cent\u00E9sima[ >>];",
            "200: ducent\u00E9sima[ >>];",
            "300: tricent\u00E9sima[ >>];",
            "400: quadringent\u00E9sima[ >>];",
            "500: quingent\u00E9sima[ >>];",
            "600: sexcent\u00E9sima[ >>];",
            "700: septingent\u00E9sima[ >>];",
            "800: octingent\u00E9sima[ >>];",
            "900: noningent\u00E9sima[ >>];",
            "1000: mil\u00E9sima[ >>];",
            "2000: <%spellout-cardinal-feminine< \u00ADmil\u00E9sima[ >>];",
            "1000000: uma milion\u00E9sima[ >>];",
            "2000000: <%spellout-cardinal-feminine< milion\u00E9sima[ >>];",
            "1000000000: uma bilion\u00E9sima[ >>];",
            "2000000000: <%spellout-cardinal-feminine< bilion\u00E9sima[ >>];",
            "1000000000000: uma trilion\u00E9sima[ >>];",
            "2000000000000: <%spellout-cardinal-feminine< trilion\u00E9sima[ >>];",
            "1000000000000000: uma quadrilion\u00E9sima[ >>];",
            "2000000000000000: <%spellout-cardinal-feminine< quadrilion\u00E9sima[ >>];",
            "1000000000000000000: =#,##0=\u00AA;",
        }
    }
    Version{"2.1.15.32"}
}
