Revision: 6750 http://languagetool.svn.sourceforge.net/languagetool/?rev=6750&view=rev Author: janschreiber Date: 2012-04-20 10:04:49 +0000 (Fri, 20 Apr 2012) Log Message: ----------- [de] some more redundancy rules
Modified Paths: -------------- trunk/JLanguageTool/src/rules/de/grammar.xml Modified: trunk/JLanguageTool/src/rules/de/grammar.xml =================================================================== --- trunk/JLanguageTool/src/rules/de/grammar.xml 2012-04-19 21:08:54 UTC (rev 6749) +++ trunk/JLanguageTool/src/rules/de/grammar.xml 2012-04-20 10:04:49 UTC (rev 6750) @@ -54,10 +54,11 @@ <!ENTITY verw "Mögliche Wortverwechslung erkannt: "> <!ENTITY redundanz "Diese Wendung ist möglicherweise redundant. "> <!ENTITY also "also|folglich|demnach|deshalb|mithin|somit"> +<!ENTITY fast "annähernd|beinah(e)?|fast|nahezu|ungefähr"> <!ENTITY modal "halt|eben|doch|wohl|eigentlich|auch|schon|aber|recht|ziemlich"> <!ENTITY neusubklein "alter|ansinnen|band|bedenken|bündel|delta|differential|double|drittel|eck|eislaufen|elend|ende|erbe|erbrecht|fach|fest|fett|gebrechen|gemach|gerät|gewissen|gut|gutachten|junge|kapital|kollektiv|konditional|können|leben|leck|leid|licht|lokal|los|mal|manifest|maß|mittelalter|morden|paar|patent|pfeifen|präsent|recht|reich|rennen|scheitern|schweigen|sitzen|stillschweigen|totem|unrecht|verbot|verdeck|verdienst|verfahren|vergnügen|verhör|verlangen|vermögen|versprechen|wettrennen|wohl|wunder|zeug|ziel|zimmer"> <!ENTITY massubklein "abgeordnete|abkomme|abriss|abschied|abschnitt|abstieg|ahne|andrang|angriff|anklang|anschnitt|anstieg|anstrich|antrieb|antritt|ärger|arm|aufriss|aufschnitt|aufstand|aufstieg|aufstrich|auftritt|ausklang|ausritt|ausschnitt|ausstand|ausstieg|austritt|band|bau|bedarf|begriff|beistand|beitritt|belang|bestand|betrieb|betrug|blick|block|brauch|dank|dichter|durchschnitt|einband|eingriff|einschnitt|einstand|einstieg|eintritt|ernst|ertrag|feind|filz|floh|forscher|fortschritt|fremde|gefreite|gläubiger|gleichstand|graben|herzog|junge|jünger|knebel|knick|knoten|koch|komparativ|kragen|krieg|laden|lappen|lauf|laut|lumpen|mitschnitt|morgen|nachklang|nachkomme|nachwuchs|pfiff|plan|planer|platz|plural|pole|rang|rasen|rausschmiss|reifen|rücken|rüde|samt|schal|scherz|schiefer|schlag|schluck|schnitt|schnupfen|schock|schotte|schrecken|schritt|schubs|schuft|schund|schütze|schwamm|sitz|spitz|stand|stecken|stillstand|stolz|stoß|strich|strick|träger|trieb|tritt|tropfen|trotz|türke|übergriff|übertritt|umriss|unterschied|untertan|verband|verbrauch|verdacht|verdienst|verkauf|verkehr|verlass|verlauf|verleih|vermerk|verriss|verschlag|verstand|verstoß|versuch|vertrieb|verzehr|virtuose|vokal|vorbehalt|vorgriff|vorstand|vortritt|vorwärtsschritt|wagen|weg|wein|weise|wert|wettstreit|wicht|widerstand|zank|zeuge|zügel|zugriff|zusammenschnitt|zustand|zutritt|zweifel"> -<!ENTITY femsubklein "abbitte|abfahrt|abfrage|abfuhr|abgeordnete|ablöse|abreise|absage|absteige|acht|alternative|anfahrt|anfrage|angst|anklage|anreise|anrichte|ansage|antike|anzeige|auffahrt|ausbeute|ausfahrt|ausfuhr|ausleihe|auslese|ausrede|ausreise|aussage|band|beichte|beule|binde|bitte|blase|breite|bremse|buche|bürde|burleske|bürste|decke|defensive|dichte|drei|durchfahrt|durchreiche|durchreise|durchsage|dürre|dusche|düse|ebbe|ebene|ecke|ehe|ehre|eiche|eile|einfahrt|einreise|eins|elf|erde|fahrt|falle|falte|feige|feile|ferne|flamme|fliege|fliese|flotte|flucht|folge|frage|fremde|fresse|fünf|geige|gerade|gnade|grenze|großtat|groteske|hacke|halle|härte|hast|haut|hecke|heimfahrt|herfahrt|hinfahrt|höhle|illustrierte|kante|kappe|keule|kippe|klage|klammer|klappe|klaue|klemme|klinge|klingel|kommode|konstante|kontroverse|kraft|krähe|kralle|kürze|kutsche|last|leere|legende|lehre|leine|leiste|leuchte|liebe|liege|linse|liste|lüge|macht|marine|matte|menge|messe|miete|mithilfe|mühe|nachfrage|nachlese|nachrede|nähe|naht|neun|oder|offensive|parallele|pauke|pauschale|pause|perle|pfeife|platte|pleite|post|predigt|presse|probe|pumpe|puste|quelle|rast|ratsche|rede|reibe|reife|reihe|reise|reue|robbe|rolle|rückfrage|rüge|ruhe|runde|rutsche|sage|säge|sahne|salbe|säure|schanze|schau|scheide|scheiße|schere|schiene|schippe|schlampe|schleife|schleuse|schlinge|schmelze|schmiede|schnalle|schneide|schuld|schule|schürze|schwäche|schwärze|schwebe|schwelle|sechs|sehne|sieben|sonne|sorge|spalte|speise|spitze|spritze|stärke|stelle|stille|stimme|strafe|strecke|strippe|stufe|stunde|stütze|suche|sucht|summe|taste|tat|taufe|tiefe|trage|träne|treue|variable|vier|vollmacht|voraussage|vorfahrt|vorhersage|vormacht|vorrede|vorsitzende|vorsorge|wache|wand|wärme|weide|weihe|weile|weise|welle|wende|werft|wiege|wiese|winde|wolle|würde|würze|wüste|zahl|zeche|zehn|zeit|zentrale|zier|zufahrt|zufuhr|zusage|zwei|zwinge|zwölf"> +<!ENTITY femsubklein "abbitte|abfahrt|abfrage|abfuhr|abgeordnete|ablöse|abreise|absage|absteige|acht|alternative|anfahrt|anfrage|angst|anklage|anreise|anrichte|ansage|antike|anzeige|auffahrt|ausbeute|ausfahrt|ausfuhr|ausleihe|auslese|ausrede|ausreise|aussage|band|beichte|beule|binde|bitte|blase|breite|bremse|buche|bürde|burleske|bürste|decke|defensive|dichte|drei|durchfahrt|durchreiche|durchreise|durchsage|dürre|dusche|düse|ebbe|ebene|ecke|ehe|ehre|eiche|eile|einfahrt|einreise|eins|elf|erde|fahrt|falle|falte|feige|feile|ferne|flamme|fliege|fliese|flotte|flucht|folge|frage|fremde|fresse|fünf|geige|gerade|gnade|grenze|großtat|groteske|hacke|halle|härte|hast|haut|hecke|heimfahrt|herfahrt|hinfahrt|höhle|illustrierte|kante|kappe|keule|kippe|klage|klammer|klappe|klaue|klemme|klinge|klingel|kommode|konstante|kontroverse|kraft|krähe|kralle|kürze|kutsche|last|leere|legende|lehre|leine|leiste|leuchte|liebe|liege|linse|liste|lüge|macht|marine|matte|menge|messe|miete|mithilfe|mühe|nachfrage|nachlese|nachrede|nähe|naht|neun|oder|offensive|parallele|pauke|pauschale|pause|perle|pfeife|platte|pleite|post|predigt|presse|probe|pumpe|puste|quelle|rast|ratsche|rede|reibe|reife|reihe|reise|reue|robbe|rolle|rückfrage|rüge|ruhe|runde|rutsche|sage|säge|sahne|salbe|säure|schanze|schau|scheide|scheiße|schere|schiene|schippe|schlampe|schleife|schleuse|schlinge|schmelze|schmiede|schnalle|schneide|schuld|schule|schürze|schwäche|schwärze|schwebe|schwelle|sechs|sehne|sieben|sonne|sorge|spalte|speise|spitze|spritze|starre|stärke|stelle|stille|stimme|strafe|strecke|strippe|stufe|stunde|stütze|suche|sucht|summe|taste|tat|taufe|tiefe|trage|träne|treue|variable|vier|vollmacht|voraussage|vorfahrt|vorhersage|vormacht|vorrede|vorsitzende|vorsorge|wache|wand|wärme|weide|weihe|weile|weise|welle|wende|werft|wiege|wiese|winde|wolle|würde|würze|wüste|zahl|zeche|zehn|zeit|zentrale|zier|zufahrt|zufuhr|zusage|zwei|zwinge|zwölf"> <!ENTITY subkleinplural "abbitten|abdrücke|abfragen|abfuhren|abgaben|abgeordneten|absagen|abschnitte|abspiele|absprachen|absteigen|abstiege|abstürze|abteile|ahnen|alternativen|anbauten|anblicke|andachten|anfragen|angaben|angeln|angriffe|ängste|anhalte|anhänge|anklagen|anlagen|anliegen|annahmen|anreden|anreisen|anreize|anrichten|anrufe|ansagen|anschnitte|anschreiben|ansprachen|anstiege|antriebe|antworten|anzahlen|anzeigen|arabesken|arme|armen|äste|aufbauten|aufgaben|auflagen|aufnahmen|aufrufe|aufschreie|aufstriche|ausbauten|ausbeuten|ausdrucke|ausdrücke|ausfuhren|ausgaben|aushänge|auslagen|ausleihen|auslesen|ausnahmen|ausreden|ausreisen|ausritte|ausrufe|aussagen|ausschnitte|aussprachen|ausweise|bahnen|bände|banden|bäume|bauten|bedenken|befehle|beichten|beigaben|beilagen|belange|belege|berge|berichte|berufe|bescheide|besuche|betten|beulen|beweise|binden|bitten|blasen|blätter|blicke|breiten|bremsen|brüste|buchen|bündel|bürden|burlesken|bürsten|dämme|dämpfe|delinquenten|deutschen|dichten|dichter|dinge|dreier|drucke|durchsagen|durchschnitte|duschen|düsen|ebenen|ecken|ehren|eichen|eingaben|eingriffe|einnahmen|einreisen|einschnitte|einschreiben|einstiege|entgegennahmen|entnahmen|entscheide|erfolge|erlöse|fallen|falten|feigen|feilen|feinde|festnahmen|fiedeln|filme|fische|flammen|flauten|fliegen|fliesen|flöße|flotten|fluchten|folgen|forscher|fortschritte|fragen|fransen|freigaben|freiräume|fressen|freunde|furchen|gebrechen|gebühren|gefahren|gefreiten|geigen|geraden|gestalten|gewinne|gläubiger|greise|grenzen|großtaten|grotesken|gruben|gründe|grüße|hacken|haken|hallen|härten|hecken|herzen|herzöge|hexen|hiebe|hinweise|höhlen|hüte|illustrierten|initialen|intriganten|jungen|jünger|kanten|kappen|kehlen|keulen|klagen|klammern|klänge|klappen|klauen|klemmen|klingeln|klingen|knappen|knechte|knöpfe|knospen|knoten|kommoden|konstanten|kontroversen|köpfe|kosten|krähen|krallen|krebse|kreuze|kriege|kugeln|kuppeln|küsse|kutschen|lappen|lasten|laute|legenden|lehren|leinen|leisten|leuchten|lichter|liegen|links|linsen|listen|löcher|lügen|lumpen|matten|mengen|messen|mieten|mitschnitte|morde|mühen|münzen|nachdrucke|nachfragen|nachklänge|nachkommen|nachlesen|nachreden|nachrufe|nachweise|nähte|narren|offensiven|parallelen|pauken|pauschalen|pausen|perlen|pfeifen|pfiffe|platten|pole|polen|predigten|preise|pressen|proben|pumpen|quellen|ränge|ratschen|räume|rechte|reden|regeln|reiben|reiche|reichen|reifen|reihen|reisen|rentiere|robben|rollen|rückfragen|rüden|rügen|rümpfe|runden|rutschen|sagen|sägen|salben|salze|säume|schächte|schanzen|schatten|schätze|schäume|scheiden|scheine|scheren|scherze|schienen|schiffe|schippen|schlampen|schleifen|schleusen|schlingen|schmieden|schnallen|schneiden|schnitte|schotten|schränke|schreie|schritte|schufte|schulden|schulen|schürzen|schützen|schwächen|schwänze|schwellen|sehnen|siebe|siege|siegel|sitze|söhne|sonnen|sorgen|spalten|speisen|spitzen|sprachen|spritzen|stacheln|stände|stärken|stellen|steuern|stimmen|strafen|strahlen|streben|strecken|streiche|streifen|striche|stricke|strippen|stufen|stunden|stürme|stützen|suchen|summen|tafeln|tage|tasten|taten|tauben|taufen|teile|teilnahmen|texte|tiefen|tische|tragen|träger|tränen|träume|tropfen|türken|türme|umbauten|umhänge|umkreise|umlaute|umschauen|unterlagen|unterschiede|variablen|verbände|verbrechen|verdecke|vereine|verfahren|vergehen|vergleiche|verhaue|verhöre|verleihe|vermerke|versprechen|verstecke|versuche|verweise|virtuosen|vögel|vokale|vollmachten|vorarbeiten|voraussagen|vorbehalte|vorgaben|vorgriffe|vorhersagen|vorkommen|vorlagen|vorlesen|vorreden|vorsitzenden|vorspanne|vorwegnahmen|vorwürfe|wachen|wagen|walzen|wände|waren|weichen|weiden|weihen|weine|weisen|wellen|werte|wiedergaben|wiedersehen|wiegen|wiesen|winde|winden|wünsche|würden|wüsten|zahlen|zäune|zechen|zelte|zentralen|zettel|zeugen|ziele|zimmer|zufuhren|zügel|zugriffe|zunahmen|zusagen|zusammenhänge|zweifel"> <!ENTITY sprachadj1 "afrikanisch|altarabisch|altchinesisch|altgriechisch|altpersisch|amerikanisch|arabisch|chinesisch|dänisch|deutsch|englisch|finnisch|französisch|frühneuhochdeutsch|germanisch|griechisch|hocharabisch|hochchinesisch|hochdeutsch|holländisch|italienisch|japanisch|jiddisch|jugoslawisch|koreanisch|kroatisch|lateinisch|luxemburgisch|mittelhochdeutsch|neuhochdeutsch|niederländisch|norwegisch|persisch|polnisch|portugiesisch|russisch|schwedisch|schweizerisch|semitisch|serbisch|serbokroatisch|slawisch|spanisch|tschechisch|türkisch|ukrainisch|ungarisch|weißrussisch"> <!ENTITY sprachadj2 "agglutinierend|algorithmisch|asiatisch|ausgestorben|bilderreich|bildlich|deutlich|dichterisch|europäisch|extensional|flektierend|formal|gesprochen|indogermanisch|intensional|klangvoll|konsonantenreich|maschinenorientiert|metaphorisch|poetisch|prosaisch|romanisch|schön|selten|vokalreich|wunderschön"> @@ -191,8 +192,8 @@ <token postag_regexp="yes" postag="VER:EIZ.*"/> </pattern> <message>Meinten Sie <suggestion><match no="1" regexp_match="erer" regexp_replace="er"/></suggestion>?</message> - <example type="incorrect" correction="komplexer">Man sollte es vermeiden, die Aufgeben <marker>komplexerer</marker> aufzubauen.</example> - <example type="correct">Man sollte es vermeiden, die Aufgeben <marker>komplexer</marker> aufzubauen.</example> + <example type="incorrect" correction="komplexer">Man sollte es vermeiden, die Aufgaben <marker>komplexerer</marker> aufzubauen.</example> + <example type="correct">Man sollte es vermeiden, die Aufgaben <marker>komplexer</marker> aufzubauen.</example> </rule> </rulegroup> <rule id="WIR_WIE" name="Möglicher Tippfehler: 'im selben Stall wir (wie)' etc."> @@ -2349,6 +2350,84 @@ <example type="incorrect">Da regt er sich völlig <marker>zu recht</marker> drüber auf.</example> </rule> </rulegroup> + <rulegroup id="SCHEISSEN_SCHIESSEN" name="Mögliche Wortverwechslung: schießen/scheißen"> + <!-- Since this is such an awkward typo and can particularly easily happen to non-native speakers, this rule should be extended. --> + <rule> + <pattern case_sensitive="yes" mark_from="1"> + <token regexp="yes">Kraut|(Eigen)?Tor(e(n))?|Boden|Höhe|Brand</token> + <token inflected="yes">scheißen</token> + </pattern> + <message>&verw;Meinten Sie <suggestion><match no="2" regexp_match="^schei" regexp_replace="schie"/></suggestion>?</message> + <short>Mögliche Wortverwechslung erkannt</short> + <example type="incorrect" correction="schießen">Die Läden, die wie Pilze aus dem Boden <marker>scheißen</marker>.</example> + <example type="correct">Die Läden, die wie Pilze aus dem Boden <marker>schießen</marker>.</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_from="1"> + <token regexp="yes" skip="1">war|ist</token> + <token regexp="yes">[sS]chieße</token> + </pattern> + <message>&verw;Meinten Sie <suggestion>Scheiße</suggestion> (ugs.)?</message> + <short>Mögliche Wortverwechslung erkannt</short> + <example type="incorrect" correction="Scheiße">Das war echt <marker>Schieße</marker>.</example> + <example type="correct">Das war echt <marker>Scheiße</marker>.</example> + </rule> + </rulegroup> + <rulegroup id="UHRZEIT_URZEIT" name="Mögliche Wortverwechslung: Uhrzeit/Urzeit"> + <rule> + <pattern case_sensitive="yes" mark_from="1"> + <token regexp="yes">vor|seit</token> + <token>Uhrzeiten</token> + </pattern> + <message>&verw;Meinten Sie <suggestion>Urzeiten</suggestion>?</message> + <short>Mögliche Wortverwechslung erkannt</short> + <example type="incorrect" correction="Urzeiten">Schon vor <marker>Uhrzeiten</marker> habe ich einen Rechner gekauft.</example> + <example type="correct">Das ist schon seit <marker>Urzeiten</marker> so.</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_from="2"> + <token regexp="yes">[uU]m|[zZ]u</token> + <token regexp="yes">welcher?|dieser?|jeder?</token> + <token>Urzeit</token> + </pattern> + <message>&verw;Meinten Sie <suggestion>Uhrzeit</suggestion>?</message> + <short>Mögliche Wortverwechslung erkannt</short> + <example type="incorrect" correction="Uhrzeit">Was tun Sie denn um diese <marker>Urzeit</marker> hier?</example> + <example type="correct">Riesenechsen aus der <marker>Urzeit</marker>.</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_from="1"> + <token regexp="yes">(genaue|exakte|die?selbe)n?</token> + <token>Urzeit</token> + </pattern> + <message>&verw;Meinten Sie <suggestion>Uhrzeit</suggestion>?</message> + <short>Mögliche Wortverwechslung erkannt</short> + <example type="incorrect" correction="Uhrzeit">Haben Sie die genaue <marker>Urzeit</marker>?</example> + <example type="correct">Riesenechsen aus der <marker>Urzeit</marker>.</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_from="2"> + <token regexp="yes">Datum|(Wochen)?Tag</token> + <token regexp="yes">und|,</token> + <token>Urzeit</token> + </pattern> + <message>&verw;Meinten Sie <suggestion>Uhrzeit</suggestion>?</message> + <short>Mögliche Wortverwechslung erkannt</short> + <example type="incorrect" correction="Uhrzeit">Tragen Sie bitte Datum und <marker>Urzeit</marker> ein.</example> + <example type="correct">Riesenechsen aus der <marker>Urzeit</marker>.</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_to="-2"> + <token>Urzeit</token> + <token regexp="yes">und|,</token> + <token regexp="yes">Datum|(Wochen)Tag</token> + </pattern> + <message>&verw;Meinten Sie <suggestion>Uhrzeit</suggestion>?</message> + <short>Mögliche Wortverwechslung erkannt</short> + <example type="incorrect" correction="Uhrzeit">Tragen Sie bitte <marker>Urzeit</marker> und Datum ein.</example> + <example type="correct">Riesenechsen aus der <marker>Urzeit</marker>.</example> + </rule> + </rulegroup> <rulegroup id="GROSSER_STIEL" name="Mögliche Wortverwechslung: Stiel/Stil"> <rule> <pattern case_sensitive="yes" mark_from="2"> @@ -4102,7 +4181,6 @@ <category name="Redundanz"> <!-- Jan: TODO – Add more stuff like "Haarfrisur, Fußpedal, Altveteran, langsam kriechen, schnell rasen ..." --> - <!-- Jan: TODO – organize this into smaller rulegroups --> <rulegroup id="UNGEFAEHR_GENAU" name="Unstimmigkeit: 'ungefähr genau'"> <rule> <pattern> @@ -4170,6 +4248,7 @@ </rule> </rulegroup> <rulegroup id="VERDOPPELUNG" name="Verdoppelung: 'meistens immer', 'schon bereits' etc."> + <!-- Jan: TODO – organize this into smaller rulegroups? Make a Java rule with pairs of words similar to coherency.txt? --> <rule> <pattern> <token>plötzlich</token> @@ -4242,6 +4321,67 @@ </rule> <rule> <pattern> + <token regexp="yes">&fast;</token> + <token regexp="yes">&fast;</token> + </pattern> + <message>&redundanz;Die Wörter <suggestion>\1</suggestion> und <suggestion>\2</suggestion> drücken etwa dasselbe aus.</message> + <short>&redundanz;</short> + <example type="incorrect">Das ist <marker>ungefähr fast</marker> richtig.</example> + <example type="correct">Das ist <marker>fast</marker> richtig.</example> + </rule> + <rule> + <pattern> + <token>zusätzlich</token> + <token regexp="yes">obendr(auf|ein)|hinzu</token> + </pattern> + <message>&redundanz;Die Wörter <suggestion>\1</suggestion> und <suggestion>\2</suggestion> drücken etwa dasselbe aus.</message> + <short>&redundanz;</short> + <example type="incorrect">Das kommt <marker>zusätzlich hinzu</marker>.</example> + <example type="correct">Das kommt <marker>hinzu</marker>.</example> + </rule> + <rule> + <pattern> + <token inflected="yes" skip="1">bäuerlich</token> + <token inflected="yes">rustikal</token> + </pattern> + <message>&redundanz;Die Wörter <suggestion>\1</suggestion> und <suggestion>\2</suggestion> drücken etwa dasselbe aus.</message> + <short>&redundanz;</short> + <example type="incorrect">Ein <marker>bäuerlich rustikales</marker> Möbelstück.</example> + <example type="correct">Ein <marker>rustikales</marker> Möbelstück.</example> + </rule> + <rule> + <pattern> + <token inflected="yes" skip="1">neu</token> + <token inflected="yes">erneuert</token> + </pattern> + <message>&redundanz;Die Wörter <suggestion>\1</suggestion> und <suggestion>\2</suggestion> drücken etwa dasselbe aus.</message> + <short>&redundanz;</short> + <example type="incorrect">Ich habe es gerade erst <marker>neu erneuert</marker>.</example> + <example type="correct">Ich habe es gerade erst <marker>erneuert</marker>.</example> + </rule> + <rule> + <pattern> + <token inflected="yes" skip="1">können</token> + <token regexp="yes">möglich(e[nsr]?)?|möglicherweise</token> + </pattern> + <message>&redundanz;Die Wörter <suggestion>\1</suggestion> und <suggestion>\2</suggestion> drücken etwa dasselbe aus.</message> + <short>&redundanz;</short> + <example type="incorrect">Das <marker>kann möglicherweise</marker> sein.</example> + <example type="correct">Das <marker>möglicherweise</marker> sein.</example> + </rule> + <rule> + <pattern> + <token skip="1">freiwillig</token> + <token regexp="yes">gewollt(e[nsr]?)?</token> + </pattern> + <message>&redundanz;Die Wörter <suggestion>\1</suggestion> und <suggestion>\2</suggestion> drücken etwa dasselbe aus.</message> + <short>&redundanz;</short> + <example type="incorrect">Das hast du <marker>freiwillig so gewollt</marker>.</example> + <example type="correct">Das hast du doch <marker>selbst so gewollt</marker>.</example> + <example type="correct">Das hast du doch <marker>freiwillig getan</marker>.</example> + </rule> + <rule> + <pattern> <token>einander</token> <token>gegenseitig</token> </pattern> @@ -4249,6 +4389,7 @@ <short>&redundanz;</short> <example type="correct">Sie hatten <marker>einander</marker> so lieb.</example> <example type="correct">Sie mochten <marker>sich gegenseitig</marker> nicht besonders.</example> + <example type="correct">Sie mochten <marker>sich</marker> nicht besonders.</example> <example type="incorrect" correction="einander|sich gegenseitig">Sie hatten <marker>einander gegenseitig</marker> so lieb.</example> </rule> <rule> @@ -4413,6 +4554,95 @@ <example type="correct">Die <marker>Schülerinnen</marker> haben Sport bei Frau Müller.</example> </rule> </rulegroup> + <rulegroup id="RUNDE_KUGEL" name="Verdoppelung: 'runde Kugel' u.ä."> + <rule> + <pattern case_sensitive="yes"> + <token regexp="yes">üblichen?</token> + <token regexp="yes">Gepflogenheit(en)?</token> + </pattern> + <message>Die Bedeutung des Substantivs \2 beinhaltet bereits das durch das Adjektiv \1 ausgedrückte Merkmal. In vielen Kontexten kann diese Formulierung deswegen redundant erscheinen. Vorschlag: <suggestion>\2</suggestion></message> + <short>&redundanz;</short> + <example type="incorrect">Das sind unsere <marker>üblichen Gepflogenheiten</marker> hier.</example> + <example type="correct">Das sind die hiesigen <marker>Gepflogenheiten</marker>.</example> + </rule> + <rule> + <pattern case_sensitive="yes"> + <token regexp="yes">jüdischen?</token> + <token regexp="yes">Synagogen?</token> + </pattern> + <message>Die Bedeutung des Substantivs \2 beinhaltet bereits das durch das Adjektiv \1 ausgedrückte Merkmal. In vielen Kontexten kann diese Formulierung deswegen redundant erscheinen. Vorschlag: <suggestion>\2</suggestion></message> + <short>&redundanz;</short> + <example type="incorrect">Die <marker>jüdische Synagoge</marker> befindet sich in einer Seitenstraße.</example> + <example type="correct">Die <marker>Synagoge</marker> befindet sich in einer Seitenstraße.</example> + </rule> + <rule> + <pattern case_sensitive="yes"> + <token regexp="yes">wahren?</token> + <token regexp="yes">Tatsachen?|Fakten</token> + </pattern> + <message>Die Bedeutung des Substantivs \2 beinhaltet bereits das durch das Adjektiv \1 ausgedrückte Merkmal. In vielen Kontexten kann diese Formulierung deswegen redundant erscheinen. Vorschlag: <suggestion>\2</suggestion></message> + <short>&redundanz;</short> + <example type="incorrect">Die <marker>wahren Fakten</marker> wurden verschwiegen.</example> + <example type="correct">Die <marker>Fakten</marker> wurden verschwiegen.</example> + </rule> + <rule> + <pattern case_sensitive="yes"> + <token regexp="yes">(kreis)?runde(r|n)?</token> + <token regexp="yes">Kugeln?|Kreis(e[ns]?)?</token> + </pattern> + <message>Die Bedeutung des Substantivs \2 beinhaltet bereits das durch das Adjektiv \1 ausgedrückte Merkmal. In vielen Kontexten kann diese Formulierung deswegen redundant erscheinen. Vorschlag: <suggestion>\2</suggestion></message> + <short>&redundanz;</short> + <example type="incorrect">Die <marker>runden Kugeln</marker> rollen.</example> + <example type="correct">Die <marker>Kugeln</marker> rollen.</example> + </rule> + <rule> + <pattern case_sensitive="yes"> + <token regexp="yes">tote(r|n)?</token> + <token regexp="yes">Leichen?</token> + </pattern> + <message>Die Bedeutung des Substantivs \2 beinhaltet bereits das durch das Adjektiv \1 ausgedrückte Merkmal. In vielen Kontexten kann diese Formulierung deswegen redundant erscheinen. Vorschlag: <suggestion>\2</suggestion></message> + <short>&redundanz;</short> + <example type="incorrect">Die <marker>toten Leichen</marker> lagen dort.</example> + <example type="correct">Die <marker>Leichen</marker> lagen dort.</example> + </rule> + <rule> + <pattern case_sensitive="yes"> + <token regexp="yes">schwarze(r|n)?</token> + <token regexp="yes">Rappen?</token> + </pattern> + <message>Die Bedeutung des Substantivs \2 beinhaltet bereits das durch das Adjektiv \1 ausgedrückte Merkmal. In vielen Kontexten kann diese Formulierung deswegen redundant erscheinen. Vorschlag: <suggestion>\2</suggestion></message> + <short>&redundanz;</short> + <example type="incorrect">Die <marker>schwarzen Rappen</marker> galoppierten.</example> + <example type="correct">Die <marker>Rappen</marker> galoppierten.</example> + </rule> + </rulegroup> + <rulegroup id="VON_WOHER" name="Verdoppelung: 'von woher'"> + <rule> + <pattern case_sensitive="no"> + <token>von</token> + <token>woher</token> + </pattern> + <message>&redundanz;Vorschläge: <suggestion>\2</suggestion>, <suggestion>von wo</suggestion>.</message> + <short>&redundanz;</short> + <example type="incorrect" correction="woher|von wo">Man merkte gleich, <marker>von woher</marker> sie herkam.</example> + <example type="correct">Man merkte gleich, <marker>wo</marker> sie herkam.</example> + <example type="correct">Man merkte gleich, <marker>woher</marker> sie kam.</example> + </rule> + </rulegroup> + <rulegroup id="WAEHREND_DES_VERLAUFS" name="Verdoppelung: 'während des Verlaufs'"> + <rule> + <pattern case_sensitive="no" mark_to="-1"> + <token>während</token> + <token>des</token> + <token>Verlaufs</token> + <token regexp="yes">von|des|der|diese[rs]</token> + </pattern> + <message>&redundanz;Vorschlag: <suggestion>\1</suggestion>.</message> + <short>&redundanz;</short> + <example type="incorrect" correction="Während"><marker>Während des Verlaufs</marker> des Krieges wechselte er mehrfach die Seiten.</example> + <example type="correct"><marker>Während</marker> des Krieges wechselte er mehrfach die Seiten.</example> + </rule> + </rulegroup> <rulegroup id="SYNONYME_BEDEUTUNG" name="Verdoppelung: 'synonyme Bedeutung'"> <rule> <pattern case_sensitive="yes"> @@ -5326,16 +5556,29 @@ <example type="correct">Da machen wir keine <marker>Ausnahmen</marker>!</example> <example type="incorrect" correction="Ausnahmen">Da machen wir keine <marker>ausnahmen</marker>!</example> </rule> - <rule id="BERGE_SUBST" name="Groß-/Kleinschreibung: 'berge (Berge) von'"> - <pattern case_sensitive="yes" mark_to="-1"> - <token regexp="yes">berge|türme</token> - <token>von</token> - </pattern> - <message>&subanfang;<suggestion><match no="1" case_conversion="startupper"/></suggestion>&subende;</message> - <short>&prgk;.</short> - <example type="correct">Die <marker>Türme</marker> von Hanoi</example> - <example type="incorrect" correction="Türme">Die <marker>türme</marker> von Hanoi</example> - </rule> + <rulegroup id="BERGE_SUBST" name="Groß-/Kleinschreibung: 'berge (Berge) von'"> + <rule> + <pattern case_sensitive="yes" mark_to="-1"> + <token regexp="yes">berge|türme</token> + <token>von</token> + </pattern> + <message>&subanfang;<suggestion><match no="1" case_conversion="startupper"/></suggestion>&subende;</message> + <short>&prgk;.</short> + <example type="correct">Die <marker>Türme</marker> von Hanoi</example> + <example type="incorrect" correction="Türme">Die <marker>türme</marker> von Hanoi</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_from="1"> + <token>zu</token> + <token>berge</token> + </pattern> + <message>&subanfang;<suggestion><match no="2" case_conversion="startupper"/></suggestion>&subende;</message> + <short>&prgk;.</short> + <example type="correct">Mir standen die Haare zu <marker>Berge</marker>.</example> + <example type="incorrect" correction="Berge">Mir standen die Haare zu <marker>berge</marker>.</example> + <example type="incorrect" correction="Berge">Im Frühtau zu <marker>berge</marker> wir zieh'n.</example> + </rule> + </rulegroup> <rule id="AUSSAGE_SUBST" name="Groß-/Kleinschreibung: 'laut aussage (Aussage)'"> <pattern case_sensitive="yes" mark_from="1" mark_to="-1"> <token regexp="yes">[lL]aut|[gG]emäß</token> @@ -5370,6 +5613,29 @@ <example type="correct">Der <marker>bestand</marker> aus Stahl.</example> <example type="incorrect" correction="Bestand">Der <marker>bestand</marker> an Wildtieren geht ständig zurück.</example> </rule> + <rulegroup id="TROPFEN_SUBST" name="Groß-/Kleinschreibung: 'Steter tropfen (Tropfen)' etc."> + <rule> + <pattern mark_from="1" case_sensitive="yes"> + <token regexp="yes">[sS]teter</token> + <token>tropfen</token> + </pattern> + <message>&subanfang;<suggestion>Tropfen</suggestion>&subende;</message> + <short>&prgk;.</short> + <example type="correct">Steter <marker>Tropfen</marker> höhlt den Stein.</example> + <example type="incorrect" correction="Tropfen">Steter <marker>tropfen</marker> höhlt den Stein.</example> + </rule> + <rule> + <pattern mark_from="1" mark_to="-1" case_sensitive="yes"> + <token regexp="yes">[eE]in</token> + <token>tropfen</token> + <token>auf</token> + </pattern> + <message>&subanfang;<suggestion>Tropfen</suggestion>&subende;</message> + <short>&prgk;.</short> + <example type="correct">Das ist ein <marker>Tropfen</marker> auf den heißen Stein.</example> + <example type="incorrect" correction="Tropfen">Das ist ein <marker>tropfen</marker> auf den heißen Stein.</example> + </rule> + </rulegroup> <rulegroup id="NUTZEN_SUBST" name="Groß-/Kleinschreibung: 'nutzen (Nutzen) ziehen' etc."> <rule> <pattern mark_from="1" case_sensitive="yes"> @@ -5436,6 +5702,17 @@ </rule> <rulegroup id="SCHNAUZE_SUBST" name="Groß-/Kleinschreibung: 'die schnauze (Schnauze) halten' usw."> <rule> + <pattern case_sensitive="yes" mark_from="2"> + <token regexp="yes">[aA]uf</token> + <token>die</token> + <token regexp="yes">fresse|schnauze</token> + </pattern> + <message>&subanfang;<suggestion><match no="3" case_conversion="startupper"/></suggestion>&subende;</message> + <short>&prgk;.</short> + <example type="correct">Ich bin auf die <marker>Schnauze</marker> gefallen damit.</example> + <example type="incorrect" correction="Schnauze">Ich bin auf die <marker>schnauze</marker> gefallen damit.</example> + </rule> + <rule> <pattern case_sensitive="yes" mark_from="1" mark_to="-1"> <token regexp="yes">[dD]ie</token> <token>schnauze</token> @@ -6212,17 +6489,53 @@ <example type="correct">Alle liefen <marker>kreuz und quer</marker> durcheinander.</example> <example type="incorrect" correction="kreuz und quer">Alle liefen <marker>Kreuz und quer</marker> durcheinander.</example> </rule> - <rule id="KREUZ_OHNE_QUER" name="Groß-/Kleinschreibung: 'kreuz (Kreuz)'"> - <pattern case_sensitive="yes" mark_to="-2"> - <token>kreuz</token> - <token negate="yes">und</token> - <token negate="yes">quer</token> - </pattern> - <message>&subanfang;<suggestion>Kreuz</suggestion>&subende;</message> - <short>&prgk;.</short> - <example type="correct">Alle liefen <marker>kreuz</marker> und quer durcheinander.</example> - <example type="incorrect" correction="Kreuz">Das <marker>kreuz</marker> mit den Kreuzschmerzen.</example> - </rule> + <rulegroup id="KREUZ_SUBST" name="Groß-/Kleinschreibung: 'kreuz (Kreuz)'"> + <rule> + <pattern case_sensitive="yes" mark_to="-2"> + <token>kreuz</token> + <token negate="yes">und</token> + <token negate="yes">quer</token> + </pattern> + <message>&subanfang;<suggestion>Kreuz</suggestion>&subende;</message> + <short>&prgk;.</short> + <example type="correct">Alle liefen <marker>kreuz</marker> und quer durcheinander.</example> + <example type="incorrect" correction="Kreuz">Das <marker>kreuz</marker> mit den Kreuzschmerzen.</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_from="1" mark_to="-1"> + <token regexp="yes">[zZ]u</token> + <token skip="1">kreuze</token> + <token inflected="yes">kriechen</token> + </pattern> + <message>&subanfang;<suggestion>Kreuze</suggestion>&subende;</message> + <short>&prgk;.</short> + <example type="correct">Er ist zu <marker>Kreuze</marker> gekrochen.</example> + <example type="incorrect" correction="Kreuze">Er ist zu <marker>kreuze</marker> gekrochen.</example> + <example type="incorrect" correction="Kreuze">Ich werde nicht zu <marker>kreuze</marker> kriechen.</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_from="2"> + <token inflected="yes" skip="1">kriechen</token> + <token>zu</token> + <token>kreuze</token> + </pattern> + <message>&subanfang;<suggestion>Kreuze</suggestion>&subende;</message> + <short>&prgk;.</short> + <example type="correct">Er kroch zu <marker>Kreuze</marker>.</example> + <example type="incorrect" correction="Kreuze">Er kroch zu <marker>kreuze</marker>.</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_from="1" mark_to="-1"> + <token regexp="yes">[aA]m</token> + <token skip="1">kreuze</token> + <token inflected="yes">bereuen</token> + </pattern> + <message>&subanfang;<suggestion>Kreuze</suggestion>&subende;</message> + <short>&prgk;.</short> + <example type="correct">Das sollst du am <marker>Kreuze</marker> bereuen.</example> + <example type="incorrect" correction="Kreuze">Das sollst du am <marker>kreuze</marker> bereuen.</example> + </rule> + </rulegroup> <rule id="WIDER_ERWARTEN" name="Groß-/Kleinschreibung: 'wider erwarten (Erwarten)'"> <pattern case_sensitive="yes" mark_from="1"> <token regexp="yes">[wW]ider</token> @@ -11004,6 +11317,7 @@ </rulegroup> <rule id="AUSSER_BETRIEB" name="Groß-/Kleinschreibung: 'außer betrieb (Betrieb)'"> <!-- TODO: could this be covered by excepting nouns after "außer"? --> + <!-- Jan: no, 'außer wenn' --> <pattern case_sensitive="yes" mark_from="1"> <token regexp="yes">außer|in</token> <token>betrieb</token> @@ -11082,6 +11396,31 @@ <example correction="Ruhe" type="incorrect">Wir sollten in aller <marker>ruhe</marker> nachdenken.</example> <example type="correct">Wir sollten in aller <marker>Ruhe</marker> nachdenken.</example> </rule> + <rule> + <pattern case_sensitive="yes" mark_from="2" mark_to="-1"> + <token regexp="yes">[aA]us</token> + <token>der</token> + <token skip="1">ruhe</token> + <token inflected="yes">bringen</token> + </pattern> + <message>&subanfang;<suggestion>Ruhe</suggestion>&subende;</message> + <short>&prgk;.</short> + <example correction="Ruhe" type="incorrect">Er war nicht aus der <marker>ruhe</marker> zu bringen.</example> + <example correction="Ruhe" type="incorrect">Er ließ sich nicht aus der <marker>ruhe</marker> bringen.</example> + <example type="correct">Er ließ sich nicht aus der <marker>Ruhe</marker> bringen.</example> + </rule> + <rule> + <pattern case_sensitive="yes" mark_from="3"> + <token inflected="yes" skip="3">bringen</token> + <token>aus</token> + <token>der</token> + <token>ruhe</token> + </pattern> + <message>&subanfang;<suggestion>Ruhe</suggestion>&subende;</message> + <short>&prgk;.</short> + <example correction="Ruhe" type="incorrect">Ihn bringt so leicht nichts aus der <marker>ruhe</marker>.</example> + <example type="correct">Er ließ sich nicht aus der <marker>Ruhe</marker> bringen.</example> + </rule> </rulegroup> <rule id="IN_DER_NAEHE" name="Groß-/Kleinschreibung: 'in/aus der nähe (Nähe)'"> <pattern case_sensitive="yes" mark_from="2" mark_to="-1"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Languagetool-cvs mailing list Languagetool-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/languagetool-cvs