# 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