LPIC102/107.3 Lokalisierung und internationalisierung: Unterschied zwischen den Versionen

Aus Foxwiki
George (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
George (Diskussion | Beiträge)
(kein Unterschied)

Version vom 15. Juli 2019, 13:36 Uhr

Um ein Betriebssystem in unterschiedlichen Ländern und Sprachen zu verwenden muss man eine Zeitzone konfigurieren, Eigenschaften wie Währung Datums- und Uhrzeitformat Telefonnummernformate physikalische Grössen (metrisch oder nicht)definiert werden! Häufige Fehler sind falsche Zeichensätze, oftmals Zeichen die falsch oder auch gar nicht dargestellt werden! Zeitzoneneinstellung, die nachträglich geändert werden müssen kann man z.B. mit dem Programm tzselect in der Kommandozeile korrigieren.

Beispiel:

root@archangel:~# tzselect
Please identify a location so that time zone rules can be set
correctly.
Please select a continent or ocean.
1) Africa
2) America
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11)none–Iwanttos
pecify the time zone using the Posix TZ format.
#?
8

Unser Beispiel zeigt Europa.

Please select a country.
1) Aaland Islands        18) Greece            35) Norway
2) Albania               19) Guernsey          36) Poland
3) Andorra               20) Hungary           37) Portugal
4) Austria               21) Ireland           38) Romania
5) Belarus               22) Isle of Man       39) Russia
6) Belgium               23) Italy             40) San Marino
7) Bosnia & Herzegovina  24) Jersey            41) Serbia
8) Britain (UK)          25) Latvia            42) Slovakia
9) Bulgaria              26) Liechtenstein     43) Slovenia
10) Croatia               27) Lithuania         44) Spain
11) Czech Republic        28) Luxembourg        45) Sweden
12) Denmark               29) Macedonia         46) Switzerland
13) Estonia               30) Malta             47) Turkey
14) Finland               31) Moldova           48) Ukraine
15) France                32) Monaco            49) Vatican City
16) Germany               33) Montenegro
17) Gibraltar             34) Netherlands
#?

Durch Eingabe der 16 wählen wir Deutschland und es erscheint eine abschliessende Abfrage ob alles korrekt ist:

The following information has been given:
Germany
Therefore TZ='Europe/Berlin' will be used.
Local time is now:      Sat Mar 24 11:56:57 CET 2018.
Universal Time is now:  Sat Mar 24 10:56:57 UTC 2018.
Is the above information OK?
1) Yesrotel
2) No
#?

Die Darstellung zeigt die Orts- sowie der UTC Zeit. Erläuterungen zur UTC folgen. Das Programm tzselect verwendet für seine Anzeige die Dateien im Verzeichnis /usr/share/zoneinfo. Danach muss die Zeitzone in der Konfigurationsdatei /etc/timezone festgelegt werden. root@archangel:/# cat /etc/timezone Europe/Berlin. Ist der Eintrag nur vorübergehend oder für einen bestimmten Benutzer arbeitet man am besten mit der Variablen TZ (Timezone).profile-Datei. Für eine temporäre Änderung der Zeitzone setzen sie einfach die Variable auf der Konsole und exportieren sie. Beispiel für die Marshallinseln:

root@archangel:/# export TZ='Pacific/Majuro' .

Bei Überprüfung mit date und date -u sieht man folgende Ausgabe, wobei -u für UTC steht:

root@archangel:/# date
So 29. Apr 05:02:30 MHT 2018
root@archangel:/# date -u
Sa 28. Apr 17:02:34 UTC 2018.

Zeitzonen-Frontends

rotel Einige Distributionen verwenden zum Einstellen der Zeitzone das Frontend tzconfig wobei ähnlich wie bei tzselect interaktiv nach dem Land gefragt wird, jedoch tatsächlich eine Konfiguration erfolgt. Unter Debian, Ubuntu und ähnlichen Betriebssystemen kann auch einfach dpkg-reconfigure tzdata menügeführt werden! Aktuelle Systeme mit Systemd verfügen zusätzlich über das Tool timedatectl das für jede Aufgabe mit Systemzeit verwendet werden kann. Zunächst ermittelt man die verfügbaren Zeitzonen:

[root@arch-book /]# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

Dann einfach die gewünschte Zeitzone festlegen:

[root@arch-book /]# timedatectl set-timezone Europe/Berlin

Dieses Kommando führ zu einer Neuverlinkung von /etc/timezone.

Umgebungsvariablen für die Lokalisation

Einige Anwendungsprogramme benötigen Informationen über regionale Gegebenheiten wrotelie Währung, Papierformate, Datums- und Uhrzeitformat, Telefonnummernformate und physikalische Größen Parameter hierzu sind in Umgebungsvariablen hinterlegt.

Beispiel:

LC_CTYPE
 – Zeichenklassifikationen
LC_COLLATE
 – Sortierreihenfolgerotel
LC_TIME
 – Zeit- und Datumsformat
LC_NUMERIC
 – numerische Formate außerhalb des Finanzsektors
LC_MONETARY
 – numerische Formate des Finanzsektors
LC_MESSAGES
 – Formate für informative und diagnostische Benachrichtigungen
LC_PAPER
 – Papierformate und Größen
LC_NAME
 – Namenformate
LC_ADDRESS
 – Adressformate
LC_TELEPHONE
 – Formate der Telefonnummern
LC_MEASUREMENT
 – Maßeinheiten (metrisch oder andere)
LC_IDENTIFICATION
 – Metadaten der Lokalisation
 LC_ALL=

Historische Zeichensätze

Um Zeichen elektonisch zu übertragen, müssen diese entsprechend umgewandelt werden. Dies geht auf Samuel Morse zurück und entwickelte sich zum ASCII Standart.

ASCII – American Standard Code for Information Interchange

Die Zeichenkodierung ASCII umfasst 128 Zeichen (denn 27 = 128), die sich in der ASCII-Tabelle wiederfinden.

https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange#ASCII-Tabelle

ISO 8859

Bei der ISO 8859 handelt es sich um eine ganze Normenfamilie. Jede Teilnorm der ISO 8859 ist ein 8-Bit-Zeichensatz. Die Gemeinsamkeit all dieser Normen liegt in den ersten 128 Zeichen. Aufstellung werden die Teilnormen aufgeführt:


  1. Latin-1, Westeuropäisch
  2. Latin-2, Mitteleuropäisch
  3. Latin-3, Südeuropäisch
  4. Latin-4, Baltisch
  5. Kyrillisch
  6. Arabisch
  7. Griechisch
  8. Hebräisch
  9. Latin-5, Türkisch
  10. Latin-6, Nordisch
  11. Thai
  12. Latin-7, Baltisch
  13. Latin-8, Keltisch
  14. Latin-9, Westeuropäisch
  15. Latin-10, Südosteuropäisch

=Konvertierung von Zeichensätzen

Dateien von einer Zeichenkodierung in eine andere überführt man mit dem Kommandozeilenprogramm iconv

  1. --from-code,-f gibt die aktuelle Zeichenkodierung an.
  2. --to-code,-t gibt die Zeichenkodierung für die Ausgabe an.
  3. --list,-l zeigt die dem Programm bekannten Kodierungen an.
  4. --output,-o gibt die Ausgabedatei an.
  5. ==Beispiel:== iconv
  6. # iconv -f UTF-8 -t ISO-8859-15 Quelldatei -o Zieldatei