JAL-1807 includes ?j2sdebug flag and DebugJS._(msg)
[jalviewjs.git] / bin / jalview / util / MessageManager.js
1 Clazz.declarePackage ("jalview.util");
2 Clazz.load (["java.text.MessageFormat", "java.util.logging.Logger"], "jalview.util.MessageManager", ["java.util.Locale", "$.ResourceBundle", "java.util.logging.Level"], function () {
3 c$ = Clazz.declareType (jalview.util, "MessageManager");
4 c$.getString = Clazz.defineMethod (c$, "getString", 
5 function (key) {
6 var value = "[missing key] " + key;
7 try {
8 value = jalview.util.MessageManager.rb.getString (key);
9 } catch (e) {
10 if (Clazz.exceptionOf (e, Exception)) {
11 jalview.util.MessageManager.log.warning ("I18N missing: " + jalview.util.MessageManager.loc + "\t" + key);
12 } else {
13 throw e;
14 }
15 }
16 return value;
17 }, "~S");
18 c$.getLocale = Clazz.defineMethod (c$, "getLocale", 
19 function () {
20 return jalview.util.MessageManager.loc;
21 });
22 c$.formatMessage = Clazz.defineMethod (c$, "formatMessage", 
23 function (key, params) {
24 return java.text.MessageFormat.format (jalview.util.MessageManager.getString (key), params);
25 }, "~S,~A");
26 c$.formatMessage = Clazz.defineMethod (c$, "formatMessage", 
27 function (key, params) {
28 return java.text.MessageFormat.format (jalview.util.MessageManager.getString (key), params);
29 }, "~S,~A");
30 c$.getStringOrReturn = Clazz.defineMethod (c$, "getStringOrReturn", 
31 function (keyroot, name) {
32 var smkey = keyroot + name.toLowerCase ().replaceAll (" ", "");
33 try {
34 name = jalview.util.MessageManager.rb.getString (smkey);
35 } catch (x) {
36 if (Clazz.exceptionOf (x, Exception)) {
37 jalview.util.MessageManager.log.finest ("I18N missing key with root " + keyroot + ": " + jalview.util.MessageManager.loc + "\t" + smkey);
38 } else {
39 throw x;
40 }
41 }
42 return name;
43 }, "~S,~S");
44 Clazz.defineStatics (c$,
45 "rb", null);
46 c$.log = c$.prototype.log = java.util.logging.Logger.getLogger (jalview.util.MessageManager.getCanonicalName ());
47 Clazz.defineStatics (c$,
48 "loc", null);
49 {
50 try {
51 jalview.util.MessageManager.loc = java.util.Locale.getDefault ();
52 jalview.util.MessageManager.log.info ("Getting messages for lang: " + jalview.util.MessageManager.loc);
53 jalview.util.MessageManager.rb = java.util.ResourceBundle.getBundle ("lang.Messages", jalview.util.MessageManager.loc);
54 if (jalview.util.MessageManager.rb == null || jalview.util.MessageManager.log.isLoggable (java.util.logging.Level.FINEST)) {
55 jalview.util.MessageManager.log.finest ("Language keys: " + jalview.util.MessageManager.rb.keySet ());
56 }} catch (e$$) {
57 if (Clazz.exceptionOf (e$$, Exception)) {
58 var q = e$$;
59 {
60 jalview.util.MessageManager.log.warning ("Exception when initting Locale for i18n messages\n" + q.getMessage ());
61 q.printStackTrace ();
62 }
63 } else if (Clazz.exceptionOf (e$$, Error)) {
64 var v = e$$;
65 {
66 jalview.util.MessageManager.log.warning ("Error when initting Locale for i18n messages\n" + v.getMessage ());
67 v.printStackTrace ();
68 }
69 } else {
70 throw e$$;
71 }
72 }
73 }});