Ziel
Alles soll deutsch sein:
- KDM/GDM Loginprompt
- Menus und Programme aus dem gestarteten Window-Manager heraus
- Programme/Manpages nach Konsolenlogin
- Programme/Manpages aus xterm gestartet
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:
... source /etc/environment
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
Details über die einzenlen 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
openoffice.org-l10n-de - German language package for OpenOffice.org
- openoffice.org-help-de
- kde-i18n-de - German (de) internationalized (i18n) files for KDE
- locales - GNU C Library: National Language (locale) data ["support"]
Umgebungsvariabeln
Werden an verschiedenen Orten gesetzt. Aber welche sind nötig und welche nicht?
- LANG: scheint wichtig zu sein
- LANGUAGE: ebenfalls (zumindest bei Manpages; unterschied?)
- LC_ALL: vermutlich default für alle LC_ die jetzt folgen
- LC_COLLATE: text sorting and comparison functions
- LC_CTYPE: character classification and handling
- LC_MESSGES: language of displayed messages
- LC_MONETARY: formatting of monetary values
- LC_NUMERIC: formatting of non-monetary numeric data
- LC_TIME: formatting of time-of-day display
- CHARSET: ???
LC_ALL=de_DE
- de_DE : Deutschland
- de_CH : deutssprachige Schweiz
- de_CH.UTF-8 : [UTF-8] noch dazu.
- Vollständige Liste: /usr/share/i18n/SUPPORTED
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üssungssprache des Loginmanagers.
kdm
Als root kann man im KDE-Knotrollzentrum die Sprache der Begrüssung ä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
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?
Links
[http://www.linuxdig.com/howto/ldp/German-HOWTO.php German-HOWTO]