+package eu.svjatoslav.commons.network;
+
+import javax.servlet.http.HttpServletRequest;
+
+public class LocaleHelper {
+
+ public static Locale detectLocale(final HttpServletRequest request) {
+
+ final String sessionLocaleString = (String) request.getSession().getAttribute("locale");
+
+ Locale sessionLocale = localeFromString(sessionLocaleString);
+ if (sessionLocale == null) {
+ sessionLocale = Locale.ENG;
+ }
+
+ final Locale requestLocale = localeFromString(request.getParameter("locale"));
+ if (requestLocale != null) {
+ sessionLocale = requestLocale;
+ }
+
+ request.getSession().setAttribute("locale", sessionLocale.asString());
+
+ return sessionLocale;
+ }
+
+ public static Locale localeFromString(final String localeString) {
+ for (final Locale locale : Locale.values()) {
+ if (locale.asString().equals(localeString)) {
+ return locale;
+ }
+ }
+
+ return null;
+ }
+
+}