In diesem HowTo soll beschrieben werden, wie man eine englischsprachige Debian Installation in eine deutschsprachige umwandeln kann.

Dazu müssen die folgenden Komponenten betrachtet werden:

Kürzester Weg

Ausgangslage: komplette nur-englische Debianinstallation. (!!Warnung!! Noch unfertig, bitte ergänzen und vereinfachen)

apt-get install task-german

Für Entwickler: apt-get install manpages-de-dev

Editiere /etc/environment:

 LANG=de_DE
 export LANG
 LANGUAGE=de_DE
 export LANGUAGE
 LC_ALL=de_DE
 export LC_ALL

Ergänze diese Zeile in /etc/profile:

 ...
 source /etc/environment
 ...

Ebenso in /etc/X11/Xsession: {{{ ...

}}}

 PROGNAME=Xsession
 ... 

Für kdm: X11-Login als root, kcontrol starten, ganz unten den kdm auf deutsch umstellen.

Und wieder zurück

Leider trifft man immer mal wieder eine übertriebene oder einfach veraltete Übersetzungen einer manpage. Da hilft (bash):

LANGUAGE=en man foobar

Probleme

Hilft alles nichts, so ist möglicherweise das Packet localepurge installiert. Dieses löscht recht radikal alle Übersetzungen um ca. 20M Festplattenplatz zu sparen, wenn es nicht/falsch konfiguriert wurde. Apt-get remove localepurge reicht nicht aus, weil auch die Übersetzungsdateien wieder installiert werden müssen. Unbedingt die Dokumentation in /usr/share/doc/localepurge lesen!

Details über die einzelnen Mitspielern folgen:

Pakete

task-german

Depends: user-de, manpages-de, wngerman || wgerman, ingerman || igerman, doc-linux-de, trans-de-en, ding

user-de

Description: Settings for German speaking users

Das Packet enthält /etc/language-de mit Umgebungsvariabeln, die aber nach der Installation noch nirgends benutzt werden (glaube ich). In /usr/share/doc/user-de/README liest man nach wie man es einrichten soll.

localeconf

Fragt bei der Installation, ob es /etc/environment und /etc/locale.gen verwalten soll. Fragt nach der "default locale" und wird darauf die LANG-Variable im /etc/environment setzen.

Sonstige

Umgebungsvariabeln

Werden an verschiedenen Orten gesetzt. Aber welche sind nötig und welche nicht?

LC_ALL=de_DE

Files

/etc/environment

Kann von teilweise von debconf (dpkg-reconfigure localeconf) verwaltet werden. Wann wird es von wem gelesen? Wird beim Booten von /etc/init.d/console-screen.sh gelesen, und je nach Eintrag sollte die Konsole in einen „Unicode-fähigen“ Zustand versetzt werden oder auch nicht. console-screen.sh ist Teil des Pakets console-tools. Export-Befehle scheinen nicht nötig (aber evtl. doch sinnvoll?) zu sein.

/etc/profile

Wird von der shell (bash, etc.) gelesen. Ein export-Befehl für jede gesetzte Variable scheint nötig zu sein.

/etc/language-de

Wird per default nicht gelesen. Siehe oben beim Packet user-de.

/etc/locale.gen

Kann teilweise von depconf (dpkg-reconfigure localeconf) verwaltet werden. Ich glaube nicht, dass man dort von Hand rumfingern muss.

Graphisches Login

Ein beliebtes Problem ist, dass der vom Loginmanager gestartete Windowmanager die Umgebungsvariablen nicht gesetzt hat. Daher kommen aus dem Menu gestartete Programme auf englisch, aus dem xterm heraus aber deutsch. Keine Idee wo man da suche sollte... bereits vor dem Start des Loginmanagers oder beim Loginmanager selber?

Ein zweites Thema ist die Begrüßungssprache des Loginmanagers.

kdm

Als root kann man im KDE-Kontrollzentrum die Sprache der Begrüßung ändern. (Das ist nicht der Sinn der Sache, gibt es eine Möglichkeit dass sich das Ding an die globalen Einstellungen hält? Wenn ja an welche?)

gdm

...

UTF-8

Warnung: Diese Informationen sind veraltet. Seit Debian Etch wird UTF-8 standardmäßig verwendet werden und sollte keine Probleme bereiten.

Sollte möglichst global umgestellt werden oder dann gar nicht. Leider müssen sehr viele Dinge mitspielen, und es ist je nach Programm Ärger zu erwarten. Theorie: man stellt es an EINEM Ort um. Praxis: man bringt es den vielen Programmen einzeln bei, falls sie es überhaupt beherrschen.

CHARSET=ISO-8859-1 (umgebungsvariable; wozu? unbedingt nötig?)

xchat

Wurde noch nicht global auf UTF-8 umgestellt kann man in der Serverliste für jeden Server selektiv umstellen.

less

Evtl. Umgebungsvariable LESSCHARSET=utf-8 (z.Z. nur in der englischen manpage erwähnt)

emacs

Wie kann man ein UTF-8 file dort betrachten (wenn nicht global umgestellt wurde)? C-x RET c utf-8 RET C-x C-f bewirkt keinen Unterschied... oder existiert ein simples externes Kommando zur Konvertierung solcher Dateien?

siehe auch

German-HOWTO