App-Sprache in der App ändern. Wo ist mein Denkfehler?

Thallius

Top Contributor
Hi,

ich benutze ResourceBundles um meine App zu lokalisieren. Klappt auch alles wunderbar. Trotzdem möchte der Auftraggeber die Möglichkeit die Sprache auch manuell in der App einstellen zu können (Ka warum aber der Kunde ist König).
Ich dachte mir also, ich manipuliere einfach meine Messages Klasse in der Form, dass ich ihn ein bestimmtes ResourceBundle laden lasse. Das klappt aber nicht.

Es gibt die beiden Dateien

meineApp.properties
meineApp_de_DE.properties

Die erste ist englisch die zweite deutsch.

Hier mal ein Testcode, der eigentlich die App ins Englische zwingen sollte. tut er aber nicht. Ist weiterhin alles schön deutsch.

Java:
public class Messages 
{
	private static final String bundleName = "meineApp"; //$NON-NLS-1$

	private static ResourceBundle resourceBundle=null; 

	public static void setBundle() 
	{
		try
		{
			Locale locale=new Locale("en");
			Messages.resourceBundle = ResourceBundle.getBundle(bundleName, locale);
		}
		catch (MissingResourceException e)
		{
			Logger.Log(e.getMessage());
		}
	}

	public static String getString(String key) 
	{
		try 
		{
			return resourceBundle.getString(key);
		} 
		catch (MissingResourceException e)
		{
			return '!' + key + '!';
		}
	}
...

setBundle() rufe ich im Main einmal auf um das resource Bundle zu setzen.

Warum klappt das so nicht?

Gruß

Claus
 
Zuletzt bearbeitet:

stg

Top Contributor
Nur eine Vermutung, habe selbst noch nicht so viel damit gemacht:
- Du rufst das ResourceBundle zur Locale.ENGLISH auf.
- Hierzu hast du aber kein entsprechendes properties-file
- also wird das default-file genommen
- default ist nun aber eventuell nicht das default-file nach Dateiendung, sondern möglicherweise das default vom System, was du auf deutsch stehen hast..

Füg doch nur zu Testzwecken einfach mal ein weiteres properties-file hinzu, welches zur Locale.ENGLISH passt
 

Thallius

Top Contributor
Nur eine Vermutung, habe selbst noch nicht so viel damit gemacht:
- Du rufst das ResourceBundle zur Locale.ENGLISH auf.
- Hierzu hast du aber kein entsprechendes properties-file
- also wird das default-file genommen
- default ist nun aber eventuell nicht das default-file nach Dateiendung, sondern möglicherweise das default vom System, was du auf deutsch stehen hast..

Füg doch nur zu Testzwecken einfach mal ein weiteres properties-file hinzu, welches zur Locale.ENGLISH passt

Ja Danke aber die Idee hatte ich auch schon und habe ein

meinApp_en_UK.properties und ein
mainApp_en.properties

erzeugt. Das hat aber auch nicht geholfen.

Gruß

Claus
 

Thallius

Top Contributor
ARGL,,,

stg du hattest doch recht. Ich hatte nur einen Tippfehler im Namen der en lokale.

Danke,

jetzt geht es erstmal weiter.

Gruß

Claus
 

dzim

Top Contributor
Was ich noch nicht ganz verstehe: Warum hast du eine #setBundle()-Methode, lädst dort aber immer "en"... Eigentlich braucht doch diese Methode einen String-Parameter, mit dem man die Sprache auswählt, oder sehe ich das falsch?
 

stg

Top Contributor
Was ich noch nicht ganz verstehe: Warum hast du eine #setBundle()-Methode, lädst dort aber immer "en"... Eigentlich braucht doch diese Methode einen String-Parameter, mit dem man die Sprache auswählt, oder sehe ich das falsch?

Ich gehe einfach mal sehr stark davon aus, dass der Code-Schnipsel nur zu Testzwecken diente. Das Problem auf das Wesentliche reduziert. Die vorherige und spätere Verarbeitung interessiert ja für das hier auftretende Problem nicht bzw lässt sich das im Vorfeld schon leicht im Debugger oder sonst wie überprüfen.
Minimalbeispiele sind doch schon :)
 

Thallius

