Custom LocaleResolver cannot fall back to using the locale from the request's
Accept-Language header
----------------------------------------------------------------------------------------------------
Key: SLING-1905
URL: https://issues.apache.org/jira/browse/SLING-1905
Project: Sling
Issue Type: Improvement
Components: Extensions
Affects Versions: I18n 2.0.4
Reporter: Alexander Klimetschek
It is difficult for a custom LocaleResolver to use the default request locale
(based on the HTTP Accept-Language header), because:
1) the I18NFilter passes its own wrapped request object to the LocaleResolver
(instead of the original one), resulting in an endless loop if
request.getLocales() is used inside the LocaleResolver
2) LocaleResolver.resolveLocale() returns a List<Locale> whereas
request.getLocales() returns Enumeration<Locale>, making conversion
unnecessarily difficult
3) the default LocaleResolver which uses the original request's getLocale() is
not available as a fallback, it is solely used if no custom LocaleResolver is
used at all
Ideas:
1) could easily be solved by passing this.getSlingRequest()
2) + 3) a public DefaultLocaleResolver class (as base for custom ones) could
provide this fallback in its resolveLocale() implementation
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.