diff options
author | vkrnjic <vkrnjic@klio.iaik.tugraz.at> | 2012-11-07 10:15:15 +0100 |
---|---|---|
committer | vkrnjic <vkrnjic@klio.iaik.tugraz.at> | 2012-11-07 10:15:15 +0100 |
commit | f37e3df93655738dbe5e3ea77b764640f1bffbf6 (patch) | |
tree | 1e590a40767af5764d380a1305b9b07706cac012 /trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java | |
parent | 3bac2875cf14f09974835ad2e5d018d010cab95e (diff) | |
parent | ca6544acdadbc42dbbc9be68718782eeb815b0ad (diff) | |
download | pdf-over-f37e3df93655738dbe5e3ea77b764640f1bffbf6.tar.gz pdf-over-f37e3df93655738dbe5e3ea77b764640f1bffbf6.tar.bz2 pdf-over-f37e3df93655738dbe5e3ea77b764640f1bffbf6.zip |
Merge branch 'master' of git@abyss:12PDF-OVER-4.0.git
Diffstat (limited to 'trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java')
-rw-r--r-- | trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java | 49 |
1 files changed, 46 insertions, 3 deletions
diff --git a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java index 1e8f899a..0c6101b9 100644 --- a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java +++ b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java @@ -16,29 +16,72 @@ package at.asit.pdfover.gui; // Imports +import java.util.HashMap; +import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + /** * Localizes string messages for PDFOver GUI */ public class Messages { + + /** + * SFL4J Logger instance + **/ + static final Logger log = LoggerFactory.getLogger(Messages.class); + private static final String BUNDLE_NAME = "at.asit.pdfover.gui.messages"; //$NON-NLS-1$ - private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle - .getBundle(BUNDLE_NAME); + private static HashMap<Locale, ResourceBundle> bundles = new HashMap<Locale, ResourceBundle>(); + + //private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle + // .getBundle(BUNDLE_NAME); + private static Locale currentLocale = Locale.getDefault(); + private Messages() { } /** + * Sets the currently used locals + * @param locale + */ + public static void setLocale(Locale locale) { + currentLocale = locale; + } + + private static ResourceBundle getBundle() { + if(!bundles.containsKey(currentLocale)) { + ResourceBundle tmp = null; + try { + tmp = ResourceBundle.getBundle(BUNDLE_NAME, currentLocale); + } catch(Exception e) { + log.error("NO RESOURCE BUNDLE FOR " + currentLocale.toString(), e); //$NON-NLS-1$ + tmp = ResourceBundle.getBundle(BUNDLE_NAME); + } + if(tmp == null) { + log.error("NO RESOURCE BUNDLE FOR " + currentLocale.toString()); //$NON-NLS-1$ + tmp = ResourceBundle.getBundle(BUNDLE_NAME); + } + bundles.put(currentLocale, tmp); + return tmp; + } + return bundles.get(currentLocale); + } + + /** * Gets the localized message * @param key * @return the localized message */ public static String getString(String key) { try { - return RESOURCE_BUNDLE.getString(key); + return getBundle().getString(key); + //return RESOURCE_BUNDLE.getString(key); } catch (MissingResourceException e) { return '!' + key + '!'; } |