Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
java:lokalisieren 2008/04/08 07:33 | java:lokalisieren 2020/01/22 20:59 aktuell | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | [[java|Java - Allgemein]]\\ | ||
====== Lokalisieren mit ResourceBundles ====== | ====== Lokalisieren mit ResourceBundles ====== | ||
+ | //java.util.ResourceBundle//\\ | ||
In vielen Anwendungen sollen alle Texte für verschiedene Sprachen verfügbar sein. | In vielen Anwendungen sollen alle Texte für verschiedene Sprachen verfügbar sein. | ||
Diese Texte lassen sich in sogenannte ResourceBundles auslagern. Dies wird hier in Form zweier einfacher Properties-Dateien gezeigt. Dabei definieren die beiden Buchstaben nach dem "_" die Sprache (de=deutsch, en=englisch, fr=französisch, ...).\\ | Diese Texte lassen sich in sogenannte ResourceBundles auslagern. Dies wird hier in Form zweier einfacher Properties-Dateien gezeigt. Dabei definieren die beiden Buchstaben nach dem "_" die Sprache (de=deutsch, en=englisch, fr=französisch, ...).\\ | ||
+ | Zusätzlich kann auch das Land angegeben werden (DE=Deutschland, CH=Schweiz, ...). In diesem Fall würde die Property-Datei z.B. texts_de_DE.properties heißen.\\ | ||
\\ | \\ | ||
Property-Datei für die deutschen Texte (texts_de.properties): | Property-Datei für die deutschen Texte (texts_de.properties): | ||
Zeile 9: | Zeile 12: | ||
city=Ort | city=Ort | ||
</code> | </code> | ||
+ | \\ | ||
+ | <html> | ||
+ | <script type="text/javascript"><!-- | ||
+ | google_ad_client="pub-9681858985507948"; | ||
+ | google_ad_width = 468; | ||
+ | google_ad_height = 60; | ||
+ | google_ad_format = "468x60_as"; | ||
+ | google_ad_type = "text"; | ||
+ | google_ad_channel = ""; | ||
+ | google_color_border = "cccccc"; | ||
+ | google_color_bg = "FFFFFF"; | ||
+ | google_color_link = "1d2d8c"; | ||
+ | google_color_text = "000000"; | ||
+ | google_color_url = "1d2d8c"; | ||
+ | //--> | ||
+ | </script> | ||
+ | <script type="text/javascript" | ||
+ | src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> | ||
+ | </script> | ||
+ | </html> | ||
+ | \\ | ||
+ | \\ | ||
Property-Datei für die englischen Texte (texts_en.properties): | Property-Datei für die englischen Texte (texts_en.properties): | ||
<code> | <code> | ||
Zeile 18: | Zeile 43: | ||
Die Verwendung erfolgt dann so: | Die Verwendung erfolgt dann so: | ||
<code java> | <code java> | ||
- | String baseName = "text"; | + | String baseName = "texts"; |
try { | try { | ||
- | ResourceBundle rb = ResourceBundle.getBundle(baseName); | + | ResourceBundle rb = ResourceBundle.getBundle(baseName); |
System.out.println(rb.getString("name")); // "Name" oder "name" | System.out.println(rb.getString("name")); // "Name" oder "name" | ||
System.out.println(rb.getString("street")); // "Straße" oder "street" | System.out.println(rb.getString("street")); // "Straße" oder "street" | ||
Zeile 33: | Zeile 58: | ||
Mann kann die Sprache aber auch erzwingen: | Mann kann die Sprache aber auch erzwingen: | ||
<code java> | <code java> | ||
- | rb = ResourceBundle.getBundle(baseName, Locale.GERMAN); // Für Deutsch | + | rb = PropertyResourceBundle.getBundle(baseName, Locale.GERMAN); // Für Deutsch |
</code> | </code> | ||