Multilanguaging lädt immer falsch

@SupressWarnings()

Aktives Mitglied
Ich habe in mein Dorfbauspiel eine Multilanguaging eingebaut, das mit dem relativ einfachen Tutorial arbeitet, das ich mit Googlen gefunden habe (https://blog.cedric.ws/multiple-languages-for-your-java-application). Den Code habe ich komplett übernommen, lediglich die Locales angepasst. In manchen Versionen funktioniert das Ganze, aber seit neuestem habe ich das Problem, dass das Programm nur die deutsche Version lädt, unabhängig von der eingestellten Sprache, sogar wenn ich die beiden Dateien (language_de.properties & language_en.properties) vom Namen her vertausche. Hat jemand eine Idee woran das liegen könnte?

Java:
private Map<String, Locale> supportedLanguages;
   private ResourceBundle translation;

   public LanguageController(String language){
       supportedLanguages = new HashMap<String, Locale>();
       Locale en = new Locale("English", "US", "en");
       supportedLanguages.put("English", en);
       supportedLanguages.put("German", Locale.GERMAN);
       translation = ResourceBundle.getBundle("language", supportedLanguages.get(language));
   }

Auch bei vertauschter Reihenfolge der Locales gibt das Programm an, der Locale wäre de, obwohl ich ja für English ein Locale mit en als Kürzel erstellt habe.

Edit: Natürlich lade ich mit English als Sprache, bzw. probiere beide immer wieder aus.
 
Zuletzt bearbeitet:
Was übergibst du denn als language?

Bzw, kannst du mehr Code zeigen bzw liegt der bei Github?
 
Zuletzt bearbeitet:
Fehler gefunden 😉

In allen language-Dateien hast du nach dem \n noch einen zusätzlichen \, in den Englischen ergibt das mit dem Buchstaben danach ein \u, in der deutschen ein \v. \v ist valide, \u nicht, weshalb die Englischsprachigen nicht geladen werden können.
Auf deinem System ist Deutsch außerdem der Fallback, es wird zuerst versucht, die Englische und die ohne Angabe zu laden, beide schlagen fehl, und danach die Deutsche, die auch geladen werden kann.
 
@mrBrown vielen dank! Genau das war der Fehler, ich weiß nur noch, dass ich da irgendwas maskieren wollte, was weiß ich leider nicht mehr. Jetzt funktioniert es jedenfalls. Hast du das Spiel auch schonmal gespielt?
 
Nein, bei mir fliegt aber auch beim Start die Exception wegen nicht gefundenem Datenbank-Treiber 😉

Hast du mal drüber nachgedacht, ein Build-Tool wie Maven oder gradle zu benutzen? Das macht die Benutzung und Mitarbeit deutlich leichter, weil dort all das konfiguriert ist, was sonst jeder händisch in seiner IDE machen muss, zb die benötigen libs angeben
 

Zurück
Oben