﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/pt_PT.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/rbnf/pt_PT.xml
 */
pt_PT{
    RBNFRules{
        OrdinalRules{
            "%%dord-mascabbrev:",
            "0: \u1D52;",
            "1: \u1D49\u02B3;",
            "2: \u1D52;",
            "3: \u1D49\u02B3;",
            "4: \u1D52;",
            "20: >>;",
            "100: >>;",
            "%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=;",
            "%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: dezasseis;",
            "17: dezassete;",
            "18: dezoito;",
            "19: dezanove;",
            "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: duzcentos[ 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: <%spellout-cardinal-masculine< mil[ e >>];",
            "1000000: um milh\u00E3o[ e >>];",
            "2000000: <%spellout-cardinal-masculine< milh\u00F5es[ e >>];",
            "1000000000000: um bilh\u00E3o[ e >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilh\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: centa e >>;",
            "200: duzcentas[ 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 >>];",
            "1000000000000: um bilh\u00E3o[ e >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilh\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: un milion\u00E9simo[ >>];",
            "2000000: <%spellout-cardinal-masculine< milion\u00E9simo[ >>];",
            "1000000000000: un bilion\u00E9simo[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilion\u00E9simo[ >>];",
            "1000000000000000000: =#,##0=\u1D52;",
            "%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-masculine<\u00ADmil\u00E9sima[ >>];",
            "1000000: un milion\u00E9sima[ >>];",
            "2000000: <%spellout-cardinal-masculine< milion\u00E9sima[ >>];",
            "1000000000000: un bilh\u00F5\u00E9sima[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilion\u00E9sima[ >>];",
            "1000000000000000000: =#,##0=\u1D43;",
        }
    }
    Version{"2.0.41.26"}
}
