Einleitung

Authors:
  • Christian Tissmer
  • Felix Schwarz
  • Martin v. Löwis
  • Veit Schiele
Date:

2013-03-01

Das locale-Modul ist ein häufig missverstandenes Modul in Python. Es ermöglicht den Zugriff auf die C-locale-Implementierungund und deren Funktionen.

Dabei wird in C eine programmweite Eigenschaft gesetzt. Dies ermöglicht z.B., eine locale zu setzen, die dann von C-Programmen wie Tk verwendet werden kann.

Das Python-locale-Modul ist jedoch nicht für häufige Änderungen der locale geeignet da diese Änderungen sehr teuer sind und häufige Änderungen zu Core Dumps führen können. Auch würde der Aufruf von setlocale() in einer Subroutine immer zu einer einer Änderung des gesamten Programms mit allen Threads führen. Weitere Informationen zur Verwendung des Python-locale-Modul erhalten Sie in 22.2.1. Background, details, hints, tips and caveats.

Lokalisierung von Mehrbenutzeranwendungen

Um für Mehrbenutzeranwendungen, deren User Interface für verschiedene Nutzer unterschiedlich lokalisiert werden soll, grundlegende Daten und Funktionen bereitzustellen, haben wir uns als Datengrundlage für CLDR, das Common Locale Data Repository entschieden.

CLDR ist ein Projekt des Unicode Consortium, das Locale-Daten im XML-Format, genauer in LDML (Locale Data Markup Language) liefert. Diese Daten werden aktuell u.a. genutzt von:

  • Apple (OS X, iOS, Safari, …)
  • Google (Web Search, Chromw, Android, …)
  • OpenOffice.org
  • IBM (DB2, Lotus, Websphere, AIX, …)

Dabei liefert CLDR u.a. folgende Übersetzungen:

  • Sprachnamen
  • Gebiets- und Ländernamen
  • Währungen
  • Wochentage, Monate, Ären und Tagesabschnitt in voller und abgekürzter Form
  • Zeitzonen und Beispielstädte für bestimmte Zeitzonen
  • Kalenderfelder

Darüberhinaus sind in CLDR-Regeln definiert für:

  • Formattierung von Zahlen
  • Sortierung
  • Transliteration (diese basiert häufig auf der BGN/PCGN-Umschrift)

Damit überlappt der Umfang von CLDR zum Teil mit den POSIX-Locales (ISO 15897).

Bemerkung

Beginnend mit CLDR v21 werden mit CLDR jedoch nicht mehr auch die Quellen des POSIX-Formats ausgeliefert. Für die Generierung der POSIX-Locale werden jedoch weiterhin Werkzeuge vom CLDR-Konsortium bereitgestellt um POSIX- konforme Locales generieren zu können. Weitere Informationen hierzu erhalten Sie in POSIX Data.