# [solved] Rechtschreibprüfung "ß" und "ss" in KDE

## Quincy

Ich habe ein recht merkwürdiges Problem mit meiner Rechtschreibprüfung. Installiert ist für folgenden Testfall (x86_64 stable):

KDE 4.9.5

Enchant 1.6.0

hunspell 1.3.2-r3

myspell-de-2012.06.17

LibreOffice 3.6.4.3

In allen KDE Editor Komponenten (Kate, Kile, KDevelop, KWrite) und auch in LibreOffice Writer, werden die Wörter "beissen" und "hassen" als korrekt erkannt, "beißen" und "haßen" werden zur Korrektur mit "ss" vorgeschlagen. Nun schreibt sich leider aber "beißen" wirklich mit ß/szett/scharfem s, d.h. die Rechtschreibkorrektur will mir die falsche Schreibweise andrehen.

Wenn ich hunspell direkt aus der Konsole aufrufe (hunspell -i utf-8 -d de_DE_frami) ist die Ausgabe:

```
Hunspell 1.3.2

beißen 

*

hassen

*

beissen

& beissen 2 0: beißen, bissen

haßen

& haßen 8 0: hassen, aßen, saßen, hauen, maßen, haben, haken, Maßen
```

Offensichtlich funktioniert hunspell selbst also, es kommt nur nicht in der Anwendung auch so an.

Interessanterweise ist die Rechtschreibprüfung in Firefox und Thunderbird (beide Version 17.0.4) korrekt, obwohl sie genau wie LibreOffice direkt von hunspell abhängen. Irgendwas haben also LO und die KDE eigenen Anwendungen gemeinsam, so dass sie denselben Fehler machen. Letztere hängen von enchant ab, aber gerade das tut LO ja nicht und dennoch ist das Ergebnis gleich. Deinstallation von enchant führt dementsprechend auch zum Totalausfall der KDE Komponenten, bei LO ändert sich nichts.

Hat irgendjemand eine Idee und/oder beobachtet dasselbe?Last edited by Quincy on Thu Jun 13, 2013 12:38 am; edited 1 time in total

----------

## musv

Nur mal ein Schuss ins Blaue:

In der Schweiz gibt's kein ß. Eventuell ist Dir irgendwie die Schweizer Rechtschreibung reingerutscht.

----------

## Quincy

Danke für den Tipp, aber ich habe es nochmals geprüft und es ist definitiv "Deutsch (Deutschland)" eingestellt, wie auch die Konsolenausgabe von Kile zeigt:

```
kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::performSpellCheck: for the range  [ (9, 0)  ->  (9, 6) ]

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::installedMovingRanges: [ (9, 0)  ->  (9, 6) ]

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::performSpellCheck: next spell checking "beißen"

Enchant dict for "de_DE_frami" 0x4b29c70 

Enchant dict for "de_DE_frami" 0x4b29c70 

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::spellCheckDone: on-the-fly spell check done, queue length  3

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::performSpellCheck: for the range  [ (10, 0)  ->  (10, 7) ]

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::installedMovingRanges: [ (10, 0)  ->  (10, 7) ]

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::performSpellCheck: next spell checking "beissen"

Enchant dict for "de_DE_frami" 0x4b29c70 

Enchant dict for "de_DE_frami" 0x4b29c70 

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::spellCheckDone: on-the-fly spell check done, queue length  2

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::performSpellCheck: for the range  [ (11, 0)  ->  (11, 5) ]

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::installedMovingRanges: [ (11, 0)  ->  (11, 5) ]

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::performSpellCheck: next spell checking "haßen"

Enchant dict for "de_DE_frami" 0x4b29c70 

Enchant dict for "de_DE_frami" 0x4b29c70 

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::spellCheckDone: on-the-fly spell check done, queue length  1

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::performSpellCheck: for the range  [ (12, 0)  ->  (12, 6) ]

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::installedMovingRanges: [ (12, 0)  ->  (12, 6) ]

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::performSpellCheck: next spell checking "hassen"

Enchant dict for "de_DE_frami" 0x4b29c70 

Enchant dict for "de_DE_frami" 0x4b29c70 

kile(20818)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::spellCheckDone: on-the-fly spell check done, queue length  0

```

Wobei aber auch "Deutsch (Österreich)" und "Deutsch (Schweiz)" keinen offensichtlichen Unterschied in den Programmen machen, in der Konsole ändert sich immerhin das angegebene Wörterbuch ("de_AT_frami" bzw. "de_CH_frami").

----------

## Josef.95

