package helpers; import java.lang.reflect.Field; import java.util.Locale; import java.util.MissingResourceException; import java.util.ResourceBundle; public class NLS { public static void load(String bundleName,Class<?> clazz) { ResourceBundle rb = ResourceBundle.getBundle(bundleName,Locale.getDefault(),clazz.getClassLoader()); ResourceBundle rbDefault = null; final Field[] fieldArray = clazz.getDeclaredFields(); for (Field f:fieldArray) { String name = f.getName(); String translation = null; try{ translation = rb.getString(name); } catch (MissingResourceException mre) { if (rbDefault == null) { rbDefault = ResourceBundle.getBundle(bundleName,Locale.ENGLISH,clazz.getClassLoader()); } translation = rb.getString(name); } if (translation == null) { throw new MissingResourceException("Not found res",clazz.getCanonicalName(),name); } try { f.set(null, translation); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } }