看一看Resource bundle
一个复制粘贴从文档:
当程序需要特定的语言环境的对象,它加载使用getBundle方法ResourceBundle类:
ResourceBundle myResources =
ResourceBundle.getBundle("MyResources", currentLocale);
资源包包含键/值对。这些键唯一地标识了包中的特定于语言环境的对象。
这里是一个包含了两个键/值对的ListResourceBundle示例,:
public class MyResources extends ListResourceBundle {
protected Object[][] getContents() {
return new Object[][] {
// LOCALIZE THE SECOND STRING OF EACH ARRAY (e.g., "OK")
{"OkKey", "OK"},
{"CancelKey", "Cancel"},
// END OF MATERIAL TO LOCALIZE
};
}
}
键总是字符串。在这个例子中,键是“OkKey”和“CancelKey”。在上面的例子中,这些值也是字符串 - “确定”和“取消” - 但它们不一定是。值可以是任何类型的对象。 使用适当的getter方法从资源包检索对象。因为“OkKey”和“CancelKey”都是字符串,所以应该使用getString来检索它们:
button1 = new Button(myResources.getString("OkKey"));
button2 = new Button(myResources.getString("CancelKey"));
你读过[本教程](http://docs.oracle.com/javase/tutorial/i18n/index.html)吗? – assylias
[Java首选项和国际化(i18n)]的可能的重复(http://stackoverflow.com/questions/5588837/java-preferences-and-internationalization-i18n) – CoolBeans
不,它不是java-Internationalization。这是一些轮子重新发明技术,没有任何意义。请遵循标准方式(请参阅assylias的评论)。 –