Swing翻译库

时间:2012-11-03 16:53:55

标签: java swing localization

我看过,找不到一个可以解决摆动分量数据问题的库。

因此,我决定创建自己的并公开......

唯一的问题是我真的不知道语言字符串的包含位置......

如果有人会很高兴告诉我在src文件夹中查找哪些内容,我会非常乐意创建一个类似这样的库:

libraryClassName.JFileChooser.setJFileChooserStringValue(string);
Swing文件夹中提到了

com/sun/java,它也位于javax文件夹中。有许多类包含每个组件的swing组件名称(JFileChooser.javaFileChooserUI.javaBasicFileChooserUI.javaMetalFileChooserUI.javaMultiFileChooserUI.javaFileChooserPainter.java,等等)以及许多可能包含或不包含本地化所需的字符串vaules的通用类。

我想,当找到一个组件的字符串值时,所有其他组件应该位于相应的位置。

所以,如果你帮助我,我会建立一个图书馆,以减轻那些试图翻译他们的程序的程序员的痛苦......

重要编辑: JFileChooser是唯一具有预定义字符串的swing组件吗?

1 个答案:

答案 0 :(得分:1)

好的,我会尽量不要懒惰并帮助你解决这个问题:

文件/src/javax/swing/plaf/basic/BasicFileChooserUI.java有一个很好的方法叫做installStrings(第282行),其中包含你所追求的内容:

protected void installStrings(JFileChooser fc) {

        Locale l = fc.getLocale();
        newFolderErrorText = UIManager.getString("FileChooser.newFolderErrorText",l);
        newFolderErrorSeparator = UIManager.getString("FileChooser.newFolderErrorSeparator",l);

        newFolderParentDoesntExistTitleText = UIManager.getString("FileChooser.newFolderParentDoesntExistTitleText", l);
        newFolderParentDoesntExistText = UIManager.getString("FileChooser.newFolderParentDoesntExistText", l);
// ...
}

您实际需要找到的是对UIManager.getString(String, Locale)的调用,它似乎包含您正在寻找的密钥。实际的方法定义可能会揭示更多的秘密,但我太懒了,无法检查出来;)