public String toString(Locale loc, String dftVal) { String dv = (dftVal != null) ? dftVal : this.dft; if ((loc != null) && (this.pkg != null)) { return this.toString(I18N.getI18N(this.pkg, loc), dv); } else { return I18N.decodeNewLine(dv); } }
public String toString(I18N i18n, String dftVal) { String dv = (dftVal != null) ? dftVal : this.dft; if (i18n != null) { return i18n.getString(this.getKey(), dv); } else { return I18N.decodeNewLine(dv); } }
/** * ** Gets the Localized value for the specified key. The default String text is return if ** the * specified key does not exist ** @param key The LocalStrings key ** @param dft The default * String text to return if the LocalStrings key does not exist ** @param args An array of * replacement fields ** @return The Localized String text */ public String getString(String key, String dft, Object args[]) { String val = this.getString(key, dft); if ((args != null) && (args.length > 0) && (val != null)) { try { MessageFormat mf = new MessageFormat(val); mf.setLocale(this.locale); StringBuffer sb = mf.format(args, new StringBuffer(), null); return I18N.decodeNewLine(sb).toString(); } catch (Throwable th) { Print.logInfo("Exception: " + key + " ==> " + val); } } return I18N.decodeNewLine(val); }
/** * ** Returns an I18N instance based on the specified package name and Locale ** @param pkgName * The resource package name ** @param loc The Locale resource from with the localized text is * loaded */ public static I18N getI18N(String pkgName, Locale loc) { if (pkgName != null) { loc = I18N.getLocale(loc); /* get package map for specific Locale */ Map<String, I18N> packageMap = localeMap.get(loc); if (packageMap == null) { packageMap = new HashMap<String, I18N>(); localeMap.put(loc, packageMap); } /* get I18N instance for package */ I18N i18n = packageMap.get(pkgName); if (i18n == null) { i18n = new I18N(pkgName, loc); packageMap.put(pkgName, i18n); } return i18n; } else { /* no package specified */ return null; } }
/** * ** Returns the specified Locale, or the default Locale if the specified Locale is null * ** @param loc The default Locale ** @return A Java Locale instance */ public static Locale getLocale(Locale loc) { if (loc != null) { return loc; } else { return I18N.getDefaultLocale(); } }
public String toString() { String locStr = RTConfig.getString(RTKey.SESSION_LOCALE, null); if (StringTools.isBlank(locStr)) { return this.getDefault(); } else { Locale loc = I18N.getLocale(locStr); return this.toString(loc); } }
/** * ** Gets the Localized value for the specified key. The default String text is returned ** if * the specified key does not exist ** @param key The LocalStrings key ** @param dft The default * String text to return if the LocalStrings key does not exist ** @return The Localized String * text */ public String getString(String key, String dft) { if (!StringTools.isBlank(key) && (this.resBundle != null)) { RTProperties cfgProps = RTConfig.getConfigFileProperties(); if (!cfgProps.hasProperty(key) || cfgProps.getBoolean(key, true)) { try { String s = this.resBundle.getString(key); if (s != null) { return I18N.decodeNewLine(s); } } catch (Throwable th) { // Print.logException("",th); // MissingResourceException - if no object for the given key can be found // ClassCastException - if the object found for the given key is not a string } } } return I18N.decodeNewLine(dft); }
/** ** Debug/Testing entry point ** @param argv The command-line args */ public static void main(String argv[]) { RTConfig.setCommandLineArgs(argv); if (RTConfig.hasProperty(ARG_PACKAGE)) { String pkg = RTConfig.getString(ARG_PACKAGE, "org.opengts.util"); String loc = RTConfig.getString(ARG_LOCALE, "en"); String key = RTConfig.getString(ARG_KEY, ""); Locale locale = I18N.getLocale(loc); Print.sysPrintln("Package: " + pkg); Print.sysPrintln("Locale : " + locale + " [" + loc + "]"); Print.sysPrintln("Key : " + key); I18N i18n = I18N.getI18N(pkg, locale); if (i18n != null) { Print.sysPrintln("String : " + i18n.getString(key, "Undefined")); } else { Print.sysPrintln("Package resource not found"); } System.exit(0); } if (RTConfig.hasProperty("test")) { I18N i18n = getI18N(I18N.class, null); i18n.printKeyValues(); String m3 = i18n.getString( "m.m3", "{0}", new Object() { public String toString() { return mainStr; } }); String m2 = i18n.getString("m.m2", "How Now Brown {0}", m3); String m1 = i18n.getString("m.m1", "Message: \\n{0}", m2); Print.sysPrintln(m1); mainStr = "Horse"; Print.sysPrintln(m1); } }
/** * ** Constructor ** @param pkgName The resource package name ** @param loc The Locale resource * from with the localized text is loaded */ private I18N(String pkgName, Locale loc) { String bundleName = null; try { this.locale = I18N.getLocale(loc); bundleName = ((pkgName == null) || pkgName.equals("")) ? LOCAL_STRINGS : (pkgName + _LOCAL_STRINGS); this.resBundle = ResourceBundle.getBundle(bundleName, this.locale); // Print.logInfo("Found bundle: " + bundleName); } catch (Throwable th) { // MissingResourceException if (loc != null) { // quietly ignore this exception if (loc == null) Print.logInfo("Bundle not found: " + bundleName + " [" + th); } this.resBundle = null; } }
/** * ** Returns an I18N instance based on the specified package name and Locale ** @param pkg The * resource package ** @param loc The Locale resource from with the localized text is loaded */ public static I18N getI18N(Package pkg, Locale loc) { return I18N.getI18N(pkg.getName(), loc); }
/** * ** Returns an I18N instance based on the specified package name and Locale ** @param pkgClz The * class from which the class package is derived ** @param loc The Locale resource from with the * localized text is loaded */ public static I18N getI18N(Class pkgClz, Locale loc) { return I18N.getI18N(pkgClz.getPackage().getName(), loc); }
/** * ** Returns an I18N.Text instance used for lazy localization ** @param clazz The class from * which the package is derived ** @param key The localization key ** @param dft The default * localized text ** @return An I18N.Text instance used for lazy localization */ public static I18N.Text getString(Class clazz, String key, String dft) { // i18n 'key' is separately specified String pkg = (clazz != null) ? clazz.getPackage().getName() : null; return I18N.parseText(pkg, key, dft); }
public String getDefault(boolean decodeNewLine) { return decodeNewLine ? I18N.decodeNewLine(this.dft) : this.dft; // never null }
public String getDefault() { return I18N.decodeNewLine(this.dft); // never null }
/** * ** Gets the Java Locale instance based on the specified locale name ** @param loc The name of * the Locale ** @return The Java Locale instance */ public static Locale getLocale(String loc) { Locale locale = I18N.getLocale(loc, null); return (locale != null) ? locale : I18N.getDefaultLocale(); }