From 1ad492bcfb2857ca55d7d799cddfa5f1e5347ab5 Mon Sep 17 00:00:00 2001 From: László Németh Date: Mon, 5 Dec 2011 19:11:32 +0100 Subject: Hungarian sentence checking --- dictionaries/hu_HU/Lightproof.py | 323 +++++++++++++++++++++ dictionaries/hu_HU/Linguistic.xcu | 18 ++ dictionaries/hu_HU/README_lightproof_hu_HU.txt | 8 + dictionaries/hu_HU/description.xml | 2 +- dictionaries/hu_HU/dialog/OptionsDialog.xcs | 107 +++++++ dictionaries/hu_HU/dialog/OptionsDialog.xcu | 39 +++ dictionaries/hu_HU/dialog/hu_HU.xdl | 37 +++ dictionaries/hu_HU/dialog/hu_HU_en_US.default | 0 dictionaries/hu_HU/dialog/hu_HU_en_US.properties | 32 ++ dictionaries/hu_HU/dialog/hu_HU_hu_HU.properties | 53 ++++ dictionaries/hu_HU/makefile.mk | 15 +- dictionaries/hu_HU/manifest.xml | 9 + .../hu_HU/pythonpath/lightproof_handler_hu_HU.py | 121 ++++++++ dictionaries/hu_HU/pythonpath/lightproof_hu_HU.py | 1 + .../hu_HU/pythonpath/lightproof_impl_hu_HU.py | 6 + .../hu_HU/pythonpath/lightproof_opts_hu_HU.py | 4 + 16 files changed, 773 insertions(+), 2 deletions(-) create mode 100644 dictionaries/hu_HU/Lightproof.py create mode 100644 dictionaries/hu_HU/Linguistic.xcu create mode 100644 dictionaries/hu_HU/README_lightproof_hu_HU.txt create mode 100644 dictionaries/hu_HU/dialog/OptionsDialog.xcs create mode 100644 dictionaries/hu_HU/dialog/OptionsDialog.xcu create mode 100644 dictionaries/hu_HU/dialog/hu_HU.xdl create mode 100644 dictionaries/hu_HU/dialog/hu_HU_en_US.default create mode 100644 dictionaries/hu_HU/dialog/hu_HU_en_US.properties create mode 100644 dictionaries/hu_HU/dialog/hu_HU_hu_HU.properties create mode 100644 dictionaries/hu_HU/pythonpath/lightproof_handler_hu_HU.py create mode 100644 dictionaries/hu_HU/pythonpath/lightproof_hu_HU.py create mode 100644 dictionaries/hu_HU/pythonpath/lightproof_impl_hu_HU.py create mode 100644 dictionaries/hu_HU/pythonpath/lightproof_opts_hu_HU.py diff --git a/dictionaries/hu_HU/Lightproof.py b/dictionaries/hu_HU/Lightproof.py new file mode 100644 index 0000000..24eac51 --- /dev/null +++ b/dictionaries/hu_HU/Lightproof.py @@ -0,0 +1,323 @@ +# -*- encoding: UTF-8 -*- +# Lightproof grammar checker for LibreOffice and OpenOffice.org +# http://launchpad.net/lightproof +# version 1.4.3 (2011-12-05) +# +# 2009-2011 (c) László Németh (nemeth at numbertext org), license: MPL 1.1 / GPLv3+ / LGPLv3+ + +import uno, unohelper, sys, traceback, re +from lightproof_impl_hu_HU import locales +from lightproof_impl_hu_HU import pkg +import lightproof_handler_hu_HU +from string import join + +from com.sun.star.linguistic2 import XProofreader, XSupportedLocales +from com.sun.star.linguistic2 import ProofreadingResult, SingleProofreadingError +from com.sun.star.lang import XServiceInfo, XServiceName, XServiceDisplayName +from com.sun.star.lang import Locale +from com.sun.star.text.TextMarkupType import PROOFREADING + +# loaded rules +langrule = {} +# ignored rules +ignore = {} + +# cache for morphogical analyses +analyses = {} +stems = {} +suggestions = {} + +# assign Calc functions +calcfunc = None + +# check settings +def option(lang, opt): + return lightproof_handler_hu_HU.get_option(lang.Language + "_" + lang.Country, opt) + +# filtering affix fields (ds, is, ts etc.) +def onlymorph(st): + if st != None: + st = re.sub(r"^.*(st:|po:)", r"\1", st) # keep last word part + st = re.sub(r"\b(?=[dit][sp]:)","@", st) # and its affixes + st = re.sub(r"(?" + word + "", rLoc, ()) + if not x: + return None + t = x.getAlternatives() + if not t: + t = [""] + analyses[word] = t[0] + a = analyses[word].split("")[:-1] + result = None + p = re.compile(pattern) + for i in a: + if onlyaffix: + i = onlymorph(i) + result = p.search(i) + if result: + result = result.group(0) + if not all: + return result + elif all: + return None + return result + +def morph(rLoc, word, pattern, all=True): + return _morph(rLoc, word, pattern, all, False) + +def affix(rLoc, word, pattern, all=True): + return _morph(rLoc, word, pattern, all, True) + +def spell(rLoc, word): + if word == None: + return None + return spellchecker.isValid(word, rLoc, ()) + +# get the tuple of the stem of the word or an empty array +def stem(rLoc, word): + global stems + if word == None: + return [] + if not word in stems: + x = spellchecker.spell(u"" + word + "", rLoc, ()) + if not x: + return [] + t = x.getAlternatives() + if not t: + t = [] + stems[word] = list(t) + return stems[word] + +# get the tuple of the morphological generation of a word or an empty array +def generate(rLoc, word, example): + if word == None: + return [] + x = spellchecker.spell(u"" + word + "" + example + "", rLoc, ()) + if not x: + return [] + t = x.getAlternatives() + if not t: + t = [] + return list(t) + +# get suggestions +def suggest(rLoc, word): + global suggestions + if word == None: + return word + if word not in suggestions: + x = spellchecker.spell("_" + word, rLoc, ()) + if not x: + return word + t = x.getAlternatives() + suggestions[word] = join(t, "\n") + return suggestions[word] + +# get the nth word of the input string or None +def word(s, n): + a = re.match("(?u)( [-.\w%]+){" + str(n-1) + "}( [-.\w%]+)", s) + if not a: + return None + return a.group(2)[1:] + +# get the (-)nth word of the input string or None +def wordmin(s, n): + a = re.search("(?u)([-.\w%]+ )([-.\w%]+ ){" + str(n-1) + "}$", s) + if not a: + return None + return a.group(1)[:-1] + +def calc(funcname, par): + global calcfunc + global SMGR + if calcfunc == None: + calcfunc = SMGR.createInstance( "com.sun.star.sheet.FunctionAccess") + if calcfunc == None: + return None + return calcfunc.callFunction(funcname, par) + +def proofread( nDocId, TEXT, LOCALE, nStartOfSentencePos, nSuggestedSentenceEndPos, rProperties ): + global ignore + aErrs = [] + s = TEXT[nStartOfSentencePos:nSuggestedSentenceEndPos] + for i in get_rule(LOCALE): + if i[0] and not str(i[0]) in ignore: + for m in i[0].finditer(s): + if not i[3] or eval(i[3]): + aErr = uno.createUnoStruct( "com.sun.star.linguistic2.SingleProofreadingError" ) + aErr.nErrorStart = nStartOfSentencePos + m.start(0) # nStartOfSentencePos + aErr.nErrorLength = m.end(0) - m.start(0) + aErr.nErrorType = PROOFREADING + aErr.aRuleIdentifier = str(i[0]) + iscap = (i[4] and m.group(0)[0:1].isupper()) + if i[1][0:1] == "=": + aErr.aSuggestions = tuple(cap(eval(i[1][1:]).split("\n"), iscap, LOCALE)) + else: + aErr.aSuggestions = tuple(cap(m.expand(i[1]).split("\n"), iscap, LOCALE)) + comment = i[2] + if comment[0:1] == "=": + comment = eval(comment[1:]) + aErr.aShortComment = comment.split("\n")[0] + aErr.aFullComment = comment.split("\n")[-1] + aErr.aProperties = () + aErrs = aErrs + [aErr] + return tuple(aErrs) + +def cap(a, iscap, rLoc): + if iscap: + for i in range(0, len(a)): + if a[i][0:1] == "i": + if rLoc.Language == "tr" or rLoc.Language == "az": + a[i] = u"\u0130" + a[i][1:] + elif a[i][1:2] == "j" and rLoc.Language == "nl": + a[i] = "IJ" + a[i][2:] + else: + a[i] = "I" + a[i][1:] + else: + a[i] = a[i].capitalize() + return a + +def get_rule(rLocale): + module = rLocale.Language + if rLocale.Country != "": + module = module + "_" + rLocale.Country + try: + return langrule[module] + except: + try: + module = rLocale.Language + return langrule[module] + except: + try: + d = __import__("lightproof_" + pkg) + except: + print "Error: missing language data: " + module + return None + # compile regular expressions + for i in d.dic: + try: + if re.compile("[(][?]iu[)]").match(i[0]): + i += [True] + i[0] = re.sub("[(][?]iu[)]", "(?u)", i[0]) + else: + i += [False] + i[0] = re.compile(i[0]) + except: + print "Lightproof: bad rule -- ", i[0] + i[0] = None + langrule[module] = d.dic + return langrule[module] + +class Lightproof( unohelper.Base, XProofreader, XServiceInfo, XServiceName, XServiceDisplayName, XSupportedLocales): + + def __init__( self, ctx, *args ): + global spellchecker + global SMGR + self.ctx = ctx + self.ServiceName = "com.sun.star.linguistic2.Proofreader" + self.ImplementationName = "org.openoffice.comp.pyuno.Lightproof." + pkg + self.SupportedServiceNames = (self.ServiceName, ) + self.locales = [] + for i in locales: + l = locales[i] + self.locales += [Locale(l[0], l[1], l[2])] + self.locales = tuple(self.locales) + currentContext = uno.getComponentContext() + SMGR = currentContext.ServiceManager + spellchecker = SMGR.createInstanceWithContext("com.sun.star.linguistic2.SpellChecker", currentContext) + lightproof_handler_hu_HU.load(currentContext) + + # XServiceName method implementations + def getServiceName(self): + return self.ImplementationName + + # XServiceInfo method implementations + def getImplementationName (self): + return self.ImplementationName + + def supportsService(self, ServiceName): + return (ServiceName in self.SupportedServiceNames) + + def getSupportedServiceNames (self): + return self.SupportedServiceNames + + # XSupportedLocales + def hasLocale(self, aLocale): + if aLocale in self.locales: + return True + for i in self.locales: + if (i.Country == aLocale.Country or i.Country == "") and aLocale.Language == i.Language: + return True + return False + + def getLocales(self): + return self.locales + + # XProofreader + def isSpellChecker(self): + return False + + def doProofreading(self, nDocId, rText, rLocale, nStartOfSentencePos, \ + nSuggestedSentenceEndPos, rProperties): + aRes = uno.createUnoStruct( "com.sun.star.linguistic2.ProofreadingResult" ) + aRes.aDocumentIdentifier = nDocId + aRes.aText = rText + aRes.aLocale = rLocale + aRes.nStartOfSentencePosition = nStartOfSentencePos + aRes.nStartOfNextSentencePosition = nSuggestedSentenceEndPos + l = rText[nSuggestedSentenceEndPos:nSuggestedSentenceEndPos+1] + while l == " ": + aRes.nStartOfNextSentencePosition = aRes.nStartOfNextSentencePosition + 1 + l = rText[aRes.nStartOfNextSentencePosition:aRes.nStartOfNextSentencePosition+1] + if aRes.nStartOfNextSentencePosition == nSuggestedSentenceEndPos and l!="": + aRes.nStartOfNextSentencePosition = nSuggestedSentenceEndPos + 1 + aRes.nBehindEndOfSentencePosition = aRes.nStartOfNextSentencePosition + + try: + aRes.aErrors = proofread( nDocId, rText, rLocale, \ + nStartOfSentencePos, aRes.nBehindEndOfSentencePosition, rProperties) + except: + traceback.print_exc(file=sys.stdout) + aRes.aErrors = () + aRes.aProperties = () + aRes.xProofreader = self + return aRes + + def ignoreRule(self, rid, aLocale): + global ignore + ignore[rid] = 1 + + def resetIgnoreRules(self): + global ignore + ignore = {} + + # XServiceDisplayName + def getServiceDisplayName(self, aLocale): + return "Lightproof Grammar Checker (" + pkg + ")" + +g_ImplementationHelper = unohelper.ImplementationHelper() +g_ImplementationHelper.addImplementation( Lightproof, \ + "org.openoffice.comp.pyuno.Lightproof." + pkg, + ("com.sun.star.linguistic2.Proofreader",),) + +g_ImplementationHelper.addImplementation( lightproof_handler_hu_HU.LightproofOptionsEventHandler, \ + "org.openoffice.comp.pyuno.LightproofOptionsEventHandler." + pkg, + ("com.sun.star.awt.XContainerWindowEventHandler",),) + +abbrev=re.compile(ur"(?i)\\b([a-z\xf6\xfc\xf3\u0151\xfa\xe9\xe1\u0171\xed\xd6\xdc\xd3\u0150\xda\xc9\xc1\u0170\xcd]|\xc1e|\xc1ht|AkH|al|\xe1lt|\xe1pr|aug|Avtv|bek|Bp|br|bt|Btk|cca|ci(i|ii|v|x)?|cl(i|ii|iii|iv|ix|v|vi|vii|viii|x|xi|xii|xiii|xiv|xix|xv|xvi|xvii|xviii|xx|xxi|xxii|xxiii|xxiv|xxix|xxv|xxvi|xxvii|xxviii|xxx|xxxi|xxxii|xxxiii|xxxiv|xxxix|xxxv|xxxvi|xxxvii|xxxviii)?|Co|cv(i|ii|iii)?|cx(c|ci|cii|ciii|civ|cix|cv|cvi|cvii|cviii|i|ii|iii|iv|ix|l|li|lii|liii|liv|lix|lv|lvi|lvii|lviii|v|vi|vii|viii|x|xi|xii|xiii|xiv|xix|xv|xvi|xvii|xviii|xx|xxi|xxii|xxiii|xxiv|xxix|xxv|xxvi|xxvii|xxviii)?|cs|Csjt|Cstv|cs\xfct|dec|dk|dny|dr|du|dz(s)?|egy|\xe9k|\xc9Ksz|em|\xe9ny|\xc9pt|\xe9rk|etc|Etv|e\xfc|ev|\xe9vf|febr|felv|Flt|ford|f\u0151isk|fsz(la|t)?|Ftv|gimn|g\xf6r|gr|Gt|gy|Gyvt|habil|hg|hiv|Hjt|honv|Hpt|hrsz|hsz|Hszt|htb|id|ifj|ig(h)?|ii(i)?|ill|Inc|ind|isk|iv|ix|izr|jan|jegyz|j\xfal|j\xfan|kat|kb|Kbt|ker|kft|kgy|kht|kir|kiv|Kjt|kk(t)?|koll|korm|k\xf6v|kp|Kr|krt|Kt(v)?|ld|li(i|ii|v|x)?|Ltd|ltp|Ltv|luth|lv(i|ii|iii)?|lx(i|ii|iii|iv|ix|v|vi|vii|viii|x|xi|xii|xiii|xiv|xix|xv|xvi|xvii|xviii|xx|xxi|xxii|xxiii|xxiv|xxix|xxv|xxvi|xxvii|xxviii)?|ly|m\xe1j|m\xe1rc|mat|max|mb|megh|megj|MHSz|min|mk|Mo|Mt|NB|nov|ny(\xe1)?|Nyilv|nyrt|okl|okt|olv|op|orsz|ort|ov(h)?|\xf6ssz|\xd6tv|\xf6zv|Pf|pl(d)?|prof|prot|Ptk|pu|ref|rk(p)?|r\xf3m|r\xf6v|rt|sgt|spec|stb|sz(ept|erk)?|Szjt|szoc|Szt(v)?|sz\xfcl|Tbj|tc|tel|tkp|tszf|tvr|ty|ua|ui|\xfam|\xfan|uo|Ve|Vhr|vi(i|ii)?|v\xf6|vsz|Vt(v)?|xc(i|ii|iii|iv|ix|v|vi|vii|viii)?|xi(i|ii|v|x)?|xl(i|ii|iii|iv|ix|v|vi|vii|viii)?|xv(i|ii|iii)?|xx(i|ii|iii|iv|ix|v|vi|vii|viii|x|xi|xii|xiii|xiv|xix|xv|xvi|xvii|xviii)?|zrt)\\.") + + +def measurement(mnum, min, mout, mstr): + m = calc("CONVERT_ADD", (float(mnum.replace(",", ".").replace(u"\u2212", "-")), min, mout)) + a = list(set([str(calc("ROUND", (m, 0)))[:-2], str(calc("ROUND", (m, 1))), str(calc("ROUND", (m, 2))), str(m)])) # remove duplicated rounded items + a.sort(lambda x, y: len(x) - len(y)) # sort by string length + return join(a, mstr + "\n").replace(".", ",").replace("-", u"\u2212") + mstr diff --git a/dictionaries/hu_HU/Linguistic.xcu b/dictionaries/hu_HU/Linguistic.xcu new file mode 100644 index 0000000..cb327ec --- /dev/null +++ b/dictionaries/hu_HU/Linguistic.xcu @@ -0,0 +1,18 @@ + + + + + + + + hu-HU + + + + + + + diff --git a/dictionaries/hu_HU/README_lightproof_hu_HU.txt b/dictionaries/hu_HU/README_lightproof_hu_HU.txt new file mode 100644 index 0000000..e10ee4d --- /dev/null +++ b/dictionaries/hu_HU/README_lightproof_hu_HU.txt @@ -0,0 +1,8 @@ +Hungarian grammar checker extension for OpenOffice.org + +(developed by the Lightproof grammar checker extension generator, +see http://launchpad.net/lightproof) + +Hungarian grammar checker rules + +2009-2011 (c) László Németh, license: MPL 1.1 / GPLv3+ / LGPLv3+ diff --git a/dictionaries/hu_HU/description.xml b/dictionaries/hu_HU/description.xml index f4e14cc..9b81bf9 100644 --- a/dictionaries/hu_HU/description.xml +++ b/dictionaries/hu_HU/description.xml @@ -1,6 +1,6 @@ - + Hungarian spelling dictionary, hyphenation rules, and thesaurus diff --git a/dictionaries/hu_HU/dialog/OptionsDialog.xcs b/dictionaries/hu_HU/dialog/OptionsDialog.xcs new file mode 100644 index 0000000..247f312 --- /dev/null +++ b/dictionaries/hu_HU/dialog/OptionsDialog.xcs @@ -0,0 +1,107 @@ + + + + +Contains the options data used for the test extensions. + + + + + + The data for one leaf. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dictionaries/hu_HU/dialog/OptionsDialog.xcu b/dictionaries/hu_HU/dialog/OptionsDialog.xcu new file mode 100644 index 0000000..989c254 --- /dev/null +++ b/dictionaries/hu_HU/dialog/OptionsDialog.xcu @@ -0,0 +1,39 @@ + + + + + + + Dictionaries + Szótárak + + + + + + + org.openoffice.hu.hunspell.dictionaries + + + + + Hungarian sentence checking + + Magyar mondatellenőrzés + + + + + %origin%/hu_HU.xdl + + + + org.openoffice.comp.pyuno.LightproofOptionsEventHandler.hu_HU + + + + + + + + diff --git a/dictionaries/hu_HU/dialog/hu_HU.xdl b/dictionaries/hu_HU/dialog/hu_HU.xdl new file mode 100644 index 0000000..c62bd3a --- /dev/null +++ b/dictionaries/hu_HU/dialog/hu_HU.xdl @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dictionaries/hu_HU/dialog/hu_HU_en_US.default b/dictionaries/hu_HU/dialog/hu_HU_en_US.default new file mode 100644 index 0000000..e69de29 diff --git a/dictionaries/hu_HU/dialog/hu_HU_en_US.properties b/dictionaries/hu_HU/dialog/hu_HU_en_US.properties new file mode 100644 index 0000000..22ba5ee --- /dev/null +++ b/dictionaries/hu_HU/dialog/hu_HU_en_US.properties @@ -0,0 +1,32 @@ +spelling=Spelling +cap=Capitalization +par=Parentheses +wordpart=Word parts of compounds +comma=Comma usage +proofreading=Proofreading +style=Style checking +compound=Underline typo-like compound words +allcompound=Underline all generated compound words +grammar=Possible mistakes +money=Consistency of money amounts +duplication=Word duplication +dup0=Word duplication +dup=Duplication within clauses +dup2=Duplication within sentences +dup3=Allow previous checkings with affixes +numpart=Thousand separation of numbers +typography=Typography +quot=Quotation marks +apost=Apostrophe +dash=En dash +elli=Ellipsis +ligature=Ligature suggestion +noligature=Underline ligatures +frac=Fractions +thin=Thin space +spaces=Double spaces +spaces2=More spaces +idx=Indices +minus=Minus +SI=Measurements +hyphen=Hyphenation of ambiguous words diff --git a/dictionaries/hu_HU/dialog/hu_HU_hu_HU.properties b/dictionaries/hu_HU/dialog/hu_HU_hu_HU.properties new file mode 100644 index 0000000..ddf6da1 --- /dev/null +++ b/dictionaries/hu_HU/dialog/hu_HU_hu_HU.properties @@ -0,0 +1,53 @@ +spelling=Helyes\u00edr\u00e1s +hlp_cap=Mondatok nagy kezd\u0151bet\u0171j\u00e9nek ellen\u0151rz\u00e9se. +cap=Nagy kezd\u0151bet\u0171 +hlp_par=Z\u00e1r\u00f3jelp\u00e1rok ellen\u0151rz\u00e9se. +par=Z\u00e1r\u00f3jelek +wordpart=Egybe- \u00e9s k\u00fcl\u00f6n\u00edr\u00e1si javaslatok +hlp_comma=A val\u00f3sz\u00edn\u0171leg hi\u00e1nyz\u00f3 \u00e9s felesleges vessz\u0151k jelz\u00e9se. +comma=Vessz\u0151haszn\u00e1latra vonatkoz\u00f3 javaslatok +hlp_numpart=Ezrestagol\u00e1s nem-t\u00f6r\u0151 sz\u00f3k\u00f6z\u00f6kkel (10000 \u2192 10\u202f000). +numpart=Nagy sz\u00e1mok tagol\u00e1sa sz\u00f3k\u00f6z\u00f6kkel +proofreading=Korrekt\u00fara +style=St\u00edlusellen\u0151rz\u00e9s +hlp_compound=R\u00f6vid, vagy r\u00f6vid tagot tartalmaz\u00f3, sz\u00f3\u00f6sszet\u00e9teli szab\u00e1lyok alapj\u00e1n gyakran hib\u00e1san elfogadott alakok al\u00e1h\u00faz\u00e1sa. +compound=Egyszer\u0171 nem sz\u00f3t\u00e1ri \u00f6sszetett szavak +hlp_allcompound=Minden sz\u00f3\u00f6sszet\u00e9teli szab\u00e1ly alapj\u00e1n elfogadott alak al\u00e1h\u00faz\u00e1sa. +allcompound=Minden nem sz\u00f3t\u00e1ri \u00f6sszetett sz\u00f3 +grammar=Javaslat kev\u00e9sb\u00e9 egy\u00e9rtelm\u0171 esetben is +hlp_dup0=Sz\u00f3ism\u00e9tl\u00e9s egym\u00e1st k\u00f6zvetlen\u00fcl k\u00f6vet\u0151 szavak eset\u00e9ben. +dup0=Sz\u00f3ism\u00e9tl\u00e9s +dup=Sz\u00f3ism\u00e9tl\u00e9s tagmondaton bel\u00fcl +dup2=Sz\u00f3ism\u00e9tl\u00e9s mondaton bel\u00fcl +dup3=Sz\u00f3ism\u00e9tl\u00e9s elt\u00e9r\u0151 toldal\u00e9kok eset\u00e9n is +hlp_money=A sz\u00e1mmal \u00e9s sz\u00e1mn\u00e9vvel is le\u00edrt mennyis\u00e9g megegyezik-e? (Pl. 10, azaz t\u00edz Ft.) +money=Sz\u00e1mok \u00e9s \u00e1t\u00edr\u00e1suk +typography=Tipogr\u00e1fia +hlp_quot=A magyar \u201ek\u00fcls\u0151\u201d \u00e9s \u00bbbels\u0151\u00ab id\u00e9z\u0151jelek ellen\u0151rz\u00e9se. +quot=Id\u00e9z\u0151jelek +hlp_apost=Az \u00edr\u00f3g\u00e9pes aposztr\u00f3f cser\u00e9je a tipogr\u00e1fiailag megfelel\u0151re (' \u2192 \u2019). +apost=Aposztr\u00f3f +hlp_dash=A kisk\u00f6t\u0151jel cser\u00e9je a nagyk\u00f6t\u0151jelre (- \u2192 \u2013). +dash=Nagyk\u00f6t\u0151jel \u00e9s gondolatjel +hlp_elli=H\u00e1rom pont cser\u00e9je az egaliz\u00e1lt h\u00e1rom pont karakterre (...\u2192\u2026). +elli=H\u00e1rom pont +hlp_frac=Perjellel elv\u00e1lasztott t\u00f6rtek cser\u00e9je Unicode karakterre (1/2 \u2192 \u00bd). +frac=T\u00f6rtek +hlp_thin=Keskeny sz\u00f3k\u00f6z (sp\u00e1cium) haszn\u00e1lata ezrestagol\u00e1shoz \u00e9s m\u00e1s esetekben. +thin=Keskeny sz\u00f3k\u00f6z +hlp_ligature=Csere Unicode f-ligat\u00far\u00e1ra. +ligature=f-ligat\u00fara javaslata +hlp_noligature=Unicode f-ligat\u00fara cser\u00e9je k\u00fcl\u00f6n\u00e1ll\u00f3 bet\u0171kre. +noligature=f-ligat\u00fara tilt\u00e1sa +hlp_spaces=K\u00e9t vagy h\u00e1rom ism\u00e9tl\u0151d\u0151 sz\u00f3k\u00f6z cser\u00e9je egyre. +spaces=Dupla sz\u00f3k\u00f6z +hlp_spaces2=N\u00e9gy vagy t\u00f6bb ism\u00e9tl\u0151d\u0151 sz\u00f3k\u00f6z cser\u00e9je egy tabul\u00e1torra. +spaces2=Sok sz\u00f3k\u00f6z +hlp_idx=Sz\u00e1mok cser\u00e9je m\u00e9rt\u00e9kegys\u00e9gekben \u00e9s k\u00e9miai k\u00e9pletekben val\u00f3di indexekre (m2 \u2192 m\u00b2). +idx=Indexek +hlp_minus=K\u00f6t\u0151jelek cser\u00e9je Unicode m\u00ednuszjelre a sz\u00e1mok el\u0151tt. +minus=M\u00ednuszjel +hlp_SI=Nem SI m\u00e9rt\u00e9kegys\u00e9gek \u00e1talak\u00edt\u00e1sa (\u00b0F, m\u00e9rf\u00f6ld, yard, l\u00e1b, h\u00fcvelyk, gallon, pint, font s\u00faly\u00fa). +SI=M\u00e9rt\u00e9kegys\u00e9gek +hlp_hyphen=Nem egy\u00e9rtelm\u0171en elv\u00e1laszthat\u00f3 sz\u00f3alakok elv\u00e1laszt\u00e1s\u00e1nak megad\u00e1sa (pl. megint, f\u00f6l\u00fcl). +hyphen=Hi\u00e1nyz\u00f3 elv\u00e1laszt\u00e1s megad\u00e1sa diff --git a/dictionaries/hu_HU/makefile.mk b/dictionaries/hu_HU/makefile.mk index 879fc85..67916e4 100644 --- a/dictionaries/hu_HU/makefile.mk +++ b/dictionaries/hu_HU/makefile.mk @@ -61,7 +61,20 @@ COMPONENT_FILES= \ $(EXTENSIONDIR)$/th_hu_HU_v2.dat \ $(EXTENSIONDIR)$/help/hu/org.openoffice.hu.hunspell.dictionaries/page1.xhp \ $(EXTENSIONDIR)$/help/hu/org.openoffice.hu.hunspell.dictionaries/fsfhu.png \ - $(EXTENSIONDIR)$/help/hu/org.openoffice.hu.hunspell.dictionaries/szinonima.png + $(EXTENSIONDIR)$/help/hu/org.openoffice.hu.hunspell.dictionaries/szinonima.png \ + $(EXTENSIONDIR)$/Lightproof.py \ + $(EXTENSIONDIR)$/Linguistic.xcu \ + $(EXTENSIONDIR)$/pythonpath/lightproof_hu_HU.py \ + $(EXTENSIONDIR)$/pythonpath/lightproof_handler_hu_HU.py \ + $(EXTENSIONDIR)$/pythonpath/lightproof_impl_hu_HU.py \ + $(EXTENSIONDIR)$/pythonpath/lightproof_opts_hu_HU.py \ + $(EXTENSIONDIR)$/dialog/hu_HU_en_US.default \ + $(EXTENSIONDIR)$/dialog/hu_HU_en_US.properties \ + $(EXTENSIONDIR)$/dialog/hu_HU_hu_HU.properties \ + $(EXTENSIONDIR)$/dialog/hu_HU.xdl \ + $(EXTENSIONDIR)$/dialog/OptionsDialog.xcu \ + $(EXTENSIONDIR)$/dialog/OptionsDialog.xcs \ + $(EXTENSIONDIR)$/README_lightproof_hu_HU.txt COMPONENT_CONFIGDEST=. COMPONENT_XCU= \ diff --git a/dictionaries/hu_HU/manifest.xml b/dictionaries/hu_HU/manifest.xml index 5699d5b..a9ff14b 100644 --- a/dictionaries/hu_HU/manifest.xml +++ b/dictionaries/hu_HU/manifest.xml @@ -3,4 +3,13 @@ + + + + diff --git a/dictionaries/hu_HU/pythonpath/lightproof_handler_hu_HU.py b/dictionaries/hu_HU/pythonpath/lightproof_handler_hu_HU.py new file mode 100644 index 0000000..1716afb --- /dev/null +++ b/dictionaries/hu_HU/pythonpath/lightproof_handler_hu_HU.py @@ -0,0 +1,121 @@ +import uno +import unohelper + +from lightproof_opts_hu_HU import lopts +from lightproof_opts_hu_HU import lopts_default +from lightproof_impl_hu_HU import pkg + +from com.sun.star.lang import XServiceInfo +from com.sun.star.awt import XContainerWindowEventHandler + +# options +options = {} + +def load(context): + try: + l = LightproofOptionsEventHandler(context) + for i in lopts: + l.load(i) + except: + pass + +def get_option(page, option): + try: + return options[page + "," + option] + except: + try: + return options[page[:2] + "," + option] + except: + return 0 + +def set_option(page, option, value): + options[page + "," + option] = int(value) + +class LightproofOptionsEventHandler( unohelper.Base, XServiceInfo, XContainerWindowEventHandler ): + def __init__( self, ctx ): + p = uno.createUnoStruct( "com.sun.star.beans.PropertyValue" ) + p.Name = "nodepath" + p.Value = "/org.openoffice.Lightproof_%s/Leaves"%pkg + self.xConfig = ctx.ServiceManager.createInstance( 'com.sun.star.configuration.ConfigurationProvider' ) + self.node = self.xConfig.createInstanceWithArguments( 'com.sun.star.configuration.ConfigurationUpdateAccess', (p, ) ) + self.service = "org.openoffice.comp.pyuno.LightproofOptionsEventHandler." + pkg + self.ImplementationName = self.service + self.services = (self.service, ) + + # XContainerWindowEventHandler + def callHandlerMethod(self, aWindow, aEventObject, sMethod): + if sMethod == "external_event": + return self.handleExternalEvent(aWindow, aEventObject) + + def getSupportedMethodNames(self): + return ("external_event", ) + + def handleExternalEvent(self, aWindow, aEventObject): + sMethod = aEventObject + if sMethod == "ok": + self.saveData(aWindow) + elif sMethod == "back" or sMethod == "initialize": + self.loadData(aWindow) + return True + + def load(self, sWindowName): + child = self.getChild(sWindowName) + for i in lopts[sWindowName]: + sValue = child.getPropertyValue(i) + if sValue == '': + if i in lopts_default[sWindowName]: + sValue = 1 + else: + sValue = 0 + set_option(sWindowName, i, sValue) + + def loadData(self, aWindow): + sWindowName = self.getWindowName(aWindow) + if (sWindowName == None): + return + child = self.getChild(sWindowName) + for i in lopts[sWindowName]: + sValue = child.getPropertyValue(i) + if sValue == '': + if i in lopts_default[sWindowName]: + sValue = 1 + else: + sValue = 0 + xControl = aWindow.getControl(i) + xControl.State = sValue + set_option(sWindowName, i, sValue) + + def saveData(self, aWindow): + sWindowName = self.getWindowName(aWindow) + if (sWindowName == None): + return + child = self.getChild(sWindowName) + for i in lopts[sWindowName]: + xControl = aWindow.getControl(i) + sValue = xControl.State + child.setPropertyValue(i, str(sValue)) + set_option(sWindowName, i, sValue) + self.commitChanges() + + def getWindowName(self, aWindow): + sName = aWindow.getModel().Name + if sName in lopts: + return sName + return None + + # XServiceInfo method implementations + def getImplementationName (self): + return self.ImplementationName + + def supportsService(self, ServiceName): + return (ServiceName in self.services) + + def getSupportedServiceNames (self): + return self.services + + def getChild(self, name): + return self.node.getByName(name) + + def commitChanges(self): + self.node.commitChanges() + return True diff --git a/dictionaries/hu_HU/pythonpath/lightproof_hu_HU.py b/dictionaries/hu_HU/pythonpath/lightproof_hu_HU.py new file mode 100644 index 0000000..c857241 --- /dev/null +++ b/dictionaries/hu_HU/pythonpath/lightproof_hu_HU.py @@ -0,0 +1 @@ +dic = [[u'(?iu)(?[a-z\xf6\xfc\xf3\u0151\xfa\xe9\xe1\u0171\xed]+)(?![-\\w\u2013\xad])', u'= m.group("low_1").capitalize()', u'Hi\xe1nyz\xf3 nagy kezd\u0151bet\u0171?', u're.match(u"[a-z\xf6\xfc\xf3\u0151\xfa\xe9\xe1\u0171\xed].*[.?!] [A-Z\xd6\xdc\xd3\u0150\xda\xc9\xc1\u0170\xcd]", TEXT) and not abbrev.search(TEXT)'], [u'(?u)((?<=[!?.] )|^)(?P[a-z\xf6\xfc\xf3\u0151\xfa\xe9\xe1\u0171\xed]+)(?![-\\w\u2013\xad])', u'= m.group("low_1").capitalize()', u'Hi\xe1nyz\xf3 nagy kezd\u0151bet\u0171?', u'option(LOCALE,"cap") and not abbrev.search(TEXT)'], [u'(?u)^[-\u2014] ', u'\u2013 ', u'A gondolatjel nagyk\xf6t\u0151jel (AkH. 258.)', u'option(LOCALE,"dash")'], [u'(?u) [-\u2014]([ ,;])', u' \u2013\\1', u'A gondolatjel nagyk\xf6t\u0151jel (AkH. 246.)', u'option(LOCALE,"dash")'], [u'(?u)^[-\u2013](\\w+)', u'\u2013 \\1', u'Gondolatjel sz\xf3k\xf6zzel a felsorol\xe1sn\xe1l (AkH. 258.)', u'option(LOCALE,"dash")'], [u'(?u)[[][.][.][.]]', u'[\u2026]', u'H\xe1rom pont.', u'option(LOCALE,"elli")'], [u'(?u)[.][.][.]', u'\u2026', u'H\xe1rom pont.', u'option(LOCALE,"elli")'], [u'(?u) +([.?!,:;)\u201d])\\b', u'\\1 ', u'Felcser\xe9lt sz\xf3k\xf6z \xe9s \xedr\xe1sjel?', False], [u'(?u) +([.?!,:;)\u201d])', u'\\1', u'Sz\xf3k\xf6z n\xe9lk\xfcl tapad\xf3 \xedr\xe1sjel (AkH. 239.)', False], [u'(?u)[:,;]([.?!,;:])(?P( |$))', u'\\1\\g', u'Felesleges \xedr\xe1sjel.', False], [u'(?u)\\b[.][.](?P( |$))', u'.\\g\\n\u2026\\g', u'Pont vagy h\xe1rom pont?', False], [u'(?u)(\\w)(?P[?!,:;%\u2030\u2031\xb0\u201e\u201d])(?P(?P[a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed])|(?P[A-Z\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd]))', u'\\1\\g \\g', u'Hi\xe1nyz\xf3 sz\xf3k\xf6z?', False], [u'(?u)(?P[a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed])[.](?P[A-Z\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd])', u'\\g. \\g', u'Hi\xe1nyz\xf3 sz\xf3k\xf6z?', False], [u'(?u)(^|\\b|(?P[?!,:;%\u2030\u2031\xb0\u201e\u201d])|[.]) {2,3}(\\b|$)', u'\\1 ', u'Felesleges sz\xf3k\xf6z.', u'option(LOCALE,"spaces")'], [u'(?u)(^|\\b|(?P[?!,:;%\u2030\u2031\xb0\u201e\u201d])|[.]) {4,}(\\b|$)', u'\\1 \\n\\1\t', u'Sz\xf3k\xf6z\xf6k cser\xe9je egy sz\xf3k\xf6zre vagy tabul\xe1torra:', u'option(LOCALE,"spaces2")'], [u'(?iu)(\\d+)([Xx]| [Xx] )(\\d+(-\\w+)?)', u'\\1\xd7\\3', u'Szorz\xe1sjel.', False], [u"(?iu)(?P(?P[a-zA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed])+)['\xb4](?P(?P[a-zA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed])*)", u'\\g\u2019\\g', u'Val\xf3di aposztr\xf3f', u'option(LOCALE,"apost")'], [u"(?u)['\xb4](\\d\\d(-\\w+)?)", u'\u2019\\1', u'Val\xf3di aposztr\xf3f', u'option(LOCALE,"apost")'], [u'(?u)->', u'\u2192', u'Ny\xedl?', False], [u'(?u)[)]', u'', u'Felesleges z\xe1r\xf3jel?', u'option(LOCALE,"par") and not "(" in TEXT'], [u'(?iu)[\\"\u201c\u201d\u201f\u201e]((?P[a-zA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed])[^\\"\u201c\u201d\u201f\u201e]*)[\\"\u201c\u201f]', u'\u201e\\1\u201d', u'Id\xe9z\u0151jelek (AkH. 256.)', u'option(LOCALE,"quot")'], [u'(?iu)[\\"\u201c\u201d\u201f]((?P[a-zA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed])[^\\"\u201c\u201d\u201f\u201e]*)[\\"\u201c\u201d\u201f]', u'\u201e\\1\u201d', u'Id\xe9z\u0151jelek (AkH. 256.)', u'option(LOCALE,"quot")'], [u'(?iu),,((?P[a-zA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed])[^\\"\u201c\u201d\u201f\u201e_1><\']*)\'\'', u'\u201e\\1\u201d', u'Id\xe9z\u0151jelek (AkH. 256.)', False], [u'(?iu)>>((?P[a-zA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed])[^\\"\u201c\u201d\u201f\u201e_1><\']*)<<', u'\xbb\\1\xab', u'Id\xe9z\u0151jelek (AkH. 256.)', False], [u'(?iu)\u2018+((?P[a-zA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed])[^\\"\u201c\u201d\u201f\u201e\u2019]*)\u2019+', u'\u201e\\1\u201d\\n\xbb\\1\xab', u'Id\xe9z\u0151jelek (AkH. 256.)', False], [u'(?iu)(?[a-zA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed])[^\\"\u201c\u201d\u201f\u201e\u2019]*)\xbb(?![-\\w\u2013\xad])', u'\xbb\\1\xab', u'Felcser\xe9lt bels\u0151 id\xe9z\u0151jelek (AkH. 256.)', False], [u'(?iu)(?", m.group(3)).replace(u"ezeregysz\xe1z", u"ezersz\xe1z").replace(u"kett\u0151", u"k\xe9t")'], [u'(?iu)(?\u2212?\\d{2,3})(?P\\d{3}(,\\w{1,4})?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\\g\xa0\\g', u'Nagy sz\xe1mok tagol\xe1sa. (AkH. 274.)', u'option(LOCALE,"numpart") and not option(LOCALE,"thou")'], [u'(?iu)(?\u2212?\\d{1,3})(?P\\d{3})(?P\\d{3}(,\\w{1,4})?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\\g\xa0\\g\xa0\\g', u'Nagy sz\xe1mok tagol\xe1sa. (AkH. 274.)', u'option(LOCALE,"numpart") and not option(LOCALE,"thou")'], [u'(?iu)(?\u2212?\\d{1,3})(?P\\d{3})(?P\\d{3})(?P\\d{3}(,\\w{1,4})?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\\g\xa0\\g\xa0\\g\xa0\\g', u'Nagy sz\xe1mok tagol\xe1sa. (AkH. 274.)', u'option(LOCALE,"numpart") and not option(LOCALE,"thou")'], [u'(?iu)(?\u2212?\\d{2,3})\xa0?(?P\\d{3}(,\\w{1,4})?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\\g\u202f\\g', u'Nagy sz\xe1mok tagol\xe1sa nem t\xf6r\u0151 keskeny sz\xf3k\xf6z\xf6kkel. (AkH. 274.)', u'option(LOCALE,"numpart") and option(LOCALE,"thou")'], [u'(?iu)(?\u2212?\\d{1,3})\xa0?(?P\\d{3})\xa0?(?P\\d{3}(,\\w{1,4})?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\\g\u202f\\g\u202f\\g', u'Nagy sz\xe1mok tagol\xe1sa nem t\xf6r\u0151 keskeny sz\xf3k\xf6z\xf6kkel. (AkH. 274.)', u'option(LOCALE,"numpart") and option(LOCALE,"thou")'], [u'(?iu)(?\u2212?\\d{1,3})\xa0?(?P\\d{3})\xa0?(?P\\d{3})\xa0?(?P\\d{3}(,\\w{1,4})?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\\g\u202f\\g\u202f\\g\xa0\\g', u'Nagy sz\xe1mok tagol\xe1sa nem t\xf6r\u0151 keskeny sz\xf3k\xf6z\xf6kkel. (AkH. 274.)', u'option(LOCALE,"numpart") and option(LOCALE,"thou")'], [u'(?iu)(?\\d{2,3})(?P\\d{3}(,\\w+)?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\u2212\\g\xa0\\g', u'Nagy sz\xe1mok tagol\xe1sa. (AkH. 274.)', u'option(LOCALE,"numpart") and not option(LOCALE,"thou")'], [u'(?iu)(?\\d{1,3})(?P\\d{3})(?P\\d{3}(,\\w+)?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\u2212\\g\xa0\\g\xa0\\g', u'Nagy sz\xe1mok tagol\xe1sa. (AkH. 274.)', u'option(LOCALE,"numpart") and not option(LOCALE,"thou")'], [u'(?iu)(?\\d{1,3})(?P\\d{3})(?P\\d{3})(?P\\d{3}(,\\w+)?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\u2212\\g\xa0\\g\xa0\\g\xa0\\g', u'Nagy sz\xe1mok tagol\xe1sa. (AkH. 274.)', u'option(LOCALE,"numpart") and not option(LOCALE,"thou")'], [u'(?iu)(?\\d{2,3})\xa0?(?P\\d{3}(,\\w+)?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\u2212\\g\u202f\\g', u'Nagy sz\xe1mok tagol\xe1sa nem t\xf6r\u0151 keskeny sz\xf3k\xf6z\xf6kkel. (AkH. 274.)', u'option(LOCALE,"numpart") and option(LOCALE,"thou")'], [u'(?iu)(?\\d{1,3})\xa0?(?P\\d{3})\xa0?(?P\\d{3}(,\\w+)?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\u2212\\g\u202f\\g\u202f\\g', u'Nagy sz\xe1mok tagol\xe1sa nem t\xf6r\u0151 keskeny sz\xf3k\xf6z\xf6kkel. (AkH. 274.)', u'option(LOCALE,"numpart") and option(LOCALE,"thou")'], [u'(?iu)(?\\d{1,3})\xa0?(?P\\d{3})\xa0?(?P\\d{3})\xa0?(?P\\d{3}(,\\w+)?[%\u2030\u2031\xb0]?(-\\w+)?)(?![-\\w\u2013\xad])', u'\u2212\\g\u202f\\g\u202f\\g\u202f\\g', u'Nagy sz\xe1mok tagol\xe1sa nem t\xf6r\u0151 keskeny sz\xf3k\xf6z\xf6kkel. (AkH. 274.)', u'option(LOCALE,"numpart") and option(LOCALE,"thou")'], [u'(?iu)(?[12]\\d\\d\\d)[.] (?PJanu\xe1r|Febru\xe1r|M\xe1rcius|\xc1prilis|M\xe1jus|J\xfanius|J\xfalius|Augusztus|Szeptember|Okt\xf3ber|November|December)\\b(?![-\\w\u2013\xad])', u'= m.group("year_1") + ". " + m.group("Month_1").lower()', u'A h\xf3nap nev\xe9t kisbet\u0171vel \xedrjuk. (AkH. 144.)', False], [u'(?u)(?[12]\\d\\d\\d) (?Pjanu\xe1r|febru\xe1r|m\xe1rcius|\xe1prilis|m\xe1jus|j\xfanius|j\xfalius|augusztus|szeptember|okt\xf3ber|november|december|jan[.]|febr[.]|m\xe1rc[.]|\xe1pr[.]|m\xe1j[.]|j\xfan[.]|j\xfal[.]|aug[.]|szept[.]|okt[.]|nov[.]|dec[.])(?P(|[^-\u2013ja\xe1e\xe9][a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed]*))(?![-\\w\u2013\xad])', u'\\g. \\g\\g', u'Az \xe9vsz\xe1m ut\xe1n itt pontot \xedrunk. (AkH. 294.)', False], [u'(?u)(?[12]\\d\\d\\d) (?Pjanu\xe1r|febru\xe1r|m\xe1rcius|\xe1prilis|m\xe1jus|j\xfanius|j\xfalius|augusztus|szeptember|okt\xf3ber|november|december|jan[.]|febr[.]|m\xe1rc[.]|\xe1pr[.]|m\xe1j[.]|j\xfan[.]|j\xfal[.]|aug[.]|szept[.]|okt[.]|nov[.]|dec[.])(?P[-\u2013](?Pjanu\xe1r|febru\xe1r|m\xe1rcius|\xe1prilis|m\xe1jus|j\xfanius|j\xfalius|augusztus|szeptember|okt\xf3ber|november|december|jan[.]|febr[.]|m\xe1rc[.]|\xe1pr[.]|m\xe1j[.]|j\xfan[.]|j\xfal[.]|aug[.]|szept[.]|okt[.]|nov[.]|dec[.])(?P(|[^-\u2013ja\xe1e\xe9][a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed]*)))(?![-\\w\u2013\xad])', u'\\g. \\g\\g', u'Az \xe9vsz\xe1m ut\xe1n itt pontot \xedrunk. (AkH. 294.)', False], [u'(?u)(?[12]\\d\\d\\d) \xe9vi(?![-\\w\u2013\xad])', u'\\g. \xe9vi', u'Az \xe9vsz\xe1m ut\xe1n itt pontot \xedrunk. (AkH. 294.)', False], [u'(?u)(?[12]\\d\\d\\d)[-\u2013](?P\\d\\d) \xe9vi(?![-\\w\u2013\xad])', u'\\g\u2013\\g. \xe9vi', u'Az \xe9vsz\xe1m ut\xe1n itt pontot \xedrunk. (AkH. 294.)', False], [u'(?u)(?[12]\\d\\d\\d)[.] (?Pfolyam\xe1n|el\u0151tti?|ut\xe1ni?|k\xf6z\xf6tti?|nyara|nyar\xe1\\w+|tele|tel\xe9\\w+|tavasza|tavasz\xe1\\w+|\u0151sze|\u0151sz\xe9\\w+)\\b(?![-\\w\u2013\xad])', u'\\g \\g', u'Az \xe9vsz\xe1m ut\xe1n itt nem \xedrunk pontot. (AkH. 295.)', False], [u'(?u)(?[12]\\d\\d\\d)[.] (?Pjanu\xe1r|febru\xe1r|m\xe1rcius|\xe1prilis|m\xe1jus|j\xfanius|j\xfalius|augusztus|szeptember|okt\xf3ber|november|december|jan[.]|febr[.]|m\xe1rc[.]|\xe1pr[.]|m\xe1j[.]|j\xfan[.]|j\xfal[.]|aug[.]|szept[.]|okt[.]|nov[.]|dec[.])(?P([ja\xe1e]|\xe9\\w)\\w*)\\b(?![-\\w\u2013\xad])', u'\\g \\g\\g', u'Az \xe9vsz\xe1m ut\xe1n itt nem \xedrunk pontot. (AkH. 295.)', False], [u'(?iu)\\b(?P[Jj][Aa][Nn][Uu][\xc1\xe1][Rr]|[Ff][Ee][Bb][Rr][Uu][\xc1\xe1][Rr]|[Mm][\xc1\xe1][Rr][Cc][Ii][Uu][Ss]|[\xc1\xe1][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][\xc1\xe1][Jj][Uu][Ss]|[Jj][\xda\xfa][Nn][Ii][Uu][Ss]|[Jj][\xda\xfa][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][\xd3\xf3][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][\xc1\xe1][Rr][Cc][.]|[\xc1\xe1][Pp][Rr][.]|[Mm][\xc1\xe1][Jj][.]|[Jj][\xda\xfa][Nn][.]|[Jj][\xda\xfa][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P[12]\\d|3[01]|0?[1-9])[.]-(?P\\w*)', u'\\g \\g-\\g', u'A nap ut\xe1n itt nem \xedrunk pontot. (AkH. 296.)', False], [u'(?iu)\\b(?P[Jj][Aa][Nn][Uu][\xc1\xe1][Rr]|[Ff][Ee][Bb][Rr][Uu][\xc1\xe1][Rr]|[Mm][\xc1\xe1][Rr][Cc][Ii][Uu][Ss]|[\xc1\xe1][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][\xc1\xe1][Jj][Uu][Ss]|[Jj][\xda\xfa][Nn][Ii][Uu][Ss]|[Jj][\xda\xfa][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][\xd3\xf3][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][\xc1\xe1][Rr][Cc][.]|[\xc1\xe1][Pp][Rr][.]|[Mm][\xc1\xe1][Jj][.]|[Jj][\xda\xfa][Nn][.]|[Jj][\xda\xfa][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P[12]\\d|3[01]|0?[1-9])(?P[ ,;:?!])', u'\\g \\g.\\g', u'Ha d\xe1tum, hi\xe1nyzik a pont. (AkH. 296.)', False], [u'(?iu)\\b(?P[Jj][Aa][Nn][Uu][\xc1\xe1][Rr]|[Ff][Ee][Bb][Rr][Uu][\xc1\xe1][Rr]|[Mm][\xc1\xe1][Rr][Cc][Ii][Uu][Ss]|[\xc1\xe1][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][\xc1\xe1][Jj][Uu][Ss]|[Jj][\xda\xfa][Nn][Ii][Uu][Ss]|[Jj][\xda\xfa][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][\xd3\xf3][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][\xc1\xe1][Rr][Cc][.]|[\xc1\xe1][Pp][Rr][.]|[Mm][\xc1\xe1][Jj][.]|[Jj][\xda\xfa][Nn][.]|[Jj][\xda\xfa][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P[12]\\d|3[01]|0?[1-9]) (?P[\xd3\xf3][Tt][Aa]|[Ee][Ll][\u0150\u0151][Tt][Tt][Ii]?|[Uu][Tt][\xc1\xe1][Nn][Ii]?|[Kk][\xd6\xf6][Zz][\xd6\xf6][Tt][Tt][Ii]?)', u'\\g \\g. \\g', u'A nap ut\xe1n itt pontot \xedrunk. (AkH. 297.)', False], [u'(?iu)\\b(?P[Jj][Aa][Nn][Uu][\xc1\xe1][Rr]|[Ff][Ee][Bb][Rr][Uu][\xc1\xe1][Rr]|[Mm][\xc1\xe1][Rr][Cc][Ii][Uu][Ss]|[\xc1\xe1][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][\xc1\xe1][Jj][Uu][Ss]|[Jj][\xda\xfa][Nn][Ii][Uu][Ss]|[Jj][\xda\xfa][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][\xd3\xf3][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][\xc1\xe1][Rr][Cc][.]|[\xc1\xe1][Pp][Rr][.]|[Mm][\xc1\xe1][Jj][.]|[Jj][\xda\xfa][Nn][.]|[Jj][\xda\xfa][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P[12]\\d|3[01]|0?[1-9])[.] [\xc9\xe9][Ss] (?P[12]\\d|3[01]|0?[1-9]) (?P[\xd3\xf3][Tt][Aa]|[Ee][Ll][\u0150\u0151][Tt][Tt][Ii]?|[Uu][Tt][\xc1\xe1][Nn][Ii]?|[Kk][\xd6\xf6][Zz][\xd6\xf6][Tt][Tt][Ii]?)', u'\\g \\g. \xe9s \\g. \\g', u'A nap ut\xe1n itt pontot \xedrunk. (AkH. 297.)', False], [u'(?iu)\\b(?P[Jj][Aa][Nn][Uu][\xc1\xe1][Rr]|[Ff][Ee][Bb][Rr][Uu][\xc1\xe1][Rr]|[Mm][\xc1\xe1][Rr][Cc][Ii][Uu][Ss]|[\xc1\xe1][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][\xc1\xe1][Jj][Uu][Ss]|[Jj][\xda\xfa][Nn][Ii][Uu][Ss]|[Jj][\xda\xfa][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][\xd3\xf3][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][\xc1\xe1][Rr][Cc][.]|[\xc1\xe1][Pp][Rr][.]|[Mm][\xc1\xe1][Jj][.]|[Jj][\xda\xfa][Nn][.]|[Jj][\xda\xfa][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P[12]\\d|3[01]|0?[1-9]) [\xc9\xe9][Ss] (?P[12]\\d|3[01]|0?[1-9])[.]? (?P[\xd3\xf3][Tt][Aa]|[Ee][Ll][\u0150\u0151][Tt][Tt][Ii]?|[Uu][Tt][\xc1\xe1][Nn][Ii]?|[Kk][\xd6\xf6][Zz][\xd6\xf6][Tt][Tt][Ii]?)', u'\\g \\g. \xe9s \\g. \\g', u'A nap ut\xe1n itt pontot \xedrunk. (AkH. 297.)', False], [u'(?iu)\\b(?P[Jj][Aa][Nn][Uu][\xc1\xe1][Rr]|[Ff][Ee][Bb][Rr][Uu][\xc1\xe1][Rr]|[Mm][\xc1\xe1][Rr][Cc][Ii][Uu][Ss]|[\xc1\xe1][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][\xc1\xe1][Jj][Uu][Ss]|[Jj][\xda\xfa][Nn][Ii][Uu][Ss]|[Jj][\xda\xfa][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][\xd3\xf3][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][\xc1\xe1][Rr][Cc][.]|[\xc1\xe1][Pp][Rr][.]|[Mm][\xc1\xe1][Jj][.]|[Jj][\xda\xfa][Nn][.]|[Jj][\xda\xfa][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P[12]\\d|3[01]|0?[1-9])[-\u2013](?P[12]\\d|3[01]|0?[1-9]) (?P[\xd3\xf3][Tt][Aa]|[Ee][Ll][\u0150\u0151][Tt][Tt][Ii]?|[Uu][Tt][\xc1\xe1][Nn][Ii]?|[Kk][\xd6\xf6][Zz][\xd6\xf6][Tt][Tt][Ii]?)', u'\\g \\g\u2013\\g. \\g', u'A nap ut\xe1n itt pontot \xedrunk. (AkH. 297.)', False], [u'(?iu)\\b(?P[Jj][Aa][Nn][Uu][\xc1\xe1][Rr]|[Ff][Ee][Bb][Rr][Uu][\xc1\xe1][Rr]|[Mm][\xc1\xe1][Rr][Cc][Ii][Uu][Ss]|[\xc1\xe1][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][\xc1\xe1][Jj][Uu][Ss]|[Jj][\xda\xfa][Nn][Ii][Uu][Ss]|[Jj][\xda\xfa][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][\xd3\xf3][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][\xc1\xe1][Rr][Cc][.]|[\xc1\xe1][Pp][Rr][.]|[Mm][\xc1\xe1][Jj][.]|[Jj][\xda\xfa][Nn][.]|[Jj][\xda\xfa][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) (?P[12]\\d|3[01]|0?[1-9])-(?P[12]\\d|3[01]|0?[1-9]). (?P[\xd3\xf3][Tt][Aa]|[Ee][Ll][\u0150\u0151][Tt][Tt][Ii]?|[Uu][Tt][\xc1\xe1][Nn][Ii]?|[Kk][\xd6\xf6][Zz][\xd6\xf6][Tt][Tt][Ii]?)', u'\\g \\g\u2013\\g. \\g', u'A napok k\xf6z\xe9 nagyk\xf6t\u0151jelet \xedrunk. (AkH. 297.)', False], [u'(?u)\\b(?P[12]\\d\\d\\d)[.](?P0?[1-9]|1[012])[.](?P[12]\\d|3[01]|0?[1-9])(?P([.]|))(?P[^\\s][^\\s]*)', u'\\g. \\g.\xa0\\g\\g\\g', u'Sz\xf3k\xf6z a d\xe1tumban. (AkH. 293.)', False], [u'(?iu)(?P[Jj][Aa][Nn][Uu][\xc1\xe1][Rr]|[Ff][Ee][Bb][Rr][Uu][\xc1\xe1][Rr]|[Mm][\xc1\xe1][Rr][Cc][Ii][Uu][Ss]|[\xc1\xe1][Pp][Rr][Ii][Ll][Ii][Ss]|[Mm][\xc1\xe1][Jj][Uu][Ss]|[Jj][\xda\xfa][Nn][Ii][Uu][Ss]|[Jj][\xda\xfa][Ll][Ii][Uu][Ss]|[Aa][Uu][Gg][Uu][Ss][Zz][Tt][Uu][Ss]|[Ss][Zz][Ee][Pp][Tt][Ee][Mm][Bb][Ee][Rr]|[Oo][Kk][Tt][\xd3\xf3][Bb][Ee][Rr]|[Nn][Oo][Vv][Ee][Mm][Bb][Ee][Rr]|[Dd][Ee][Cc][Ee][Mm][Bb][Ee][Rr]|[Jj][Aa][Nn][.]|[Ff][Ee][Bb][Rr][.]|[Mm][\xc1\xe1][Rr][Cc][.]|[\xc1\xe1][Pp][Rr][.]|[Mm][\xc1\xe1][Jj][.]|[Jj][\xda\xfa][Nn][.]|[Jj][\xda\xfa][Ll][.]|[Aa][Uu][Gg][.]|[Ss][Zz][Ee][Pp][Tt][.]|[Oo][Kk][Tt][.]|[Nn][Oo][Vv][.]|[Dd][Ee][Cc][.]) 1[.]?-(?P[Ee]|[Ii]|[Ee][Ii]\\w*|[\xc9\xe9]\\w+)\\b', u'\\g 1-j\\g', u'Elseje sz\xe1mjegyes \xedr\xe1sa. (AkH. 296.)', False], [u'(?u)\\bstb[.], stb[.]', u'stb. stb.\\nstb.; stb.', u'K\xe9t stb. k\xf6z\xe9 nem tesz\xfcnk vessz\u0151t.', False], [u'(?u)(?[a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed]))(?![-\\w\u2013\xad])', u'\\1', u'Nem ponttal \xedrjuk ezt a r\xf6vid\xedt\xe9st.', False], [u'(?u)(?[Aa][Ll][Bb][\xc1\xe1][Nn]|[Aa][Mm][Ee][Rr][Ii][Kk][Aa][Ii]|[Aa][Nn][Gg][Oo][Ll]|[Bb][Ee][Ll][Gg][Aa]|[Bb][Oo][Ll][Gg][\xc1\xe1][Rr]|[Bb][Oo][Ss][Nn][Yy][\xc1\xe1][Kk]|[Bb][Rr][Ii][Tt]|[Cc][Ii][Pp][Rr][Uu][Ss][Ii]|[Cc][Ss][Ee][Hh]|[Dd][\xc1\xe1][Nn]|[\xc9\xe9][Ss][Zz][Tt]|[Ff][Ii][Nn][Nn]|[Ff][Rr][Aa][Nn][Cc][Ii][Aa]|[Gg][\xd6\xf6][Rr][\xd6\xf6][Gg]|[Hh][Oo][Ll][Ll][Aa][Nn][Dd]|[Hh][Oo][Rr][Vv][\xc1\xe1][Tt]|[\xcd\xed][Rr]|[Jj][Aa][Pp][\xc1\xe1][Nn]|[Kk][\xcd\xed][Nn][Aa][Ii]|[Ll][Ee][Nn][Gg][Yy][Ee][Ll]|[Ll][Ee][Tt][Tt]|[Ll][Ii][Tt][Vv][\xc1\xe1][Nn]|[Mm][Aa][Cc][Ee][Dd][\xd3\xf3][Nn]|[Mm][Aa][Gg][Yy][Aa][Rr]|[Mm][\xc1\xe1][Ll][Tt][Aa][Ii]|[Nn][\xc9\xe9][Mm][Ee][Tt]|[Nn][Oo][Rr][Vv][\xc9\xe9][Gg]|[Oo][Ll][Aa][Ss][Zz]|[Oo][Rr][Oo][Ss][Zz]|[Oo][Ss][Zz][Tt][Rr][\xc1\xe1][Kk]|[Pp][Oo][Rr][Tt][Uu][Gg][\xc1\xe1][Ll]|[Rr][Oo][Mm][\xc1\xe1][Nn]|[Ss][Pp][Aa][Nn][Yy][Oo][Ll]|[Ss][Vv][\xc1\xe1][Jj][Cc][Ii]|[Ss][Vv][\xc9\xe9][Dd]|[Ss][Zz][Ee][Rr][Bb]|[Ss][Zz][Ll][Oo][Vv][\xc1\xe1][Kk]|[Ss][Zz][Ll][Oo][Vv][\xc9\xe9][Nn]|[Tt][\xd6\xf6][Rr][\xd6\xf6][Kk]|[Uu][Kk][Rr][\xc1\xe1][Nn])-(?P[Aa][Ll][Bb][\xc1\xe1][Nn]|[Aa][Mm][Ee][Rr][Ii][Kk][Aa][Ii]|[Aa][Nn][Gg][Oo][Ll]|[Bb][Ee][Ll][Gg][Aa]|[Bb][Oo][Ll][Gg][\xc1\xe1][Rr]|[Bb][Oo][Ss][Nn][Yy][\xc1\xe1][Kk]|[Bb][Rr][Ii][Tt]|[Cc][Ii][Pp][Rr][Uu][Ss][Ii]|[Cc][Ss][Ee][Hh]|[Dd][\xc1\xe1][Nn]|[\xc9\xe9][Ss][Zz][Tt]|[Ff][Ii][Nn][Nn]|[Ff][Rr][Aa][Nn][Cc][Ii][Aa]|[Gg][\xd6\xf6][Rr][\xd6\xf6][Gg]|[Hh][Oo][Ll][Ll][Aa][Nn][Dd]|[Hh][Oo][Rr][Vv][\xc1\xe1][Tt]|[\xcd\xed][Rr]|[Jj][Aa][Pp][\xc1\xe1][Nn]|[Kk][\xcd\xed][Nn][Aa][Ii]|[Ll][Ee][Nn][Gg][Yy][Ee][Ll]|[Ll][Ee][Tt][Tt]|[Ll][Ii][Tt][Vv][\xc1\xe1][Nn]|[Mm][Aa][Cc][Ee][Dd][\xd3\xf3][Nn]|[Mm][Aa][Gg][Yy][Aa][Rr]|[Mm][\xc1\xe1][Ll][Tt][Aa][Ii]|[Nn][\xc9\xe9][Mm][Ee][Tt]|[Nn][Oo][Rr][Vv][\xc9\xe9][Gg]|[Oo][Ll][Aa][Ss][Zz]|[Oo][Rr][Oo][Ss][Zz]|[Oo][Ss][Zz][Tt][Rr][\xc1\xe1][Kk]|[Pp][Oo][Rr][Tt][Uu][Gg][\xc1\xe1][Ll]|[Rr][Oo][Mm][\xc1\xe1][Nn]|[Ss][Pp][Aa][Nn][Yy][Oo][Ll]|[Ss][Vv][\xc1\xe1][Jj][Cc][Ii]|[Ss][Vv][\xc9\xe9][Dd]|[Ss][Zz][Ee][Rr][Bb]|[Ss][Zz][Ll][Oo][Vv][\xc1\xe1][Kk]|[Ss][Zz][Ll][Oo][Vv][\xc9\xe9][Nn]|[Tt][\xd6\xf6][Rr][\xd6\xf6][Kk]|[Uu][Kk][Rr][\xc1\xe1][Nn])\\b', u'\\g\u2013\\g', u'N\xe9pnevek k\xf6z\xe9 nagyk\xf6t\u0151jelet tesz\xfcnk.', False], [u'(?u)\\b(?P(1\\d\\d[1-9]|1\\d[1-9]\\d|20\\d[1-9]|20[1-9]\\d))-(?P[12]\\d\\d\\d)\\b ', u'\\g\u2013\\g ', u'\xc9vsz\xe1mok k\xf6z\xe9 nagyk\xf6t\u0151jelet tesz\xfcnk.', False], [u'(?u)\\b(?P[12]\\d\\d\\d)-(?P(1\\d\\d[1-9]|1\\d[1-9]\\d|20\\d[1-9]|20[1-9]\\d))\\b ', u'\\g\u2013\\g ', u'\xc9vsz\xe1mok k\xf6z\xe9 nagyk\xf6t\u0151jelet tesz\xfcnk.', False], [u'(?u)\\b(?P[12]\\d\\d\\d)-(\\d\\d)\\b ', u'\\g\u2013\\2 ', u'\xc9vsz\xe1mok k\xf6z\xe9 nagyk\xf6t\u0151jelet tesz\xfcnk.', False], [u'(?u)([A-Z\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd]\\w*)-(\\d+(-\\w+)?)', u'\\1\u2013\\2', u'T\xedpusn\xe9v \xe9s -sz\xe1m k\xf6z\xe9 nagyk\xf6t\u0151jelet tesz\xfcnk. (AkH. 263.)', False], [u'(?u)pp[.] (\\d+)-(\\d+)[.]', u'pp. \\1\u2013\\2.', u'Oldalsz\xe1mok k\xf6z\xe9 nagyk\xf6t\u0151jelet tesz\xfcnk. (AkH. 263.)', False], [u'(?u)(\\d+)-(\\d+)[.] (o[.]|oldal\\w*)', u'\\1\u2013\\2. \\3', u'Oldalsz\xe1m', False], [u'(?u) (u[.]|utca|\xfat|t\xe9r) (\\d\\d*)-(\\d\\d*)[.]', u' \\1 \\2\u2013\\3.', u'Nagyk\xf6t\u0151jel a h\xe1zsz\xe1mban. (AkH. 298.)', False], [u'(?iu)(?[a\xe1e\xe9i\xedo\xf3\xf6\u0151u\xfa\xfc\u0171A\xc1E\xc9I\xcdO\xd3\xd6\u0150U\xda\xdc\u0170]\\w*)', u'az \\g', u'Hib\xe1s n\xe9vel\u0151?', u'not re.match(r"(?i)i(ii?|[vx])$|Unicode$|Unix\\w*$", m.group("word_1")) and spell(LOCALE,m.group("word_1"))'], [u'(?u)(?[aA]) (?P[a\xe1e\xe9i\xedo\xf3\xf6\u0151u\xfa\xfc\u0171A\xc1E\xc9I\xcdO\xd3\xd6\u0150U\xda\xdc\u0170]\\w*)', u'\\gz \\g\\n\\g', u'Hib\xe1s vagy felesleges n\xe9vel\u0151?', u'wordmin(s[:m.start()],1) and not re.match(r"(?i)i(ii?|[vx])$|Unicode$|Unix\\w*$", m.group("word_1")) and spell(LOCALE,m.group("word_1"))'], [u'(?iu)(?\\d+|\\d+,\\d+) [Gg][Rr][.]?-[Mm][Aa][Ll](?![-\\w\u2013\xad])', u'\\g g-mal', u'grammal r\xf6vid\xedt\xe9se g-mal (AkH. 286.)', False], [u'(?u) A vitamin(?P\\w*)', u' A-vitamin\\g', u'K\xf6t\u0151jeles n\xe9v.', False], [u'(?u)(?\\w*)(?![-\\w\u2013\xad])', u'\\1-vitamin\\g', u'K\xf6t\u0151jeles n\xe9v.', False], [u'(?u)(?\\w*)', u'ny\xedltsz\xedv\u0171\\g', u'Egybe\xedr\xe1s.', False], [u'(?iu)\\b[Jj][\xd3\xf3] [Ss][Zz][\xc1\xe1][Nn][Dd][\xc9\xe9][Kk][\xda\xfa](?P\\w*)', u'j\xf3sz\xe1nd\xe9k\xfa\\g', u'Egybe\xedr\xe1s.', False], [u'(?iu)[Kk][\xd6\xf6][Zz][\xd6\xf6][Ss] [Ll][\xd3\xf3][Nn][Aa][Kk] [Tt][\xda\xfa][Rr][\xd3\xf3][Ss]', u'k\xf6z\xf6s l\xf3nak t\xfaros', u'Helyes kifejez\xe9s.', False], [u'(?iu)\\b[Nn][Ee][Jj][Ll][Oo][Nn] [Hh][Aa][Rr][Ii][Ss][Nn][Yy][Aa]\\b', u'nejlonharisnya', u'Egybe\xedr\xe1s.', False], [u'(?iu)\\b[Oo][Dd][Aa]-[Vv][Ii][Ss][Ss][Zz][Aa](?P[a-zA-ZA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd][a-zA-ZA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd]*)', u'oda-vissza \\g', u'K\xfcl\xf6n\xedr\xe1s.', False], [u'(?iu)\\b[Pp][Rr][Oo] [\xc9\xe9][Ss] [Kk][Oo][Nn][Tt][Rr][Aa]\\b', u'pr\xf3 \xe9s kontra', u'Helyes latin kifejez\xe9s.', False], [u'(?iu)\\b[Rr][\xc1\xe1][Kk][\xd6\xf6][Vv][Ee][Tt][Kk][Ee][Zz](?P[a-zA-ZA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd][a-zA-ZA-Z\xd6\xf6\xdc\xfc\xd3\xf3\u0170\u0171\u0150\u0151\xda\xfa\xc9\xe9\xc1\xe1\xcd\xed\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd]*)', u'r\xe1 k\xf6vetkez\\g', u'K\xfcl\xf6n\xedr\xe1s.', False], [u'(?iu)\\b[Tt][\xc1\xe1][Jj] [Jj][Ee][Ll][Ll][Ee][Gg][\u0170\u0171](?P\\w*)', u't\xe1jjelleg\u0171\\g', u'Egybe\xedr\xe1s.', False], [u'(?iu)([SsTtLlUuVv])-[Aa][Ll][Aa][Kk][\xda\xfa](?P\\w*)', u'\\1 alak\xfa\\g', u'K\xfcl\xf6n\xedr\xe1s.', False], [u'(?u)(\\d\\d*)-szob\xe1s(?P\\w*)', u'\\1 szob\xe1s\\g', u'K\xfcl\xf6n\xedr\xe1s.', False], [u'(?u)(\\d\\d*)-r\xe9szes(?P\\w*)', u'\\1 r\xe9szes\\g', u'K\xfcl\xf6n\xedr\xe1s.', False], [u'(?u)(?(Advent|H\xfasv\xe9t|Kar\xe1csony|Mindenszentek|P\xfcnk\xf6sd|(Any\xe1k|Ap\xe1k|Halottak|N\u0151k) [Nn]apj)(?P[a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed])*)(?![-\\w\u2013\xad])', u'= m.group("event_1").lower()', u'Kisbet\u0171s kifejez\xe9s, ha nem c\xedm. (AkH. 145.)', u'wordmin(s[:m.start()],1) and word(s[m.end():],1) == word(s[m.end():],1).lower()'], [u'(?u)foci ([Ev])[bB](?P([-][a-zA-Z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd][a-zA-Z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd]*)?)', u'foci-\\1b\\g', u'K\xf6t\u0151jeles kifejez\xe9s.', False], [u'(?u)^K\xe9ts\xe9g k\xedv\xfcl', u'K\xe9ts\xe9gk\xedv\xfcl', u'Egybe\xedr\xe1s.', False], [u'(?iu)(?\\w*)(?![-\\w\u2013\xad])', u'\\1-sark\\g', u'F\xf6ldrajzi n\xe9v.', False], [u'(?u)(?\xc9szak|D\xe9l|Kelet|Nyugat|\xc9szakkelet|\xc9szaknyugat|D\xe9lkelet|D\xe9lnyugat)-(?P(?P[A-Z\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd])(?P[a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed])+)(?![-\\w\u2013\xad])', u'= m.group("Dir_1") + "-" + m.group("cap_1").lower()', u'Kisbet\u0171vel \xedrt f\xf6ldrajzi n\xe9v. (AkH. 179.)', u'morph(LOCALE,m.group("cap_1"), r"po:noun_prs.*is:i_PLACE", False)'], [u'(?u)(?\xe9szak|d\xe9l|kelet|nyugat|\xe9szakkelet|\xe9szaknyugat|d\xe9lkelet|d\xe9lnyugat)-(?P(?P[A-Z\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd])(?P[a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed])+)(?![-\\w\u2013\xad])', u'= m.group("dir_1").capitalize() + "-" + m.group("cap_1")', u'Nagybet\u0171vel \xedrt f\xf6ldrajzi n\xe9v. (AkH. 179.)', u'morph(LOCALE,m.group("cap_1"), r"po:noun_prs", False) and not morph(LOCALE,m.group("cap_1"),"is:i_PLACE", False)'], [u'(?u)(?\xc9szak|D\xe9l|Kelet|Nyugat|\xc9szakkelet|\xc9szaknyugat|D\xe9lkelet|D\xe9lnyugat)-(?P(?P[a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed])+)(?![-\\w\u2013\xad])', u'= m.group("Dir_1").lower() + "-" + m.group("sc_1")', u'Kisbet\u0171vel \xedrt f\xf6ldrajzi n\xe9v. (AkH. 179.)', u'wordmin(s[:m.start()],1) and word(s[m.end():],1) and not word(s[m.end():],1) == word(s[m.end():],1).capitalize() and morph(LOCALE,m.group("sc_1"), r"po:noun_prs.*is:i_PLACE", False)'], [u'(?u)(?\xc9szak|D\xe9l|Kelet|Nyugat|\xc9szakkelet|\xc9szaknyugat|D\xe9lkelet|D\xe9lnyugat) (?P(?P(?P[a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed])|(?P[A-Z\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd]))+)(?![-\\w\u2013\xad])', u'\\g-\\g', u'K\xf6t\u0151jellel \xedrt f\xf6ldrajzi n\xe9v. (AkH. 179.)', u'morph(LOCALE,m.group("w_1"), r"po:noun_prs")'], [u'(?u)(?(?P[A-Z\xd6\xdc\xd3\u0170\u0150\xda\xc9\xc1\xcd])(?P[a-z\xf6\xfc\xf3\u0171\u0151\xfa\xe9\xe1\xed])+)-(?PTenger|\xd3ce\xe1n|Sziget|F\xe9lsziget|K\xf6z\xe9phegys\xe9g)(?![-\\w\u2013\xad])', u'= m.group("cap_1") + "-" + m.group("prop_1").lower()', u'Kisbet\u0171s \xedrt k\xf6zn\xe9vi tag. (AkH. 176.)', False], [u'(?u)(?[Aa][Bb][Bb][Aa]|[Aa][Gg][Yy][Oo][Nn]|[Aa][Ll][\xc1\xe1]|[\xc1\xe1][Ll][Tt][Aa][Ll]|[\xc1\xe1][Tt]|[Bb][Ee]|[Bb][Ee][Ll][Ee]|[Bb][Ee][Nn][Nn]|[Ee][Gg][Yy][Bb][Ee]|[Ee][Gg][Yy][\xdc\xfc][Tt][Tt]|[Ee][Ll]|[Ee][Ll][Ll][Ee][Nn]|[Ee][Ll][\u0150\u0151]|[Ee][Ll][\u0150\u0151][Rr][Ee]|[Ff][Ee][Ll]|[Ff][\xd6\xf6][Ll]|[Ff][\xc9\xe9][Ll][Bb][Ee]|[Ff][\xc9\xe9][Ll][Rr][Ee]|[Ff][Ee][Ll][\xdc\xfc][Ll]|[Ff][\xd6\xf6][Ll][\xdc\xfc][Ll]|[Ff][Ee][Nn][Nn]|[Ff][\xd6\xf6][Nn][Nn]|[Hh][\xc1\xe1][Tt][Rr][Aa]|[Hh][Aa][Zz][Aa]|[Hh][Ee][Ll][Yy][Rr][Ee]|[Hh][Oo][Zz][Zz][\xc1\xe1]|[Ii][Dd][Ee]|[Jj][\xd3\xf3][Vv][\xc1\xe1]|[Kk][Ee][Rr][Ee][Ss][Zz][Tt][\xdc\xfc][Ll]|[Kk][Ee][Tt][Tt][\xc9\xe9]|[Kk][Ii]|[Kk][\xd6\xf6][Ll][Cc][Ss][\xd6\xf6][Nn]|[Kk][\xd6\xf6][Rr][Bb][Ee]|[Kk][\xd6\xf6][Rr][\xdc\xfc][Ll]|[Kk][\xd6\xf6][Zz][Bb][Ee]|[Kk][\xd6\xf6][Zz][Rr][Ee]|[Kk][\xdc\xfc][Ll][\xd6\xf6][Nn]|[Ll][Ee]|[Mm][Ee][Gg]|[Mm][Ee][Ll][Ll][\xc9\xe9]|[Nn][Ee][Kk][Ii]|[Oo][Dd][Aa]|[\xd6\xf6][Ss][Ss][Zz][Ee]|[Rr][\xc1\xe1]|[Rr][Aa][Jj][Tt][Aa]|[Ss][Zz][\xc9\xe9][Jj][Jj][Ee][Ll]|[Ss][Zz][Ee][Mm][Bb][Ee]|[Ss][Zz][Ee][Rr][Tt][Ee]|[Ss][Zz][\xc9\xe9][Tt]|[Tt][Ee][Ll][Ee]|[Tt][Oo][Vv][Aa]|[Tt][Oo][Vv][\xc1\xe1][Bb][Bb]|[Tt][\xda\xfa][Ll]|[\xda\xfa][Jj][Jj][\xc1\xe1]|[\xda\xfa][Jj][Rr][Aa]|[Uu][Tt][\xc1\xe1][Nn][Aa]|[Vv][\xc9\xe9][Gg][Bb][Ee]|[Vv][\xc9\xe9][Gg][Ii][Gg]|[Vv][Ii][Ss][Ss][Zz][Aa])(?P([Aa][Kk][Aa][Rr]|[Bb][\xcd\xed][Rr]|[Ff][Oo][Gg]|[Ll][Ee][Gg][Yy]|[Ll][Ee][Hh][Ee][Tt]|[Ll][Ee][Nn][Nn]|[Ll][Ee][Ss][Zz]|[Ll][Ee][Tt][Tt]|[Ss][Zz][Aa][Bb][Aa][Dd]|[Ss][Zz][Ee][Rr][Ee][Tt]|[Tt][Aa][Ll][\xc1\xe1][Ll]|[Tt][Uu][Dd]|[Vv][Aa][Nn]|[Vv][Oo][Ll])\\w*)(?P( \\w+){0,}) (?P(\\w+[Nn][Ii]))(?![-\\w\u2013\xad])', u'\\g \\g\\g \\g', u'Az igek\xf6t\u0151t nem \xedrjuk egybe a seg\xe9dig\xe9vel.', u'morph(LOCALE,m.group("igenev_1"), "INFINITIVE") and morph(LOCALE,m.group("igekoto_1")+m.group("segedige_1"), r"is:[/\\w]*DEF|ds:tt")'], [u'(?iu)(?[Aa][Bb][Bb][Aa]|[Aa][Gg][Yy][Oo][Nn]|[Aa][Ll][\xc1\xe1]|[\xc1\xe1][Ll][Tt][Aa][Ll]|[\xc1\xe1][Tt]|[Bb][Ee]|[Bb][Ee][Ll][Ee]|[Bb][Ee][Nn][Nn]|[Ee][Gg][Yy][Bb][Ee]|[Ee][Gg][Yy][\xdc\xfc][Tt][Tt]|[Ee][Ll]|[Ee][Ll][Ll][Ee][Nn]|[Ee][Ll][\u0150\u0151]|[Ee][Ll][\u0150\u0151][Rr][Ee]|[Ff][Ee][Ll]|[Ff][\xd6\xf6][Ll]|[Ff][\xc9\xe9][Ll][Bb][Ee]|[Ff][\xc9\xe9][Ll][Rr][Ee]|[Ff][Ee][Ll][\xdc\xfc][Ll]|[Ff][\xd6\xf6][Ll][\xdc\xfc][Ll]|[Ff][Ee][Nn][Nn]|[Ff][\xd6\xf6][Nn][Nn]|[Hh][\xc1\xe1][Tt][Rr][Aa]|[Hh][Aa][Zz][Aa]|[Hh][Ee][Ll][Yy][Rr][Ee]|[Hh][Oo][Zz][Zz][\xc1\xe1]|[Ii][Dd][Ee]|[Jj][\xd3\xf3][Vv][\xc1\xe1]|[Kk][Ee][Rr][Ee][Ss][Zz][Tt][\xdc\xfc][Ll]|[Kk][Ee][Tt][Tt][\xc9\xe9]|[Kk][Ii]|[Kk][\xd6\xf6][Ll][Cc][Ss][\xd6\xf6][Nn]|[Kk][\xd6\xf6][Rr][Bb][Ee]|[Kk][\xd6\xf6][Rr][\xdc\xfc][Ll]|[Kk][\xd6\xf6][Zz][Bb][Ee]|[Kk][\xd6\xf6][Zz][Rr][Ee]|[Kk][\xdc\xfc][Ll][\xd6\xf6][Nn]|[Ll][Ee]|[Mm][Ee][Gg]|[Mm][Ee][Ll][Ll][\xc9\xe9]|[Nn][Ee][Kk][Ii]|[Oo][Dd][Aa]|[\xd6\xf6][Ss][Ss][Zz][Ee]|[Rr][\xc1\xe1]|[Rr][Aa][Jj][Tt][Aa]|[Ss][Zz][\xc9\xe9][Jj][Jj][Ee][Ll]|[Ss][Zz][Ee][Mm][Bb][Ee]|[Ss][Zz][Ee][Rr][Tt][Ee]|[Ss][Zz][\xc9\xe9][Tt]|[Tt][Ee][Ll][Ee]|[Tt][Oo][Vv][Aa]|[Tt][Oo][Vv][\xc1\xe1][Bb][Bb]|[Tt][\xda\xfa][Ll]|[\xda\xfa][Jj][Jj][\xc1\xe1]|[\xda\xfa][Jj][Rr][Aa]|[Uu][Tt][\xc1\xe1][Nn][Aa]|[Vv][\xc9\xe9][Gg][Bb][Ee]|[Vv][\xc9\xe9][Gg][Ii][Gg]|[Vv][Ii][Ss][Ss][Zz][Aa])(?P([Ll][Ee][Gg][Yy]|[Ll][Ee][Hh][Ee][Tt]|[Ll][Ee][Nn][Nn]|[Ll][Ee][Ss][Zz]|[Ll][Ee][Tt][Tt]|[Vv][Aa][Nn]|[Vv][Oo][Ll])\\w*)(?P( \\w+){0,}) (?P(\\w+[Vv][EeAa]))(?![-\\w\u2013\xad])', u'\\g \\g\\g \\g', u'Az igek\xf6t\u0151 a lenni + -va/-ve szerkezetben nem a l\xe9tig\xe9hez kapcsol\xf3dik.', u'morph(LOCALE,m.group("igenev_1"), "_PART") and morph(LOCALE,m.group("igekoto_1")+m.group("letige_1"), r"is:[/\\w]*DEF|ds:tt")'], [u'(?iu)(?\\w+)(?![-\\w\u2013\xad])', u'\\1d\\2\\g', u'Hadd helyesen.', u'morph(LOCALE,m.group("W_1"), r"(IMPER[_\\w]*SG_1|is:[_/\\w]*DEF_PL)") or (not wordmin(s[:m.start()],1) and morph(LOCALE,m.group("W_1"), r"is:[_/\\w]*DEF_SG_[23]"))'], [u'(?iu)(?[Aa][Bb][Bb][Aa]|[Aa][Gg][Yy][Oo][Nn]|[Aa][Ll][\xc1\xe1]|[\xc1\xe1][Ll][Tt][Aa][Ll]|[\xc1\xe1][Tt]|[Bb][Ee]|[Bb][Ee][Ll][Ee]|[Bb][Ee][Nn][Nn]|[Ee][Gg][Yy][Bb][Ee]|[Ee][Gg][Yy][\xdc\xfc][Tt][Tt]|[Ee][Ll]|[Ee][Ll][Ll][Ee][Nn]|[Ee][Ll][\u0150\u0151]|[Ee][Ll][\u0150\u0151][Rr][Ee]|[Ff][Ee][Ll]|[Ff][\xd6\xf6][Ll]|[Ff][\xc9\xe9][Ll][Bb][Ee]|[Ff][\xc9\xe9][Ll][Rr][Ee]|[Ff][Ee][Ll][\xdc\xfc][Ll]|[Ff][\xd6\xf6][Ll][\xdc\xfc][Ll]|[Ff][Ee][Nn][Nn]|[Ff][\xd6\xf6][Nn][Nn]|[Hh][\xc1\xe1][Tt][Rr][Aa]|[Hh][Aa][Zz][Aa]|[Hh][Ee][Ll][Yy][Rr][Ee]|[Hh][Oo][Zz][Zz][\xc1\xe1]|[Ii][Dd][Ee]|[Jj][\xd3\xf3][Vv][\xc1\xe1]|[Kk][Ee][Rr][Ee][Ss][Zz][Tt][\xdc\xfc][Ll]|[Kk][Ee][Tt][Tt][\xc9\xe9]|[Kk][Ii]|[Kk][\xd6\xf6][Ll][Cc][Ss][\xd6\xf6][Nn]|[Kk][\xd6\xf6][Rr][Bb][Ee]|[Kk][\xd6\xf6][Rr][\xdc\xfc][Ll]|[Kk][\xd6\xf6][Zz][Bb][Ee]|[Kk][\xd6\xf6][Zz][Rr][Ee]|[Kk][\xdc\xfc][Ll][\xd6\xf6][Nn]|[Ll][Ee]|[Mm][Ee][Gg]|[Mm][Ee][Ll][Ll][\xc9\xe9]|[Nn][Ee][Kk][Ii]|[Oo][Dd][Aa]|[\xd6\xf6][Ss][Ss][Zz][Ee]|[Rr][\xc1\xe1]|[Rr][Aa][Jj][Tt][Aa]|[Ss][Zz][\xc9\xe9][Jj][Jj][Ee][Ll]|[Ss][Zz][Ee][Mm][Bb][Ee]|[Ss][Zz][Ee][Rr][Tt][Ee]|[Ss][Zz][\xc9\xe9][Tt]|[Tt][Ee][Ll][Ee]|[Tt][Oo][Vv][Aa]|[Tt][Oo][Vv][\xc1\xe1][Bb][Bb]|[Tt][\xda\xfa][Ll]|[\xda\xfa][Jj][Jj][\xc1\xe1]|[\xda\xfa][Jj][Rr][Aa]|[Uu][Tt][\xc1\xe1][Nn][Aa]|[Vv][\xc9\xe9][Gg][Bb][Ee]|[Vv][\xc9\xe9][Gg][Ii][Gg]|[Vv][Ii][Ss][Ss][Zz][Aa])(?![-\\w\u2013\xad])', u'\\1d \\2', u'Felsz\xf3l\xedt\xf3 m\xf3d.', u'(not wordmin(s[:m.start()],1) or wordmin(s[:m.start()],1).lower() == "ne") and morph(LOCALE,m.group(1), "st:" + m.group(1).lower() + r"\\b") and morph(LOCALE,m.group(1)+"d", r"IMPER")'], [u'(?iu)(?\\w{4,5})(?![-\\w\u2013\xad])', u'=suggest(LOCALE,m.group("W_1"))', u'Biztos, hogy helyes \xf6sszetett sz\xf3?', u'option(LOCALE,"compound") and morph(LOCALE,m.group("W_1"), "pa:")'], [u'(?iu)(?\\w{4,})(?![-\\w\u2013\xad])', u'=suggest(LOCALE,m.group("W_1"))', u'Biztos, hogy helyes \xf6sszetett sz\xf3?', u'option(LOCALE,"compound") and morph(LOCALE,m.group("W_1"), ur"(?u)pa:\\w\\w\\b")'], [u'(?iu)(?\\w{4,})(?![-\\w\u2013\xad])', u'=suggest(LOCALE,m.group("W_1"))', u'Biztos, hogy helyes \xf6sszetett sz\xf3?', u'option(LOCALE,"allcompound") and morph(LOCALE,m.group("W_1"), "pa:")'], [u'(?iu)(?[-\\w]{3,}) \\1(?![-\\w\u2013\xad])', u'\\g\\n\\g-\\1', u'Sz\xf3ism\xe9tl\xe9s vagy hi\xe1nyz\xf3 k\xf6t\u0151jel?', u'option(LOCALE,"dup0") and (not wordmin(s[:m.start()],1) or not wordmin(s[:m.start()],1).lower() in ["a", "az", "minden"]) and word(s[m.end():],1) != u"h\xe1t\xe1n" and word(s[m.end():],1) != u"h\xe1t\xe1n." and not morph(LOCALE,word(s[m.end():],1), "po:post", False)'], [u'(?u)(?[-\\w]{3,})(?: [-\u2013\\w\u201e\u201d]+)* \\1(?![-\\w\u2013\xad])', u'\\g', u'T\xfalzott sz\xf3ism\xe9tl\xe9s?', u'option(LOCALE,"dup")'], [u'(?u)(?[-\\w]{3,})[;,:]?(?: [-\u2013\\w\u201e\u201d]+[;,:]?)* \\1(?![-\\w\u2013\xad])', u'\\g', u'T\xfalzott sz\xf3ism\xe9tl\xe9s?', u'option(LOCALE,"dup2")'], [u'(?u)(?