~funderscoreblog cgit wikiget in touch

HilfeInhalt > HilfeZurAdministration > HilfeZurRechtschreibprüfung

Die Rechtschreibprüf-Option

MoinMoin sucht an 3 Stellen nach gültigen Worten:

/usr/lib/python2.4/site-packages/MoinMoin/dict (Übliches Verzeichnis in Linux)
C:\Python24\Lib\site-packages\MoinMoin\dict (Übliches Verzeichnis in Windows)

Wenn in Ihrer Python-Installation das "dbhash"-Modul verfügbar ist, werden die Dateien in "dict" nur einmalig gelesen und dann in einer sog. Hash-Tabelle gespeichert. Dies beschleunigt die Rechtschreibprüfung, weil dann die dafür notwendige Zeit nur von der Wortzahl auf der zu prüfenden Seite abhängt und nicht von der Anzahl der Worte im Wörterbuch (mit 250000 Worten nur einige hundert Millisekunden statt einiger Sekunden).

Übrigens: eine UNIX-Maschine hat normalerweise mindestens eine (englische) Wortdatei im Lieferumfang - um diese zu benutzen, erzeugen Sie einfach einen Symlink im dict-Verzeichnis, wie z.B.:

MoinMoin/dict> ln -s /usr/dict/words .

Auf einigen Systemen heisst die Wortdatei stattdessen auch "/usr/share/dict/words".

Beispiel

MoinMoin> ls -l dict
-rw-r--r--   1 544      everyone   409067 Jan 04 06:38 american-english
-rw-r--r--   1 544      everyone  2913577 Jan 25  2000 german.txt
-rw-r--r--   1 544      everyone    92631 Nov 30 15:24 top10000de.txt

Wort-Dateien

Wenn Sie US-englische oder deutsche Wort-Dateien benötigen, schauen Sie in das contrib/dict/-Verzeichnis im MoinMoin-Distributionsarchiv.

Wenn es nicht funktioniert

Wenn Sie den Inhalt von "MoinMoin/dict/" ändern (weil sie neue Wörterbücher hinzufügen oder alte löschen) oder wenn Sie das "MoinMoin/dict/"-Verzeichnis erst neu angelegt haben, dann sollten Sie die Datei "data/cache/spellchecker.dict" löschen (Eine Neue wird dann automatisch erzeugt).

Wenn Sie das nicht machen, werden Ihre neuen Wörterbücher nicht erkannt (z.B. wird dann nur LocalSpellingWords benutzt). Eine andere mögliche Ursache wäre, dass Sie die Wörterbücher nicht im aktiven MoinMoin-Package-Verzeichnis platziert haben, also im von Ihrem CGI-Skript importieren Verzeichnis.