Skip to content

Commit

Permalink
[de] add words from OpenThesaurus and introduce a lightweight way to …
Browse files Browse the repository at this point in the history
…expand terms to keep the list short
  • Loading branch information
danielnaber committed Mar 30, 2015
1 parent d350a96 commit 3711621
Show file tree
Hide file tree
Showing 3 changed files with 316 additions and 4 deletions.
Expand Up @@ -87,11 +87,36 @@ public String getId() {
}

@Override
protected void addIgnoreWords(String line, Set<String> wordsToBeIgnored) {
protected void addIgnoreWords(String origLine, Set<String> wordsToBeIgnored) {
String line;
if (language.getShortNameWithCountryAndVariant().equals("de-CH")) {
// hack: Swiss German doesn't use "ß" but always "ss" - replace this, otherwise
// misspellings (from Swiss point-of-view) like "äußere" wouldn't be found:
wordsToBeIgnored.add(line.replace("ß", "ss"));
line = origLine.replace("ß", "ss");
} else {
line = origLine;
}
if (line.contains("/")) {
String[] parts = line.split("/");
if (parts.length != 2) {
throw new RuntimeException("Unexpected line format, expected at most one slash: " + line);
}
String word = parts[0];
String suffix = parts[1];
wordsToBeIgnored.add(word);
if (suffix.equals("S")) {
wordsToBeIgnored.add(word + "s");
} else if (suffix.equals("N")) {
wordsToBeIgnored.add(word + "n");
} else if (suffix.equals("A")) { // Adjektiv
wordsToBeIgnored.add(word + "e");
wordsToBeIgnored.add(word + "er");
wordsToBeIgnored.add(word + "es");
wordsToBeIgnored.add(word + "en");
wordsToBeIgnored.add(word + "em");
} else {
throw new RuntimeException("Unknown suffix: " + suffix + " in line: " + line);
}
} else {
wordsToBeIgnored.add(line);
}
Expand Down
@@ -1,5 +1,9 @@
# Words that extend the spell checker. See ignore.txt for words that should be
# completely ignored (i.e. not used to create suggestions).
# Supported suffixes for German:
# /S will add s
# /N will add n
# /A will add e, er, es, en, em (for adjectives - no comparative, no superlative)
LanguageTool
LanguageToolFx
Higgs-Boson
Expand Down Expand Up @@ -2011,3 +2015,282 @@ Gewährbarkeit
Stallgeruch
Stallgeruchs
Rechtschreibprüfung
Occipitallappen/S
unzeitig/A
Hydrothorax
unerregbar/A
Tianjin
Pyrenäenhalbinsel
Korporativismus
unlebendig/A
Attentismus
Peergroup
Roskilde
Schottländer/S
Styling
Rätediktatur
Adlatus
Involviertheit
Mineur
ersäufen
akzeptierbar/A
Überzeugtheit
Theremin
Vertikalachse/N
prädestinieren
Verzärtelung
Bravheit
Mitbewerb/S
dieserart
Okkasionalismus
Hinterwäldler/N
Mortalitätsziffer
Heritabilität
Mäzens
Arabistik
Diorama
Dioramen
Trägheitskraft
Trägheitskräfte
Vulgärlatein/S
Intervallskala
Muskelrelaxation
fungibel
unbesprochen
unwahrhaftig/A
Krustenbildung
psychotrope
Beharrungstendenz
Substanzmissbrauch
Expatriate
simplifizieren
Schwachsichtigkeit
Relaunch
Exkulpation
unbezwinglich/A
meineidig
Coolness
Abolitionismus
Präskription
Triumphgeschrei/S
Annihilation
vernünfteln
Bilinguismus
Piefke
Tingeltangel
Thyreoiditis
Ungeniertheit
unprätentiös/A
Onomatopöie
Streuungsbreite
unschöpferisch/A
Rührstück/S
Dispersität
Unterwerfungserklärung
Femininität
Rückenmarkskanal/S
Kognitionsforschung
Curling/S
Partnerschaftsgesellschaft
Partnerschaftsgesellschaften
Flipflop/S
Uteruskarzinom
breiartig/A
Abtönungspartikel/S
Chaosforschung
unintelligent/A
zerschunden/A
Triumphgefühl
Triumphgefühle
Triumphgefühls
Entspanntheit
schieß
unreligiös/A
unfroh
unerklärlicherweise
Wirklichkeitsflucht
durchdringbar/A
Freelancer
Freelancern
Freelancers
volltönend/A
Levitation
Viktimologie
Ethnomusikologie
Substanzkonsum/S
Lateralisation
Substitutionsprinzip/S
Sparsamkeitsprinzip/S
Meistbegünstigungsprinzip/S
Allokationstheorie
unliebenswürdig/A
Subsidium
persuasiv/A
Verhältnisskala
Analgetikum/S
unverdientermaßen
Primärinfektion
Primärinfektionen
Beregnungsanlage/N
Reifikation
Kollumkarzinom/S
unsolidarisch/A
peinvoll/A
Botulinumtoxin/S
Hypoventilation
Debriefing
Laserstrahlschweißen/S
suffizient/A
Diffraktion
Diffraktionen
Comedian
Comedians
Tetraplegie
unoriginell/A
unfasslich/A
Raritätenkabinett/S
Protzerei
Protzereien
hinüberfahren
Pasteurisation
Mascara
Infibulation
Tilgungsdarlehen/S
Schnäppchenjäger/S
Subkutangewebe/S
Schmähkritik
Schmähkritiken
Lobotomie
sinngleich/A
diskussionsbedürftig/A
beriechen
Schuldigsprechung
Verhätschelung
blitzsauber/A
Tüftelei
Separierbarkeit
Seemannsgarn/S
erwartungskonform/A
unbetreten/A
Pedologie
unaufgeschlossen/A
Perforierung
bemäkeln
Benignität
Scharfmacherei
Psychokinese
Eliminationsverfahren/S
Reinemachefrau
Reinemachefrauen
Rasselgeräusch/S
unplanmäßig/A
zuschreibbar/A
Vergällung
Dramolett/S
Geldentwertungsrate
Volkstümelei
obstruieren
Salzigkeit
Großspurigkeit
frömmelnd
dechiffrierbar
Kohlrübenwinter/S
Ödipuskonflikt/S
exkludieren
Gesundbeterei
Sonnabendabend
subskribieren
Wichtelmännchen/S
anöden
uneitel
Zitierhäufigkeit
Scheinwerferkegel/S
gefühlig/A
vorgehängt/A
Blähsucht
Reimwörterbuch
Reimwörterbuchs
Reimwörterbücher
Reimwörterbüchern
Festigkeitsgrad
Registrierungsdatenbank
Flexionsmorphem
Flexionsmorphems
stroboskopisch/A
Verbalinjurie
Verbalinjurien
unkameradschaftlich/A
Fortüne
herumhüpfen
Hurrageschrei
Temporallappenepilepsie
kundengerecht/A
stocksauer
Männlichkeitskult/S
Balladensänger/S
gesittetsten
Scrollbar
Reuegefühl/S
Berührpunkt/S
Siliziumscheibe/N
systemorientiert/A
unangestrengt/A
ungebührend/A
Entdeckergeist/S
aufzählbar/A
Attributname/N
Verunzierung
Schlafmützigkeit
bleifarbig/A
Blutströpfchen/S
Irländerin
Liposuktion
Citroën
ADFC
Ausbeuterei
enthusiasmieren
Ärgerlichkeiten
quartalsmäßig
Kündigungswelle
unabgestimmt/A
korrosionsfest/A
Gekläffe
einverständig
Larynxkarzinom
piesacken
Entfernbarkeit
Defaulteinstellung
Defaulteinstellungen
repräsentabel
Rüpelhaftigkeit
unverschämterweise
Smutje
rehbraun/A
goldfarbig
anthropomorphisieren
Damenkränzchen
Puffmutter
Sprossenleiter/N
sterbensmüde
Vertraulichkeitsvereinbarung
konkludieren
Onomatopoesie
Sixpack/S
Schüttelsieb/S
Unerquicklichkeit
unauswechselbar/A
Sanftmütigkeit
Protonenpumpenhemmer/S
systemgebunden/A
überstreuen
Dekanter/S
Vertriebler/S
Frankiermaschine/N
Sweatshop/S
konfliktbereit/A
disruptiv/A
phantasiearm/A
angstlösend/A
Routiniertheit
Printserver/S
unerbeten/A
Expand Up @@ -96,10 +96,14 @@ public void testGetSuggestionsFromSpellingTxt() throws Exception {
public void testIgnoreWord() throws Exception {
MyGermanSpellerRule ruleGermany = new MyGermanSpellerRule(TestTools.getMessages("de"), GERMAN_DE);
assertTrue(ruleGermany.doIgnoreWord("einPseudoWortFürLanguageToolTests")); // from ignore.txt
assertTrue(ruleGermany.doIgnoreWord("Ligafußball")); // from spelling.txt
assertTrue(ruleGermany.doIgnoreWord("Ligafußball")); // from spelling.txt
assertTrue(ruleGermany.doIgnoreWord("Wichtelmännchen")); // from spelling.txt
assertTrue(ruleGermany.doIgnoreWord("Wichtelmännchens")); // from spelling.txt with suffix
assertTrue(ruleGermany.doIgnoreWord("vorgehängt")); // from spelling.txt
assertTrue(ruleGermany.doIgnoreWord("vorgehängten")); // from spelling.txt with suffix
MyGermanSpellerRule ruleSwiss = new MyGermanSpellerRule(TestTools.getMessages("de"), GERMAN_CH);
assertTrue(ruleSwiss.doIgnoreWord("einPseudoWortFürLanguageToolTests"));
assertFalse(ruleSwiss.doIgnoreWord("Ligafußball")); // 'ß' never accepted for Swiss
assertFalse(ruleSwiss.doIgnoreWord("Ligafußball")); // 'ß' never accepted for Swiss
}

private static class MyGermanSpellerRule extends GermanSpellerRule {
Expand Down

0 comments on commit 3711621

Please sign in to comment.