Revision: 10600 http://sourceforge.net/p/languagetool/code/10600 Author: gulp21-1 Date: 2013-07-24 16:23:44 +0000 (Wed, 24 Jul 2013) Log Message: ----------- [de] new rules DANK_DANKE, GEKOMMEN_KONNTE, ZWEITER, GERAETE_WAHL, PLURAL_APOSTROPH improved: EMAIL, GIRLS_DAY, PRAEP_AKK, ART_ADJ_SOL, AKZENT_STATT_APOSTRPH
Modified Paths: -------------- trunk/languagetool/languagetool-language-modules/de/src/main/resources/org/languagetool/rules/de/grammar.xml Modified: trunk/languagetool/languagetool-language-modules/de/src/main/resources/org/languagetool/rules/de/grammar.xml =================================================================== --- trunk/languagetool/languagetool-language-modules/de/src/main/resources/org/languagetool/rules/de/grammar.xml 2013-07-24 14:20:58 UTC (rev 10599) +++ trunk/languagetool/languagetool-language-modules/de/src/main/resources/org/languagetool/rules/de/grammar.xml 2013-07-24 16:23:44 UTC (rev 10600) @@ -981,6 +981,18 @@ <example type="correct">Es gibt auch so <marker>seltene</marker> wie der Seeadler.</example> <example type="correct">Er beschreibt Guevara als so <marker>ineffektiven</marker> wie brutalen Taktiker</example> </rule> + <rule id="DANK_DANKE" name="Möglicher Tippfehler: 'Ich dank (danke) schön'"> + <pattern> + <marker> + <token>dank</token> + </marker> + <token>schön</token> + </pattern> + <message>Meinten Sie <suggestion>danke</suggestion>?</message> + <short>Möglicher Tippfehler</short> + <example type="incorrect" correction="danke">Ich <marker>dank</marker> schön!</example> + <example type="correct">Ich <marker>danke</marker> schön!</example> + </rule> <rulegroup id="ALS_OHNE_KOMPARATIV" name="Möglicher Tippfehler: 'schnelle (schneller) als' etc."> <rule> <pattern> @@ -1108,6 +1120,23 @@ <example type="incorrect" correction="äußeren|äußere">... <marker>äußern</marker> Erscheinung ...</example> <example type="correct">Die <marker>äußeren</marker> Umstände waren geradezu katastrophal.</example> </rule> + <rule id="GEKOMMEN_KONNTE" name="Möglicher Tippfehler: 'gekommen (kommen) konnte' etc."> + <pattern case_sensitive="yes"> + <marker> + <token postag="PA2:PRD:GRU:VER" regexp="yes">[a-zäöü].*<exception postag=".*INF.*" postag_regexp="yes"/></token> + </marker> + <token postag="VER.*:[123]:SIN:(PRT|PRÄ)" postag_regexp="yes"><exception postag=".*AUX.*" postag_regexp="yes"/></token> + <token regexp="yes">,|\.</token> + </pattern> + <message>Bitte prüfen Sie, ob hier der Infinitiv verwendet werden muss.</message> + <short>Möglicher Tippfehler</short> + <example type="incorrect">Ich frage mich, wie es dazu <marker>gekommen</marker> konnte.</example> + <example type="correct">Ich frage mich, wie es dazu <marker>kommen</marker> konnte.</example> + <example type="incorrect">Ich frage mich, wie du zur Burg <marker>gegangen</marker> willst.</example> + <example type="correct">Ich frage mich, wie du zur Burg <marker>gehen</marker> willst.</example> + <example type="correct">Als er <marker>gekommen</marker> war, war ich glücklich.</example> + <example type="correct">Besser <marker>ausgerüstet konnte</marker> er in der nächsten Nacht bessert schlafen.</example> + </rule> <rulegroup id="EIGNE_VS_EIGENE" name="Möglicher Tippfehler: 'eigne (eigene)' etc."> <rule> <pattern> @@ -1560,7 +1589,7 @@ </rule> <rule> <pattern case_sensitive="yes"> - <token regexp="yes">eMail.+|e\-Mail.+|e\-mail.+|E\-mail.+|Email\-?([aA]dresse|[aA]nwendung|[cC]lient|[kK]ontakt|[pP]rogramm).*</token> + <token regexp="yes">eMail.+|e\-Mail.+|e\-mail.+|E\-mail.+|Email\-?([aA]dresse|[aA]account|[aA]nwendung|[cC]lient|[kK]ontakt|[pP]ostf[aä]ch|[pP]rogramm).*</token> </pattern> <message>Meinten Sie <suggestion><match no="1" regexp_match=".*ail(.*)" regexp_replace="E-Mail$1"/></suggestion>?</message> <url>http://www.korrekturen.de/beliebte_fehler/email.shtml</url> @@ -1616,6 +1645,20 @@ <example type="correct">Selten treten die Blütenteile zu fünft bis <marker>neunt</marker> auf.</example> <example type="incorrect">Das war jetzt schon das <marker>zweit</marker> Mal.</example> </rule> + <rule id="ZWEITER" name="Möglicher Tippfehler: 'zweiter (zweier)'"> + <pattern> + <token regexp="yes">(addi|berechn|divi|multipli|quotient|subtra|summ).*|Differenz</token> + <marker> + <token regexp="yes">zweiter</token> + </marker> + </pattern> + <message>Meinten Sie <suggestion>zweier</suggestion>?</message> + <short>Möglicher Tippfehler</short> + <example type="correct">Das Addieren <marker>zweier</marker> Zahlen ist einfach.</example> + <example type="correct">Es ist ein Produkt <marker>zweiter</marker> Wahl.</example> + <example type="correct">Es ist ein Differentialgleichung <marker>zweiter</marker> Ordnung.</example> + <example type="incorrect" correction="zweier">Das Addieren <marker>zweiter</marker> Zahlen ist einfach.</example> + </rule> <rule id="WENIGSTEN_VS_WENIGSTENS" name="Möglicher Tippfehler: 'wenigsten (wenigstens)'"> <pattern> <token regexp="yes" negate="yes">am|den|die|des</token> @@ -5095,7 +5138,7 @@ <rule> <pattern> <token regexp="yes">girl|boy</token> - <token regexp="yes">'|’|`</token> + <token regexp="yes">'|’|`|´|‘</token> <token>s</token> <token>day</token> </pattern> @@ -5116,6 +5159,29 @@ <example type="incorrect" correction="Girls’ Day">Der <marker>Girls Day</marker> findet einmal im Jahr statt.</example> <example type="incorrect" correction="Boys’ Day">Der <marker>Boys Day</marker> ist ein Aktionstag.</example> </rule> + <rule> + <pattern> + <token regexp="yes">girls|boys</token> + <token>day</token> + </pattern> + <message>Meinten Sie den Aktionstag <suggestion>\1’ Day</suggestion>?</message> + <short>&eigenname;</short> + <example type="correct">Der <marker>Girls’ Day</marker> findet einmal im Jahr statt.</example> + <example type="incorrect" correction="Girls’ Day">Der <marker>Girls Day</marker> findet einmal im Jahr statt.</example> + <example type="incorrect" correction="Boys’ Day">Der <marker>Boys Day</marker> ist ein Aktionstag.</example> + </rule> + <rule> + <pattern> + <token regexp="yes">girls|boys</token> + <token regexp="yes">'|’|`|´|‘</token> + <token spacebefore="no">day</token> + </pattern> + <message>Meinten Sie den Aktionstag <suggestion>\1’ Day</suggestion>?</message> + <short>&eigenname;</short> + <example type="correct">Der <marker>Girls’ Day</marker> findet einmal im Jahr statt.</example> + <example type="incorrect" correction="Girls’ Day">Der <marker>Girls'Day</marker> findet einmal im Jahr statt.</example> + <example type="incorrect" correction="Boys’ Day">Der <marker>Boys`Day</marker> ist ein Aktionstag.</example> + </rule> </rulegroup> <rulegroup id="OPEN_STREET_MAP" name="Eigenname: 'Open Street Map (OpenStreetMap)'"> <rule> @@ -5940,6 +6006,16 @@ <!-- Siehe auch ../../resource/de/compounds.txt --> <!-- ====================================================================== --> <category name="Zusammen-/Getrenntschreibung"> + <rule id="GERAETE_WAHL" name="Zusammen-/Getrenntschreibung: 'Geräte Wahl (Gerätewahl)' etc."> + <pattern> + <token regexp="yes">Bundestag|Bundesrat|Geräte|Landtag</token> + <token>Wahl</token> + </pattern> + <message>Meinten Sie <suggestion><match no="1" case_conversion="startupper"/><match no="2" case_conversion="startlower"/></suggestion>.</message> + <short>&getrennt;</short> + <example type="incorrect" correction="Gerätewahl">Die <marker>Geräte Wahl</marker> ist schwierig.</example> + <example type="correct">Die <marker>Gerätewahl</marker> ist schwierig.</example> + </rule> <rule id="GEZWUNGENER_MASSEN" name="Zusammen-/Getrenntschreibung: gezwungener maßen (gezwungenermaßen)"> <pattern> <marker> @@ -5950,8 +6026,8 @@ <message>Das Adverb <suggestion>gezwungenermaßen</suggestion> wird zusammengeschrieben.</message> <url>http://www.duden.de/rechtschreibung/gezwungenermaszen</url> <short>&getrennt;</short> - <example type="incorrect" correction="gezwungenermaßen">Ich muss <marker>gezwungener maßen</marker> in Java programmieren..</example> - <example type="correct">Ich muss <marker>gezwungenermaßen</marker> in Java programmieren..</example> + <example type="incorrect" correction="gezwungenermaßen">Ich muss <marker>gezwungener maßen</marker> in Java programmieren.</example> + <example type="correct">Ich muss <marker>gezwungenermaßen</marker> in Java programmieren.</example> </rule> <rule id="INNE_HABEN" name="Zusammen-/Getrenntschreibung: inne haben (innehaben)"> <pattern> @@ -22591,7 +22667,7 @@ </pattern> <message>Die Präposition '\1' erfordert in der Regel den Akkusativ.</message> <url>http://www.canoo.net/services/OnlineGrammar/Wort/Praeposition/Kasus/Akkusativ.html</url> - <short>Diese Präposition erfordert den Akkusativ</short> + <short>'\1' erfordert den Akkusativ</short> <example type="correct">Döner <marker>mit allem</marker>.</example> <example type="correct">Döner <marker>ohne alles</marker>.</example> <example type="incorrect">Döner <marker>ohne allem</marker>?</example> @@ -22609,15 +22685,32 @@ </pattern> <message>Die Präposition '\1' erfordert in der Regel den Akkusativ.</message> <url>http://www.canoo.net/services/OnlineGrammar/Wort/Praeposition/Kasus/Akkusativ.html</url> - <short>Diese Präposition erfordert den Akkusativ</short> + <short>'\1' erfordert den Akkusativ</short> <example type="correct">Das ist wider <marker>die Vernunft</marker>.</example> <example type="correct">Das ist wider <marker>alle Vernunft</marker>.</example> <example type="correct">Das ist für <marker>deine Frau</marker>.</example> <example type="incorrect">Das ist wider <marker>der Vernunft</marker>.</example> <example type="incorrect">Das ist wider <marker>aller Vernunft</marker>.</example> <example type="incorrect">Das ist für <marker>deiner Frau</marker>.</example> +<!-- <example type="correct">Er macht es, ohne <marker>seiner Gruppe</marker> zu schädigen.</example> TODO --> </rule> <rule> + <pattern case_sensitive="yes"> + <token regexp="yes">betreffend|durch|für|gegen|kontra|ohne|via|wider</token> + <marker> + <token regexp="yes">der(selben)?|[Ddsm]?einer|(eu|ih|Ih|unse)rer|(jede|jene|diese|alle)r</token> + <token postag="ADJ.*" postag_regexp="yes"/> + <token postag="(ADJ|SUB):DAT:(SIN|PLU):FEM.*" postag_regexp="yes"/> + </marker> + <token><exception postag="ADJ:AKK:.+" postag_regexp="yes"/><exception>nach</exception></token> + </pattern> + <message>Die Präposition '\1' erfordert in der Regel den Akkusativ.</message> + <url>http://www.canoo.net/services/OnlineGrammar/Wort/Praeposition/Kasus/Akkusativ.html</url> + <short>'\1' erfordert den Akkusativ</short> + <example type="correct">Das ist für <marker>deine schöne Frau</marker>.</example> + <example type="incorrect">Das ist für <marker>deiner schönen Frau</marker>.</example> + </rule> + <rule> <!-- MAS|NEU SIN --> <pattern case_sensitive="yes"> <token regexp="yes">betreffend|durch|für|gegen|kontra|ohne|via|wider</token> @@ -22629,13 +22722,30 @@ </pattern> <message>Die Präposition '\1' erfordert in der Regel den Akkusativ.</message> <url>http://www.canoo.net/services/OnlineGrammar/Wort/Praeposition/Kasus/Akkusativ.html</url> - <short>Diese Präposition erfordert den Akkusativ</short> + <short>'\1' erfordert den Akkusativ</short> <example type="correct">Das ist wider <marker>den Verstand</marker>.</example> <example type="correct">Das ist für <marker>das Bild</marker>.</example> <example type="incorrect">Das ist für <marker>dem Bild</marker>.</example> <example type="incorrect">Das ist für <marker>deinem Mann</marker>.</example> </rule> <rule> + <pattern case_sensitive="yes"> + <token regexp="yes">betreffend|durch|für|gegen|kontra|ohne|via|wider</token> + <marker> + <token regexp="yes">dem(selben)?|[Ddsm]?einem|(eu|ih|Ih|unse)rem|(jede|jene|diese|alle)m</token> + <token postag="ADJ.*" postag_regexp="yes"/> + <token postag="(ADJ|SUB):DAT:SIN:(MAS|NEU)" postag_regexp="yes"/> + </marker> + <token><exception postag="ADJ:AKK:.+" postag_regexp="yes"/><exception>nach</exception></token> + </pattern> + <message>Die Präposition '\1' erfordert in der Regel den Akkusativ.</message> + <url>http://www.canoo.net/services/OnlineGrammar/Wort/Praeposition/Kasus/Akkusativ.html</url> + <short>'\1' erfordert den Akkusativ</short> + <example type="correct">Das ist wichtig für <marker>unseren weiteren Lebensweg</marker>.</example> + <example type="incorrect">Das ist wichtig für <marker>unserem weiterem Lebensweg</marker>.</example> + <example type="incorrect">Das ist wichtig für <marker>unserem weiteren Lebensweg</marker>.</example> + </rule> + <rule> <!-- MAS|NEU PLU --> <pattern case_sensitive="yes"> <token regexp="yes">betreffend|durch|für|gegen|kontra|ohne|via|wider</token> @@ -22647,34 +22757,54 @@ </pattern> <message>Die Präposition '\1' erfordert in der Regel den Akkusativ.</message> <url>http://www.canoo.net/services/OnlineGrammar/Wort/Praeposition/Kasus/Akkusativ.html</url> - <short>Diese Präposition erfordert den Akkusativ</short> + <short>'\1' erfordert den Akkusativ</short> <example type="correct">Das ist für <marker>die Bilder</marker>.</example> <example type="correct">Das ist für <marker>den Menschen</marker> unschädlich.</example> <example type="correct">Der Österreicher wurde durch einen Sieg gegen <marker>den Polen</marker> Schachweltmeister.</example> <example type="incorrect">Das ist für <marker>den Bildern</marker>.</example> <example type="incorrect">Das ist für <marker>den Männern</marker>.</example> </rule> + <rule> + <pattern case_sensitive="yes"> + <token regexp="yes">betreffend|durch|für|gegen|kontra|ohne|via|wider</token> + <marker> + <token regexp="yes">den(selben)?|[Ddsm]?einen|(eu|ih|Ih|unse)ren|(jede|jene|diese|alle)n</token> + <token postag="ADJ.*" postag_regexp="yes"/> + <token postag="(ADJ|SUB):DAT:PLU:(MAS|NEU)" postag_regexp="yes"><exception postag="(ADJ|SUB):AKK:(SIN|PLU):(MAS|NEU).*" postag_regexp="yes"/></token> + </marker> + <token><exception postag="ADJ:AKK:.+" postag_regexp="yes"/><exception>nach</exception></token> + </pattern> + <message>Die Präposition '\1' erfordert in der Regel den Akkusativ.</message> + <url>http://www.canoo.net/services/OnlineGrammar/Wort/Praeposition/Kasus/Akkusativ.html</url> + <short>'\1' erfordert den Akkusativ</short> + <example type="correct">Das ist für <marker>die schönen Männer</marker>.</example> + <example type="incorrect">Das ist für <marker>den schönen Männern</marker>.</example> + </rule> </rulegroup> - <rulegroup id="ART_ADJ_SOL" name="Grammatik: Stark flektiertes Adjektiv nach Artikel, z.B. 'im heißem (heißen) Ofen'"> + <rulegroup id="ART_ADJ_SOL" name="Grammatik: Stark oder gemischt flektiertes Adjektiv nach Artikel, z.B. 'im heißem (heißen) Ofen'"> <rule> <pattern> <token negate="yes">,</token> <marker> <token regexp="yes">der|die|das|des|dem|den|im</token> - <token postag="ADJ:.*:SOL" postag_regexp="yes" regexp="yes">[a-zäüö].*<exception scope="current" postag="ADJ:.*:(DEF|IND)" postag_regexp="yes"/></token> + <token postag="ADJ:.*:(SOL|IND)" postag_regexp="yes"><exception scope="current" postag="ADJ:.*:DEF" postag_regexp="yes"/><exception scope="current" postag="ADJ:PRD.*" postag_regexp="yes"/><exception scope="current" postag="ADV.*|ZUS.*" postag_regexp="yes"/></token> </marker> <token/> <token><exception postag="ADJ:.*" postag_regexp="yes"/></token> <!-- TODO UNKNOWN except SENT_END, must match 2nd token in KNG --> </pattern> - <message>Nach einem Artikel steht in der Regel kein stark flektiertes Adjektiv (Beispiel: 'im heißem Ofen' statt 'im heißen Ofen').</message> + <message>Nach einem Artikel steht in der Regel kein stark oder gemischt flektiertes Adjektiv (Beispiel: 'im heißem Ofen' statt 'im heißen Ofen').</message> <url>http://www.canoo.net/services/OnlineGrammar/Wort/Adjektiv/Deklinationstyp/index.html?MenuId=Word313#Anchor-Deklinationstypen-35882</url> <example type="incorrect"><marker>Im mentalem</marker> Lexikon ist viel gespeichert.</example> <example type="incorrect">In <marker>dem heißem</marker> Ofen ist heiße Luft.</example> <example type="incorrect">Die Regel gilt auch <marker>im beruflichem</marker> Umfeld.</example> + <example type="incorrect">Meiner Meinung nach war <marker>das duales</marker> Studium eine gute Wahl</example> + <example type="correct">Meiner Meinung nach war <marker>das duale</marker> Studium eine gute Wahl</example> <example type="correct"><marker>Im mentalen</marker> Lexikon ist viel gespeichert.</example> <example type="correct">In <marker>dem heißen</marker> Ofen ist heiße Luft.</example> <example type="correct">Die Sachen, <marker>die menschlichem</marker> Handeln entsprechen.</example> <example type="correct">Die Fragen <marker>der unterschiedlichem</marker> Glauben angehörigen Menschen sind schwer.</example> + <example type="correct">Sie sind von der <marker>früher verbreiteten</marker> Vorstellung abgekommen.</example> +<!-- <example type="correct">Es ist der Planet, auf <marker>dem flüssiges</marker> Wasser zu finden ist.</example> TODO --> </rule> </rulegroup> <rulegroup id="ADJ_PRAEDIKATIV" name="Grammatik: Starke, schwache oder gemischte Adjektiv-Flektion statt prädikativer, z.B. 'sich normale (normal) entwickeln'"> @@ -22684,7 +22814,7 @@ <marker> <token postag="ADJ:.*:(SOL|DEF|IND)" postag_regexp="yes"><exception postag="ADJ:PRD:.*" postag_regexp="yes"/><exception postag="ADJ:.*" negate_pos="yes" postag_regexp="yes"/><exception regexp="yes">einig.*|andere.*</exception></token> </marker> - <token postag="VER:[123]:.*" postag_regexp="yes" regexp="yes">[a-z]+</token> + <token postag="VER:[123]:.*" postag_regexp="yes" regexp="yes">[a-zäöü].*</token> </pattern> <message>&subanfang;das Adjektiv hier prädikativ flektiert werden muss. (Beispiel: 'sich normale entwickeln' statt 'sich normal entwickeln').</message> <example type="incorrect">Ein Kind, das sich <marker>normale</marker> entwickelt, ist gesund.</example> @@ -24027,6 +24157,23 @@ <example type="incorrect" correction="ins">Ich hab's <marker>in's</marker> Klo geschmissen.</example> <example type="incorrect" correction="ans">Ich trat <marker>an's</marker> Fenster.</example> </rule> + <rulegroup id="PLURAL_APOSTROPH" name="Zeichensetzung: AGB's (AGBs)"> + <!-- TODO extend to Apostroph vor Plural-s --> + <rule> + <pattern> + <token>AGB</token> + <token regexp="yes">'|’|`|´|‘</token> + <token>s</token> + </pattern> + <message>Meinten Sie <suggestion>AGBs</suggestion> oder <suggestion>AGB</suggestion>? Normalerweise wird im Deutschen vor einem Plural-s kein Apostroph gesetzt</message> + <short>Normalerweise wird im Deutschen vor einem Plural-s kein Apostroph gesetzt</short> + <example type="incorrect" correction="AGBs|AGB">Es gelten die <marker>AGB`s</marker>.</example> + <example type="incorrect" correction="AGBs|AGB">Es gelten die <marker>AGB’s</marker>.</example> + <!-- vgl. http://web.archive.org/web/20110214064020/http://www.duden.de/deutsche_sprache/sprachberatung/newsletter/archiv.php?id=54 --> + <example type="correct">Es gelten die <marker>AGBs</marker>.</example> + <example type="correct">Es gelten die <marker>AGB</marker>.</example> + </rule> + </rulegroup> <rulegroup id="APOSTROPH_S" name="Zeichensetzung: Apostroph vor Genitiv-s"> <rule> <pattern> @@ -25060,6 +25207,17 @@ <example type="correct">Die <marker>c’t</marker> ist eine Computerzeitschrift.</example> <example type="incorrect" correction="c’t">Die <marker>c`t</marker> ist eine Computerzeitschrift.</example> </rule> + <rule> + <pattern> + <token regexp="yes">girls|boys</token> + <token regexp="yes">´|`|‘</token> + <token>day</token> + </pattern> + <message>Meinten Sie den Aktionstag <suggestion>\1’ Day</suggestion>?</message> + <short>&eigenname;</short> + <example type="correct">Der <marker>Girls’ Day</marker> findet einmal im Jahr statt.</example> + <example type="incorrect" correction="Boys’ Day">Der <marker>Boys` Day</marker> ist ein Aktionstag.</example> + </rule> </rulegroup> <rule id="BISSTRICH" name="Typographie: Bis-Strich vs. Bindestrich"> <pattern case_sensitive="yes"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ Languagetool-commits mailing list Languagetool-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/languagetool-commits