1

我正在开发一个可以翻译所有硬编码字符串的库。

在一些帮助下,我设法找到了与之相关的所有字符串,所以这是一个开始。但是,我注意到在尝试将文件重命名JFileChooser为已使用的名称时,我收到一个错误对话框,说我不能这样做。

这是 Java,还是 Windows(运行程序的操作系统)?

如果是 Java,我想知道更多关于如何自定义这样的JDialog.,如果是 Windows,我无能为力,特别是因为程序应该是跨平台的。

4

1 回答 1

1

您可以在安装它的目录中找到 JDK 的源代码。

在 openJDK-7 实现中,您要查找的字符串在 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." },

因此,您必须找到一种方法来覆盖 AttributeFileChooser.renameErrorFileExists.textAndMnemonic以更改此对话框。

如果您想翻译这些字符串,请参阅此答案

不同的 Java 安装可能有不同的字符串,因为这些文件不是官方 Java API 的一部分。

据我所知,这些文件不包含在src.zipOracle 分发的文件中。

于 2012-11-03T18:42:16.057 回答