/*
* Copyright 2010-2013, Sikuli.org
* Released under the MIT License.
*
* modified RaiMan 2013
*/
package org.sikuli.ide;
import java.util.*;
import java.text.MessageFormat;
import org.sikuli.script.Debug;
public class SikuliIDEI18N {
static ResourceBundle i18nRB, i18nRB_en;
static Locale curLocale;
static {
Locale locale_en = new Locale("en","US");
i18nRB_en = ResourceBundle.getBundle("i18n/IDE",locale_en);
Locale locale = PreferencesUser.getInstance().getLocale();
if(!setLocale(locale)){
locale = locale_en;
PreferencesUser.getInstance().setLocale(locale);
}
Debug.log(2, "locale: " + locale);
}
public static boolean setLocale(Locale locale){
curLocale = locale;
try{
i18nRB = ResourceBundle.getBundle("i18n/IDE",locale);
}
catch(MissingResourceException e){
Debug.error("no locale for " + locale);
return false;
}
return true;
}
public static String _I(String key, Object... args){
String ret;
if(i18nRB==null)
ret = i18nRB_en.getString(key);
else{
try {
ret = i18nRB.getString(key);
} catch (MissingResourceException e) {
ret = i18nRB_en.getString(key);
}
}
if(args.length>0){
MessageFormat formatter = new MessageFormat("");
formatter.setLocale(curLocale);
formatter.applyPattern(ret);
ret = formatter.format(args);
}
return ret;
}
}