Java 如何根据设置本地化程序文本?
例如,我有一个Java 如何根据设置本地化程序文本?,java,localization,Java,Localization,例如,我有一个Language类,它将包含String类型的常量属性,它将在整个程序中使用,根据启动程序时的设置打印x或y字符串 我怎么能这样做?我曾尝试过使用Enum,但缺乏使用经验,未能正确应用;尝试了不同的类,这些类继承了语言,并且必须指定每个字符串的值,但看起来像是自制的枚举 另外,我希望有一个包含每个字符串内容的XML文件,但我完全不知道如何在java中获取XML文件的值(我可能知道如何将它们分开)。如果可能,请提供一些示例或文档 谢谢。您可以使用属性文件,即将它们命名为en-GB.p
Language
类,它将包含String
类型的常量属性,它将在整个程序中使用,根据启动程序时的设置打印x
或y
字符串
我怎么能这样做?我曾尝试过使用Enum
,但缺乏使用经验,未能正确应用;尝试了不同的类,这些类继承了语言
,并且必须指定每个字符串
的值,但看起来像是自制的枚举
另外,我希望有一个包含每个字符串内容的XML文件,但我完全不知道如何在java中获取XML文件的值(我可能知道如何将它们分开)。如果可能,请提供一些示例或文档
谢谢。您可以使用属性文件,即将它们命名为en-GB.properties、en-US.properties等,文件的外观如下:
en-GB属性
file=File
edit=Edit
file=File
edit=Modifica
it-it.properties
file=File
edit=Edit
file=File
edit=Modifica
“=”符号前面的字符串是属性名称,后面的字符串是属性值,这是访问它的代码:
Properties prop = new Properties();
try {
//load a properties file
prop.load(new FileInputStream("it-IT.properties"));
//get the property value and print it out
System.out.println(prop.getProperty("file")); //prints "File"
System.out.println(prop.getProperty("edit"));//prints "Modifica"
} catch (IOException ex) {
ex.printStackTrace();
}
希望这能有所帮助看来我没有尽我所能去搜索。谢谢