【问题标题】:Localizing Application (main) Menu?本地化应用程序(主)菜单?
【发布时间】:2009-10-29 15:15:54
【问题描述】:

我正在将一个使用 Qt 框架(Qt,而不是 QuickTime)的 UNIX 应用程序移植到 Mac/Cocoa。总的来说,生活是美好的。 Qt 有一个 Cocoa 实现,所以使用一些 Objective-C++,我已经得到了很多 Mac 特定的部分工作。

我无法翻译主菜单(即应用程序菜单)。设置使用:

    [NSApp setMainMenu:menu];

我已经设置好 en.lproj、ja.lproj、fr.lproj 等文件夹,并且它们有 InfoPlist.strings 文件。 Qt 处理应用程序特定菜单的内部本地化。但如果我切换语言,我仍然有“Quit Avogadro”。

我已尽可能多地阅读 Mac 开发中心的文档,但找不到答案。

我知道 mainMenu 中的字符串由 Cocoa 处理——它们没有在任何 Apple 应用程序中本地化。关于魔法触发器的任何想法?有什么建议可以去哪里看吗?

提前致谢!

【问题讨论】:

  • 也许我应该换一种说法。这个问题是否适合与 Apple 发生技术支持事件?
  • 真的吗?在没有 cmets 的情况下投反对票?请注意,这不适用于Qt5,我还没有检查它是否仍然是一个问题。

标签: cocoa qt internationalization localization


【解决方案1】:

我想为此添加一些信息,以防其他人想要这样做。我还尝试修改应用程序主菜单,并尝试在 awakeFromNib 方法中设置它。这从未奏效,因为根据thread,我们需要在设置菜单后修改应用程序主菜单。否则,应用程序将始终使用在其 Info.plist 中找到的标题。因此,这意味着如果您更改了应用程序的名称,则无需更新应用程序的 MainMenu.nib。

【讨论】:

    【解决方案2】:

    原来这是一个 Qt 错误:https://bugreports.qt-project.org//browse/QTBUG-4463

    在 Qt 4.7 及更高版本中已修复

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 2014-08-05
      相关资源
      最近更新 更多