javafirefoxtomcat7vaadinbrowser-addons

HttpServletRequest getLocale returns OS locale not browser locale


I am using vaadin framework and in my application I have:

@Override
public void onRequestStart(HttpServletRequest request,
        HttpServletResponse response) {
    currentIP = request.getRemoteAddr();
    setLocale(request.getLocale());
    handle.set(this);    
    this.request = request;    
    this.response = response;
}

however, request.getLocale() returns en_US, which is my OS locale. However, in Firefox addon for switching locales (https://addons.mozilla.org/cs/firefox/addon/quick-locale-switcher/?src=userprofile), I have set up it to be cs_CZ, however, getLocale() will still return en_US.


Solution

  • Try getting the session locale:

    UI.getCurrent().getSession().getLocale();
    

    That worked for me.