Skip to content

Commit

Permalink
[de] spelling fixes (Desktopbetrieb, süddeutschland etc.) (#10017)
Browse files Browse the repository at this point in the history
* [de] spelling fixes

* [de] add more forms
  • Loading branch information
affemitkaraffe authored Dec 29, 2023
1 parent 96db9a2 commit de11c0b
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2289,15 +2289,18 @@ protected boolean ignorePotentiallyMisspelledWord(String word) throws IOExceptio
!part1.equals("Lass") && // e.g. "Lasstest" - couldn't find a more generic solution yet
(wordsWithoutInfixS.contains(part1) || (compoundPatternSpecialEnding.matcher(part1).matches() && isNoun(part2uc))) &&
!isMisspelled(part1) &&
!isMisspelled(part2uc) &&
isMisspelled(part2) // don't accept e.g. "Azubikommt"
isNoun(part2uc) // don't accept e.g. "Azubikommt"
) {
System.out.println("compound: " + part1 + " " + part2 + " (" + word + ")");
return true;
}
return false;
}

private boolean isAdjective(String word) throws IOException {
return getTagger().tag(singletonList(word)).stream().anyMatch(k -> k.hasPosTagStartingWith("ADJ:"));
}

private boolean isNoun(String word) throws IOException {
return getTagger().tag(singletonList(word)).stream().anyMatch(k -> k.hasPosTagStartingWith("SUB:"));
}
Expand Down Expand Up @@ -2781,7 +2784,9 @@ private boolean ignoreCompoundWithIgnoredWord(String word) throws IOException {
isUppercaseNoun = isNoun(uppercaseFirstChar(partialWord));
}
boolean isDirection = DIRECTION.matcher(ignoredWord).matches();
boolean isCandidateForNonHyphenatedCompound = (isDirection || isNoun || isUppercaseNoun) && !StringUtils.isAllUpperCase(ignoredWord) && (StringUtils.isAllLowerCase(partialWord) || ignoredWord.endsWith("-"));
boolean isAdjective = isAdjective(ignoredWord);
boolean isDirectionalAdjective = (isDirection && (isAdjective || partialWord.matches(".+ische?[mnrs]?")));
boolean isCandidateForNonHyphenatedCompound = (isDirectionalAdjective || isNoun || isUppercaseNoun) && !StringUtils.isAllUpperCase(ignoredWord) && (StringUtils.isAllLowerCase(partialWord) || ignoredWord.endsWith("-"));
boolean needFugenS = isNeedingFugenS(ignoredWord);
if (isCandidateForNonHyphenatedCompound && !needFugenS && partialWord.length() > 2) {
return hunspell.spell(partialWord) || hunspell.spell(StringUtils.capitalize(partialWord));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40010,6 +40010,79 @@ suspensives suspensiv ADJ:AKK:SIN:NEU:GRU:IND
suspensives suspensiv ADJ:AKK:SIN:NEU:GRU:SOL
suspensives suspensiv ADJ:NOM:SIN:NEU:GRU:IND
suspensives suspensiv ADJ:NOM:SIN:NEU:GRU:SOL
estnisch estnisch ADJ:PRD:GRU
estnische estnisch ADJ:AKK:PLU:FEM:GRU:SOL
estnische estnisch ADJ:AKK:PLU:MAS:GRU:SOL
estnische estnisch ADJ:AKK:PLU:NEU:GRU:SOL
estnische estnisch ADJ:AKK:SIN:FEM:GRU:DEF
estnische estnisch ADJ:AKK:SIN:FEM:GRU:IND
estnische estnisch ADJ:AKK:SIN:FEM:GRU:SOL
estnische estnisch ADJ:AKK:SIN:NEU:GRU:DEF
estnische estnisch ADJ:NOM:PLU:FEM:GRU:SOL
estnische estnisch ADJ:NOM:PLU:MAS:GRU:SOL
estnische estnisch ADJ:NOM:PLU:NEU:GRU:SOL
estnische estnisch ADJ:NOM:SIN:FEM:GRU:DEF
estnische estnisch ADJ:NOM:SIN:FEM:GRU:IND
estnische estnisch ADJ:NOM:SIN:FEM:GRU:SOL
estnische estnisch ADJ:NOM:SIN:MAS:GRU:DEF
estnische estnisch ADJ:NOM:SIN:NEU:GRU:DEF
estnischen estnisch ADJ:AKK:PLU:FEM:GRU:DEF
estnischen estnisch ADJ:AKK:PLU:FEM:GRU:IND
estnischen estnisch ADJ:AKK:PLU:MAS:GRU:DEF
estnischen estnisch ADJ:AKK:PLU:MAS:GRU:IND
estnischen estnisch ADJ:AKK:PLU:NEU:GRU:DEF
estnischen estnisch ADJ:AKK:PLU:NEU:GRU:IND
estnischen estnisch ADJ:AKK:SIN:MAS:GRU:DEF
estnischen estnisch ADJ:AKK:SIN:MAS:GRU:IND
estnischen estnisch ADJ:AKK:SIN:MAS:GRU:SOL
estnischen estnisch ADJ:DAT:PLU:FEM:GRU:DEF
estnischen estnisch ADJ:DAT:PLU:FEM:GRU:IND
estnischen estnisch ADJ:DAT:PLU:FEM:GRU:SOL
estnischen estnisch ADJ:DAT:PLU:MAS:GRU:DEF
estnischen estnisch ADJ:DAT:PLU:MAS:GRU:IND
estnischen estnisch ADJ:DAT:PLU:MAS:GRU:SOL
estnischen estnisch ADJ:DAT:PLU:NEU:GRU:DEF
estnischen estnisch ADJ:DAT:PLU:NEU:GRU:IND
estnischen estnisch ADJ:DAT:PLU:NEU:GRU:SOL
estnischen estnisch ADJ:DAT:SIN:FEM:GRU:DEF
estnischen estnisch ADJ:DAT:SIN:FEM:GRU:IND
estnischen estnisch ADJ:DAT:SIN:MAS:GRU:DEF
estnischen estnisch ADJ:DAT:SIN:MAS:GRU:IND
estnischen estnisch ADJ:DAT:SIN:NEU:GRU:DEF
estnischen estnisch ADJ:DAT:SIN:NEU:GRU:IND
estnischen estnisch ADJ:GEN:PLU:FEM:GRU:DEF
estnischen estnisch ADJ:GEN:PLU:FEM:GRU:IND
estnischen estnisch ADJ:GEN:PLU:MAS:GRU:DEF
estnischen estnisch ADJ:GEN:PLU:MAS:GRU:IND
estnischen estnisch ADJ:GEN:PLU:NEU:GRU:DEF
estnischen estnisch ADJ:GEN:PLU:NEU:GRU:IND
estnischen estnisch ADJ:GEN:SIN:FEM:GRU:DEF
estnischen estnisch ADJ:GEN:SIN:FEM:GRU:IND
estnischen estnisch ADJ:GEN:SIN:MAS:GRU:DEF
estnischen estnisch ADJ:GEN:SIN:MAS:GRU:IND
estnischen estnisch ADJ:GEN:SIN:MAS:GRU:SOL
estnischen estnisch ADJ:GEN:SIN:NEU:GRU:DEF
estnischen estnisch ADJ:GEN:SIN:NEU:GRU:IND
estnischen estnisch ADJ:GEN:SIN:NEU:GRU:SOL
estnischen estnisch ADJ:NOM:PLU:FEM:GRU:DEF
estnischen estnisch ADJ:NOM:PLU:FEM:GRU:IND
estnischen estnisch ADJ:NOM:PLU:MAS:GRU:DEF
estnischen estnisch ADJ:NOM:PLU:MAS:GRU:IND
estnischen estnisch ADJ:NOM:PLU:NEU:GRU:DEF
estnischen estnisch ADJ:NOM:PLU:NEU:GRU:IND
estnischer estnisch ADJ:DAT:SIN:FEM:GRU:SOL
estnischer estnisch ADJ:GEN:PLU:FEM:GRU:SOL
estnischer estnisch ADJ:GEN:PLU:MAS:GRU:SOL
estnischer estnisch ADJ:GEN:PLU:NEU:GRU:SOL
estnischer estnisch ADJ:GEN:SIN:FEM:GRU:SOL
estnischer estnisch ADJ:NOM:SIN:MAS:GRU:IND
estnischer estnisch ADJ:NOM:SIN:MAS:GRU:SOL
estnischem estnisch ADJ:DAT:SIN:MAS:GRU:SOL
estnischem estnisch ADJ:DAT:SIN:NEU:GRU:SOL
estnisches estnisch ADJ:AKK:SIN:NEU:GRU:IND
estnisches estnisch ADJ:AKK:SIN:NEU:GRU:SOL
estnisches estnisch ADJ:NOM:SIN:NEU:GRU:IND
estnisches estnisch ADJ:NOM:SIN:NEU:GRU:SOL
zuhauf zuhauf ADV:MOD
piepegal piepegal ADJ:PRD:GRU
piepegal piepegal ADV:MOD
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242947,6 +242947,9 @@ Lithiumnitrid
Lithiumperoxid
Lithiumphosphat
Magnesiumcitrat
Unibetrieb
Unibetriebs
Unibetriebes
Dogville/S #name
Dahlmeier/S #name
Soulfood/S #name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1000,6 +1000,11 @@ private void commonGermanAsserts(HunspellRule rule, JLanguageTool lt) throws IOE
assertEquals(1, rule.match(lt.getAnalyzedSentence("Babyquietschte")).length);
assertEquals(0, rule.match(lt.getAnalyzedSentence("nordwestfranzösisch")).length);
assertEquals(0, rule.match(lt.getAnalyzedSentence("nordestnisch")).length);
assertEquals(0, rule.match(lt.getAnalyzedSentence("westmünsterländische")).length);
assertEquals(1, rule.match(lt.getAnalyzedSentence("süddeutschland")).length);
assertEquals(0, rule.match(lt.getAnalyzedSentence("Desktopbetrieb")).length);
assertEquals(0, rule.match(lt.getAnalyzedSentence("Desktophintergrund")).length);
assertEquals(0, rule.match(lt.getAnalyzedSentence("Unibetrieb")).length);
}

@Test
Expand Down

0 comments on commit de11c0b

Please sign in to comment.