X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Futil%2FMessageManager.java;h=bb94566b7848361881b0c879af7f31d9bb0b827d;hb=d49c33d2fbb65ad7477cb3a538b9e32a68f374a2;hp=2852364455f1f272da6b206b3d093c8064ec81b7;hpb=e92b746252bedc344d08ecf9a10cca7a539fb266;p=jalview.git diff --git a/src/jalview/util/MessageManager.java b/src/jalview/util/MessageManager.java index 2852364..bb94566 100644 --- a/src/jalview/util/MessageManager.java +++ b/src/jalview/util/MessageManager.java @@ -38,11 +38,9 @@ import org.apache.log4j.Logger; */ public class MessageManager { - - // BH 2018 switched to org.apache.llog4j.Logger - private static ResourceBundle rb; + // BH 2018 switched to org.apache.llog4j.Logger private static Logger log = Logger .getLogger(MessageManager.class.getCanonicalName()); @@ -80,6 +78,13 @@ public class MessageManager } + /** + * Returns the resource bundle text for the given key, or if not found, the + * key prefixed by "[missing key]" + * + * @param key + * @return + */ public static String getString(String key) { String value = "[missing key] " + key; @@ -99,21 +104,56 @@ public class MessageManager return loc; } + /** + * 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) { - return MessageFormat.format(getString(key), 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 MessageFormat.format(getString(key), (Object[]) params); + return formatMessage(key, (Object[]) params); } /** - * Looks up and returns 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. Use this for programmatically constructed keys that - * have a human readable alternative used in the program (e.g. BLOSUM62 and + * 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. + *

+ * If the key doesn't resolve, then {@code name} is returned. + *

+ * Use this for programmatically constructed keys that might have a human + * readable alternative used in the program (e.g. BLOSUM62 and * label.score_blosum62). * * @param keyroot