Locale: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
*>Beza1e1
(Kategorie hinzugefügt)
*>Harlekin
K (Translation of the new english article)
Zeile 1: Zeile 1:
Hier wird Schritt für Schritt beschrieben wie man seine Locales erzeugt und setzt.
[[Category: Internationailisierung (Deutsch)]]
 
[[Category: Howtos (Deutsch)]]
Zuerst muss man die Datei /etc/locale.gen seinen Bedürfnissen anpassen.
{{i18n_links_start}}
Also als root folgendes ausführen:
{{i18n_entry|Deutsch|Locales konfigurieren (Deutsch)}}
 
{{i18n_entry|English|Configuring locales}}
#nano -w /etc/locale.gen
{{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.


Dort sollte man die Locales auskommentieren, welche benötigt werden.
Locales werden nach folgender Syntax benannt:
Für deutsche Locales z.B. diese:
[language[_territory][.codeset][@modifier]]


de_AT.UTF-8 UTF-8
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.
de_AT ISO-8859-1
de_AT@euro ISO-8859-15
de_BE.UTF-8 UTF-8
de_BE ISO-8859-1
de_BE@euro ISO-8859-15
de_CH.UTF-8 UTF-8
de_CH ISO-8859-1
de_DE.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
de_LU.UTF-8 UTF-8
de_LU ISO-8859-1
de_LU@euro ISO-8859-15


Wenn die gewünschten Locales auskommentiert sind die Datei speichern und als root
==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.


  #locale-gen
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


ausführen. Dann sollte man im Terminal sehen welche Locales gerade erstellt werden.
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.


Jetzt muss nur noch in der /etc/rc.conf das richtige Locale gesetzt werden.
'''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.
Wieder als root


#nano -w /etc/rc.conf
==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"


ausführen und in der Datei die Variable
Die Änderung der system-weite locale wird nach einem Neustart des Computers aktiv.


  LOCALE=
==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


auf die gewünschte Locale einstellen.
Diese Änderung der locales werden aktiv, sobald der Benutzer neu eingeloggt wird. Allerdings kann man die Änderung auch manuell aktivieren:
source ~/.bashrc


Zum Beispiel so:
==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.


LOCALE=de_AT.utf8
'''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.


Das würde eine österreichische UTF-8 Locale setzen.
===xterm unterstützt keine UTF-8 Zeichen===
 
xterm unterstützt UTF-8 lediglich, wenn es als uxterm oder als xterm -u8 gestartet wird.
Natürlich muss die dort gesetzte Locale auch vorhin in /etc/locale.gen auskommentiert und mit #locale-gen erzeugt worden sein.
 
--[[User:N-phobos|Kropa]] 10:09, 29 May 2006 (EDT)
 
[[Category: Howtos (Deutsch)]]

Version vom 21. August 2007, 15: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.