@Override public RuleMatch[] match(AnalyzedSentence sentence) { List<RuleMatch> ruleMatches = new ArrayList<>(); AnalyzedTokenReadings[] tokens = getSentenceWithImmunization(sentence).getTokensWithoutWhitespace(); String prevToken = ""; // we start from token 1, token no. 0 is guaranteed to be SENT_START for (int i = 1; i < tokens.length; i++) { String token = tokens[i].getToken(); if (tokens[i].isImmunized()) { prevToken = ""; continue; } if (isWord(token) && prevToken.equalsIgnoreCase(token) && !ignore(tokens, i)) { String msg = messages.getString("repetition"); int prevPos = tokens[i - 1].getStartPos(); int pos = tokens[i].getStartPos(); RuleMatch ruleMatch = createRuleMatch(prevToken, token, prevPos, pos, msg, sentence); ruleMatches.add(ruleMatch); } prevToken = token; } return toRuleMatchArray(ruleMatches); }
@Override public List<Rule> getRelevantRules(ResourceBundle messages, UserConfig userConfig, List<Language> altLanguages) throws IOException { return Arrays.asList( new CommaWhitespaceRule(messages), new DoublePunctuationRule(messages), new GenericUnpairedBracketsRule(messages, Arrays.asList("[", "(", "{", "“", "«", "»", "¿", "¡"), Arrays.asList("]", ")", "}", "”", "»", "«", "?", "!")), new MorfologikSpanishSpellerRule(messages, this, userConfig, altLanguages), new UppercaseSentenceStartRule(messages, this), new WordRepeatRule(messages, this), new MultipleWhitespaceRule(messages, this), new SpanishWikipediaRule(messages) ); }
@Override protected RuleMatch createRuleMatch(String prevToken, String token, int prevPos, int pos, String msg, AnalyzedSentence sentence) { boolean doubleI = prevToken.equals("І") && token.equals("і"); if( doubleI ) { msg += " або, можливо, перша І має бути латинською."; } RuleMatch ruleMatch = super.createRuleMatch(prevToken, token, prevPos, pos, msg, sentence); if( doubleI ) { List<String> replacements = new ArrayList<>(ruleMatch.getSuggestedReplacements()); replacements.add("I і"); ruleMatch.setSuggestedReplacements(replacements); } return ruleMatch; } }
@Override public List<Rule> getRelevantRules(ResourceBundle messages) throws IOException { return Arrays.asList( new CommaWhitespaceRule(messages), new DoublePunctuationRule(messages), new GenericUnpairedBracketsRule(messages), new MorfologikMalayalamSpellerRule(messages, this), new UppercaseSentenceStartRule(messages, this), new WordRepeatRule(messages, this), new MultipleWhitespaceRule(messages, this) ); }
@Override public List<Rule> getRelevantRules(ResourceBundle messages, UserConfig userConfig, List<Language> altLanguages) throws IOException { return Arrays.asList( new CommaWhitespaceRule(messages), new DoublePunctuationRule(messages), new GenericUnpairedBracketsRule(messages, Arrays.asList("[", "(", "{", "„", "»", "«", "\""), Arrays.asList("]", ")", "}", "“", "«", "»", "\"")), new UppercaseSentenceStartRule(messages, this), new WordRepeatRule(messages, this), new MultipleWhitespaceRule(messages, this), // specific to Slovak: new CompoundRule(messages), new MorfologikSlovakSpellerRule(messages, this, userConfig, altLanguages) //new SlovakVesRule(messages) ); }
@Override public RuleMatch[] match(AnalyzedSentence sentence) { List<RuleMatch> ruleMatches = new ArrayList<>(); AnalyzedTokenReadings[] tokens = getSentenceWithImmunization(sentence).getTokensWithoutWhitespace(); String prevToken = ""; // we start from token 1, token no. 0 is guaranteed to be SENT_START for (int i = 1; i < tokens.length; i++) { String token = tokens[i].getToken(); if (tokens[i].isImmunized()) { prevToken = ""; continue; } if (isWord(token) && prevToken.equalsIgnoreCase(token) && !ignore(tokens, i)) { String msg = messages.getString("repetition"); int prevPos = tokens[i - 1].getStartPos(); int pos = tokens[i].getStartPos(); RuleMatch ruleMatch = createRuleMatch(prevToken, token, prevPos, pos, msg, sentence); ruleMatches.add(ruleMatch); } prevToken = token; } return toRuleMatchArray(ruleMatches); }
@Override public List<Rule> getRelevantRules(ResourceBundle messages, UserConfig userConfig, List<Language> altLanguages) { return Arrays.asList( new CommaWhitespaceRule(messages), new DoublePunctuationRule(messages), new GenericUnpairedBracketsRule(messages), new HunspellNoSuggestionRule(messages, this, userConfig, altLanguages), new UppercaseSentenceStartRule(messages, this), new WordRepeatRule(messages, this), new MultipleWhitespaceRule(messages, this), new SentenceWhitespaceRule(messages) ); }
@Override public List<Rule> getRelevantRules(ResourceBundle messages, UserConfig userConfig, List<Language> altLanguages) throws IOException { return Arrays.asList( new CommaWhitespaceRule(messages), new DoublePunctuationRule(messages), new GenericUnpairedBracketsRule(messages), new HunspellRule(messages, this, userConfig, altLanguages), new UppercaseSentenceStartRule(messages, this), new WordRepeatRule(messages, this), new MultipleWhitespaceRule(messages, this), new CompoundRule(messages) ); }
protected List<Rule> getBasicRules(ResourceBundle messages) { return Arrays.asList( new CommaWhitespaceRule(messages, Example.wrong("Није шија<marker> ,</marker> него врат."), Example.fixed("Није шија<marker>,</marker> него врат.")), new DoublePunctuationRule(messages), new GenericUnpairedBracketsRule(messages, Arrays.asList("[", "(", "{", "„", "„", "\""), Arrays.asList("]", ")", "}", "”", "“", "\"")), new UppercaseSentenceStartRule(messages, this, Example.wrong("Почела је школа. <marker>ђаци</marker> су поново сели у клупе."), Example.fixed("Почела је школа. <marker>Ђаци</marker> су поново сели у клупе.")), new MultipleWhitespaceRule(messages, this), new SentenceWhitespaceRule(messages), new WordRepeatRule(messages, this) ); }
@Override public List<Rule> getRelevantRules(ResourceBundle messages, UserConfig userConfig, List<Language> altLanguages) throws IOException { return Arrays.asList( new CommaWhitespaceRule(messages), new UppercaseSentenceStartRule(messages, this), new WordRepeatRule(messages, this), new MultipleWhitespaceRule(messages, this), new SentenceWhitespaceRule(messages), // specific to Polish: new PolishUnpairedBracketsRule(messages, this), new MorfologikPolishSpellerRule(messages, this, userConfig, altLanguages), new PolishWordRepeatRule(messages), new CompoundRule(messages), new SimpleReplaceRule(messages), new DashRule() ); }