123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433 |
- ^0 nulla
- 1 egy
- 2$ kettő
- 2 két
- 3 három
- 4 négy
- 5 öt
- 6 hat
- 7 hét
- 8 nyolc
- 9 kilenc
- 10 tíz
- 1(\d) tizen$1
- 20 húsz
- 2(\d) huszon$1
- 3(\d) harminc$1
- 4(\d) negyven$1
- 5(\d) ötven$1
- 6(\d) hatvan$1
- 7(\d) hetven$1
- 8(\d) nyolcvan$1
- 9(\d) kilencven$1
- 1(\d\d) száz$1
- (\d)(\d\d) $1száz$2
- 11(\d{2}) ezeregy$(1\1)
- 1(\d{3}) ezer$1
- (\d{1,3})(\d{3}) $1ezer[-$2]
- (\d{1,3})(\d{6}) $1millió[-$2]
- (\d{1,3})(\d{9}) $1milliárd[-$2]
- (\d{1,3})(\d{12}) $1billió[-$2]
- (\d{1,3})(\d{15}) $1billiárd[-$2]
- (\d{1,3})(\d{18}) $1trillió[-$2]
- (\d{1,3})(\d{21}) $1trilliárd[-$2]
- # negative numbers
- [-−](\d+) mínusz |$1
- # decimals
- "([-−]?\d+)[.,](\d)" |$1| egész |$2 tized
- "([-−]?\d+)[.,](\d\d)" |$1| egész |$2 század
- "([-−]?\d+)[.,](\d{3})" |$1| egész |$2 ezred
- "([-−]?\d+)[.,](\d)(\d)(\d)(\d)" |$1| egész |$2| |$3| |$4| |$5|
- "([-−]?\d+[.,]\d+)(\d)" $1 |$2|
- # currency
- # unit/subunit
- u:([^,]*),([^,]*) \1
- s:([^,]*),([^,]*) \2
- AUD:(.) $(\1: ausztrál dollár, cent)
- BGN:(.) $(\1: bolgár leva, sztotinka)
- BRL:(.) $(\1: brazil real, centavo)
- CAD:(.) $(\1: kanadai dollár, cent)
- CHF:(.) $(\1: svájci frank, rappen)
- CNY:(.) $(\1: kínai jüan, fen)
- CZK:(.) $(\1: cseh korona, haléř)
- DKK:(.) $(\1: dán korona, øre)
- EEK:(.) $(\1: észt korona, sent)
- EUR:(.) $(\1: euró, cent)
- GBP:(.) $(\1: font sterling, penny)
- HKD:(.) $(\1: hongkongi dollár, cent)
- HRK:(.) $(\1: horvát kuna, lipa)
- HUF:(.) $(\1: forint, fillér)
- ISK:(.) $(\1: izlandi korona, eyrir)
- JPY:(.) $(\1: japán jen, szen)
- KRW:(.) $(\1: dél-koreai von, cson)
- LTL:(.) $(\1: litván litas, centas)
- LVL:(.) $(\1: lett lat, santīm)
- MXN:(.) $(\1: mexikói peso, centavo)
- NOK:(.) $(\1: norvég korona, øre)
- NZD:(.) $(\1: új-zélandi dollár, cent)
- PLN:(.) $(\1: lengyel złoty, grosz)
- RON:(.) $(\1: román lej, bani)
- RSD:(.) $(\1: szerb dinár, para)
- RUB:(.) $(\1: orosz rubel, kopejka)
- SEK:(.) $(\1: svéd korona, öre)
- SGD:(.) $(\1: szingapúri dollár, cent)
- TRY:(.) $(\1: török líra, kuruş)
- UAH:(.) $(\1: ukrán hrivnya, kopijka)
- USD:(.) $(\1: USA-dollár, cent)
- ZAR:(.) $(\1: dél-afrikai rand, cent)
- "(JPY [-−]?\d+)[.,](\d\d)0" $1
- "(JPY [-−]?\d+[.,]\d\d)(\d)" $1 $2 rin
- "([A-Z]{3}) ([-−]?\d+)([.,]00?)?" $2$(\1:u)
- "(CNY [-−]?\d+)[.,](\d)0?" $1 $2 jiao
- "(CNY [-−]?\d+[.,]\d)(\d)" $1 $2 fen
- "(([A-Z]{3}) [-−]?\d+)[.,](\d)" $1 $(\30)$(\2:s)
- "(([A-Z]{3}) [-−]?\d+)[.,](\d\d)" $1 $3$(\2:s)
- # Article a/az (number name)
- "article (cardinal |formal ){2}(([a-zA-Z]+ )*1\d{2}([.,]\d*)?)" az $(formal \2)
- "article (cardinal |ordinal )(([a-zA-Z]+ )*1(\d{3})*([.,]\d*)?)" az $(\1\2)
- "article (cardinal |ordinal )(([a-zA-Z]+ )*5.*)" az $(\1\2)
- "article (cardinal |ordinal )([^-].*)" a $(\1\2)
- # Article a/az + optional cardinal/ordinal + suffixation
- "article ((cardinal |ordinal )?(-[^0-9]+) [{\(\[]?(\d+|[a-zA-Z])[}\)\]]?)" $(article $(\1))
- # cardinal/ordinal + suffixation
- "(cardinal )(-[^0-9]+) ([{\(\[]?(\d+)[}\)\]]?)" $(\1$(\2 \4))
- "(ordinal )(-[^0-9]+) ([{\(\[]?(\d+)[}\)\]]?)" $(\1$(\2 \4.))
- "(cardinal |ordinal )(\d+)[.]?-([a-záéóöőüű]*)$" $(fix-grammar $(\1\2)|\3)
- == fix-grammar ==
- (.*)elsői \1elseji
- (.*)elsőei \1elsejei
- (.*)elsőe(.*) \1első\2
- (.*)első(j.*) \1else\2
- (.*)hároma(t|s) \1hárma\2
- (.*)húszsz(.*) \1hússz\2
- (.*)gygy(.*) \1ggy\2
- (.*) \1
- # Article a/az (number, month names and other words)
- == article ==
- "(-[a-záéö]* .*|[a-z][-a-z]*ive .*)" $(article $(\1)) # for example, "article -ban október" -> "az októberben"
- ((i|v|l(v?i{0,3}|i[vx])|d(xc)?[ilxv]*|m(cm)?[cdilxv]*)[.](-.*)?) az \1 # Roman numbers
- ((I|V|L(V?I{0,3}|I[VX])|D(XC)?[ILXV]*|M(CM)?[CDILXV]*)[.](-.*)?) az \1 # ROMAN NUMBERS
- ((iii?|iv|vi{1,3}|ix|(x{1,3}|xl|lx{1,3}|xc)(i{0,3}|vi{0,3}|ix)|(c{1,3}|cd|dc{1,3})[ilxv]*|mmm?[dilxv]*)[.](-.*)?) a \1 # Roman numbers II.
- ((III?|IV|VI{1,3}|IX|(X{1,3}|XL|LX{1,3}|XC)(I{0,3}|VI{0,3}|IX)|(c{1,3}|CD|DC{1,3})[ILXV]*|MMM?[DILXV]*)[.](-.*)?) a \1 # ROMAN NUMBERS II.
- ([{\(\[]?(1(\d{3}|\d{6})*|[aefilmnorsuxyAEFILMNORSUXY])[}\)\]]?(-.*)?) az \1 # numbers and 1-letter indices
- ([{\(\[]?5.*) az \1 # numbers
- ([aáeéiíoóöőuúüűAÁEÉIÍOÓÖŐUÚÜŰ].*) az \1
- (.*) a \1
- == ordinal ==
- 1 első
- 2 második
- "(([a-zA-Z]+ )*[-−]?\d+)" $(ordinal $1)
- (.*)nulla \1nulladik
- (.*)egy \1egyedik
- (.*)kettő \1kettedik
- (.*)három \1harmadik
- (.*)négy \1negyedik
- (.*)öt \1ötödik
- (.*)hat \1hatodik
- (.*)hét \1hetedik
- (.*)nyolc \1nyolcadik
- (.*)kilenc \1kilencedik
- (.*)tíz \1tizedik
- (.*)húsz \1huszadik
- (.*)harminc \1harmincadik
- (.*)(negy|öt|het|kilenc)ven \1\2venedik
- (.*)(hat|nyolc)van \1\2vanadik
- (.*)száz \1századik
- (.*)ezer \1ezredik
- (.*)illió \1illiomodik
- (.*)illiárd \1illiárdodik
- == formal ==
- "(([a-zA-Z]+ )*[-−]?\d+([.,]\d*)?)" $(formal |$1)
- (|.*-)((száz|ezer).*) $(formal \1egy\2)
- (.*)két(.*) $(formal \1kettő\2)
- (.*) \1
- == year ==
- # no hyphen in numbers
- "(([a-zA-Z]+ )*[-−]?\d+)" $(year |$1)
- (.*)-(.*) $(year \1\2)
- (.*) \1
- == cardinal ==
- (.*) $1
- == ordinal-number ==
- (.*) \1.
- == text ==
- (\d|10) $1
- (\d{2,4}) \1
- (\d{2,3})(\d{3}) \1 ezer[ $(text \2)]
- (\d{1,3})(\d{6}) \1 millió[ $(text \2)]
- (\d{1,4})(\d{9}) \1 milliárd[ $(text \2)]
- (\d{1,4})(\d{12}) \1 billió[ $(text \2)]
- (\d{1,4})(\d{15}) \1 billiárd[ $(text \2)]
- # suffix functions for numbers, dates, letters and parenthesized references
- #
- # canonical and localized suffix function names
- #
- # for example:
- #
- # accusative 2 -> 2-t
- # -t 2 -> 2-t
- # -t 3 -> 3-at
- # -t 4 -> 4-et
- # -t 5 -> 5-öt
- # -t 6 -> 6-ot
- # -ban a) -> a)-ban
- # -ban b) -> b)-ben
- == database ==
- "" :ablative:-tól-től:accusative:-at-et-ot-öt-t:adessive:-nál-nél:adjective:-i-ji:allative:-hoz-hez-höz:attribution-adjective:-as-es-os-ös:dative:-nak-nek:delative:-ról-ről:elative:-ból-ből:fraction-nominative:-ad-ed-od-öd:illative:-ba-be:inessive:-ban-ben:instrumental:-val-vel:multiplicative:-szor-szer-ször:multiplicative-adjective:-szoros-szeres-szörös:possessive:-a-e-je:possessive-ablative:-ától-étől-jétől:possessive-adjective:-ai-ei-jei:possessive-inessive:-ában-ében:possessive-superessive:-án-én:possessive-terminative:-áig-éig-jéig:sublative:-ra-re:superessive:-on-en-ön:terminative:-ig:translative:-vá-vé:
- # get suffixed form using the following canonical names
- #
- # for example, "accusative 5" -> "5-öt"
- == ([a-z][-a-z]*ive) ==
- ([^:]*) $($(\1 $(database)) \2)
- .*:\1:(-[^-:]*).* \2
- # get suffixed form using the alternative suffix variants
- # by converting them to the preferred (first) variant
- #
- # for example "-et" -> "-at", then
- # "-at 5" -> "5-öt"
- == (-[a-z]*[eéöő][a-zéöő]*|-t) ==
- ([^:]*) $($(\1 $(database)) \2)
- .*:(-[^-:]+)(-[^-:]+)*\1.* \2
- # replace localized function name with their canonical-name in an input list
- == canonical-name ==
- "([^:]* )?(-[a-zéáóöő]+)( [^:]*)?" \1$(canonical-name \2 $(database))\3
- (-[a-zéáóöő]+).*:([a-z]+(-[a-z]+)?):[^:]*\1[-,:].* \2
- == -a ==
- "(1|.* 1)" \1-je
- "(2|.* 2)" \1-a
- == -ai ==
- "(1|.* 1)" \1-jei
- "(2|.* 2)" \1-ai
- == -i ==
- "(1|.* 1)" \1-ji
- == -án ==
- "(1|.* 1)" \1-jén
- "(2|.* 2)" \1-án
- == -áig ==
- "(1|.* 1)" \1-jéig
- "(2|.* 2)" \1-áig
- == -ától ==
- "(1|.* 1)" \1-jétől
- "(2|.* 2)" \1-ától
- == -at ==
- 1[.] 1.-t
- (\d*)2 \12-t
- 2[.] 2.-at
- (\d*)5 \15-öt
- (\d*)6 \16-ot
- == -d ==
- ([{\(\[]?(.*[^0]0{6,8}|.*[^0]0{12,14})[}\)\]]?) \1-od
- ([{\(\[]?[ahkoquAHKOQU][}\)\]]?) \1-ad
- ([{\(\[]?[bcdefgijlmnprstvwxzBCDEFGIJLMNPRSTVWXZ][}\)\]]?) \1-ed
- == -([ds]) ==
- ([{\(\[]?.*2[}\)\]]?) \2-e\1
- ([{\(\[]?[yY][.]?[}\)\]]?) \2-o\1
- == -([dst]) ==
- ([{\(\[]?.*5[}\)\]]?) \2-ö\1
- ([{\(\[]?(0|.*2|.*[^0]0{6,8}|.*[^0]0{12,14}|[abcdeghijkopqtuvwyzABCDEGHIJKOPQTUVWYZ][.]?)[}\)\]]?) \2-\1
- ([{\(\[]?(.*6|.*[^0]0{9,11}|.*[^0]0{15,17})[}\)\]]?) \2-o\1
- ([{\(\[]?(\d+|[a-zA-Z])[}\)\]]?) $(-a\1 \2)
- == -dik ==
- (.?(\d+|[a-zA-Z][.]?)[}\)\]]?) $(-d \1)ik
- == -hoz ==
- ((.*2|.*5|1[.])[}\)\]]?) \1-höz
- == -szoros ==
- (.*5[}\)\]]?) \1-szörös
- == -szor ==
- ([{\(\[]?(\d+|[a-zA-Z])[}\]\)]?) $(-szor $(-szoros \1))
- (.*-sz.r).s \1
- # MONTHS
- == -(a|á)(ban|tól|ig)? ==
- ((jan|febr)uár) \3j\1\2
- == -(á)?(a|ban|tól|ig) ==
- ((jan|febr)uár|március|április|május|jú(n|l)ius|augusztus) \3\1\2
- # convert optional "á" and vowels of "ban", "tól", "ig" to
- # "-ben", "-től", "-ig" using prefix "-on", and remove dash
- ((szeptem|októ|novem|decem)ber) \3$(remove-dash $(-on -\1))$(remove-dash $(-on -\2))
- == abbreviation ==
- (jan|febr|márc|ápr|máj|jún|júl|aug|szept|okt|nov|dec).* \1.
- == remove-dash ==
- -(.*) \1
- # DAYS
- == -ig ==
- szerda szerdáig
- ((.*\d|[{\(\[]?[a-zA-Z])[}\)\]]?) \1-ig
- (.*\D) \1ig
- == -tól ==
- szerda szerdától
- (hétfő|kedd|csütörtök|péntek) \1től
- (szombat|vasárnap) \1tól
- == -on ==
- hétfő hétfőn
- (kedd|péntek) \1en
- szerda szerdán
- csütörtök csütörtökön
- szombat szombaton
- vasárnap vasárnap # no suffix in dates
- (.*5[}\)\]]?) \1-ön
- ([{\(\[]?(0|.*2|.*[^0]0{6,8}|.*[^0]0{12,14}|[abcdeghijkopqtuvwzABCDEGHIJKOPQTUVWZ][.]?)[}\)\]]?) \1-n
- (.?(\d+|[flmnrsxyFLMNRSXY][.]?)[}\)\]]?) $(-on \1)
- == -val ==
- # ordinal
- (1[.]) \1-vel
- (2[.]) \1-kal
- (.*([368]|[2368]0|\d00|\d0{6,})[.]) \1-kal
- (.*([14579]|[14579]0|\d0{3,5})[.]) \1-kel
- # cardinal
- ([{\(\[]?(0|.*[^0]0{6,8}|.*[^0]0{12,14}|[ahkoquAHKOQU][.]?)[}\)\]]?) \1-val
- (.*[14][}\)\]]?) \1-gyel
- (.*(2|[bcdegijptvwzBCDEGIJPTVWZ][.]?)[}\)\]]?) \1-vel
- (.*3[}\)\]]?) \1-mal
- (.*[57][}\)\]]?) \1-tel
- (.*6[}\)\]]?) \1-tal
- ((.*8|.*30)[}\)\]]?) \1-cal
- (.*9[}\)\]]?) \1-cel
- (.*10[}\)\]]?) \1-zel
- (.*20[}\)\]]?) \1-szal
- (.*[4579]0[}\)\]]?) \1-nel
- (.*([68]0|[yY][.]?)[}\)\]]?) \1-nal
- (.*[^0]00[}\)\]]?) \1-zal
- (.*[^0]0{3,5}[}\)\]]?) \1-rel
- ((.*[^0]0{9,11}|.*[^0]0{15,17})[}\)\]]?) \1-dal
- (.*([flmnrsFLMNRS])[.]?[}\)\]]?) \1-\2el
- (.*[xX][.]?[}\)\]]?) \1-szel
- == -vá ==
- ([{\(\[]?(\d+|[a-zA-Z])[}\)\]]?) $(-vá $(-val \1))
- (.*)al \1á
- (.*)el \1é
- == (-a|-ad|-ai|-án|-áig|-ban?|-ból|-hoz|-i|-nak|-nál|-on|-ra|-ról|-as|-szoros|-at|-á?tól|-ul) ==
- # 1-be, 2-nek, 2.-nak, 12.-nek, 4-et etc., b)-ben, c)-ből, d)-hez, n-et etc.
- # add affix after conversion to the alternative form
- ([{\(\[]?(2|.+2[.]?|.*[14579][.]?|.*[14579]0[.]?|.*[^0]0{3,5}[.]?|[bcdefgijlmnprstvwxzBCDEFGIJLMNPRSTVWXZ][.]?)[}\)\]]?) \2$(-on \1)
- # otherwise: 0-ba, 3-at, 6-nál etc., a)-ban, h)-ból, k-hoz, y-ról etc.
- ([{\(\[]?(.*[0-9]+[.]?|[ahkoquyAHKOQUY][.]?)[}\)\]]?) \2\1
- # conversion to the alternative form: -ban -> -ben etc.
- -szoros -szeres
- -(.*)[ao](.*) -\2e\3
- -([brt])ól -\2ől
- -ától -étől
- -(.*)[á](.*) -\2é\3
- -ul -ül
- (-ig?) \2
- == help ==
- "" $(1)|, $(2)|, $(3)\n$(\0 ordinal)$(\0 ordinal-number)year: $(year 2001), $(year 2002)|, $(year 2003)\nformal: $(formal 100), $(formal 200), $(formal 1000)\ntext: $(text 1), $(text 12000), $(text 10000000000)\ncurrency \(for example, HUF\): $(HUF 2,5)\nformal HUF: $(formal HUF 102,5)\nSuffixation of numbers and letters: -a, -ában, -án, -áig, -ától, -ba, -ban, -ból, -d, -dik, -hoz,\n -nak, -nál, -n, -ra, -ról, -s, -szor, -szoros, -t, -tól, -ul, -vá, -val,\n for example: -szor 15 -> $(-szor 15)\narticle: $(article 5)\narticle cardinal: $(article cardinal 100)\narticle cardinal formal: $(article cardinal formal 100)\narticle -ban: $(article -ban a\))\narticle -ai: $(article -ai 1)\narticle ordinal -ai: $(article ordinal -ai 1)|\ncanonical-name: -szor -> $(canonical-name -szor)
- "(ordinal(-number)?|USD)" \1: $(\1 1), $(\1 2), $(\1 3)\n
|