Locale: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(den veralteten, redundanten (AL auf deutsch stellen) artikel mal modernisiert, und zu einem „technischen“ artikel umgestaltet, damit er das macht, was die überschrift verspricht: locales erklären …)
K (→‎Aktivierung und Verwendung: en_DK auch hier raus)
 
(5 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
''Locales'' werden unter Linux Benutzt, um die Systemsprache, sowie weitere Eigenschaften festzulegen. Dies beinhaltet Fehlermeldungen, je nach Programm auch Logeinträge, die Benutzerschnittstelle, oder das GUI. Zudem werden auch Formatierungen (Zahlen, Sortier-RAngfolge, Währungsinformationen, Papiergröße, etc.) durch die Locale bestimmt.
''Locales'' werden unter Linux benutzt, um die Systemsprache, sowie weitere Eigenschaften festzulegen. Dies beinhaltet Fehlermeldungen, je nach Programm auch Logeinträge, die Benutzerschnittstelle, oder das GUI. Zudem werden auch Formatierungen (Zahlen, Sortier-Rangfolge, Währungsinformationen, Papiergröße, etc.) durch die Locale bestimmt.


Über die Locale wird zudem der verwendete Zeichensatz festgelegt, dies ist vor allem bei Sprachen, die nicht ausschließlich, oder gar keine, ASCII-Zeichen verwenden zu berücksichtigen.
Über die Locale wird zudem der verwendete Zeichensatz festgelegt. Dies ist vor allem bei Sprachen, die nicht ausschließlich, oder gar keine, ASCII-Zeichen verwenden zu berücksichtigen.


== Aufbau ==
== Aufbau ==
Zeile 8: Zeile 8:
  Sprache[_Region][.Kodierung][@Modifikator]
  Sprache[_Region][.Kodierung][@Modifikator]


Einzig die Angabe zur Sprache ist verbindlich. Region, Kodierung, und Modifikator sind optionale Angaben
Einzig die Angabe zur Sprache ist verbindlich. Region, Kodierung, und Modifikator sind optionale Angaben.


=== Sprache und Region ===
=== Sprache und Region ===
Zeile 17: Zeile 17:
  es_CU
  es_CU


Damit sind bereits gültige Locales vorhanden. Im Beispiel „deutsches Deutsch“, amerikanisches Englisch und kubanisches Spanisch. Eine Liste der Verfügbaren Locales stellt zum einen die unveränderte Datei {{ic|/etc/locale.gen}} aus dem Paket {{paket|glibc}} dar, ist über die Dateien in {{ic|/usr/share/i18n/locales}} zu finden, aber auch im Netz zum Beispiel über den ''Locale Helper'' (siehe Weblinks) abrufbar.
Damit sind bereits gültige Locales vorhanden. Im Beispiel „deutsches Deutsch“, amerikanisches Englisch und kubanisches Spanisch. Eine Liste der verfügbaren Locales stellt zum einen die unveränderte Datei {{ic|/etc/locale.gen}} aus dem Paket {{paket|glibc}} dar, ist über die Dateien in {{ic|/usr/share/i18n/locales}} zu finden, aber auch im Netz zum Beispiel über den ''Locale Helper'' (siehe Weblinks) abrufbar.


=== Kodierung ===
=== Kodierung ===
Neben der eigentlichen Sprach- und Regionsangabe ist die wichtigste Angabe einer Locale die Kodierung. Viele Sprachen benötigen diverse diakritische Zeichen (Umlaute-Punkte im Deutschen, Akut und Gravis im Französischen, Cedille im Türkischen, und dergleichen), die an den Grundbuchstaben angebracht werden (zum Beispiel {{ic|o}} + {{ic|¨}} = {{ic|ö}}, oder {{ic|c}} + {{ic|¸}} = {{ic|ç}}).
Neben der eigentlichen Sprach- und Regionsangabe ist die wichtigste Angabe einer Locale die Kodierung. Viele Sprachen benötigen diverse diakritische Zeichen (Umlaut-Punkte im Deutschen, Akut und Gravis im Französischen, Cedille im Türkischen, und dergleichen), die an den Grundbuchstaben angebracht werden (zum Beispiel {{ic|o}} + {{ic|¨}} = {{ic|ö}}, oder {{ic|c}} + {{ic|¸}} = {{ic|ç}}).


Diese Definitionen, sowie generell die Repräsentation eines Zeichens als Bitfolge, wird über die Zeichenkodierung bestimmt. Diese Angabe wird an die Locale durch einen Punkt getrennt angehängt.
Diese Definitionen, sowie generell die Repräsentation eines Zeichens als Bitfolge, wird über die Zeichenkodierung bestimmt. Diese Angabe wird an die Locale durch einen Punkt getrennt angehängt.
Zeile 28: Zeile 28:
  es_CU.utf8
  es_CU.utf8


Heutzutage wird gemeinhin UTF-8 verwendet. UTF-8 ist die am weitesten verbreitetste Kodierung für Unicode-Zeichen. Es ist kompatibel mit ASCII (der 128 Zeichen umfassende ASCII-Zeichensatz wird durch die ersten 128 UTF-8-Zeichen abgebildet), kann variabel bis zu vier Byte je Zeichen verwenden und deckt somit den gesamten Unicode-Zeichenbereich ab.
Heutzutage wird gemeinhin UTF-8 verwendet. UTF-8 ist die am weitesten verbreitete Kodierung für Unicode-Zeichen. Es ist kompatibel mit ASCII (der 128 Zeichen umfassende ASCII-Zeichensatz wird durch die ersten 128 UTF-8-Zeichen abgebildet), kann variabel bis zu vier Byte je Zeichen verwenden und deckt somit den gesamten Unicode-Zeichenbereich ab.


=== Modifikator ===
=== Modifikator ===
Der Modifikator bestimmt, dass abweichend der durch die Locale bestimmten Eigenschaften andere Eigenschaften gesetzt werden. Dies ist zum Beispiel von Bedeutung, wenn man {{ic|sr_RS}} („Serbisches Serbisch“) verwendet, dessen Eingeschaften dem Kyrillischen folgen.
Der Modifikator bestimmt, dass abweichend der durch die Locale bestimmten Eigenschaften andere Eigenschaften gesetzt werden. Dies ist zum Beispiel von Bedeutung, wenn man {{ic|sr_RS}} („Serbisches Serbisch“) verwendet, dessen Eigenschaften dem Kyrillischen folgen.


Mittels des Modifikators {{ic|latin}} wird dieses Verhalten geändert, und es werden die gängigen Westlichen Eigenschaften im Bezug auf Sortierung, etc. verwendet. Folgende Beispiele verdeutlichen den Einsatz des Modifikators.
Mittels des Modifikators {{ic|latin}} wird dieses Verhalten geändert, und es werden die gängigen westlichen Eigenschaften im Bezug auf Sortierung, etc. verwendet. Folgende Beispiele verdeutlichen den Einsatz des Modifikators.


  sr_RS.utf8@latin
  sr_RS.utf8@latin
Zeile 51: Zeile 51:


{{hc|1=~/.config/locale.conf|2=
{{hc|1=~/.config/locale.conf|2=
export LC_DATE=en_DK.utf8
export LC_DATE=de_DE.utf8
export LC_NUMERIC=en_DK.utf8
export LC_NUMERIC=de_DE.utf8
export LC_TIME=en_DK.utf8
export LC_TIME=de_DE.utf8
export LANG=de_DE.utf8}}
export LANG=de_DE.utf8}}


Hier werden vier Variablen useraccountbezogen gesetzt. Datums-, Zahl- und Zeitformatierung wird hierbei auf „Dänisches Englisch“ gesetzt, beziehungsweise genau genommen Eigenschaften, basierend auf den Daten des ''Dansk Standardiseringsraad'' (Dänisches Normierungsinstitut), das ISO-Standards für den IT-Bereich bereitstellt (siehe hierzu [[Arch Linux auf Deutsch stellen#Standardkonforme Angaben|hier]]).
Hier werden vier Variablen useraccountbezogen gesetzt.


== Siehe auch ==
== Siehe auch ==
* [[Arch Linux auf Deutsch stellen]]
* [[Arch Linux auf Deutsch stellen]]
* [[locale.conf]]


== Weblinks ==
== Weblinks ==
Zeile 69: Zeile 70:


[[en:locale]]
[[en:locale]]
[[Kategorie: Lokalisation]]
[[Kategorie: Konfiguration]]
[[Kategorie: Grundlagen]]
[[Kategorie: Grundlagen]]

Aktuelle Version vom 9. Juli 2021, 09:18 Uhr

Locales werden unter Linux benutzt, um die Systemsprache, sowie weitere Eigenschaften festzulegen. Dies beinhaltet Fehlermeldungen, je nach Programm auch Logeinträge, die Benutzerschnittstelle, oder das GUI. Zudem werden auch Formatierungen (Zahlen, Sortier-Rangfolge, Währungsinformationen, Papiergröße, etc.) durch die Locale bestimmt.

Über die Locale wird zudem der verwendete Zeichensatz festgelegt. Dies ist vor allem bei Sprachen, die nicht ausschließlich, oder gar keine, ASCII-Zeichen verwenden zu berücksichtigen.

Aufbau

Locales bestehen aus bis zu vier Elementen.

Sprache[_Region][.Kodierung][@Modifikator]

Einzig die Angabe zur Sprache ist verbindlich. Region, Kodierung, und Modifikator sind optionale Angaben.

Sprache und Region

Die Sprachdefinitionen werden von der IANA verwaltet (siehe Weblinks). Abweichend zur BCP 47 werden Sprachdefinition und Region durch einen Unterstrich, und nicht durch ein Minuszeichen getrennt.

de_DE
en_US
es_CU

Damit sind bereits gültige Locales vorhanden. Im Beispiel „deutsches Deutsch“, amerikanisches Englisch und kubanisches Spanisch. Eine Liste der verfügbaren Locales stellt zum einen die unveränderte Datei /etc/locale.gen aus dem Paket glibc dar, ist über die Dateien in /usr/share/i18n/locales zu finden, aber auch im Netz zum Beispiel über den Locale Helper (siehe Weblinks) abrufbar.

Kodierung

Neben der eigentlichen Sprach- und Regionsangabe ist die wichtigste Angabe einer Locale die Kodierung. Viele Sprachen benötigen diverse diakritische Zeichen (Umlaut-Punkte im Deutschen, Akut und Gravis im Französischen, Cedille im Türkischen, und dergleichen), die an den Grundbuchstaben angebracht werden (zum Beispiel o + ¨ = ö, oder c + ¸ = ç).

Diese Definitionen, sowie generell die Repräsentation eines Zeichens als Bitfolge, wird über die Zeichenkodierung bestimmt. Diese Angabe wird an die Locale durch einen Punkt getrennt angehängt.

de_DE.utf8
en_US.utf8
es_CU.utf8

Heutzutage wird gemeinhin UTF-8 verwendet. UTF-8 ist die am weitesten verbreitete Kodierung für Unicode-Zeichen. Es ist kompatibel mit ASCII (der 128 Zeichen umfassende ASCII-Zeichensatz wird durch die ersten 128 UTF-8-Zeichen abgebildet), kann variabel bis zu vier Byte je Zeichen verwenden und deckt somit den gesamten Unicode-Zeichenbereich ab.

Modifikator

Der Modifikator bestimmt, dass abweichend der durch die Locale bestimmten Eigenschaften andere Eigenschaften gesetzt werden. Dies ist zum Beispiel von Bedeutung, wenn man sr_RS („Serbisches Serbisch“) verwendet, dessen Eigenschaften dem Kyrillischen folgen.

Mittels des Modifikators latin wird dieses Verhalten geändert, und es werden die gängigen westlichen Eigenschaften im Bezug auf Sortierung, etc. verwendet. Folgende Beispiele verdeutlichen den Einsatz des Modifikators.

sr_RS.utf8@latin
tt_RU@iqtelif
de_DE.utf8@euro  # Sonderfall

Der Sonderfall de_DE.utf8@euro wird zwar an vielen Stellen erwähnt, ist aber selbstaufhebend. Mittels utf8 wird zwar bestimmt, dass die UTF-8-Kodierung benutzt werden soll, durch den Modifikator euro wird gemäß Definition die Kodierung auf ISO-8859-15 gestellt, da dort das Eurozeichen explizit vorhanden ist.

Da das Eurozeichen allerdings auch in Unicode (U+20AC), und damit in UTF-8 vorhanden ist, ist diese Angabe überflüssig und verhindert sogar, den kompletten Unicode-Zeichenvorrat nutzen zu können, da ISO-8859-15 diesen nicht vollständig abdeckt.

Aktivierung und Verwendung

Standardmäßig sind keine Locales aktiviert, und das System greift auf vorhandene Systemstandards zurück. Locales werden in /etc/locale.gen definiert, und mittels locale-gen generiert. Der Wiki-Artikel Arch Linux auf Deutsch stellen erklärt anhand des Auf-Deutsch-Stellens eines Systems die praktische Verwendung.

Alle verfügbaren Locales kann man sich mittels locale -a anzeigen lassen. Alle Angaben dort kann man in entsprechenden Umgebungsvariablen (den LC-Variablen und LANG) verwenden, um die Ausgaben der Programme anzupassen.

Entsprechende Definitionen werden sytemweit in /etc/locale.conf oder accountbezogen ~/.config/locale.conf vorgenommen, und bestehen aus Exports der gewünschten Angaben.

~/.config/locale.conf
export LC_DATE=de_DE.utf8
export LC_NUMERIC=de_DE.utf8
export LC_TIME=de_DE.utf8
export LANG=de_DE.utf8

Hier werden vier Variablen useraccountbezogen gesetzt.

Siehe auch

Weblinks