2011-09-12, Rev. 2Gentoo Linux: Anleitung zur deutschen Lokalisierung
Diese Anleitung soll Benutzern bei der Lokalisierung ihres Gentoo Linux auf
eine europäische Sprache am Fallbeispiel Deutsch behilflich sein. Es enthält
die Konfiguration für die Verwendung des Euro-Währungssymbols.
Gentoo Linux: Anleitung zur deutschen Lokalisierung
1.
Zeitzone
Um die richtige Uhrzeit zu haben, müssen Sie Ihre Zeitzone auswählen, so dass
Ihr System weiß, wo sie gefunden wird. Schauen Sie sich nach Ihrer Zeitzone in
/usr/share/zoneinfo um und setzen Sie diese dann in
/etc/timezone. Bitte vermeiden Sie die
/usr/share/zoneinfo/Etc/GMT* Zeitzonen, denn deren Namen verweisen
nicht auf die erwarteten Zonen. Zum Beispiel ist GMT-8 in
Wirklichkeit GMT+8.
Befehlsauflistung
1.1: Die Zeitzoneninformationen setzen
# ls /usr/share/zoneinfo
# cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime
# nano -w /etc/timezone
Europe/Brussels
# date
Wed Mar 8 00:46:05 CET 2006
|
Achten Sie darauf, dass das Zeitzonen-Kürzel (in diesem Fall "CET") für
Ihre Gegend das Richtige ist.
|
|
Sie können den Wert von TZ in der rc-Datei Ihrer Shell auf den Teil
nach /usr/share/zoneinfo setzen (.bash_profile für
die Bash), um eine benutzerspezifische Einstellung zu erreichen. In diesem
Fall TZ="Europe/Berlin".
|
2.
Hardware-Uhr
In den meisten Installationen von Gentoo Linux ist Ihre Hardware-Uhr auf
UTC (oder GMT, Greenwich Mean Time) eingestellt und Ihre Zeitzone wird
dazu benutzt, die tatsächliche, lokale Zeit zu bestimmen. Wenn Sie aus
irgend einem Grund die Hardware-Uhr nicht auf UTC haben wollen, müssen Sie
in /etc/conf.d/hwclock (oder falls Sie Gentoo BSD benutzen:
/etc/conf.d/adjkerntz) den Wert von clock von UTC
auf local ändern.
Befehlsauflistung
1.1: Lokale oder GMT-Zeit
clock="UTC"
clock="local"
3.
Das "locale"-System
3.1 Was sind "Locales"?
Eine Locale ist eine Gruppe von Informationen, die von den meisten Programmen
benutzt werden, um länder- und sprachenspezifische Einstellungen zu ermitteln.
Die Locales und ihre Daten sind Teil der Systembibliothek und sind auf den
meisten Systemen unter /usr/share/locale zu finden. Eine Locale
ist generell nach dem Schema ab_CD benannt, wobei ab Ihr zwei-
oder dreistelliger Sprachcode (spezifiziert in ISO-639) und CD Ihr
zweistelliger Ländercode (spezifiziert in ISO-3166) ist. Oftmals werden
Varianten an die Locale-Namen angehängt, z.B. en_GB.UTF-8 oder
de_DE@euro. Bitte erforschen Sie Wikipedia, um mehr über Locales
und verwandte Artikel zu erfahren.
3.2 Umgebungsvariablen für Locales
Locale-Einstellungen sind in Umgebungsvariablen gespeichert. Diese werden
üblicherweise in /etc/env.d/02locale (für systemweite
Einstellungen) und in ~/.bashrc (für benutzerspezifische
Einstellungen) gesetzt. Die Variablen, die verschiedene Aspekte der
Locale-Einstellungen bestimmen, sind in der Tabelle unten aufgeführt.
Alle Variablen verwenden einen
Namen einer Locale im oben genannten ab_CD-Format.
| Name der Variable |
Erklärung |
| LANG |
Definiert alle Locale-Einstellungen auf einmal, wobei sie weitere
individuelle Einstellungsmöglichkeiten über die LC_* -Einstellungen
unten ermöglicht.
|
| LC_COLLATE |
Definiert die alphabetische Sortierung von Strings. Dies beeinflusst z.B.
die Ausgabe einer sortierten Verzeichnisauflistung.
|
| LC_CTYPE |
Definiert die Eigenschaften des Systems für die Verarbeitung der Zeichen.
Dies legt fest, welche Zeichen als Teil des Alphabets, der Zahlen, usw.
angesehen werden. Falls geeignet legt dies auch den genutzten Zeichensatz
fest.
|
| LC_MESSAGES |
Lokalisierungen von Programmen, die das nachrichtenbasierte
Lokalisierungsschema verwenden (die Mehrheit der Gnu-Programme,
siehe nächstes Kapitel für nähere Informationen, welche das sind und
wie man die, die das nicht verwenden, dazu bringt zu funktionieren).
|
| LC_MONETARY |
Definiert Währungseinheiten und das Formatieren von währungsbezogenen
Werten.
|
| LC_NUMERIC |
Definiert die Formatierung von Werten, die nichts mit Geld zu tun haben.
Beeinflusst Dinge wie das Tausender- oder Dezimaltrennzeichen.
|
| LC_TIME |
Definiert die Formatierung von Datums- und Zeitangaben. |
| LC_PAPER |
Definiert die Standard-Papiergröße. |
| LC_ALL |
Eine spezielle Variable, die alle anderen Einstellungen überschreibt.
|
|
Einige Programme sind so geschrieben, dass sie die traditionelle englische
Sortierung des Alphabets erwarten, während einige Locale, insbesondere
die estnische, eine abweichende Sortierung benutzen. Deswegen wird empfohlen,
LC_COLLATE ausdrücklich auf C zu setzen, wenn Sie mit systemweiten
Einstellungen umgehen.
|
|
Vom Gebrauch von LC_ALL wird energisch abgeraten, da diese Variable später nicht
einfach überschrieben werden kann. Bitte benutzen Sie es nur zum Testen und
setzen Sie es niemals in einer Startdatei.
|
Für gewöhnlich setzen die meisten Benutzer nur die LANG-Variable auf globaler
Basis. Dieses Beispiel ist für eine Unicode-Deutsch-Locale:
Befehlsauflistung
2.1: Setzen der Standard-System-Locale in /etc/env.d/02locale
LANG="de_DE.UTF-8"
LC_COLLATE="C"
|
Verwenden Sie de_DE@euro als Ihre LANG, wenn Sie das Euro-Währungssymbol
(€) mit nicht-UTF-8-basierten Locales nutzen wollen.
|
Es ist auch möglich, und besonders in eher traditionellen UNIX-Umgebungen
üblich, die globalen Einstellungen unverändert zu lassen, d.h.
auf der "C" Locale.
Anwender können immer noch ihre bevorzugte Locale in ihrer eigenen
Shell-RC-Datei festlegen:
Befehlsauflistung
2.2: Setzen der Anwender-Locale in ~/.bashrc
export LANG="de_DE.UTF-8"
export LC_COLLATE="C"
Ein anderer Weg sein System zu konfigurieren ist es, es in der C Locale zu
belassen, aber gleichzeitig die UTF-8-Zeichendarstellung zu aktivieren.
Diese Variante wird durch die folgenden Einstellungen in
/etc/env.d/02locale ermöglicht:
Befehlsauflistung
2.3: Benutzen der traditionellen C-Locale, wobei UTF-8 eingestellt wird
LC_CTYPE=de_DE.UTF-8
Wenn sie den obigen Schnipsel benutzen, werden Anwender in der Lage sein,
lokalisierte Dateinamen ordentlich zu sehen, ohne gezwungen zu sein,
Ihre bevorzugte Sprache zu benutzen.
Damit nachrichtenbasierte Lokalisierung in Programmen, die es unterstützen,
funktioniert, müssen Sie diese Programme mit gesetztem USE-Flag nls
(Native language support) kompilieren. Die meisten Programme, die nls
verwenden, benötigen ebenfalls die gettext-Bibliotheken, um lokalisierte
Meldungen extrahieren und benutzen zu können. Natürlich wird Portage dies
automatisch installieren, wenn benötigt.
Sobald Sie die richtige Locale gesetzt haben, müssen Sie sicherstellen, dass
Sie Ihre Umgebungsvariablen aktualisieren, um Ihrem System die Veränderung
bekannt zu machen.
Befehlsauflistung
2.4: Aktualisierung der Umgebung
# env-update && source /etc/profile
$ source ~/.bashrc
Danach müssen Sie Ihren X-Server durch Drücken von Strg-Alt-Backspace
beenden, ausloggen, dann als Benutzer wieder einloggen.
Überprüfen Sie jetzt ob die Änderungen wirksam geworden sind:
Befehlsauflistung
2.5: env-Änderungen prüfen
$ locale
Es gibt zudem noch eine zusätzliche Lokalisierungsvariable mit dem Namen
LINGUAS. Diese beeinflusst die Lokalisierungsdateien, welche in
gettext-basierten Programmen installiert werden und wählt die verwendete
Lokalisierung für einige spezifische Softwarepakete, wie z.B.
kde-base/kde-l10n und app-office/openoffice. Die Variable
erlaubt eine durch Leerzeichen getrennte Liste von Sprachcodes und
empfiehlt, dass Sie die Variable in /etc/make.conf einfügen:
Befehlsauflistung
2.6: LINGUAS in make.conf setzen
# nano -w /etc/make.conf
LINGUAS="de fi en"
3.3 Generieren von spezifischen Locales
Wahrscheinlich werden Sie nur eine oder vielleicht zwei Locales auf Ihrem
System verwenden. Sie können Locales, die Sie benötigen werden in
/etc/locale.gen angeben.
Befehlsauflistung
3.7: Locales zu /etc/locale.gen hinzufügen
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
Der nächste Schritt ist es, locale-gen auszuführen. Es wird alle Locales
erstellen, die Sie in der /etc/locale.gen Datei angegeben haben.
|
locale-gen ist in glibc-2.3.6-r4 oder neuer verfügbar. Wenn Sie
eine ältere Version von glibc haben, sollten Sie diese jetzt aktualisieren.
|
Sie können überprüfen, dass Ihre gewählten Locales verfügbar sind, indem Sie
locale -a ausführen.
4.
Tastaturlayout für die Konsole
Das von der Konsole verwendete Tastaturlayout wird in
/etc/conf.d/keymaps durch die Variable keymap gesetzt.
Gültige Werte können /usr/share/keymaps/{arch}/
entnommen werden.
i386 hat weitere Unterteilungen nach dem Layout
(qwerty/, azerty/, usw.). Einige Sprachen haben
mehrere Optionen, daher müssen Sie möglicherweise etwas experimentieren, um
entscheiden zu können, welche davon Ihren Bedürfnissen am ehesten entspricht.
Befehlsauflistung
1.1: Setzen der Keymap für die Konsole
keymap="de"
keymap="de-latin1"
keymap="de-latin1-nodeadkeys"
5.
Tastaturlayout für den X-Server
Das durch den X-Server verwendete Tastaturlayout wird in
/etc/X11/xorg.conf durch die OptionXkbLayout
angegeben.
Befehlsauflistung
1.1: Setzen der X-Keymap
Section "InputClass"
Identifier "keyboard-all"
Driver "evdev"
Option "XkbLayout" "de"
#Option "XkbModel" "pc105"
MatchIsKeyboard "on"
EndSection
Wenn Sie ein internationales Tastaturlayout haben, sollten Sie die Option
XkbModel auf pc102 oder pc105 setzen, da dies das Mappen
von zusätzlichen, tastaturspezifischen Tasten erlaubt.
Deadkeys erlaubt es Ihnen Tasten zu drücken, die nicht sofort erscheinen.
Kombiniert mit einem anderen Buchstaben produzieren sie ein einzelnes Zeichen
wie é,è,á,à, etc. Das Setzen von XkbVariant auf nodeadkeys
erlaubt es immer diese speziellen Zeichen in X-Terminals einzugeben.
Wenn Sie zwischen mehr als einem Tastaturlayout wechseln wollen (z.B. Englisch
und Russisch), müssen Sie nur ein paar Zeilen zu xorg.conf
hinzufügen, die die gewünschten Layouts und den Abkürzungsbefehl festlegen.
Befehlsauflistung
1.2: Zwischen zwei Tastaturlayouts wechseln
Section "InputClass"
Identifier "keyboard-all"
Driver "evdev"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
MatchIsKeyboard "on"
EndSection
Hier erlaubt XkbOptions Ihnen zwischen Tastaturlayouts zu wechseln indem
Sie einfach Alt-Shift drücken. Dies wird außerdem, dank der
grp_led:scroll Option, das Rollen-Licht ein- oder ausschalten. Das ist
ein nützlicher, optischer Indikator welches Tastaturlayout Sie im Moment
benutzen.
6.
KDE
Für KDE müssen Sie die Pakete kde-base/kde-l10n und
app-office/koffice-l10n installieren. Diese respektieren die zuvor
beschriebene LINGUAS Variable.
7.
Das Euro-Symbol für die Konsole
Um Ihre Konsole dazu zu bringen, das Euro-Symbol anzuzeigen, müssen Sie
consolefont in /etc/conf.d/consolefont auf eine Datei in
/usr/share/consolefonts/ setzen (ohne die Endung
.psfu.gz). lat9w-16 hat das Euro-Symbol.
Befehlsauflistung
1.1: Setzen der Konsolenschriftart
consolefont="lat9w-16"
Sie sollten sicherstellen, dass consolefont im boot-Runlevel vorhanden
ist:
Befehlsauflistung
1.2: Prüfen des richtigen Runlevels
# rc-update -v show | grep -i consolefont
Wenn kein Runlevel für consolefont angezeigt wird, dann fügen Sie es dem
richtigen Level hinzu:
Befehlsauflistung
1.3: Consolefont zu boot hinzufügen
# rc-update add consolefont boot
8.
Das Euro-Symbol in X
8.1 Die meisten Anwendungen
Das Euro-Symbol in X korrekt zum Funktionieren zu bekommen ist etwas
schwieriger. Zuerst sollten Sie die Definitionen fixed und
variable in /usr/share/fonts/misc/fonts.alias
dahingehend ändern, dass sie auf iso8859-15 anstelle von
iso8859-1 enden.
Befehlsauflistung
1.1: Setzen der Standardschriftarten von X
fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15
Manche Anwendungen verwenden ihre eigene Schriftart und Sie müssen diesen
gesondert mitteilen, dass sie eine Schriftart mit dem Euro-Symbol verwenden.
Sie können dies auf Benutzerebene in .Xdefaults festlegen
(Sie können diese Datei nach /etc/skel/ kopieren, damit neue
Benutzer sie auch verwenden können), oder aber auf globaler Ebene für alle
Anwendungen mit einer Ressource-Datei in
/usr/share/X11/app-defaults/ (wie z.B. xterm). In diesen
Dateien müssen Sie normalerweise eine bereits existierende Zeile bearbeiten,
anstatt eine neue anzulegen. Um beispielsweise Ihre Schriftart für xterm zu
ändern:
Befehlsauflistung
1.2: Setzen der Schriftarten für xterm
$ echo 'XTerm*font: fixed' >> .Xresources
$ xrdb -merge .Xresources
8.2 Das Euro-Symbol in (X)Emacs
Um das Euro-Symbol in (X)Emacs zu verwenden, fügen Sie folgendes der Datei
.Xdefaults hinzu:
Befehlsauflistung
2.3: Setzen der Schriftart für Emacs
Emacs.default.attributeFont: -*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-15
Für XEmacs (nicht das normale Emacs), müssen Sie etwas mehr tun.
In /home/user/.xemacs/init.el, fügen Sie hinzu:
Befehlsauflistung
2.4: Setzen der Schriftart für XEmacs
(define-key global-map '(EuroSign) '[€])
|
Das Symbol in [] ist das Euro-Symbol.
|
8.3 OpenOffice.org
Die aktuell stabilen app-office/openoffice und
app-office/openoffice-bin Ebuilds unterstützen die
LINGUAS Variable zur Auswahl installierter GUI
Sprachpakete. Um den Stand der GUI Übersetzung, Silbentrennung,
Rechtschreibprüfung und anderer Lokalisierungen Ihrer Sprache einzusehen,
besuchen Sie bitte die OpenOffice.Org Lokalisierungs
Webseite.
|