Java - Allgemein

Locale, Internationalisierung, Sprache, Land

java.util.Locale
Die Sprachen- und Landesinformationen werden in der Klasse Locale zusammengefasst.


Locale german = new Locale( "de", "DE" );   // deutsch, Deutschland
Locale french = new Locale( "fr" );         // Französich, Land egal

Dabei wird die Sprache über eine zwei-Buchstabenkürzel nach ISO 639 definiert (Kleinbuchstaben).
Das Land wird über ein zwei-Buchstabenkürzel nach ISO 3166 definiert (Großbuchstaben).

Mit dieser Locale können unter Anderem Sprachdateien geladen werden.
Die Sprachdateien müssen nach einem bestimmten Schema benannt werden.
Der Dateiname muss auf „_de“ enden (dabei ist „de“ natürlich nur beispielhaft, es muss dass ISO 639-Kürzel sein).
Die Dateiendung lautet auf “.properties“.
Für jede unterstütze Sprache muss eine Datei erstellt werden. Eine Datei ohne ISO-Endung ist erlaubt. Dies ist dann die Default-Datei, welche verwendet wird, wenn keine eigen Datei für die Sprache gefunden wird.
Der Inhalt der Dateien besteht aus Key-Value-Paaren.

Bespiel einer deutschen properties-Datei:
HELLO = Hallo
LOGIN = Anmelden

Beispiel für die Dateinamen:

 lang/myprogram.properties\\
 lang/myprogram_de.properties\\
 lang/myprogram_fr.properties\\

Die Datei ohne ISO-Kürzel ist im meist die englische Übersetzung. Alle Dateien müssen über den Classpath zu finden sein!

Ein komplettes Code-Beispiel:

Locale german = new Locale( "de", "DE" );   // deutsch, Deutschland
ResourceBundle bundle = PropertyResourceBundle.getBundle("lang.myprogram", german);
System.out.println(bundle.get("LOGIN"));  // Ausgabe: "Anmelden"

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007