From 7acc653f1982f2f839aadfe49f4277b160c94390 Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 19:21:33 +0000 Subject: Only use configured locales git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@279 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../src/main/java/at/asit/pdfover/gui/Messages.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java') 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,11 +41,24 @@ 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); -- cgit v1.2.3