我使用QT5.1.1在MacOS上开发了一个程序,并开始使用翻译工具将我的程序翻译成法语(暂时)。我使用下面的代码来安装.qm文件:
QApplication a(argc, argv);
QTranslator translator;
translator.load("/path_to_qm_file");
a.installTranslator(&translator);使用英文文件,我得到了About和Preferences子菜单,它自动进入Joker菜单,如下所示:

当我加载法语文件About和Preferences时,转到File菜单:


如何使Qt理解我希望第一个行为是它应该使用的唯一行为?
发布于 2013-12-23 15:05:30
这是由于自动演绎了QAction菜单角色。这种推断适用于英文文本,但不适用于法语,尤其是您使用了Properties的错误翻译(而不是Apple的HIG)。您需要显式地将Preferences操作的菜单角色设置为QAction::PreferencesRole -使用QAction::setMenuRole。这将解决问题。
https://stackoverflow.com/questions/20745398
复制相似问题