JAL-1354 replacement of bare strings in GUI dialogs with i18n bundle lookup via jalvi...
[jalview.git] / src / jalview / util / MessageManager.java
1 package jalview.util;
2
3 import java.text.MessageFormat;
4 import java.util.Locale;
5 import java.util.ResourceBundle;
6 import java.util.logging.Logger;
7
8 /**
9  * 
10  * @author David Roldan Martinez
11  * @author Thomas Abeel
12  * 
13  *
14  */
15 public class MessageManager {
16
17         private static ResourceBundle rb;    
18                 
19         private static Logger log=Logger.getLogger(MessageManager.class.getCanonicalName());
20         
21         private static Locale loc = Locale.getDefault();
22         
23         
24         
25     static{
26         /* Localize Java dialogs */
27         Locale.setDefault(loc);
28         /* Getting messages for GV */
29         log.info("Getting messages for lang: "+loc);
30         rb = ResourceBundle.getBundle("lang.Messages", loc);
31         log.finest("Language keys: "+rb.keySet());
32      
33     }
34     
35     public static String getString(String key){
36         String value = "[missing key] " + key;
37         try{
38                 value = rb.getString(key);
39         }catch(Exception e){
40                 log.warning("I18N missing: "+loc+"\t"+key);
41         }
42         return value;
43     }
44     
45         public static Locale getLocale() {
46                 return loc;
47         }
48         public static String formatMessage(String key, Object[] params){
49                 return MessageFormat.format(rb.getString(key), params);
50         }
51 }