diff options
Diffstat (limited to 'id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/LanguageHelper.java')
-rw-r--r-- | id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/LanguageHelper.java | 112 |
1 files changed, 54 insertions, 58 deletions
diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/LanguageHelper.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/LanguageHelper.java index 0a74e8c54..263743dd0 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/LanguageHelper.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/helper/LanguageHelper.java @@ -23,84 +23,80 @@ package at.gv.egovernment.moa.id.configuration.helper; +import at.gv.egovernment.moa.id.configuration.Constants; import at.gv.egovernment.moa.id.configuration.config.ConfigurationProvider; import at.gv.egovernment.moa.id.configuration.exception.ConfigurationException; +import at.gv.egovernment.moa.util.MiscUtil; +import javax.servlet.http.HttpServletRequest; import java.text.MessageFormat; import java.util.Locale; import java.util.ResourceBundle; -import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; public class LanguageHelper { - private static final Logger log = Logger.getLogger(LanguageHelper.class); + private static Logger log = Logger.getLogger(LanguageHelper.class); - private static ResourceBundle errorRes_DE = ResourceBundle.getBundle("applicationResources", Locale.GERMAN); - private static ResourceBundle guiRes_DE = ResourceBundle.getBundle("applicationResources", Locale.GERMAN); - - private static ResourceBundle errorRes_EN = ResourceBundle.getBundle("applicationResources_en", Locale.ENGLISH); - private static ResourceBundle guiRes_EN = ResourceBundle.getBundle("applicationResources_en", Locale.ENGLISH); - - private static ResourceBundle errorLanguage() { - try { - ConfigurationProvider configurationProvider = ConfigurationProvider.getInstance(); - if (configurationProvider.getDefaultLanguage().equals("en")) { - return errorRes_EN; - } else { - return errorRes_DE; - } - } catch (ConfigurationException e) { - log.error("Configuration exception while getting ConfigurationProvider instance", e); - return errorRes_DE; - } + private static String errorLanguage(String code, Locale locale) { + return ResourceBundle.getBundle("applicationResources", locale).getString(code); + } - private static ResourceBundle guiLanguage() { - try { - ConfigurationProvider configurationProvider = ConfigurationProvider.getInstance(); - if (configurationProvider.getDefaultLanguage().equals("en")) { - return guiRes_EN; - } else { - return guiRes_DE; - } - } catch (ConfigurationException e) { - log.error("Configuration exception while getting ConfigurationProvider instance", e); - return guiRes_DE; - } + private static String guiLanguage(String code, Locale locale) { + return ResourceBundle.getBundle("applicationResources", locale).getString(code); + } public static String getGUIString(String code, HttpServletRequest request) { - return guiLanguage().getString(code); - } - - public static String getGUIString(String code) { - return guiLanguage().getString(code); - } - - public static String getErrorString(String code, HttpServletRequest request) { - return errorLanguage().getString(code); - } - - public static String getErrorString(String code) { - return errorLanguage().getString(code); - } - - public static String getGUIString(String code, String parameter, HttpServletRequest request) { + return guiLanguage(code, getLangFromRequest(request)); + } + + + public static String getErrorString(String code, HttpServletRequest request) { + return errorLanguage(code, getLangFromRequest(request)); + } + + public static String getGUIString(String code, String parameter, HttpServletRequest request) { return MessageFormat.format(getGUIString(code, request), parameter); - } - - public static String getErrorString(String code, Object[] parameter, HttpServletRequest request) { + } + + public static String getErrorString(String code, Object[] parameter, HttpServletRequest request) { + + return MessageFormat.format(getGUIString(code, request), parameter); + } + + + private static Locale getLangFromRequest(HttpServletRequest request) { + + Locale defaultLanguage = Locale.forLanguageTag("de"); + + try { + ConfigurationProvider configurationProvider = ConfigurationProvider.getInstance(); + defaultLanguage = Locale.forLanguageTag(configurationProvider.getDefaultLanguage()); + + } catch (ConfigurationException e) { + log.error("Configuration exception while getting ConfigurationProvider instance", e); + } + + + if (request == null) { + return defaultLanguage; + + } else { + Object obj = request.getSession().getAttribute(Constants.SESSION_I18n); + + if (obj != null && obj instanceof Locale) { + return (Locale) obj; - return MessageFormat.format(getGUIString(code, request), parameter); - } - - public static String getErrorString(String code, Object[] parameter) { - - return MessageFormat.format(getGUIString(code), parameter); - } + } else + return defaultLanguage; + + } + + } } |