Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
java:locale-language-land 2009/11/04 10:49 | java:locale-language-land 2020/01/22 20:59 aktuell | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Locale, Sprache, Land ====== | + | [[java|Java - Allgemein]]\\ |
+ | ====== Locale, Internationalisierung, Sprache, Land ====== | ||
//java.util.Locale//\\ | //java.util.Locale//\\ | ||
Die Sprachen- und Landesinformationen werden in der Klasse Locale zusammengefasst.\\ | Die Sprachen- und Landesinformationen werden in der Klasse Locale zusammengefasst.\\ | ||
Zeile 29: | Zeile 30: | ||
Dabei wird die Sprache über eine zwei-Buchstabenkürzel nach ISO 639 definiert (Kleinbuchstaben).\\ | 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).\\ | 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:\\ | ||
+ | <code java> | ||
+ | Locale german = new Locale( "de", "DE" ); // deutsch, Deutschland | ||
+ | ResourceBundle bundle = PropertyResourceBundle.getBundle("lang.myprogram", german); | ||
+ | System.out.println(bundle.get("LOGIN")); // Ausgabe: "Anmelden" | ||
+ | </code> | ||
+ |