Internationalisierung und Lokalisierung

Die im Debian Projekt eingesetzte Software ist in weiten Bereichen bereits auf 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 Programmmenüs könnte man die meisten Ergebnisse noch akzeptieren, die Übersetzung der Onlinehilfe, 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öglich 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, somit 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äßt sich recht gut an weit verbreiteten Kommandos prüfen, bei denen man davon ausgehen kann das 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 soweit 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 momentante
Verzeichnis). Alphabetsches 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 gesammte 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ässig geprüft welche dieser Dateien wirklich benötigt werden, alle anderen werden gelöscht.

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

Abbildung 3-2. Locales Konfiguration

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 sich im Abschnitt Euro Symbol

Abbildung 3-3. Locales Konfiguration

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 auf einen anderen Wert wie „C“ gestellt werden wenn Sie sicher sind das dies keinen Einfluss auf wichtige Funktionen hat. Sind beispielsweise Scripte zur Systemadministration geschrieben worden die Ausgaben von Programmen auswerten, so kann es nun passieren das diese Ausgaben in einer anderen Sprache erscheinen. Das Script kann diese Ausgaben nun nicht mehr korrekt auswerten. In diesem Fall wird die Einstellung besser auf dem Wert „C“ belassen.

Tip: Scripte sollte immer selbst dafür sorgen das alle Umgebungsvariablen richtig gesetzt sind. Um die Spracheinstellungen zu setzten kann in jedes Script die Zeile export LANG=C eingefügt werden.