177 lines
5.5 KiB
Java
177 lines
5.5 KiB
Java
![]() |
# 0-135;200;205;210;211;231;300;400;405;410;411;420;431;500;600;700;800;900;1000;1015;1030;1031;1100;1101;1120;1121;1200;2000;2001;2020;2021;2100;2101;2120;2121;10000;11000;11001;11020;11021;11100;11101;11120;11121;20000;21000;21001;21020;21021;21200;21201;21220;21221;22000;100000;300000;300001;310000;321000;321321;1000000;1000001;1000023;4000435;11320387;34045671940;1.1;1.2;2,01;2.21;2.22;2.222;2,2222;45,9876543;-5;−17,48
|
|||
|
|
|||
|
^0 нула
|
|||
|
1 едно
|
|||
|
2 две
|
|||
|
3 три
|
|||
|
4 четири
|
|||
|
5 пет
|
|||
|
6 шест
|
|||
|
7 седем
|
|||
|
8 осем
|
|||
|
9 девет
|
|||
|
10 десет
|
|||
|
11 единадесет
|
|||
|
12 дванадесет
|
|||
|
1([0-9]) $1надесет
|
|||
|
([0-9])([0-9]) $(m:$1)десет[ и $2]
|
|||
|
([0-9])([0-9][0-9]) $(e2:\1)[ $(and:$2)]
|
|||
|
([0-9]{1,3})([0-9]{3}) $(e3:\1)[ $(and:$2)]
|
|||
|
([0-9]{1,3})([0-9]{6}) $(e6:\1)[ $(and:$2)]
|
|||
|
([0-9]{1,3})([0-9]{9}) $(e9:\1)[ $(and:$2)]
|
|||
|
([0-9]{1,3})([0-9]{12}) $(e12:\1)[ $(and:$2)]
|
|||
|
([0-9]{1,3})([0-9]{15}) $(e15:\1)[ $(and:$2)]
|
|||
|
([0-9]{1,3})([0-9]{18}) $(e18:\1)[ $(and:$2)]
|
|||
|
([0-9]{1,3})([0-9]{21}) $(e21:\1)[ $(and:$2)]
|
|||
|
([0-9]{1,3})([0-9]{24}) $(e24:\1)[ $(and:$2)]
|
|||
|
|
|||
|
e2:1 сто
|
|||
|
e2:([23]) $1ста
|
|||
|
e2:([0-9]) $1стотин
|
|||
|
e3:1 хиляда
|
|||
|
e3:([0-9]{1,3}) $(f:$1) хиляди
|
|||
|
e6:1 един милион
|
|||
|
e6:([0-9]{1,3}) $(m:$1) милиона
|
|||
|
e9:1 един милиард
|
|||
|
e9:([0-9]{1,3}) $(m:$1) милиарда
|
|||
|
e12:1 един трилион
|
|||
|
e12:([0-9]{1,3}) $(m:$1) трилиона
|
|||
|
e15:1 един квадрилион
|
|||
|
e15:([0-9]{1,3}) $(m:$1) квадрилиона
|
|||
|
e18:1 един квинтилион
|
|||
|
e18:([0-9]{1,3}) $(m:$1) квинтилиона
|
|||
|
e21:1 един секстилион
|
|||
|
e21:([0-9]{1,3}) $(m:$1) секстилиона
|
|||
|
e24:1 един септилион
|
|||
|
e24:([0-9]{1,3}) $(m:$1) септилиона
|
|||
|
|
|||
|
# prepend "и" ("and") only to a subphrase that does not already contain it
|
|||
|
|
|||
|
"and:([а-я ]+ и [^0-9]+)" \1
|
|||
|
"and:([^0-9]+)" и \1
|
|||
|
|
|||
|
# negative number
|
|||
|
|
|||
|
[-−]([0-9]+) минус |$1
|
|||
|
|
|||
|
# decimals
|
|||
|
|
|||
|
by_digits:([0-9])([0-9]*) $1 $(by_digits:\2)
|
|||
|
([-−]?[0-9]+)[.,] цяло
|
|||
|
([-−]?[0-9]+)[.,]1 $1 цяло и една десета
|
|||
|
([-−]?[0-9]+)[.,]([0-9]) $1 цяло и $(f:|$2) десети
|
|||
|
([-−]?[0-9]+)[.,]01 $1 цяло и една стотна
|
|||
|
([-−]?[0-9]+)[.,]([0-9][0-9]) $1 цяло и $(f:|$2) стотни
|
|||
|
([-−]?[0-9]+)[.,]001 $1 цяло и една хилядна
|
|||
|
([-−]?[0-9]+)[.,]([0-9]{3}) $1 цяло и $(f:|$2) хилядни
|
|||
|
([-−]?[0-9]+)[.,]0001 $1 цяло и една десетохилядна
|
|||
|
([-−]?[0-9]+)[.,]([0-9]{4}) $1 цяло и $(f:|$2) десетохилядни
|
|||
|
([-−]?[0-9]+)[.,]00001 $1 цяло и една стохилядна
|
|||
|
([-−]?[0-9]+)[.,]([0-9]{5}) $1 цяло и $(f:|$2) стохилядни
|
|||
|
([-−]?[0-9]+)[.,]000001 $1 цяло и една милионна
|
|||
|
([-−]?[0-9]+)[.,]([0-9]{6}) $1 цяло и $(f:|$2) милионни
|
|||
|
([-−]?[0-9]+)[.,]([0-9]+) $1 цяло и $(by_digits:\2)
|
|||
|
|
|||
|
# gender conversion for cardinals (default is neuter)
|
|||
|
|
|||
|
n:([^0-9]+) \1
|
|||
|
f:([^0-9]*)едно \1една
|
|||
|
f:([^0-9]+) \1
|
|||
|
m:([^0-9]*)едно \1един
|
|||
|
m:([^0-9]*)две \1два
|
|||
|
m:([^0-9]+) \1
|
|||
|
|
|||
|
# currency
|
|||
|
|
|||
|
# unit/subunit singular/plural
|
|||
|
|
|||
|
us(.).:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) $(\1:\6) \2
|
|||
|
up(.).:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) $(\1:\6) \3
|
|||
|
ss.(.):([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) $(\1:\6) \4
|
|||
|
sp.(.):([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) $(\1:\6) \5
|
|||
|
|
|||
|
BGN:(.+),(.+) $(\2mf:лев,лева,стотинка,стотинки,\1)
|
|||
|
CHF:(.+),(.+) $(\2mm:швейцарски франк,швейцарски франка,сантим,сантима,\1)
|
|||
|
CNY:(.+),(.+) $(\2mm:юан,юана,фен,фена,\1)
|
|||
|
EUR:(.+),(.+) $(\2nm:евро,евро,цент,цента,\1)
|
|||
|
GBP:(.+),(.+) $(\2fm:британска лира,британски лири,пенс,пенса,\1)
|
|||
|
JPY:(.+),(.+) $(\2fm:йена,йени,сен,сена,\1)
|
|||
|
RUB:(.+),(.+) $(\2ff:рубла,рубли,копейка,копейки,\1)
|
|||
|
TRY:(.+),(.+) $(\2fm:турска лира,турски лири,куруш,куруша,\1)
|
|||
|
USD:(.+),(.+) $(\2mm:щатски долар,щатски долара,цент,цента,\1)
|
|||
|
|
|||
|
"([A-Z]{3}) ([-−]?1)([.,]00?)?" $(\1:|$2,us)
|
|||
|
"([A-Z]{3}) ([-−]?[0-9]+)([.,]00?)?" $(\1:|$2,up)
|
|||
|
|
|||
|
"(([A-Z]{3}) [-−]?[0-9]+)[.,](01)" $1 и $(\2:|$3,ss)
|
|||
|
"(([A-Z]{3}) [-−]?[0-9]+)[.,]([0-9])" $1 и $(\2:|$(\30),sp)
|
|||
|
"(([A-Z]{3}) [-−]?[0-9]+)[.,]([0-9][0-9])" $1 и $(\2:|$3,sp)
|
|||
|
|
|||
|
== neuter ==
|
|||
|
|
|||
|
([-−]?[0-9]+) $1
|
|||
|
|
|||
|
== masculine ==
|
|||
|
|
|||
|
([-−]?[0-9]+) $(m:|$1)
|
|||
|
|
|||
|
== feminine ==
|
|||
|
|
|||
|
([-−]?[0-9]+) $(f:|$1)
|
|||
|
|
|||
|
== ordinal ==
|
|||
|
|
|||
|
# up to 6 digits, more than enough for outline numbering
|
|||
|
|
|||
|
0 нулев
|
|||
|
1 първи
|
|||
|
2 втори
|
|||
|
3 трети
|
|||
|
4 четвърти
|
|||
|
5 пети
|
|||
|
6 шести
|
|||
|
7 седми
|
|||
|
8 осми
|
|||
|
9 девети
|
|||
|
(1[0-9]|[2-9]0) $1и
|
|||
|
([0-9])([0-9]) $(\10)[ и $(ordinal \2)]
|
|||
|
100 стотен
|
|||
|
([23])00 $1стен
|
|||
|
([0-9])00 $1стотен
|
|||
|
([0-9])([0-9][0-9]) $(\100) $(and:$(ordinal \2))
|
|||
|
1000 хиляден
|
|||
|
(1?[0-9]|[1-9]00?)000 $(f:|$1)хиляден
|
|||
|
([0-9]{2,3})000 $(f:|$1) хиляден
|
|||
|
1([0-9]{3}) хиляда[ $(and:$(ordinal \1))]
|
|||
|
([0-9]{1,3})([0-9]{3}) $(f:|$1) хиляди[ $(and:$(ordinal \2)])
|
|||
|
|
|||
|
[-−]([0-9]+) минус $(ordinal \1)
|
|||
|
|
|||
|
== ordinal-masculine ==
|
|||
|
|
|||
|
([-−]?[0-9]+) $(ordinal \1)
|
|||
|
|
|||
|
== ordinal-feminine ==
|
|||
|
|
|||
|
([-−]?[0-9]+) $(ordinal-feminine $(ordinal \1))
|
|||
|
|
|||
|
([^0-9]+)ен \1на
|
|||
|
([^0-9]+)и \1а
|
|||
|
([^0-9]+) \1а
|
|||
|
|
|||
|
== ordinal-neuter ==
|
|||
|
|
|||
|
([-−]?[0-9]+) $(ordinal-neuter $(ordinal \1))
|
|||
|
|
|||
|
([^0-9]+)ен \1но
|
|||
|
([^0-9]+)и \1о
|
|||
|
([^0-9]+) \1о
|
|||
|
|
|||
|
== ordinal-number ==
|
|||
|
|
|||
|
([0-9]+) \1.
|
|||
|
|
|||
|
== help ==
|
|||
|
|
|||
|
"" $(1)|, $(2), $(3)\n$(\0 masculine)$(\0 feminine)$(\0 neuter)$(\0 ordinal-masculine)$(\0 ordinal-feminine)$(\0 ordinal-neuter)$(\0 ordinal-number)
|
|||
|
(.*) \1: |$(\1 1)|, |$(\1 2)|, |$(\1 3)|\n
|