﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/rbnf/pt.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/xml/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: <%spellout-cardinal-masculine< 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.0.82.42"}
}
