From: Felix Dörre Date: Sun, 31 Aug 2014 13:20:55 +0000 (+0200) Subject: ADD: Enable Language selection. X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=785fe6cd9e7c9116b801aafc443b4f090cce870c;hp=0356e9e734f82c91bd46709726098667fd01b2e8 ADD: Enable Language selection. --- diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java index 148556e8..9b3023b2 100644 --- a/src/org/cacert/gigi/Gigi.java +++ b/src/org/cacert/gigi/Gigi.java @@ -6,6 +6,7 @@ import java.security.KeyStore; import java.util.Calendar; import java.util.HashMap; import java.util.LinkedList; +import java.util.Locale; import java.util.Map; import java.util.Properties; @@ -116,6 +117,11 @@ public class Gigi extends HttpServlet { about.addItem(new SimpleMenuItem("//lists.cacert.org/wws", "Mailing Lists")); about.addItem(new SimpleMenuItem("//blog.CAcert.org/feed", "RSS News Feed")); + Menu languages = new Menu("Translations"); + for (Locale l : Language.getSupportedLocales()) { + languages.addItem(new SimpleMenuItem("?lang=" + l.toString(), l.getDisplayName(l))); + } + categories.add(languages); for (Menu menu : categories) { menu.prepare(); rootMenu.addItem(menu); @@ -175,6 +181,11 @@ public class Gigi extends HttpServlet { // return; // } HttpSession hs = req.getSession(); + if (req.getParameter("lang") != null) { + Locale l = Language.getLocaleFromString(req.getParameter("lang")); + Language lu = Language.getInstance(l); + req.getSession().setAttribute(Language.SESSION_ATTRIB_NAME, lu.getLocale()); + } final Page p = getPage(req.getPathInfo()); if (p != null) { diff --git a/src/org/cacert/gigi/Gigi.templ b/src/org/cacert/gigi/Gigi.templ index 2cb3d90f..f755b2c5 100644 --- a/src/org/cacert/gigi/Gigi.templ +++ b/src/org/cacert/gigi/Gigi.templ @@ -21,35 +21,6 @@