﻿// ***************************************************************************
// *
// * 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/pt_PT.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/rbnf/pt_PT.xml
 */
pt_PT{
    RBNFRules{
        OrdinalRules{
            "%digits-ordinal:",
            "0: =%digits-ordinal-masculine=;",
            "%digits-ordinal-feminine:",
            "0: =#,##0==%%dord-femabbrev=;",
            "-x: \u2212>>;",
            "%digits-ordinal-masculine:",
            "0: =#,##0==%%dord-mascabbrev=;",
            "-x: \u2212>>;",
            "%%dord-femabbrev:",
            "0: \u1D43;",
            "%%dord-mascabbrev:",
            "0: \u1D52;",
            "1: \u1D49\u02B3;",
            "2: \u1D52;",
            "3: \u1D49\u02B3;",
            "4: \u1D52;",
            "20: >>;",
            "100: >>;",
        }
        SpelloutRules{
            "%%lenient-parse:",
            "&[last primary ignorable ] << ' ' << ',' << '-' << '\u00AD';",
            "%spellout-cardinal-feminine:",
            "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=;",
            "-x: menos >>;",
            "x.x: << v\u00EDrgula >>;",
            "%spellout-cardinal-masculine:",
            "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=;",
            "-x: menos >>;",
            "x.x: << v\u00EDrgula >>;",
            "%spellout-numbering:",
            "0: =%spellout-cardinal-masculine=;",
            "%spellout-numbering-year:",
            "0: =%spellout-numbering=;",
            "x.x: =#,###0.#=;",
            "%spellout-ordinal-feminine:",
            "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;",
            "-x: menos >>;",
            "x.x: =#,##0.#=;",
            "%spellout-ordinal-masculine:",
            "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;",
            "-x: menos >>;",
            "x.x: =#,##0.#=;",
        }
    }
    Version{"1.6"}
}
