如何本地化从层文件创建的 Netbeans 菜单栏?
How to localize a Netbeans MenuBar created from the layer file?
我使用 org.openide.awt.MenuBar(DataFolder)
构造函数从 layer.xml 文件中注册的操作自动构建菜单栏:
menuBar = new MenuBar(DataFolder.findFolder(FileUtil.getConfigFile("MyMenuBar")));
下面是“混合文件”子菜单中ImportMix
动作注册的示例:
@ActionID(category = "MixConsole", id = "org.jjazz.ui.mixconsole.actions.importmix")
@ActionRegistration(displayName = "#CTL_ImportMix", lazy = true)
@ActionReferences(
{
@ActionReference(path = "MyMenuBar/MixFile", position = 200)
})
public class ImportMix extends AbstractAction
我可以轻松地本地化 ImportMix
操作名称,但是如何本地化子菜单名称? (示例中的“MixFile”)
好的,我终于明白了。
可以将 displayName
属性添加到 layer.xml
文件夹,并且可以将属性值重定向到可本地化的 Bundle 属性。
更简单的方法是通过 Netbeans IDE:
编辑 layer.xml
- select 文件夹“MixFile”(在我的示例中)
- 右键单击“本地化名称”
- 输入默认显示名称
它会自动添加属性并使用新的 属性 更新 Bundle.properties
以供本地化。
我使用 org.openide.awt.MenuBar(DataFolder)
构造函数从 layer.xml 文件中注册的操作自动构建菜单栏:
menuBar = new MenuBar(DataFolder.findFolder(FileUtil.getConfigFile("MyMenuBar")));
下面是“混合文件”子菜单中ImportMix
动作注册的示例:
@ActionID(category = "MixConsole", id = "org.jjazz.ui.mixconsole.actions.importmix")
@ActionRegistration(displayName = "#CTL_ImportMix", lazy = true)
@ActionReferences(
{
@ActionReference(path = "MyMenuBar/MixFile", position = 200)
})
public class ImportMix extends AbstractAction
我可以轻松地本地化 ImportMix
操作名称,但是如何本地化子菜单名称? (示例中的“MixFile”)
好的,我终于明白了。
可以将 displayName
属性添加到 layer.xml
文件夹,并且可以将属性值重定向到可本地化的 Bundle 属性。
更简单的方法是通过 Netbeans IDE:
编辑layer.xml
- select 文件夹“MixFile”(在我的示例中)
- 右键单击“本地化名称”
- 输入默认显示名称
它会自动添加属性并使用新的 属性 更新 Bundle.properties
以供本地化。