As far as I can tell from reading the code, there is what seems to be a pretty big hole in Tapestry's handling of localization.
Suppose I have set these as my supported locales: "en,fr,de" ...and further suppose that a request comes in with this accept-language header "klingon,de,fr" The code seems to only operate on request.getLocale() [which is to say, "klingon"], which it does not support, and falls back to "en" (the only incorrect choice, in this case). This seems easy enough to fix, but quite strange... is this intentional? an oversight? is there some magic somewhere else that makes this actually work? RootPathDispatcher.java: localizationSetter.setNonPeristentLocaleFromLocaleName(request.getLocale().toString()); ComponentEventLinkEncoderImpl.java: Locale locale = request.getLocale(); localizationSetter.setNonPeristentLocaleFromLocaleName(locale.toString()); If this is a known issue, I would be very interested in any patches that have already been developed for this, or any relevant message thread links/titles (couldn't easily find any). -- Robert Hailey