あなたはresoursebundleをこのように、その後
public class CustomResourceBundle_en extends ResourceBundle {
public CustomResourceBundle_en() {
setParent(ResourceBundle.getBundle("messages_en"));
}
@Override
protected Object handleGetObject(String key) {
if (parent.keySet().contains(key)) {
return parent.getObject(key);
} else {
return key;
}
}
@Override
public Enumeration getKeys() {
return parent.getKeys();
}
}
他には例えば専用のロケールのため
public class CustomResourceBundle_it extends CustomResourceBundle_en {
public CustomResourceBundle_it() {
setParent(ResourceBundle.getBundle("messages_it"));
}
}
は、2つのプロパティを作成したファイルを拡張することができ message_en.properties
hello.world=Hello World
message_it.propertiesは、それ以外の場合は
ResourceBundle messages = ResourceBundle.getBundle("CustomResourceBundle", Locale.ITALIAN);
System.out.println(messages.getString("hello.world"));
ロケールでそれがキーこんにちはが印刷されます、それはこんにちはを出力します空
を離れた後、このよう
ResourceBundle messages = ResourceBundle.getBundle("CustomResourceBundle", Locale.ENGLISH);
System.out.println(messages.getString("hello.world"));
それを使用しています。世界
あなたはデフォルト値をどのバンドルの定義された値ではない? – VGR
はい、それは私が達成したいことです。 – gorootde
あなたが直接変更する権限がないResourceBundle.getBundle呼び出しの動作を変更しようとしていますか? – VGR