Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r12951dca4177697537f19dc551b1f6365344a1f1 -r2c7b0845d981d238ce63a3e5d5a64d7351a16497 Binary files differ Index: lams_common/src/java/org/lamsfoundation/lams/web/filter/LocaleFilter.java =================================================================== diff -u -r34b959260a0f8f8285793a4481a95ca3580eabc5 -r2c7b0845d981d238ce63a3e5d5a64d7351a16497 --- lams_common/src/java/org/lamsfoundation/lams/web/filter/LocaleFilter.java (.../LocaleFilter.java) (revision 34b959260a0f8f8285793a4481a95ca3580eabc5) +++ lams_common/src/java/org/lamsfoundation/lams/web/filter/LocaleFilter.java (.../LocaleFilter.java) (revision 2c7b0845d981d238ce63a3e5d5a64d7351a16497) @@ -83,10 +83,10 @@ if(user != null){ String lang = user.getLocaleLanguage(); String country = user.getLocaleCountry(); - //language and country must both exist: - //It is not good idea to combine customerized language with system default country! no en_CN! - if(!StringUtils.isEmpty(lang) && !StringUtils.isEmpty(country)){ - preferredLocale = new Locale(lang,country); + // would prefer both the language and country but that's not always feasible. + // so we may end up with some confusing situations. + if(!StringUtils.isEmpty(lang)){ + preferredLocale = new Locale(lang,country!=null?country:""); } } }