我在 macOS 上有一个使用 SWT 的 Java 应用程序。有时,此应用程序需要询问文件名。现在,虽然 SWT 有一个文件对话框,但在最近的版本中这有点坏了。
因此,我创建了自己的文件对话框,该对话框使用 JNA 通过 Objective C 运行时创建 NSSavePanel。这样我就可以摆脱“标签”字段并正确处理文件扩展名。就像一个魅力,除了:我的 macOS 是德文的,但 NSSavePanel 是英文的(就像来自 SWT 的一样)。如何让对话框使用系统语言?
该应用程序还使用自定义 Java 启动器。如果调整启动器的构建文件中的可用语言会有所帮助,我还没有尝试过,因为出于各种原因,我宁愿避免重建它。有没有办法仅使用 Cocoa(或 Core Foundation)API 来实现这一点?
编辑:我们已经检查了一个带有 High Sierra 的系统,那里的对话框是德语的