Revision: 7468
http://languagetool.svn.sourceforge.net/languagetool/?rev=7468&view=rev
Author: dnaber
Date: 2012-06-23 08:29:04 +0000 (Sat, 23 Jun 2012)
Log Message:
-----------
[de] no spell check suggestions for performance reasons
Modified Paths:
--------------
trunk/JLanguageTool/CHANGES.txt
trunk/JLanguageTool/src/java/org/languagetool/language/German.java
trunk/JLanguageTool/src/java/org/languagetool/language/GermanyGerman.java
trunk/JLanguageTool/src/java/org/languagetool/openoffice/Main.java
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/hunspell/HunspellRule.java
trunk/JLanguageTool/src/test/org/languagetool/JLanguageToolTest.java
Added Paths:
-----------
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/hunspell/HunspellNoSuggestionRule.java
Modified: trunk/JLanguageTool/CHANGES.txt
===================================================================
--- trunk/JLanguageTool/CHANGES.txt 2012-06-23 07:27:28 UTC (rev 7467)
+++ trunk/JLanguageTool/CHANGES.txt 2012-06-23 08:29:04 UTC (rev 7468)
@@ -7,7 +7,11 @@
-German:
-many new rules and rule updates
- -added spelling check dictionary for the standalone version
+ -added spellcheck dictionary for the standalone version; the dictionary
used is the
+ one by Franz Michael Baumann,
+ see
http://extensions.libreoffice.org/extension-center/german-de-de-frami-dictionaries
+ LanguageTool can now detect spelling errors, but it does not offer
suggestions
+ for performance reasons (German only)
-added variants for Austria, Germany, and Switzerland
-added several thousand words to the internal dictionary for better
error detection and less false alarms
@@ -25,7 +29,7 @@
-major update, including many new rules and new tokenization (Jaume Ortolà
i Font)
-new synthesizer (given a part-of-speech, this generates the inflected word
forms) (Jaume Ortolà i Font)
- -added spelling check dictionary for the standalone version
+ -added spellcheck dictionary for the standalone version
-Russian:
-fixed a few false alarms
@@ -36,22 +40,22 @@
-Italian:
-several new rules (Riccardo Murri and Agnese Dal Borgo)
- -added spelling check dictionary for the standalone version
+ -added spellcheck dictionary for the standalone version
-French:
-updated dictionary to use Dicollecte-4.5
-several new rules and fixed false alarms
- -added spelling check dictionary for the standalone version
+ -added spellcheck dictionary for the standalone version
-Breton
-updated dictionary to use Apertium svn r38896.
-several new rules and fixed false alarms
-added some references to the Breton grammar:
"La grammaire bretonne pour tous (Eugène CHALM)".
- -added spelling check dictionary for the standalone version
+ -added spellcheck dictionary for the standalone version
-Polish
- -added spelling check dictionary for the standalone version
+ -added spellcheck dictionary for the standalone version
-major update of the tagger dictionary
-Portuguese
Modified: trunk/JLanguageTool/src/java/org/languagetool/language/German.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/language/German.java
2012-06-23 07:27:28 UTC (rev 7467)
+++ trunk/JLanguageTool/src/java/org/languagetool/language/German.java
2012-06-23 08:29:04 UTC (rev 7468)
@@ -23,7 +23,7 @@
import org.languagetool.Language;
import org.languagetool.rules.*;
import org.languagetool.rules.de.*;
-import org.languagetool.rules.spelling.hunspell.HunspellRule;
+import org.languagetool.rules.spelling.hunspell.HunspellNoSuggestionRule;
import org.languagetool.tagging.Tagger;
import org.languagetool.tagging.de.GermanTagger;
import org.languagetool.tokenizers.SRXSentenceTokenizer;
@@ -100,7 +100,7 @@
CommaWhitespaceRule.class,
GermanDoublePunctuationRule.class,
GenericUnpairedBracketsRule.class,
- HunspellRule.class,
+ HunspellNoSuggestionRule.class,
UppercaseSentenceStartRule.class,
WhitespaceRule.class,
// specific to German:
Modified:
trunk/JLanguageTool/src/java/org/languagetool/language/GermanyGerman.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/language/GermanyGerman.java
2012-06-23 07:27:28 UTC (rev 7467)
+++ trunk/JLanguageTool/src/java/org/languagetool/language/GermanyGerman.java
2012-06-23 08:29:04 UTC (rev 7468)
@@ -18,26 +18,6 @@
*/
package org.languagetool.language;
-import java.util.Arrays;
-import java.util.List;
-
-import org.languagetool.rules.CommaWhitespaceRule;
-import org.languagetool.rules.GenericUnpairedBracketsRule;
-import org.languagetool.rules.Rule;
-import org.languagetool.rules.UppercaseSentenceStartRule;
-import org.languagetool.rules.WhitespaceRule;
-import org.languagetool.rules.de.AgreementRule;
-import org.languagetool.rules.de.CaseRule;
-import org.languagetool.rules.de.CompoundRule;
-import org.languagetool.rules.de.DashRule;
-import org.languagetool.rules.de.GermanDoublePunctuationRule;
-import org.languagetool.rules.de.GermanWordRepeatBeginningRule;
-import org.languagetool.rules.de.GermanWordRepeatRule;
-import org.languagetool.rules.de.GermanWrongWordInContextRule;
-import org.languagetool.rules.de.WiederVsWiderRule;
-import org.languagetool.rules.de.WordCoherencyRule;
-import org.languagetool.rules.de.MorfologikGermanyGermanSpellerRule;
-
public class GermanyGerman extends German {
@Override
@@ -50,28 +30,4 @@
return "German (Germany)";
}
- @Override
- public List<Class<? extends Rule>> getRelevantRules() {
- return Arrays.asList(
- CommaWhitespaceRule.class,
- GermanDoublePunctuationRule.class,
- GenericUnpairedBracketsRule.class,
- UppercaseSentenceStartRule.class,
- WhitespaceRule.class,
- // specific to German:
- GermanWordRepeatRule.class,
- GermanWordRepeatBeginningRule.class,
- GermanWrongWordInContextRule.class,
- AgreementRule.class,
- CaseRule.class,
- CompoundRule.class,
- DashRule.class,
- WordCoherencyRule.class,
- WiederVsWiderRule.class,
- //specific to Germany: speller
- MorfologikGermanyGermanSpellerRule.class
- );
- }
-
-
}
Modified: trunk/JLanguageTool/src/java/org/languagetool/openoffice/Main.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/openoffice/Main.java
2012-06-23 07:27:28 UTC (rev 7467)
+++ trunk/JLanguageTool/src/java/org/languagetool/openoffice/Main.java
2012-06-23 08:29:04 UTC (rev 7468)
@@ -67,6 +67,7 @@
import org.languagetool.Language;
import org.languagetool.gui.Configuration;
import org.languagetool.rules.RuleMatch;
+import org.languagetool.rules.spelling.hunspell.HunspellNoSuggestionRule;
import org.languagetool.rules.spelling.hunspell.HunspellRule;
import org.languagetool.rules.spelling.morfologik.MorfologikSpellerRule;
import org.languagetool.tools.StringTools;
@@ -359,6 +360,7 @@
langTool.activateDefaultPatternRules();
langTool.activateDefaultFalseFriendRules();
langTool.disableRule(HunspellRule.RULE_ID);
+ langTool.disableRule(HunspellNoSuggestionRule.RULE_ID);
langTool.disableRule(MorfologikSpellerRule.RULE_ID);
recheck = false;
} catch (final Throwable t) {
Added:
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/hunspell/HunspellNoSuggestionRule.java
===================================================================
---
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/hunspell/HunspellNoSuggestionRule.java
(rev 0)
+++
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/hunspell/HunspellNoSuggestionRule.java
2012-06-23 08:29:04 UTC (rev 7468)
@@ -0,0 +1,36 @@
+package org.languagetool.rules.spelling.hunspell;
+
+import org.languagetool.Language;
+
+import java.io.IOException;
+import java.util.ResourceBundle;
+
+/**
+ * Like {@link HunspellRule}, but does not offer suggestions for incorrect
words
+ * as that is very slow with Hunspell.
+ */
+public class HunspellNoSuggestionRule extends HunspellRule {
+
+ public static final String RULE_ID = "HUNSPELL_NO_SUGGEST_RULE";
+
+ public HunspellNoSuggestionRule(final ResourceBundle messages, final
Language language) throws UnsatisfiedLinkError, UnsupportedOperationException,
IOException {
+ super(messages, language);
+ }
+
+ @Override
+ public String getId() {
+ return RULE_ID;
+ }
+
+ @Override
+ public String getDescription() {
+ // TODO: make i18n after LT 1.8? or will it only be used for German
anyway?
+ return "Möglicher Rechtschreibfehler (ohne Korrekturvorschlag)";
+ }
+
+ @Override
+ protected boolean offerSuggestions() {
+ return false;
+ }
+
+}
Modified:
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/hunspell/HunspellRule.java
===================================================================
---
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/hunspell/HunspellRule.java
2012-06-23 07:27:28 UTC (rev 7467)
+++
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/hunspell/HunspellRule.java
2012-06-23 08:29:04 UTC (rev 7468)
@@ -98,9 +98,11 @@
len, len + word.length(),
messages.getString("spelling"),
messages.getString("desc_spelling_short"));
- final List<String> suggestions = dictionary.suggest(word);
- if (suggestions != null) {
- ruleMatch.setSuggestedReplacements(suggestions);
+ if (offerSuggestions()) {
+ final List<String> suggestions = dictionary.suggest(word);
+ if (suggestions != null) {
+ ruleMatch.setSuggestedReplacements(suggestions);
+ }
}
ruleMatches.add(ruleMatch);
}
@@ -110,6 +112,10 @@
return toRuleMatchArray(ruleMatches);
}
+ protected boolean offerSuggestions() {
+ return true;
+ }
+
private String[] tokenizeText(final String sentence) throws IOException {
return nonWordPattern.split(sentence);
}
Modified: trunk/JLanguageTool/src/test/org/languagetool/JLanguageToolTest.java
===================================================================
--- trunk/JLanguageTool/src/test/org/languagetool/JLanguageToolTest.java
2012-06-23 07:27:28 UTC (rev 7467)
+++ trunk/JLanguageTool/src/test/org/languagetool/JLanguageToolTest.java
2012-06-23 08:29:04 UTC (rev 7468)
@@ -88,7 +88,7 @@
tool.activateDefaultPatternRules();
tool.setListUnknownWords(true);
// German rule has no effect with English error, but they are spelling
mistakes:
- assertEquals(8, tool.check("I can give you more a detailed
description").size());
+ assertEquals(6, tool.check("I can give you more a detailed
description").size());
//test unknown words listing
assertEquals("[I, can, detailed, give, more, you]",
tool.getUnknownWords().toString());
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Languagetool-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs