Hallo Christian
Wenn man sich alle Java-Locales ausgeben lässt, dann sind noch viel mehr Sprachen betroffen.
Es war scheinbar bis jetzt eher Zufall und Glück, dass keine System-Locale bei den Anwendern darunter war.
ich sehe 3 Varianten, wie man das in den Griff bekommen könnte.
Leider kann ich den Fehler bei mir nicht reproduzieren. Ich habe mal versucht eine andere Sprache auszuwählen, aber damit startet der RC nicht mehr.
Da kommt eine java.util.MissingResourceException. Scheinbar fehlen da einige Übersetzungen bei mir.
Der Key "revert-positions-action" ist scheinbar nur in Deutsch, Englisch und Tamilisch (?) (Sprachkürzel ta) vorhanden. Und bei Ta fehlt danach der Key "snap-to-road-action".
Gruss
Thomas
Wenn man sich alle Java-Locales ausgeben lässt, dann sind noch viel mehr Sprachen betroffen.
Es war scheinbar bis jetzt eher Zufall und Glück, dass keine System-Locale bei den Anwendern darunter war.
ich sehe 3 Varianten, wie man das in den Griff bekommen könnte.
- Man merkt sich die System-Locale beim Start und baut auf Basis von dem Pattern das SimpleDateFormat zur Laufzeit.
Das das zur Laufzeit neu gebaut wird, liegt ja nur daran, dass die Zeitzone jetzt beim Parsen berücksichtigt werden muss.
Die Variante ist in meinen Augen aber die schlechteste Lösung, da sie eine tickende Zeitbombe ist, bis irgendein Anwender mal dann doch so eine problematische System-Locale hat.
- Man definiert die Pattern in den Properties-Dateien, in denen die Übersetzungen drin sind.
Vorteil, man muss nicht viel anpassen am Bestandscode. Nachteil: Die Übersetzungsfiles müssen redundant die Pattern definieren.
- Man stellt vom SimpleDateFormat, welches nicht mehr gepflegt wird, auf DateTimeFormatter um.
Angeblich tritt dort das Problem nicht auf (was ich noch nicht geprüft habe).
Vorteil: das wäre wohl die sauberste Lösung. Nachteil: Hier wären vermutlich die meisten Anpassungen im RC notwendig. Wie gross diese sind, kann ich im Moment nicht überblicken, da du das eigentlich recht gut gekapselt schon hattest.
Leider kann ich den Fehler bei mir nicht reproduzieren. Ich habe mal versucht eine andere Sprache auszuwählen, aber damit startet der RC nicht mehr.
Da kommt eine java.util.MissingResourceException. Scheinbar fehlen da einige Übersetzungen bei mir.
Der Key "revert-positions-action" ist scheinbar nur in Deutsch, Englisch und Tamilisch (?) (Sprachkürzel ta) vorhanden. Und bei Ta fehlt danach der Key "snap-to-road-action".
Gruss
Thomas
