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.
setBundle() rufe ich im Main einmal auf um das resource Bundle zu setzen.
Warum klappt das so nicht?
Gruß
Claus
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: