我正在开发一个库,它将翻译所有硬编码的字符串。
在一些帮助下,我设法找到了与之相关的所有字符串,所以这是一个开始。但是,我注意到在尝试将JFileChooser
中的文件重命名为已经采用的名称时,我收到一个错误对话框,说我不能这样做。
这是Java,还是Windows(运行程序的操作系统)?
如果它是Java,我想知道更多关于如何自定义这样的JDialog
,如果它是Windows,那我就无能为力,特别是因为该程序应该是交叉的平台。
答案 0 :(得分:1)
您可以在安装它的目录中找到JDK的源代码。
在openJDK-7实现中,您正在寻找的String在
package com.sun.swing.internal.plaf.basic.resources
和文件basic.java
。
此目录中的其他文件对应于不同的翻译:
basic_de.java
,basic_es.java
,...等
Swing类使用了所有String常量。
其中:
{ "FileChooser.renameErrorFileExists.textAndMnemonic",
"Cannot rename {0}: A file with the name you specified already exists. Specify a different file name." },
因此,您必须找到一种方法来覆盖属性FileChooser.renameErrorFileExists.textAndMnemonic
以更改此对话框。
如果您想翻译这些字符串,请参阅this answer。
不同的Java安装可能会有不同的字符串,因为这些文件不是官方Java API的一部分。
据我所知,这些文件不包含在由Oracle分发的src.zip
中。