Locale: Unterschied zwischen den Versionen
*>Beza1e1 Kategorie hinzugefügt |
*>Harlekin K Translation of the new english article |
||
Zeile 1: | Zeile 1: | ||
[[Category: Internationailisierung (Deutsch)]] | |||
[[Category: Howtos (Deutsch)]] | |||
{{i18n_links_start}} | |||
{{i18n_entry|Deutsch|Locales konfigurieren (Deutsch)}} | |||
{{i18n_entry|English|Configuring locales}} | |||
{{i18n_entry|Česky|Nastavení locales}} | |||
{{i18n_entry|Українська|Локаль}} | |||
{{i18n_links_end}} | |||
==Einleitung== | |||
Locales werden in Linux benutzt, um die Sprache des Benutzers festzulegen. Da die locales auch den Zeichensatz der Sprache bestimmen, ist eine korrekte Einstellung dieser besonder bei Sprachen, die nicht-ASCII Zeichen benutzen, besonders wichtig. | |||
Locales werden nach folgender Syntax benannt: | |||
[language[_territory][.codeset][@modifier]] | |||
In diesem HotTo werden wir ein System instandsetzen, das die de_DE.UTF-8 locale benutzt. Dieses HowTo sowie eine andere locale zu benutzen, ist allerdings auch ohne Aufwand möglich. | |||
==Aktivieren der notwendigen locales== | |||
Als erstes müssen die locales, die von dem System unterstützt werden sollen, aktiviert werden. Dazu wird die Datei '''/etc/locale.gen''' verwendet; sie beinhaltet eine Liste aller möglichen locales. Durch auskommentieren einzelner Einträge wird diese locale aktiviert. | |||
Da wir ein deutsches, UTF-8 konformes System haben wollen, aktivieren wir zunächst de_DE.UTF-8. Aus Kompatiblitätsgründen sollten allerdings auch alle anderen locales, die mit de_DE beginnen, aktiviert werden, da Programme, die kein Unicode unterstützen diese locales benötigen. Damit müssen wir mindestens die folgenden locales aktivieren: | |||
de_DE.UTF-8 UTF-8 | |||
de_DE ISO-8859-1 | |||
de_DE@euro ISO-8859-15 | |||
Um die Änderungen in der Datei wirksam zu machen, muss als root folgender Befehl ausgeführt werden: | |||
# locale-gen | |||
Generating locales... | |||
de_DE.UTF-8... done | |||
de_DE.ISO-8859-1... done | |||
de_DE.ISO-8859-15@euro... done | |||
Generation complete. | |||
'''Hinweis:''' Obwohl es in der Regel nur eine Sprache ist, die du benutzt, ist es in manchen Situationen hilfreich bis notwendig, weitere locales zu aktivieren. Beispielsweise werden Benutzer eines multi-user Systems, die kein Deutsch sprechen, erst zufrieden sein, wenn ihre eigene Sprache vollständig unterstützt wird. | |||
==Setzen der system-weiten locale== | |||
Welche locale vom System und als Standard-locale verwendet wird, wird in der Datei '''/etc/rc.conf''' definiert. Da wir die ISO-8859-1 und die ISO-8859-15 locales lediglich aus (Rück-)Kompatiblitätsgründen aktiviert haben, tragen wir hier de_DE.utf-8 ein. | |||
LOCALE="de_DE.utf8" | |||
Die Änderung der system-weite locale wird nach einem Neustart des Computers aktiv. | |||
==Setzen der benutzerbasierten locale== | |||
Wie schon bemerkt, kann es sein, dass einige Benutzer locales definieren wollen, die nicht mit der system-weiten locale übereinstimmen. | |||
Um diesen Fall zu realisieren, muss die Variable LC_ALL in der '''~/.bashrc''' exportiert werden. | |||
Zum Beispiel kann ein Benutzer die de_DE.iso88591 locale verwenden, wobei das keinen Vorteil gegenüber der UTF-8 locale bringt, sondern sogar eher nachteilig ist. | |||
export LC_ALL=de_DE.iso88591 | |||
Diese Änderung der locales werden aktiv, sobald der Benutzer neu eingeloggt wird. Allerdings kann man die Änderung auch manuell aktivieren: | |||
source ~/.bashrc | |||
==Fehlerbehandlung== | |||
===Woher bekomme ich die Namen der verfügbaren locales?=== | |||
Die korrekten Namen aller verfügbaren locales können mittels folgenden Befehls abgerufen werden: | |||
$ locale -a | |||
===Wie kann ich prüfen, welche locales ich benutze?=== | |||
Welche locales zur Zeit benutzt werden, kann eingesehen werden, indem man einfach folgenden Befehl eingibt: | |||
$ locale | |||
===Mein Terminal unterstützt keine UTF-8 Zeichen=== | |||
Leider unterstützen einige Terminale noch kein UTF-8. In diesen Fällen solltest du dich für ein anderes Terminal entscheiden. | |||
'''Liste der Terminals, die UTF-8 unterstützen:''' | |||
* gnome-terminal | |||
* gnustep-terminal | |||
* mlterm | |||
* urxvt (rxvt-unicode) | |||
* xfce-terminal | |||
* xterm | |||
'''Hinweis:''' Diese Liste kann unvollständig sein. | |||
===xterm unterstützt keine UTF-8 Zeichen=== | |||
xterm unterstützt UTF-8 lediglich, wenn es als uxterm oder als xterm -u8 gestartet wird. | |||
Version vom 21. August 2007, 14:37 Uhr
Vorlage:I18n links start Vorlage:I18n entry Vorlage:I18n entry Vorlage:I18n entry Vorlage:I18n entry Vorlage:I18n links end
Einleitung
Locales werden in Linux benutzt, um die Sprache des Benutzers festzulegen. Da die locales auch den Zeichensatz der Sprache bestimmen, ist eine korrekte Einstellung dieser besonder bei Sprachen, die nicht-ASCII Zeichen benutzen, besonders wichtig.
Locales werden nach folgender Syntax benannt:
[language[_territory][.codeset][@modifier]]
In diesem HotTo werden wir ein System instandsetzen, das die de_DE.UTF-8 locale benutzt. Dieses HowTo sowie eine andere locale zu benutzen, ist allerdings auch ohne Aufwand möglich.
Aktivieren der notwendigen locales
Als erstes müssen die locales, die von dem System unterstützt werden sollen, aktiviert werden. Dazu wird die Datei /etc/locale.gen verwendet; sie beinhaltet eine Liste aller möglichen locales. Durch auskommentieren einzelner Einträge wird diese locale aktiviert.
Da wir ein deutsches, UTF-8 konformes System haben wollen, aktivieren wir zunächst de_DE.UTF-8. Aus Kompatiblitätsgründen sollten allerdings auch alle anderen locales, die mit de_DE beginnen, aktiviert werden, da Programme, die kein Unicode unterstützen diese locales benötigen. Damit müssen wir mindestens die folgenden locales aktivieren:
de_DE.UTF-8 UTF-8 de_DE ISO-8859-1 de_DE@euro ISO-8859-15
Um die Änderungen in der Datei wirksam zu machen, muss als root folgender Befehl ausgeführt werden:
# locale-gen Generating locales... de_DE.UTF-8... done de_DE.ISO-8859-1... done de_DE.ISO-8859-15@euro... done Generation complete.
Hinweis: Obwohl es in der Regel nur eine Sprache ist, die du benutzt, ist es in manchen Situationen hilfreich bis notwendig, weitere locales zu aktivieren. Beispielsweise werden Benutzer eines multi-user Systems, die kein Deutsch sprechen, erst zufrieden sein, wenn ihre eigene Sprache vollständig unterstützt wird.
Setzen der system-weiten locale
Welche locale vom System und als Standard-locale verwendet wird, wird in der Datei /etc/rc.conf definiert. Da wir die ISO-8859-1 und die ISO-8859-15 locales lediglich aus (Rück-)Kompatiblitätsgründen aktiviert haben, tragen wir hier de_DE.utf-8 ein.
LOCALE="de_DE.utf8"
Die Änderung der system-weite locale wird nach einem Neustart des Computers aktiv.
Setzen der benutzerbasierten locale
Wie schon bemerkt, kann es sein, dass einige Benutzer locales definieren wollen, die nicht mit der system-weiten locale übereinstimmen. Um diesen Fall zu realisieren, muss die Variable LC_ALL in der ~/.bashrc exportiert werden. Zum Beispiel kann ein Benutzer die de_DE.iso88591 locale verwenden, wobei das keinen Vorteil gegenüber der UTF-8 locale bringt, sondern sogar eher nachteilig ist.
export LC_ALL=de_DE.iso88591
Diese Änderung der locales werden aktiv, sobald der Benutzer neu eingeloggt wird. Allerdings kann man die Änderung auch manuell aktivieren:
source ~/.bashrc
Fehlerbehandlung
Woher bekomme ich die Namen der verfügbaren locales?
Die korrekten Namen aller verfügbaren locales können mittels folgenden Befehls abgerufen werden:
$ locale -a
Wie kann ich prüfen, welche locales ich benutze?
Welche locales zur Zeit benutzt werden, kann eingesehen werden, indem man einfach folgenden Befehl eingibt:
$ locale
Mein Terminal unterstützt keine UTF-8 Zeichen
Leider unterstützen einige Terminale noch kein UTF-8. In diesen Fällen solltest du dich für ein anderes Terminal entscheiden.
Liste der Terminals, die UTF-8 unterstützen:
- gnome-terminal
- gnustep-terminal
- mlterm
- urxvt (rxvt-unicode)
- xfce-terminal
- xterm
Hinweis: Diese Liste kann unvollständig sein.
xterm unterstützt keine UTF-8 Zeichen
xterm unterstützt UTF-8 lediglich, wenn es als uxterm oder als xterm -u8 gestartet wird.