diff options
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java index 77e2f764..b17e168a 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java @@ -41,12 +41,25 @@ public class Messages { //private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle // .getBundle(BUNDLE_NAME); - private static Locale currentLocale = Locale.getDefault(); + private static Locale currentLocale = getDefaultLocale(); private Messages() { } /** + * Get the closest match to the system default Locale out of the supported locales + * @return the default locale + */ + public static Locale getDefaultLocale() { + Locale ld = Locale.getDefault(); + for (Locale l : Constants.SUPPORTED_LOCALES) { + if (l.equals(ld) || l.getLanguage().equals(ld.getLanguage())) + return l; + } + return Constants.SUPPORTED_LOCALES[0]; + } + + /** * Sets the currently used locals * @param locale */ @@ -56,9 +69,11 @@ public class Messages { private static ResourceBundle getBundle(Locale locale) { if(!bundles.containsKey(locale)) { + log.debug("Loading resource bundle for " + locale); //$NON-NLS-1$ ResourceBundle tmp = null; try { tmp = ResourceBundle.getBundle(BUNDLE_NAME, locale); + log.debug("Received bundle for " + tmp.getLocale()); //$NON-NLS-1$ } catch(Exception e) { log.error("NO RESOURCE BUNDLE FOR " + locale.toString(), e); //$NON-NLS-1$ tmp = ResourceBundle.getBundle(BUNDLE_NAME); |