我创建了一个JavaFX应用程序,它使用Mac上的本机菜单栏
menuBar.setUseSystemMenuBar(true);
除了我定义的菜单项外,还会生成4个标准Mac菜单项。我的问题是,这些附加项目都是英文的,而不是德语作为应用程序的其余部分。我的Mac设置为德语,Java默认语言环境也是德语。任何人都可以告诉我如何修改这些默认条目,以便它们遵守我的机器的语言设置吗?
答案 0 :(得分:0)
我不知道是否可以使用Java代码直接设置菜单栏的语言。但是,您可以捆绑您的应用程序,然后为您要支持的每种语言添加本地化文件夹。
例如,如果您的应用程序包名为“test.app”,则只需创建一个文件夹test.app/Contents/Resources/German.lproj
即可。现在,当您启动应用程序时,标准菜单将自动以德语显示。
答案 1 :(得分:0)
您可以使用NSMenuFX访问OS X上的自动生成菜单栏,然后重命名菜单项,如下所示:
NSMenuBarAdapter adapter = new NSMenuBarAdapter();
// Get the default menu bar as JavaFX object
MenuBar menuBar = adapter.getMenuBar();
// Change the name of the first menu item
menuBar.getMenus().get(0).setText("Hello World");
// Update the menu bar
adapter.setMenuBar(menuBar);
它可能不是最优雅的本地化方式,但对我来说它有效;)