Guenther Brunthaler Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/180579917744da4006f2a8c.jpg)
Joined: 22 Jul 2006 Posts: 217 Location: Vienna
|
Posted: Sun Apr 20, 2008 3:04 am Post subject: OpenOffice-Wörterbücher mit Firefox und Thunderbird teilen |
|
|
Dieser Artikel beschreibt, wie man bereits für OpenOffice installierte Wörterbücher gemeinsam mit Firefox und Thunderbird verwendet.
Also ohne eine sinnlose 2. Kopie dieser Wörterbücher installieren zu müssen was völlig sinnlos den doppelten Speicherplatz kosten würde!
Die hier gezeigte Methode installiert diese Wörterbücher ferner so dass sie für alle Benutzer des Rechners danach benutzbar sind.
Die hier beschriebene Methode gilt für Gentoo Linux und die aktuellen stabilen TB und FF Versionen zum Zeitpunkt als ich diese kleine Anleitung schrieb (April 2008). Und zwar die selbstkompilierten Versionen, also nicht die bin-Pakete. (Vielleicht funktioniert die Anleitung auch für die bin-Versionen von TB und FF - ich weiss es nicht. Auf meinen Rechner kommt mir jedenfalls kein Binärschrott den ich nicht selbst übersetzt habe; da könnte ich ja gleich UBUNTU nehmen.)
Ich merke dies deshalb an, da ich zahllose andere Guides zu diesem Thema fand, die alle etwas von einem components/myspell-Verzeichnis fantasierten - und allesamt NICHT funktionierten! Möglicherweise weicht die Gentoo-Installation hier daher von anderen Distros ab.
Wie auch immer - meine Methode funktioniert für die oben genannte Konfiguration.
Da die Installation Admin-Rechte erfordert, muss man die folgenden Schritte als "su - root" tun:
Als erstes müsste ihr natürlich die Wörterbücher von OOo installiert haben - falls noch nicht geschehen, so könnt ihr etwa die deutschen und englischen Wörterbücher für OOo installieren:
Code: | # emerge -vau app-dicts/myspell-{de,en}
|
Und hier nun das Recycling für OOo:
Das nachfolgende Script (etwa: "/usr/local/sbin/myspell-sync") speichern.
Code: | #! /bin/sh
# Symlinks installed myspell dictionaries
# for use with Mozilla Firefox and Thunderbird.
# Can also be used to update existing symlinks.
# Will also detect and remove outdated symlinks.
#
# Written in 2008 by Guenther Brunthaler
# Where to find the installed myspell dictionaries.
MYSPELLDICTS=/usr/share/myspell
die() {
echo "ERROR: $*" >& 2
exit 1
}
run() {
"$@" && return
die "Could not execute >>>$*<<<: return code ${?}!"
}
check_symlink() {
local T RM
T=`readlink --canonicalize "$1"`
if test -f "$T"; then
# Remove symlinks to be recreated.
test x"${T#$MYSPELLDICTS/}" != x"$T" && RM=1
else
# Remove outdated symlinks.
RM=1
fi
test -z "$RM" && return
run rm "$1"
}
createlinks() {
local D N N2 P X COLL BAD CI
D=$2
N=${1##*/}
P=${1%/$N}
N=${N%.*}
# Collect extensions to be symlinked.
set --
for X in dic aff; do
test -f "$P/$N.$X" && set -- "$@" "$X"
done
# Mozilla expects ll-CC* names instead of ll_CC* names.
N2=`echo "$N" | sed -e 's/_/-/'`
# Collision avoidance.
CI=1
while true; do
BAD=
for X in "$@"; do
if test -e "$D/$N2$COLL.$X"; then
BAD=1
break
fi
done
test -z "$BAD" && break
COLL=$CI
CI=`expr $CI + 1`
test $COLL = 1 && COLL=
COLL=_myspell$COLL
done
for X in "$@"; do
run ln -s "$P/$N.$X" "$D/$N2$COLL.$X"
done
}
run test -d "$MYSPELLDICTS"
# Add more paths to obtain symlinked copies of the
# myspell dictionaries in the lines below if you want.
for D in \
/usr/lib/mozilla-firefox/dictionaries \
/usr/lib/mozilla-thunderbird/dictionaries \
; do
if test -d "$D"; then
echo "Symlinking dictionaries into $D..."
for L in "$D"/*; do
test -L "$L" && check_symlink "$L"
done
# Match only dictionaries, not thesauri or hyph* files.
for DICT in "$MYSPELLDICTS"/[a-z][a-z]_[A-Z][A-Z]*.dic; do
test -f "$DICT" && createlinks "$DICT" "$D"
done
fi
done |
Nach dem Speichern als ausführbar setzen:
Code: | # chmod +x /usr/local/sbin/myspell-sync |
Und schließlich das Script ausführen:
Danach kann man im TB Settings-Dialog jedes der OOo-Wörterbücher für die Rechtschreibung auswählen.
Und auch nach dem nächsten Start von FF kann dann per Kontextmenü in jedem Eingabefeld die Rechtschreibung konfiguriert werden.
Ein sehr nützliches Feature für zu postende Artikel in Web-Foren!
Man bemerke, dass diese Lösung Symlinks installiert, so dass kein Speicherplatz verschwendet wird.
Das Skript prüft auch ob FF oder TB installiert sind bevor es versucht die Wörterbücher dorthin zu symlinken.
Ausserdem handhabt das Skript intelligent Namenskollisionen oder mehrfach vorhandene Wörterbücher.
Man kann das Skript auch mehrfach ausführen, etwa nachdem man neue Wörterbücher hinzu installiert oder entfernt hat. In diesem Fall aktualisiert das Skript entsprechend die Symlinks.
Eine Reinstallation von FF oder TB löscht ebenfalls die Symlinks, so dass man das Script auch in diesem Fall ausführen sollte.
Oder einfacher gesagt - man kann das Skript jederzeit ausführen wenn man den Eindruck hat dass etwas mit der Liste der in TB/FF angebotenen Wörterbüchern nicht stimmt. |
|