Localization/Guide/de

Zeitzonen
Damit die Systemzeit stets gültig ist, ist es notwendig, die Zeitzone des aktuellen Standorts im System zu konfigurieren. Die Anleitungen für OpenRC basierte Systeme und systemd basierte Systeme finden sich im System Time Artikel.

Was sind Locale?
Ein Locale ist ein Satz von Informationen, der von den meisten Programmen zum Ermitteln von landes- oder sprachspezifischen Einstellungen genutzt wird. Die Locale und ihre Daten sind Teil der System-Bibliotheken und werden auf den meisten Systemen unter gespeichert. Der Name eines Locale folgt dem Schema, wobei   ein zwei- oder dreibuchstabiger Sprachcode nach ISO-639 und   ein Ländercode nach ISO-3166 ist. Häufig werden Varianten wie  oder   an den Locale Namen angehängt, also beispielsweise   oder. Wenn Sie mehr über Locale erfahren möchten, lesen Sie bitte diesen Wikipedia Artikel und folgen Sie den dort angegebenen Quellen.

Umgebungsvariablen für Locale
Die folgende Tabelle zeigt die Variablen, mit denen verschiedene Aspekte einer Lokalisierung gesteuert werden. Jede Variable kann auf den Namen eines Locale im oben beschriebenen  Format gesetzt werden.

Für gewöhnlich setzen die meisten Anwender nur die LANG Konfigurationsvariable global.

Erzeugen bestimmter Locale
Die meisten Benutzer werden wahrscheinlich ein oder zwei Locale auf ihrem System benutzen. Wenn weitere Locale installiert werden sollen, sind diese in anzugeben.

Der nächste Schritt ist die Ausführung von. Dies erzeugt alle in konfigurierten Locale und schreibt diese in das Locale-Archiv unter.

Überprüfen Sie die Verfügbarkeit der Locale mit dem Befehl.

Der Inhalt von kann durch den Befehl  angezeigt werden.

Eine ungefilterte Anzeige bekommt man durch das Kommando.

OpenRC
Bei der Benutzung von OpenRC werden die Locale Einstellungen in Umgebungsvariablen gespeichert, die systemweit in und benutzerspezifisch in  eingestellt werden. Weitere Einzelheiten finden sich im Artikel zu UTF-8. Die systemweiten Einstellungen  können durch  verwaltet werden. Im folgenden Beispiel wird der Wert der Variablen LANG auf den Wert  gesetzt:

Natürlich ist es auch möglich, die Datei von Hand zu editieren und die Locale Variablen zu verändern.

The command above lists the suffix in lower case without any hyphens, glibc understands both forms of the suffix, many other programs don't. The most common example of which is X. So it is best to always use UTF-8 in preference to utf8.