Das sollte nun mit =myspell-de-2012.06.17-r1 behoben sein - siehe dazu auch im Bug 447976

Noch ein Hinweis: Falls mit der neuen -r1 Version das "Deutsch (Deutschland)" Wörterbuch im KDE nicht gleich funktioniert, dann könnte es an einem veralteten de_DE_frami Eintrag (der trotz neu setzen in den systemsettings nicht korrigiert wird) in der ~/.kde4/share/config/sonnetrc liegen. Manuelles anpassen hat hier geholfen :)

----------

## Quincy

Licht am Ende des Tunnels  :Smile: 

Nach dem Update auf die empfohlene myspell Version hat sich LibreOffice selbstständig sortiert und korrigiert die Wörter nun richtig.

Kile konnte ich durch Ändern eines Eintrags in der kilerc dazu bewegen auch das richtige Wörterbuch zu benutzen (mehrfaches umstellen in der Anwendung hat nichts gebracht)

Kwrite, Kedit und Freunde sind allerdings immer noch falsch, obwohl in  ~/.kde4/ keine Datei mehr "frami" enthält. Wenn ich den Default in den Systemeinstellungen auf "Deutsch (Deutschland)" setze, wird bei "Deutsch" und "Deutsch (Deutschland)" in den Anwendungen gar nichts geprüft.  Wenn ich die Default Sprache in den Systemeinstellungen auf "Deutsch (Schweiz)" setze und dann in der Anwendung von "Deutsch" (prüft gar nichts) auf "Deutsch (Deutschland) umstelle dann klappt es. Interessanterweise geht dann auch "Deutsch (Schweiz)" immer noch. Irgendwo habe ich also wohl noch eine Karteileiche...

Edit: In der Konsole aufgerufen zeigt mir Systemsettings auch

```
systemsettings(27947): No language dictionaries for the language :  "de_DE_frami"
```

Edit2: Systemsettings konnte ich durch den Button "zurücksetzen" und mehrmaliges hin- und her mit den Wörterbüchern "heilen". In den Anwendungen bleibt aber "Deutsch" Default (gibt es in den Systemsettings gar nicht) und es wird nichts geprüft. Erst manuelles Umstellen auf "Deutsch (Deutschland)" prüft den Text korrekt.

----------

## mike155

Ja, die Endung "_frami" ist leider in allen möglichen Konfigurationsdateien hinterlegt. Am besten mal nach "_frami" suchen mit:

```
cd ~

grep -ir "_frami" .[a-zA-Z]*
```

----------

## Quincy

Habe "leider" nichts mehr mit "_frami" gefunden. Wenn ich "kate" in der Konsole starte kommt zuerst auch die erfreuliche Mitteilung

```
Enchant dict for "de_DE" 0x2805cd0 

kate(31799)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::KateOnTheFlyChecker: created

kate(31799)/Kate (On-The-Fly Spellcheck) KateOnTheFlyChecker::updateConfig:

Enchant dict for "de_DE" 0x36daba0
```

Doch später kommt dann mehrfach folgende Meldung, die auch die fehlende Prüfung erklärt.

```
kate(31799): No language dictionaries for the language :  "de"
```

Es liegt also wohl jetzt noch zusätzlich an einem fehlerhaften "de" Eintrag für ein Wörterbuch. In der sonnetrc steht "de_DE als Default language, andere Stellen lassen sich leider nicht so einfach finden, da a) "de" ein schlechter Suchbegriff ist und b) manchmal auch nur "de" richtig sein könnte. Hat jemand eine Idee wo die dazu passende Einstellung zu finden sein könnte?

----------

## Josef.95

Quincy,

nach dem setzen in kate -> Einstellungen -> Kate einrichten -> Bearbeitung -> im Reiter Rechtschreibprüfung

auf "Deutsch (Deutschland)"

sollte das ganze passen und auch funktionieren. Wenn das einmal gesetzt und abgespeichert wurde gibt es das vermeintlich falsche nur "Deutsch" Wörterbuch auch nicht mehr zur Auswahl.

----------

## Quincy

Na klar...das Offensichtliche habe ich übersehen, danke für den Hinweis.

Man muss das zwar für jedes Programm einzeln machen, aber es funktioniert und die falschen "Deutsch" Einträge verschwinden tatsächlich.  :Smile: Last edited by Quincy on Tue Jul 09, 2013 3:39 pm; edited 1 time in total

----------

## EisNerd

Für Kile habe ich das "sed -i 's/de_DE_frami/de_DE/g' ~/.kde4/share/config/kilerc" verwendet, da die kilerc weder mit nano noch mit kwrite editierbar war.

----------

