Autoren:

Alexander Holler
Autor

Steven Lucy
Übersetzer/Bearbeiter

Benny Chuang
Bearbeiter

Lars Weiler
Bearbeiter

Tobias Scherbaum
Bearbeiter

Flammie Pirinen
Bearbeiter

nightmorph
Bearbeiter

klondike
Bearbeiter

Frank Schmitt
Übersetzer

Timo Rothweiler
Übersetzer

Sebastian Westermayer
Übersetzer

Tobias Heinlein
Übersetzer

Martin Winkler
Übersetzer
2011-09-12, Rev. 2

Gentoo 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
(Angenommen Sie möchten Brüssel verwenden)
(Kopieren Sie als erstes die korrekte Zeitzone nach
localtime)
# cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime
(Geben Sie jetzt Ihre Zeitzone an)
# nano -w /etc/timezone
Europe/Brussels

# date
Wed Mar  8 00:46:05 CET 2006
Notiz
Achten Sie darauf, dass das Zeitzonen-Kürzel (in diesem Fall "CET") für Ihre Gegend das Richtige ist.
Notiz
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
(empfohlen:)
clock="UTC"
(oder:)
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.
Notiz
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.
Warnung
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"
Notiz
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
(Für eine systemweite Standard-Locale:)
# env-update && source /etc/profile

(Für eine benutzerspezifische Locale:)
$ 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
(Fügen Sie die LINGUAS Variable hinzu. Zum Beispiel für Deutsch,
Finnisch und Englisch:)
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.

Notiz
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
(In Ihrem home-Verzeichnis)
$ 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) '[€])
Notiz
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.



Kontakt | Impressum
Gentoo ® ist eine eingetragene Marke des Förderverein Gentoo e.V.