194 lines
4.9 KiB
Java
194 lines
4.9 KiB
Java
^0 zero
|
||
1 um
|
||
2 dois
|
||
3 três
|
||
4 quatro
|
||
5 cinco
|
||
6 seis
|
||
7 sete
|
||
8 oito
|
||
9 nove
|
||
10 dez
|
||
11 onze
|
||
12 doze
|
||
13 treze
|
||
14 quatorze
|
||
15 quinze
|
||
16 dezesseis # [:pt-BR:]
|
||
16 dezasseis
|
||
17 dezessete # [:pt-BR:]
|
||
17 dezassete
|
||
18 dezoito
|
||
19 dezenove # [:pt-BR:]
|
||
19 dezanove
|
||
20 vinte
|
||
30 trinta
|
||
40 quarenta
|
||
50 cinquenta
|
||
60 sessenta
|
||
70 setenta
|
||
80 oitenta
|
||
90 noventa
|
||
(\d)(\d) $(\10) e $2
|
||
100 cem
|
||
1(\d\d) cento e $1
|
||
2(\d\d) duzentos[ e $1]
|
||
3(\d\d) trezentos[ e $1]
|
||
5(\d\d) quinhentos[ e $1]
|
||
(\d)(\d\d) $1centos[ e $2]
|
||
|
||
:0+
|
||
:0*\d{1,2}(\d{6}){0,} " e " # mil e um, mil e dez
|
||
:0*\d00(\d{6}){0,} " e " # mil e quinhentos
|
||
:0*\d{1,2}000(\d{6}){0,} " e " # um milhão e onze mil
|
||
:0*\d{1}00000(\d{6}){0,} " e " # um milhão e cem mil
|
||
:\d+ " "
|
||
|
||
pl:1 ão # milhão
|
||
pl:.* ões # milhões
|
||
|
||
1(\d\d\d) mil$(:\1)$1
|
||
(\d{1,3})(\d\d\d) $1 mil$(:\2)$2
|
||
|
||
(\d{1,3})(\d{6}) $1 milh$(pl:\1)$(:\2)$2 # [:pt-BR:]
|
||
(\d{1,3})(\d{9}) $1 bilh$(pl:\1)$(:\2)$2 # [:pt-BR:]
|
||
(\d{1,3})(\d{12}) $1 trilh$(pl:\1)$(:\2)$2 # [:pt-BR:]
|
||
(\d{1,3})(\d{15}) $1 quatrilh$(pl:\1)$(:\2)$2 # [:pt-BR:]
|
||
(\d{1,3})(\d{18}) $1 quintilh$(pl:\1)$(:\2)$2 # [:pt-BR:]
|
||
(\d{1,3})(\d{18}) $1 sextilh$(pl:\1)$(:\2)$2 # [:pt-BR:]
|
||
(\d{1,3})(\d{24}) $1 septilh$(pl:\1)$(:\2)$2 # [:pt-BR:]
|
||
|
||
(\d{1,6})(\d{6}) $1 milh$(pl:\1)$(:\2)$2
|
||
(\d{1,6})(\d{12}) $1 bili$(pl:\1)$(:\2)$2
|
||
(\d{1,6})(\d{18}) $1 trili$(pl:\1)$(:\2)$2
|
||
(\d{1,6})(\d{24}) $1 quatrili$(pl:\1)$(:\2)$2
|
||
|
||
# negative number
|
||
|
||
[-−](\d\d*) menos |$1
|
||
|
||
# decimals
|
||
|
||
([-−]?\d+)[.] $1| ponto
|
||
([-−]?\d+)[,] $1| vírgula
|
||
([-−]?\d+[.,])([^0]\d) $1| |$2
|
||
"([-−]?\d+[.,])(\d)(\d)(\d)" |$1 |$2| |$3| |$4
|
||
([-−]?\d+[.,]\d*)(\d) $1| |$2
|
||
|
||
# currency (monedas)
|
||
|
||
# unit/subunit singular/plural
|
||
|
||
us:([^,]*),([^,]*),([^,]*),([^,]*) \1
|
||
up:([^,]*),([^,]*),([^,]*),([^,]*) \2
|
||
ss:([^,]*),([^,]*),([^,]*),([^,]*) \3
|
||
sp:([^,]*),([^,]*),([^,]*),([^,]*) \4
|
||
|
||
AOA:(\D+) $(\1: kwanza, kwanzas, cêntimo, cêntimos)
|
||
ARG:(\D+) $(\1: peso argentino, pesos argentinos, centavo, centavos)
|
||
BOB:(\D+) $(\1: boliviano, bolivianos, centavo, centavos)
|
||
BRL:(\D+) $(\1: real, reais, centavo, centavos) # [:pt-BR:]
|
||
BRL:(\D+) $(\1: real, réis, centavo, centavos)
|
||
CHF:(\D+) $(\1: franco suíço, francos suíços, cêntimo, cêntimos)
|
||
CNY:(\D+) $(\1: yuan renminbi, yuan renminbi, fen, fen)
|
||
CVE:(\D+) $(\1: escudos cabo-verdianos, escudos cabo-verdianos, centavo, centavos)
|
||
EUR:(\D+) $(\1: euro, euros, cent, cents)
|
||
GBP:(\D+) $(\1: libra esterlina, libras esterlinas, penny, pence)
|
||
JPY:(\D+) $(\1: iene, ienes, sen, sen)
|
||
MOP:(\D+) $(\1: pataca, patacas, avo, avos)
|
||
MXN:(\D+) $(\1: peso mexicano, pesos mexicanos, centavo, centavos)
|
||
MZM:(\D+) $(\1: metical, meticais, centavo, centavos)
|
||
STD:(\D+) $(\1: dobra, dobras, cêntimo, cêntimos)
|
||
USD:(\D+) $(\1: dólar americano, dólares americanos, cêntimo, cêntimos)
|
||
XOF:(\D+) $(\1: franco CFA, francos CFA, cêntimo, cêntimos)
|
||
|
||
# masculine to feminine conversion of "un" after millions,
|
||
# if "as?$" matches currency name
|
||
|
||
f:(.*il[hi])(.*),(.*) \1$(f:\2,\3) # don't modify millions
|
||
f:(.*um)([^a].*,|,)(.*as?) $(f:\1a\2\3) # um libra -> uma libra
|
||
f:(.*d)oi(s.*),(.*as?) $(f:\1ua\2,\3) # dois libra -> duas libra
|
||
f:(.*ent)o(s.*),(.*as?) $(f:\1a\2,\3) # duzentos libra -> duzentas libra
|
||
f:(.*),(.*) \1\2
|
||
|
||
"([A-Z]{3}) ([-−]?1)([.,]00?)?"$(f:|$2,$(\1:us))
|
||
"([A-Z]{3}) ([-−]?\d+0{6,})([.,]00?)?" $2 de$(\1:up)
|
||
"([A-Z]{3}) ([-−]?\d+)([.,]00?)?"$(f:|$2,$(\1:up))
|
||
|
||
"(CNY [-−]?\d+)[.,]10?" $1 $2 jiao
|
||
"(CNY [-−]?\d+)[.,](\d)0?" $1 $2 jiao
|
||
"(CNY [-−]?\d+[.,]\d)1" $1 $2 fen
|
||
"(CNY [-−]?\d+[.,]\d)(\d)" $1 $2 fen
|
||
|
||
"(([A-Z]{3}) [-−]?\d+)[.,](01)" $1 e |$(1)$(\2:ss)
|
||
"(([A-Z]{3}) [-−]?\d+)[.,](\d)" $1 e |$(\30)$(\2:sp)
|
||
"(([A-Z]{3}) [-−]?\d+)[.,](\d\d)" $1 e |$3$(\2:sp)
|
||
|
||
== feminine ==
|
||
|
||
([-−]?\d+) $(feminine $1)
|
||
|
||
(.*)um \1uma
|
||
(.*)dois(.*) $(feminine \1duas\2)
|
||
(.*) \1
|
||
|
||
== masculine ==
|
||
|
||
([-−]?\d+) $1
|
||
|
||
== ordinal(-masculine)? ==
|
||
|
||
1 primeiro
|
||
2 segundo
|
||
3 terceiro
|
||
4 quarto
|
||
5 quinto
|
||
6 sexto
|
||
7 sétimo
|
||
8 oitavo
|
||
9 nono
|
||
10 décimo
|
||
20 vigésimo
|
||
30 trigésimo
|
||
40 cuadragésimo
|
||
50 quincuagésimo
|
||
60 sexagésimo
|
||
70 septuagésimo
|
||
80 octogésimo
|
||
90 nonagésimo
|
||
(\d)(\d) $(ordinal \20) $(ordinal \3)
|
||
100 centésimo
|
||
200 ducentésimo
|
||
300 trecentésimo
|
||
400 quadrigentésimo
|
||
500 quingentésimo
|
||
600 sexcentésimo
|
||
700 septicentésimo
|
||
800 octigentésimo
|
||
900 nongentésimo
|
||
(\d)(\d\d) $(ordinal \200) $(ordinal \3)
|
||
1(\d{3}) milésimo[ $(ordinal \2)]
|
||
(\d)(\d{3}) $2 milésimo[ $(ordinal \3)]
|
||
1(\d{6}) milionésimo[ $(ordinal \2)]
|
||
(\d{1,3})(\d{6}) $2 milionésimo[ $(ordinal \3)]
|
||
1(\d{9}) bilionésimo[ $(ordinal \2)]
|
||
(\d{1,3})(\d{9}) $2 bilionésimo[ $(ordinal \3)]
|
||
|
||
== ordinal-feminine ==
|
||
|
||
([-−]?\d+) $(ordinal-feminine $(ordinal-masculine \1))
|
||
(.*)o\b(.*) $(ordinal-feminine \1a\2)
|
||
(.*) \1
|
||
|
||
== (ordinal)-number(-feminine|-masculine)? ==
|
||
|
||
([-−]?\d+) \3$(ordinal-number $(\1\2 \3))
|
||
.*er .ᵉʳ
|
||
.*a .ª
|
||
.*o .º
|
||
|
||
== help ==
|
||
|
||
"" $(1)|, $(2), $(3)\n$(\0 feminine)$(\0 masculine)$(\0 ordinal-feminine)$(\0 ordinal-masculine)$(\0 ordinal-number-feminine)$(\0 ordinal-number-masculine)
|
||
(feminine|masculine|ordinal(-number)?(-feminine|-masculine)?) \1: $(\1 1), $(\1 2), $(\1 3)\n
|