From a697014f29f7a71878e535947556ae5d92db22b3 Mon Sep 17 00:00:00 2001 From: zapata Date: Sun, 16 Mar 2003 13:10:45 +0000 Subject: [PATCH] open posting internationalizable again... --- source/OpenMir.java | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/source/OpenMir.java b/source/OpenMir.java index 066e1836..56002889 100755 --- a/source/OpenMir.java +++ b/source/OpenMir.java @@ -57,7 +57,7 @@ import freemarker.template.SimpleScalar; * OpenMir.java - main servlet for open posting and comment feature to articles * * @author RK 1999-2001, the mir-coders group - * @version $Id: OpenMir.java,v 1.28 2003/03/15 02:07:35 idfx Exp $ + * @version $Id: OpenMir.java,v 1.29 2003/03/16 13:10:45 zapata Exp $ * */ @@ -80,17 +80,7 @@ public class OpenMir extends AbstractServlet { session = aRequest.getSession(); - if(session.getAttribute("Language")==null){ - if (aRequest.getParameter("language")!=null) { - setLanguage(session, aRequest.getParameter("language")); - } - else { - setLanguage(session, getAcceptLanguage(aRequest)); - } - } - - if (session.getAttribute("language")!=null) - setLocale(session, new Locale((String) session.getAttribute("language"), "") ); + checkLanguage(session, aRequest); //make sure client browsers don't cache anything setNoCaching(aResponse); @@ -157,5 +147,21 @@ public class OpenMir extends AbstractServlet { return "OpenMir "+configuration.getString("Mir.Version"); } + private void checkLanguage(HttpSession session, HttpServletRequest aRequest) { + // a lang parameter always sets the language + String lang = aRequest.getParameter("language"); + + if (lang != null) { + logger.info("selected language " + lang + " overrides accept-language"); + setLanguage(session, lang); + setLocale(session, new Locale(lang, "")); + } + // otherwise store language from accept header in session + else if (session.getAttribute("Language") == null) { + logger.info("accept-language is " + aRequest.getLocale().getLanguage()); + setLanguage(session, aRequest.getLocale().getLanguage()); + setLocale(session, aRequest.getLocale()); + } + } } -- 2.11.0