我正在移植一个UNIX应用程序,它使用Qt框架(Qt,而不是QuickTime)到Mac / Cocoa。一般来说,生活是美好的。 Qt有一个Cocoa实现,所以使用一些Objective-C ++,我已经有很多Mac特定的位工作了。
我无法翻译主菜单(即应用程序菜单)。它使用:
设置 [NSApp setMainMenu:menu];
我已经设置了en.lproj,ja.lproj,fr.lproj等文件夹,并且它们有InfoPlist.strings文件。 Qt处理特定于应用程序的菜单的内部本地化。但如果我换语言,我仍然会“退出Avogadro”。
我已尽可能多地阅读Mac开发中心的文档,但无法找到答案。
我知道mainMenu中的字符串是由Cocoa处理的 - 它们没有在任何Apple应用程序中本地化。关于魔法触发的任何想法?关于在哪里看的任何想法?
提前致谢!
答案 0 :(得分:0)
事实证明这是一个Qt错误:https://bugreports.qt-project.org//browse/QTBUG-4463
它已在Qt 4.7及更高版本中修复
答案 1 :(得分:0)
我想为此添加一些信息,以防其他人希望这样做。我还试图修改应用程序主菜单,我试图在awakeFromNib方法中设置它。这从来没有奏效,因为根据这个thread,我们需要在设置菜单后修改应用程序主菜单。否则,应用程序将始终使用其Info.plist中找到的标题。因此,这意味着如果您更改了应用程序的名称,则无需更新应用程序的MainMenu.nib。