gpt4 book ai didi

java - java中如何实现国际化

转载 作者:搜寻专家 更新时间:2023-11-01 01:54:36 24 4
gpt4 key购买 nike

我有一个名为 Info 的类,其中描述了一堆 static String 变量。

public class Info{

public static stringOne= "Hello";
public static stringTwo = "world";

}

我希望从其他类中以 Info.stringTwo 的形式访问这些变量。

1.) 我需要知道这是否是我在这里应用的java-Internationalization? (我拥有将在本类(class)分配的应用程序中显示的所有消息。而且,我希望该应用程序也能支持不同的语言)

最佳答案

看看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”。在上面的例子中,值也是字符串——“OK”和“Cancel”——但它们不是必须的。这些值可以是任何类型的对象。您使用适当的 getter 方法从资源包中检索对象。因为“OkKey”和“CancelKey”都是字符串,所以您可以使用 getString 来检索它们:

button1 = new Button(myResources.getString("OkKey"));
button2 = new Button(myResources.getString("CancelKey"));

关于java - java中如何实现国际化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13632663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com