Revision: 9900
http://languagetool.svn.sourceforge.net/languagetool/?rev=9900&view=rev
Author: jaumeortola
Date: 2013-04-08 19:38:51 +0000 (Mon, 08 Apr 2013)
Log Message:
-----------
MorfologikSpeller: If lower case word is not a misspelled word, return it as
the only replacement suggestion.
Modified Paths:
--------------
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/spelling/morfologik/MorfologikSpellerRule.java
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/BaseTagger.java
trunk/languagetool/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/MorfologikCatalanSpellerRuleTest.java
Modified:
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/spelling/morfologik/MorfologikSpellerRule.java
===================================================================
---
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/spelling/morfologik/MorfologikSpellerRule.java
2013-04-08 18:01:33 UTC (rev 9899)
+++
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/rules/spelling/morfologik/MorfologikSpellerRule.java
2013-04-08 19:38:51 UTC (rev 9900)
@@ -30,6 +30,7 @@
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
@@ -123,7 +124,14 @@
if (speller.isMisspelled(word)) {
final RuleMatch ruleMatch = new RuleMatch(this, startPos, startPos
+ word.length(), messages.getString("spelling"),
- messages.getString("desc_spelling_short"));
+ messages.getString("desc_spelling_short"));
+ //If lower case word is not a misspelled word, return it as the only
suggestion
+ if (!speller.isMisspelled(word.toLowerCase(conversionLocale))) {
+ List<String> suggestion =
Arrays.asList(word.toLowerCase(conversionLocale));
+ ruleMatch.setSuggestedReplacements(suggestion);
+ ruleMatches.add(ruleMatch);
+ return ruleMatches;
+ }
List<String> suggestions = speller.getSuggestions(word);
//If few suggestions are found, try to get more from the word without
diacritics and lowercase
final String
wordWithoutDiacritics=removeAccents(word).toLowerCase(conversionLocale);
Modified:
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/BaseTagger.java
===================================================================
---
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/BaseTagger.java
2013-04-08 18:01:33 UTC (rev 9899)
+++
trunk/languagetool/languagetool-core/src/main/java/org/languagetool/tagging/BaseTagger.java
2013-04-08 19:38:51 UTC (rev 9900)
@@ -79,8 +79,7 @@
//normal case
addTokens(taggerTokens, l);
- //tag alluppercase or startuppercase word (but not mixedcase)
- //with lowercase word tags
+ //tag alluppercase or startuppercase word (but not mixedcase) with
lowercase word tags
if (!isLowercase && !isMixedcase) {
addTokens(lowerTaggerTokens, l);
}
Modified:
trunk/languagetool/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/MorfologikCatalanSpellerRuleTest.java
===================================================================
---
trunk/languagetool/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/MorfologikCatalanSpellerRuleTest.java
2013-04-08 18:01:33 UTC (rev 9899)
+++
trunk/languagetool/languagetool-language-modules/ca/src/test/java/org/languagetool/rules/ca/MorfologikCatalanSpellerRuleTest.java
2013-04-08 19:38:51 UTC (rev 9900)
@@ -125,14 +125,17 @@
assertEquals("cantaria", matches[0].getSuggestedReplacements().get(1));
//incorrect mixed case words
+ assertEquals(1, rule.match(langTool.getAnalyzedSentence("PH")).length);
+ assertEquals(1, rule.match(langTool.getAnalyzedSentence("Ph")).length);
+ assertEquals(1,
rule.match(langTool.getAnalyzedSentence("MCDonald")).length);
+
matches = rule.match(langTool.getAnalyzedSentence("tAula"));
assertEquals(1, matches.length);
assertEquals("taula", matches[0].getSuggestedReplacements().get(0));
matches = rule.match(langTool.getAnalyzedSentence("TAula"));
assertEquals(1, matches.length);
- assertEquals("Tula", matches[0].getSuggestedReplacements().get(0));
- assertEquals("taula", matches[0].getSuggestedReplacements().get(1));
+ assertEquals("taula", matches[0].getSuggestedReplacements().get(0));
matches = rule.match(langTool.getAnalyzedSentence("col·Labora"));
assertEquals(1, matches.length);
@@ -140,13 +143,7 @@
matches = rule.match(langTool.getAnalyzedSentence("col·laborÀ"));
assertEquals(1, matches.length);
- assertEquals("col·labor",
matches[0].getSuggestedReplacements().get(0));
- assertEquals("col·labora",
matches[0].getSuggestedReplacements().get(1));
- assertEquals("col·labore",
matches[0].getSuggestedReplacements().get(2));
- assertEquals("col·labori",
matches[0].getSuggestedReplacements().get(3));
- assertEquals("col·laboro",
matches[0].getSuggestedReplacements().get(4));
- assertEquals("col·laborà",
matches[0].getSuggestedReplacements().get(5)); //-->Better in the first place!
- assertEquals("col·laborí",
matches[0].getSuggestedReplacements().get(6));
+ assertEquals("col·laborà",
matches[0].getSuggestedReplacements().get(0));
//capitalized wrong words
matches = rule.match(langTool.getAnalyzedSentence("En la Pecra"));
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire
the most talented Cisco Certified professionals. Visit the
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Languagetool-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-commits