import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
-import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
-import be.nikiroo.utils.resources.Bundles;
-import be.nikiroo.utils.resources.Meta;
-
/**
* This class encapsulate a {@link ResourceBundle} in UTF-8. It only allows to
* retrieve values associated to an enumeration, and allows some additional
}
/**
- * Get the value for the given key if it exists in the internal map.
+ * Get the value for the given key if it exists in the internal map, or NULL
+ * if not.
*
* @param key
* the key to check for
*
- * @return true if it does
+ * @return the value, or NULL
*/
protected String getString(String key) {
if (containsKey(key)) {
- try {
- // Note: it is also possible to fix the borked charset issue
- // with a custom ResourceBundle#Control class, but this one,
- // while a workaround, depend less upon the JRE classes, which
- // may change
- return new String(map.getString(key).getBytes("ISO-8859-1"),
- "UTF-8");
- } catch (UnsupportedEncodingException e) {
- // Those 2 encodings are always supported
- e.printStackTrace();
- }
+ return map.getString(key);
}
return null;
if (map == null) {
map = ResourceBundle.getBundle(type.getPackage().getName() + "."
- + name.name(), locale);
+ + name.name(), locale, new FixedResourceBundleControl());
}
}