Top Contributor
Ich gehe einfach mal sehr stark davon aus, dass der Code-Schnipsel nur zu Testzwecken diente. Das Problem auf das Wesentliche reduziert. Die vorherige und spätere Verarbeitung interessiert ja für das hier auftretende Problem nicht bzw lässt sich das im Vorfeld schon leicht im Debugger oder sonst wie überprüfen.
Minimalbeispiele sind doch schon :)

Danke das Du es für mich erklärt hast :)

Das Ganze läuft jetzt übrigens wunderbar.

Gruß

Claus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Sprache ändern ins Programm einbinden Allgemeine Java-Themen 6
I Sprache zur Laufzeit des Programms ändern Allgemeine Java-Themen 3
F Java die richtige Sprache? - Anfänger Allgemeine Java-Themen 3
S Android: Sprache wechseln Allgemeine Java-Themen 7
T Java Klasse -> Sprache Allgemeine Java-Themen 4
S Sprache Lokalisation Allgemeine Java-Themen 2
A Java oder andere Sprache? Was ist geeigneter? Allgemeine Java-Themen 55
G JFileChooser Sprache? Allgemeine Java-Themen 5
L Java Anwendung Sprache auswählen? Allgemeine Java-Themen 2
D Button-Sprache und windowClosing Allgemeine Java-Themen 6
A Wie das OS und Sprache feststellen? Allgemeine Java-Themen 15
F Java als Sprache für Haushaltsgeräte Allgemeine Java-Themen 5
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
B Liste ändern während Iteration über Diese? Allgemeine Java-Themen 16
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
Z Java Testklassenvariable ändern im Hauptprogramm Allgemeine Java-Themen 5
L Uhrzeit von 24-Uhr zu 12-Uhr ändern Allgemeine Java-Themen 2
Thallius Zeitzone zu einem LocalDate hinzufügen aber ohne es zu ändern... Allgemeine Java-Themen 2
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8
W Classpath Reflexion - Prüfen ob man auf ein Feld ändern kann Allgemeine Java-Themen 2
J Jasper Reports - Subreport zur Laufzeit ändern Allgemeine Java-Themen 6
N Variablen Array Länge ändern. Allgemeine Java-Themen 8
R Methoden Was fehlt mir bzw. muss ich bei der Methode countHarshabNumbers ändern damit ich die Harshad Zahlen im Intervall [51, 79] zählen kann? Allgemeine Java-Themen 19
R Was muss ich ändern, damit der Kreis links unten gezeichnet wird? Allgemeine Java-Themen 17
L Hintergrundfarbe jedes spinner-Elements ändern Allgemeine Java-Themen 1
Q Eclipse Escape Sequenzen Farbe ändern Allgemeine Java-Themen 4
OSchriever Einfach verkettete Liste ändern Allgemeine Java-Themen 43
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
D ArrayList Indexlänge ändern Allgemeine Java-Themen 2
E javax.mail sene Type ändern Allgemeine Java-Themen 2
J Farbe von Buttons mehrmals ändern Allgemeine Java-Themen 5
B Übernommene Variablen(werte) aus der Main-Klasse ändern? Allgemeine Java-Themen 9
B ImageView Farbe ändern Allgemeine Java-Themen 3
J Eine bestimmte Zahl im Integer ändern Allgemeine Java-Themen 9
T ändern neue Java Versionen was an der Programmiersprache? Allgemeine Java-Themen 15
R Zeitformat ändern Allgemeine Java-Themen 18
olfibits Erste Schritte Konsolentitel ändern Allgemeine Java-Themen 3
R Variable durch mehrere Methoden ändern und nutzen Allgemeine Java-Themen 17
S Kann man mit Java auf einem lokalen PC/Mac Benutzergruppen auslesen und Rechte ändern? Allgemeine Java-Themen 11
N Das Ende von bestimmten zeilen in text datei ändern und speichern Allgemeine Java-Themen 3
B Input/Output Datei ändern Allgemeine Java-Themen 9
T JasperReport Hintergrundfarbe wertabhängig ändern Allgemeine Java-Themen 3
sandaime CMD aufrufen und aktuellen pfad ändern Allgemeine Java-Themen 11
M Variable ändern bei jedem Schleifendurchlauf Allgemeine Java-Themen 32
RalleYTN DPI eines Bildes ändern Allgemeine Java-Themen 4
K eclipse Workspace ändern Allgemeine Java-Themen 2
J Properties file ändern Allgemeine Java-Themen 12
R WebDriver Firefox preferences ändern Allgemeine Java-Themen 0
W Input/Output Kann .properties Datei in kompilierter .jar nicht ändern Allgemeine Java-Themen 2
G Unix Passwort mit Java ändern? Allgemeine Java-Themen 3
M OOP Bildschirmauflösung des Systems ändern Allgemeine Java-Themen 0
Avarion Font von StyledDocument ändern Allgemeine Java-Themen 0
chuxXo System/JLayer Volume ändern Allgemeine Java-Themen 0
Tausendsassa Interface Buttons Background ändern! Wie?? Allgemeine Java-Themen 10
E Apache POI Powerpoint Verlinkungen ändern Allgemeine Java-Themen 4
R Int Wert im Dialogfeld ändern Allgemeine Java-Themen 4
Ananaskirsche Best Practice Sprachen ändern für Consolenausgaben Allgemeine Java-Themen 2
M String an einem abschnitt ändern Allgemeine Java-Themen 14
S Name einer Musikdatei auslesen und ändern Allgemeine Java-Themen 8
M Threads Bildformat mit java ändern Allgemeine Java-Themen 2
x22 Hintergrund in Netbeans ändern Allgemeine Java-Themen 3
M Zufälligen String generieren und alle 5 Minuten ändern Allgemeine Java-Themen 2
C Input/Output Bestimmte Zeile in Datei ändern. Allgemeine Java-Themen 13
B Swing Look And Feel ändern Allgemeine Java-Themen 15
jstei001 Reguläre Ausdrücke bearbeiten/ändern Allgemeine Java-Themen 14
H CLASSPATH im Javaprogramm ändern Allgemeine Java-Themen 5
S Datentypen Eine Variable von String zu Int ändern Allgemeine Java-Themen 5
B Input/Output Dateiendung ändern Allgemeine Java-Themen 6
P ganze Zeilen in einem File mit .replace() ändern. Allgemeine Java-Themen 10
Y Bildschirmauflösung ändern Allgemeine Java-Themen 5
P Wie bei log4j den Dateipfad der Logdatei zur Laufzeit ändern? Allgemeine Java-Themen 3
S Klassen .jar - eine .class datei ändern? Allgemeine Java-Themen 23
C Auf eine Methode von einer anderen Klasse aus ändern? Allgemeine Java-Themen 4
N .doc text ändern Allgemeine Java-Themen 12
X XML Dateien ändern Allgemeine Java-Themen 2
W LayoutManager Position der Componenten nachträglich ändern Allgemeine Java-Themen 12
A Ordnerberechtigungen ändern Allgemeine Java-Themen 10
Dit_ Registry, Preferences | Name des Knotens ändern. Allgemeine Java-Themen 2
R Windows - User Passwort ändern Allgemeine Java-Themen 2
S UML zur Laufzeit ändern Allgemeine Java-Themen 10
S equals - Identität ändern bei Vererbung? Allgemeine Java-Themen 5
S TreeSet - Comparator ändern -> resort? Allgemeine Java-Themen 8
E FF Einstellungen über Programm ändern? Allgemeine Java-Themen 7
M Grösse eines JTabbedPane ändern Allgemeine Java-Themen 2
L Kurzfristig Bildschirmauflösung ändern Allgemeine Java-Themen 2
Burny91 JAR-Datei Icon ändern Allgemeine Java-Themen 2
W Dateiinfo auslesen/ändern Allgemeine Java-Themen 3
S Tastaturbelegung global ändern Allgemeine Java-Themen 5
Q .jar wird mit cmd gestartet - Zuordnung von Dateitypen ändern (Windows 7) Allgemeine Java-Themen 7
H Erstelldatum einer Datei ändern. Allgemeine Java-Themen 3
T Wie kann man bei CheckBoxTrees die Checkboxzustände ändern? Allgemeine Java-Themen 2
K Ordnername ändern Allgemeine Java-Themen 2
Dissi Gammawerte des Grafiktreibers / System ändern? Allgemeine Java-Themen 3
E Objekt bei Serialisierung ändern Allgemeine Java-Themen 2
V Druckereigenschaften ändern? Allgemeine Java-Themen 17
G Jar File zur Laufzeit ändern. Allgemeine Java-Themen 4
C IP Adresse mit Java ändern? Allgemeine Java-Themen 9
A Ordnerrechte / Zugriffsrechte mit Java ändern? Allgemeine Java-Themen 10
M Dateinamen ändern Allgemeine Java-Themen 3
E *.class ändern/ersetzen/überschreiben. Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben