JAL-1354 replacement of bare strings in GUI dialogs with i18n bundle lookup via jalvi...
[jalview.git] / src / jalview / util / MessageManager.java
diff --git a/src/jalview/util/MessageManager.java b/src/jalview/util/MessageManager.java
new file mode 100644 (file)
index 0000000..c5f0489
--- /dev/null
@@ -0,0 +1,51 @@
+package jalview.util;
+
+import java.text.MessageFormat;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.util.logging.Logger;
+
+/**
+ * 
+ * @author David Roldan Martinez
+ * @author Thomas Abeel
+ * 
+ *
+ */
+public class MessageManager {
+
+       private static ResourceBundle rb;    
+               
+       private static Logger log=Logger.getLogger(MessageManager.class.getCanonicalName());
+       
+       private static Locale loc = Locale.getDefault();
+       
+       
+       
+    static{
+       /* Localize Java dialogs */
+       Locale.setDefault(loc);
+       /* Getting messages for GV */
+       log.info("Getting messages for lang: "+loc);
+        rb = ResourceBundle.getBundle("lang.Messages", loc);
+        log.finest("Language keys: "+rb.keySet());
+     
+    }
+    
+    public static String getString(String key){
+       String value = "[missing key] " + key;
+       try{
+               value = rb.getString(key);
+       }catch(Exception e){
+               log.warning("I18N missing: "+loc+"\t"+key);
+       }
+       return value;
+    }
+    
+       public static Locale getLocale() {
+               return loc;
+       }
+       public static String formatMessage(String key, Object[] params){
+               return MessageFormat.format(rb.getString(key), params);
+       }
+}