Eine Locale ist ein Einstellungssatz, der die Gebietsschemaparameter für Computerprogramme enthält.
Dazu gehören in erster Linie die Sprache der Benutzeroberfläche, das Land und Einstellungen zum Zeichensatz, Tastaturlayout, Zahlen-, Währungs-, Datums- und Zeitformaten. Ein Einstellungssatz wird üblicherweise mit einem Code der meist Sprache und Land umfasst eindeutig identifiziert.
In unterschiedlichen Betriebssystemen gibt es verschiedene Konzepte für Gebietseinstellungen:
Inhaltsverzeichnis |
Unter Microsoft Windows wird ein Einstellungssatz durch eine Zahl (z. B. 0x0409 für Englisch) angesprochen und enthält Daten zu Darstellungsformaten, Codepages und Tastaturlayouts. Windows-Programme bieten jedoch in der Regel keine Möglichkeit zur nachträglichen Übersetzung ohne Kenntnis des Programmquelltextes.
In Microsofts .NET-Framework-Anwendungen gibt es eine Vielzahl möglicher Einstellungen, die in XML-Strukturen abgelegt werden.
Unter POSIX-Plattformen wie zum Beispiel Linux werden die Übersetzungsfunktionen über die Locale-Funktionen in der Standard C Library implementiert und stehen deshalb in sehr vielen Programmen zur Verfügung. Locales werden hier mit einer Kennzeichnung aus Sprache und Land versehen (z. B. de_DE für Deutsch/Deutschland oder de_AT für Deutsch/Österreich). Zusätzlich gibt es Kennzeichner für spezielle Eigenschaften - z. B. die Verwendung von UTF-8 oder ISO 8859-15 mit dem Eurozeichen (de_DE@utf-8 und de_DE@euro).
Unter Mac OS X kann man die Locale und andere Parameter in ~/.MacOSX/environment.plist setzen, in nachfolgendem Beispiel auf UTF-8:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LC_ALL</key>
<string>de_DE.UTF-8</string>
</dict>
</plist>
Sollte die Datei nicht existieren, können Verzeichnis und Datei einfach erzeugt werden.
Unter der Java-Plattform werden die Locale-Funktionen über die gleichnamige Klasse java.util.Locale abgebildet. Locales werden hier mit einer Kennzeichnung aus Sprache und Land versehen (z. B. de_DE für Deutsch/Deutschland oder de_AT für Deutsch/Österreich). Zusätzlich kann über die Eigenschaft Variant auch auf Regionen Bezug genommen werden (siehe hierzu auch ISO 3166-2:AT, ISO 3166-2:CH, ISO 3166-2:DE). Die Internationalisierung bzw. Lokalisierung erfolgt auf Basis von sogenannten ResourceBundles („Ressourcenbündel“), welche in Java mit der Klasse java.util.ResourceBundle abgebildet werden.
Internationalisierung und Lokalisierung