3.22 Internationalisierung und Lokalisierung

Die im Debian-Projekt eingesetzte Software ist in weiten Bereichen bereits an die Belange der nicht-englischsprachigen Benutzer angepasst. Diese Aufgabe ist für die Entwickler und Übersetzer nicht leicht zu bewerkstelligen, da in den seltensten Fällen eine wörtliche Übersetzung ausreichen würde. In den Programm-Menüs könnte man die meisten Ergebnisse noch akzeptieren, die Übersetzung der Online-Hilfe, der Manpages und der Dokumentation stellt aber eine echte Herausforderung dar.

Ein Vorteil, den die freie Software in diesem Bereich ausspielen kann, ist aber sicher die weltweit verteilte Entwicklung. Hierdurch wird es jedem Benutzer, auch Nicht-Programmierern, ermöglicht, an Entwicklungsprojekten teilzunehmen.

Doch wie benutzt man nun die bereits übersetzten Programme? Die Steuerung der gewünschten Sprache erfolgt über eine Umgebungsvariable. Wenn Sie nach der Installation keine Veränderungen an Ihrem System vorgenommen haben, so sollte die Variable LANG den Wert C haben: Damit wird die Sprache Englisch verwendet. Sie können den Wert der Variablen mit dem Kommando echo auf der Kommandozeile prüfen.

fr@sushi:~$ echo $LANG
C

Das Verhalten lässt sich relativ gut an weit verbreiteten Kommandos prüfen, bei denen man davon ausgehen kann, dass bereits eine Übersetzung in viele Sprachen existiert. Das Kommando ls ist recht gut geeignet.

fr@sushi:~$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuSUX nor --sort.

  -a, --all                  do not hide entries starting with .
...

Das war zu erwarten und sollte so weit bekannt sein... Setzen Sie nun die Variable auf einen anderen Wert. Da Sie dieses Buch lesen, wird Sie vielleicht die deutsche Sprache interessieren:

fr@sushi:~$ export LANG=de_DE
fr@sushi:~$ ls --help
Benutzung: ls [OPTION]... [DATEI]...
Auflistung von Informationen der DATEIen (Standardvorgabe ist das momentane
Verzeichnis). Alphabetisches Sortieren der Einträge, falls weder -cftuSUX 
noch --sort angegeben.

  -a, --all                  Einträge, die mit . beginnen, nicht verstecken.
...

Diese Einstellungen sind in dieser Form lediglich für die aktuelle Shell gültig. Wenn die Spracheinstellungen für das gesamte System geändert werden sollen, so können die Veränderungen in den Konfigurationsdateien im Verzeichnis /etc vorgenommen werden. Eleganter ist es aber, die Debian Werkzeuge für diese Aktionen zu benutzen.

Das Paket locales enthält zunächst die notwendigen Dateien, um verschiedene Sprachen auf einem Debian System nutzen zu können. Diese nehmen relativ viel Platz auf der Festplatte ein. Normalerweise werden auf einem System nur die wenigsten der enthaltenen Sprachen benötigt. Wenn das Paket localepurge installiert wird, so wird regelmäßig geprüft, welche dieser Dateien wirklich benötigt werden; alle anderen werden gelöscht.

Während der Installation des Pakets locales wird die Konfiguration des Pakets vorgenommen. Nachträglich kann dies mittels dpkg-reconfigure locales geschehen.

Abbildung 3.2. Konfiguration des Pakets locales - Auswahl der zu installierenden Sprachen

Konfiguration des Pakets „locales“ - Auswahl der zu installierenden Sprachen


Zunächst sind die auf dem System gewünschten Sprachen und Zeichensätze zu wählen. Die hier gemachten Angaben werden in der Datei /etc/locale.gen gespeichert. Einträge in dieser Datei können auch von Hand vorgenommen werden; in diesem Fall ist nach der Änderung das Kommando locale-gen auszuführen. Im hier gezeigten Beispiel werden alle mit de_DE beginnenden Werte ausgewählt, insbesondere auch die Euro-Variante. Die Benutzung des Euro-Zeichens ist unter Debian GNU sehr einfach möglich; Informationen hierzu finden Sie im Abschnitt Euro-Symbol .

Abbildung 3.3. Konfiguration des Pakets locales - Auswahl der voreingestellten Sprache

Konfiguration des Pakets „locales“ - Auswahl der voreingestellten Sprache


Im nächsten Schritt kann nun aus den eben gewählten Sprachen die für das gesamte System gültige Sprache gewählt werden. Dieser Wert sollte nur dann auf einen anderen Wert als C gestellt werden, wenn Sie sicher sind, dass dies keinen Einfluss auf wichtige Funktionen hat. Sind beispielsweise Skripts zur Systemadministration geschrieben worden, die Ausgaben von Programmen auswerten, so kann es nun passieren, dass diese Ausgaben in einer anderen Sprache erscheinen. Das Skript kann diese Ausgaben nun nicht mehr korrekt auswerten. In diesem Fall wird die Einstellung besser auf dem Wert C belassen.

[Tipp]Setzen von Umgebungsvariablen

Skripts sollten immer selbst dafür sorgen, dass alle Umgebungsvariablen richtig gesetzt sind. Um die Spracheinstellungen zu setzen, kann in jedes Skript die Zeile export LANG=C eingefügt werden.

 Impressum