- * lookup and return a key given a root and a human-readable(ish) name that when combined might resolve to an i18n string.
- * If the key doesn't resolve, then name is returned.if the key doesn't exist.
- * Use this for programatically constructed keys that have have a human readable alternative used in the program (e.g. BLOSUM62 and label.score_blosum62)
+ * Returns the resource bundle text for the given key, with tokens {@code {0},
+ * {1} etc replaced by the supplied parameters. If the key is not found,
+ * returns the key and values prefixed by "[missing key]"
+ *
+ * @param key
+ *
+ * @return
+ */
+ public static String formatMessage(String key, Object... params)
+ {
+ try
+ {
+ return MessageFormat.format(rb.getString(key), params);
+ } catch (Exception e)
+ {
+ log.warn("I18N missing: " + loc + "\t" + key);
+ }
+ String value = "[missing key] " + key + "";
+ for (Object p : params)
+ {
+ value += " '" + p.toString() + "'";
+ }
+ return value;
+ }
+
+ /**
+ * Returns the resource bundle text for the given key, with tokens {@code {0},
+ * {1} etc replaced by the supplied parameters. If the key is not found,
+ * returns the key and values prefixed by "[missing key]"
+ *
+ * @param key
+ *
+ * @return
+ */
+ public static String formatMessage(String key, String[] params)
+ {
+ return formatMessage(key, (Object[]) params);
+ }
+
+ /**
+ * Returns resource bundle text given a root and a human-readable(ish) name
+ * that when combined might resolve to an i18n string. {@code name} is forced
+ * to lower case, with any spaces removed, and concatenated to {@code keyroot}
+ * to form a lookup key.
+ * <p>
+ * If the key doesn't resolve, then {@code name} is returned.
+ * <p>
+ * Use this for programmatically constructed keys that might have a human
+ * readable alternative used in the program (e.g. BLOSUM62 and
+ * label.score_blosum62).
+ *