In Einzelfällen kann es vorkommen, dass Anwender fehlerhafte Darstellungen in nicht-englischen Locale-Umgebungen erhalten. Vor einiger Zeit ist dies beispielsweise bei dem Programm Krusader aufgetreten (siehe https://bugs.kde.org/show_bug.cgi?id=371582). In diesem Fall kann es helfen, eine möglicherweise vorhandene Zeile  in der Datei  zu entfernen.

In mehr traditionellen UNIX-Umgebungen ist es gebräuchlich, die globalen Einstellungen unverändert auf der  Locale zu belassen. Die Benutzer können die von ihnen bevorzugte Locale dann in ihrer eigenen Shell-Konfigurationsdatei setzen.

Eine andere Möglichkeit, das System zu konfigurieren, besteht darin, die Standardeinstellung  beizubehalten, aber gleichzeitig die UTF-8 Zeichencodierung zu aktivieren. Dieses Verhalten wird mit den folgenden Einstellungen in erreicht:

Mit dem obigen Snippet können Benutzer lokalisierte Dateinamen richtig sehen, während sie nicht gezwungen werden, die ausgewählte Sprache vollständig zu benutzen.

Sobald die richtige Locale eingerichtet ist, müssen Sie die Umgebungsvariablen aktualisieren, um das System auf die Änderung aufmerksam zu machen.

Für eine Änderung der systemweiten Locale:

Für eine Änderung der benutzerspezifischen Locale:

Falls ein X-Server läuft, sind die nächsten Schritte: Beenden des X-Servers durch ++, ausloggen und als User (nicht als root) wieder einloggen.

Prüfen Sie, ob die Änderungen erfolgreich waren:

The values of locale environment variables that have been explicitly set e.g. in an export statement (if using bash) are listed without double quotes. Those whose value has been inherited from other locale environment variables have their values in double quotes.

systemd
Bei Systemd kommt das Kommando zum Einsatz. Die verfügbaren Locale listet der folgende Befehl auf:

Setzen der gewünschten Locale:

Die Änderung überprüfen:

OpenRC
Das von der Konsole verwendete Tastaturlayout wird durch die Variable keymap in gesetzt. Gültige Werte finden Sie unter. Das Unterverzeichnis enthält weitere Unterteilungen nach dem Tastatur-Layout (,, usw.). Für einige Sprachen (wie beispielsweise Deutsch) sind mehrere Varianten verfügbar (beispielsweise de-latin1.map.gz und alternativ de-latin1-nodeadkeys.map.gz). Experimentieren Sie mit den Varianten - dann können Sie entscheiden, welche Ihre Bedürfnisse am besten erfüllt.

systemd
Bei systemd kann das Tastaturlayout, das für die Konsole verwendet wird, mit dem Befehl gesetzt werden. Prüfen Sie zunächst die verfügbaren Tastaturlayouts:

Dann setzen Sie das gewünschte Tastaturlayout:

Testen Sie, ob der Befehl erfolgreich war:

OpenRC
Das vom X-Server zu verwendende Tastaturlayout wird in der Variablen XkbLayout in angegeben. Für Details besuchen Sie den Xorg Guide und den Artikel über Keyboard Layout Switching.

systemd
Bei systemd kann das Tastaturlayout, das für den X11 Server verwendet wird, mit dem Befehl gesetzt werden. Prüfen Sie zunächst die für X11 verfügbaren Tastaturlayout:

Setzen Sie das gewünschte Tastaturlayout:

Testen Sie, ob der Befehl erfolgreich war:

Native Language Support
Viele Linux Programme unterstützen Native Language Support (NLS). Ein großer Teil dieser Programme realisiert NLS mit Hilfe von GNU gettext. Unter Gentoo Linux kann über das USE-Flag  gesteuert werden, ob die NLS-Funktionen von gettext-basierten Programme auch compiliert und installiert werden. Wenn Sie NLS wünschen, sollten Sie das USE-Flag  setzen (entweder global in der Datei  oder für einzelne Pakete in ). Programme, die NLS mit Hilfe von gettext realisieren, benötigen die gettext-Bibliothek. Selbstverständlich wird Portage gettext automatisch installieren, wenn es benötigt wird.

Das gettext-System speichert die Text-Bausteine für die einzelnen Sprachen in.

Nachdem Sie das  USE-Flag gesetzt haben, müssen vermutlich einige Pakete neu installiert werden:

LINGUAS
Zumindest bis 2016 hatte die Variable LINGUAS zwei verschiedene Bedeutungen in Gentoo Linux (siehe dieser Blog-Artikel):
 * Zum einen konnte über diese Variable gesteuert werden, welche Lokalisierungen und Sprachpakete der Gentoo Paket-Manager installieren soll.
 * Zum anderen konnte über diese Variable gesteuert werden, welche Lokalisierungen gettext-basierte Pakete beim Compilieren von Paketen generieren und installieren sollen.

Um diese Doppeldeutigkeit zu entfernen, wurde beschlossen, den Gentoo Paket-Manager nicht mehr über die Variable LINGUAS, sondern über die Variable L10N zu steuern. Dabei hat sich auch die Syntax einiger Language Codes geändert. Siehe dieses News-Item

Heute sollte die Steuerung der vom Gentoo Paket-Manager zu installierenden Lokalisierungen über die Variable L10N erfolgen (siehe nächster Abschnitt). Die Variable LINGUAS kann zur Steuerung von gettext verwendet werden (wenn das benötigt wird).

Wenn Sie die Variable LINGUAS verwenden wollen, sollten Sie sie am besten in definieren. Ihr Wert ist eine "Leerzeichen"-separierte Liste von Language Codes:

Eine Liste der erlaubten Werte finden Sie im gettext Handbuch.

Bitte beachten Sie, dass es einen großen Unterschied gibt zwischen einer nicht gesetzten Variable LINGUAS und einer, die auf den leeren String gesetzt ist. Im zweiten Fall werden die meisten ebuilds nur die Standard-Sprache des Paktes installieren, nicht aber die  Dateien.

L10N
Eine USE_EXPAND Variable namens L10N steuert bei einigen Gentoo Paketen, welche zusätzlichen Lokalisierungen und Sprachpakete heruntergeladen und installiert werden. Ähnlich wie bei der Variable LINGUAS, sollte die Variable in der Datei definiert werden. Ihr Wert ist eine "Leerzeichen"-separierte Liste von Language Tags:

Sie können die Variable auch für einzelne einzelne Pakete setzen. Editieren Sie dafür die Datei und setzen Sie die Language Tags mit vorangestelltem "l10n_", wie in folgendem Beispiel:

Bitte beachten Sie, dass die aus 2 Buchstaben bestehenden Language Codes (beispielsweise  oder  ) sowohl bei LINGUAS, als auch bei L10N verwendet werden können. Komplizierte Einträge haben eine unterschiedliche Syntax:
 * LINGUAS verwendet die im gettext-Handbuch beschriebene Syntax
 * L10N verwendet IETF language tags (aka BCP 47)

So werden beispielsweise die LINGUAS -Einträge  und   bei L10N zu   und.

Eine Liste der erlaubten Werte für die Variable L10N finden Sie in der Datei :

Nachdem Sie die L10N USE_EXPAND Variable gesetzt haben, müssen vermutlich einige Pakete neu installiert werden:

Weiterführende Informationen

 * Konfiguration der Locale (Gentoo Handbook)
 * Keyboard layout inside the Evdev article
 * X resources

Quellenangaben

 * Locales and Internationalization (gnu.org)
 * L10N USE_EXPAND variable replacing LINGUAS
 * Michał Górny: How LINGUAS are thrice wrong!
 * [gentoo-dev [RFC] How to deal with LINGUAS mess? ]
 * [gentoo-dev [RFC] Masterplan for solving LINGUAS problems ]