2

在 Java 插件中,我以 . 显示KeyEvent.getKeyText(VK_CTRL)Action但我希望它以不同的语言显示,具体取决于用户的语言环境。例如,在英语中是CTRL,但在德语中是Strg。在阅读getKeyText的文档时,它说

返回描述修饰键的字符串,例如“Shift”或“Ctrl+Shift”。这些字符串可以通过更改 awt.properties文件进行本地化。

我的问题是..

  1. jre 插件是否包含不同语言的翻译
  2. 如果我需要提供翻译,如何将它们包含在我的插件中。我是否只是awt_de.properties在 jar 的根目录中添加一个?是否需要放在其他地方。

在搜索过程中,awt.properties除了书籍和 javadoc 中对它的引用以及一些关于在您的主目录中更新它的参考之外,我几乎找不到什么,因为这是一个插件,所以我不能这样做。

回答

  1. JRE 实际上确实提供了其他语言的翻译。
  2. 我仍然不知道在哪里找到“awt.properties”,但这没关系,因为插件有翻译。

对我来说问题是2倍...

  1. 您不能从 applet 使用 Locale.setDefault(),虽然 JComponent.setDefaultLocale() 确实为大多数事情设置了 Locale,但仍有一些事情,如使用 Locale.getDefault 的 KeyEvent.getKeyText。
  2. 小程序忽略浏览器区域设置并使用操作系统区域设置。

因此,解决方法是最终用户必须将他们的操作系统区域设置设置为德语(在这种情况下),您会认为德国用户已经是这种情况。

4

0 回答 0