Molly_Grue
Mitglied
Hallo zusammen!
Ich hab mal zwei kleine Fragen zum SessionLocaleResolver (org.springframework.web.servlet.i18n.SessionLocaleResolver).
Ich habe eine WebAnwendung, die ich - je nach Auswahl - auf Deutsch oder Englisch anzeigen möchte. Das funktioniert soweit auch prima. Jetzt ist es aber so, dass ich sozusgen gerne Englisch als "Fallback-Sprache" einrichten möchte, wenn z.B. im Browser als accept-language Spanisch, oder was weiß ich, eingestellt ist. Wenn ich im localResolver "en" als defaultLocale definiere, wird diese IMMER zuerst benutzt, auch wenn die accept-language im Browser z.B. Deutsch ist (also eine Sprache, die unterstützt wird). Gibt es eine Möglichkeit, so etwas zu definieren?
Und die zweite Frage geht eigentlich in eine ähnliche Richtung... Und zwar, welche Locale wird denn ausgewählt, wenn keine defaultLocale definiert ist und im Browser nur eine eingestellt ist, die nicht unterstützt wird (für die es also keine .properties-Datei gibt)? Bei mir wurde dann scheinbar zufällig mal Deutsch, mal Englisch angezeigt... Ist das Verhalten korrekt, oder überseh ich da etwas? Ich habe auch versucht etwas zu debuggen, aber dabei habe ich nur rausgefunden, dass sogar ein Aufruf von
den deutschen Text vom Label "label.locale" liefert, auch wenn
z.B. "ab" statt "de" zurück gibt... Seeeehr verwirrend...
Für Hinweise wäre ich wirklich dankbar!
Viele Grüße,
molly
Ich hab mal zwei kleine Fragen zum SessionLocaleResolver (org.springframework.web.servlet.i18n.SessionLocaleResolver).
Ich habe eine WebAnwendung, die ich - je nach Auswahl - auf Deutsch oder Englisch anzeigen möchte. Das funktioniert soweit auch prima. Jetzt ist es aber so, dass ich sozusgen gerne Englisch als "Fallback-Sprache" einrichten möchte, wenn z.B. im Browser als accept-language Spanisch, oder was weiß ich, eingestellt ist. Wenn ich im localResolver "en" als defaultLocale definiere, wird diese IMMER zuerst benutzt, auch wenn die accept-language im Browser z.B. Deutsch ist (also eine Sprache, die unterstützt wird). Gibt es eine Möglichkeit, so etwas zu definieren?
Und die zweite Frage geht eigentlich in eine ähnliche Richtung... Und zwar, welche Locale wird denn ausgewählt, wenn keine defaultLocale definiert ist und im Browser nur eine eingestellt ist, die nicht unterstützt wird (für die es also keine .properties-Datei gibt)? Bei mir wurde dann scheinbar zufällig mal Deutsch, mal Englisch angezeigt... Ist das Verhalten korrekt, oder überseh ich da etwas? Ich habe auch versucht etwas zu debuggen, aber dabei habe ich nur rausgefunden, dass sogar ein Aufruf von
Code:
getApplicationContext().getMessage("label.locale", new Object[] {}, request.getLocale())
Code:
request.getLocale()
Für Hinweise wäre ich wirklich dankbar!
Viele Grüße,
molly