如何根据设置本地化程序的文本?

时间:2013-03-04 15:46:48

标签: java localization

例如,我有一个Language类,它将包含String类型的常量属性,该属性将在整个程序中用于打印xy Strings基于启动程序时的设置。

我怎么能这样做?我经常使用Enum,但我缺乏使用它们的经验并且无法正确应用它们;尝试了继承Language的不同类,并且必须指定每个String的值,但这看起来像是自制的Enum

作为一个优点,我希望有一个包含每个String内容的XML文件,但我完全不知道在java中获取XML文件的值(我可能知道如何分开执行它们) 。如果可能的话,可以使用一些示例或文档。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用属性文件,即将它们命名为en-GB.properties,en-US.properties等,这就是文件的样子:

en-GB.properties

file=File
edit=Edit

it-IT.properties

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();
    }

希望这有帮助