在 Java 插件中,我以 . 显示KeyEvent.getKeyText(VK_CTRL)
,Action
但我希望它以不同的语言显示,具体取决于用户的语言环境。例如,在英语中是CTRL
,但在德语中是Strg
。在阅读getKeyText的文档时,它说
返回描述修饰键的字符串,例如“Shift”或“Ctrl+Shift”。这些字符串可以通过更改 awt.properties文件进行本地化。
我的问题是..
- jre 插件是否包含不同语言的翻译
- 如果我需要提供翻译,如何将它们包含在我的插件中。我是否只是
awt_de.properties
在 jar 的根目录中添加一个?是否需要放在其他地方。
在搜索过程中,awt.properties
除了书籍和 javadoc 中对它的引用以及一些关于在您的主目录中更新它的参考之外,我几乎找不到什么,因为这是一个插件,所以我不能这样做。
回答
- JRE 实际上确实提供了其他语言的翻译。
- 我仍然不知道在哪里找到“awt.properties”,但这没关系,因为插件有翻译。
对我来说问题是2倍...
- 您不能从 applet 使用 Locale.setDefault(),虽然 JComponent.setDefaultLocale() 确实为大多数事情设置了 Locale,但仍有一些事情,如使用 Locale.getDefault 的 KeyEvent.getKeyText。
- 小程序忽略浏览器区域设置并使用操作系统区域设置。
因此,解决方法是最终用户必须将他们的操作系统区域设置设置为德语(在这种情况下),您会认为德国用户已经是这种情况。