/** * The main function of this class that localizes strings. * * @param key The key to localize. * @return The localized String. */ public static String localize(String key) { /* This is needed for the JUnit tests. * Otherwise a "assert initialized" would suffice. */ if (!initialized) { init("en"); } if (key == null) { throw new IllegalArgumentException("null"); } String name = getName(key); if (name == null) { return Localizer.localize("UMLMenu", key); } loadBundle(name); ResourceBundle bundle = bundles.get(name); if (bundle == null) { LOG.debug("Bundle (" + name + ") for resource " + key + " not found."); return key; } try { return bundle.getString(key); } catch (MissingResourceException e) { LOG.debug("Resource " + key + " not found."); return key; } }
/* * Internal initialization method. Handles initialization which * is common to both public methods. */ private static void initInternal(String s) { assert !initialized; initialized = true; // Retain the original one: systemDefaultLocale = Locale.getDefault(); if ((!"".equals(s)) && (s != null)) { setLocale(s); } else { setLocale( new Locale( System.getProperty("user.language", "en"), System.getProperty("user.country", ""))); } // TODO: This is using internal knowledge of GEF. It should // handle this itself. - tfm Localizer.addResource("GefBase", "org.tigris.gef.base.BaseResourceBundle"); Localizer.addResource("GefPres", "org.tigris.gef.presentation.PresentationResourceBundle"); }
/** * Initialize the locale. * * @param locale a string with the locale */ public static void init(String locale) { // assert !initialized; // GUITestActionOpenProject fails over this... initialized = true; // Retain the original one: systemDefaultLocale = Locale.getDefault(); if ((!"".equals(locale)) && (locale != null)) { setLocale(locale); } else { setLocale( new Locale( System.getProperty("user.language", "en"), System.getProperty("user.country", ""))); } /* TODO: This is using internal knowledge of GEF. It should * handle this itself. - tfm * MVW: Move into something like Main.initGEF() */ Localizer.addResource("GefBase", "org.tigris.gef.base.BaseResourceBundle"); Localizer.addResource("GefPres", "org.tigris.gef.presentation.PresentationResourceBundle"); }