所以首先这里是 Evernote 的上述菜单的截图,本地化为法语:
[ ]
如您所见,主菜单中的所有菜单项(我的主菜单是指名称为应用程序名称的菜单项,就像这里是Evernote一样)已本地化为法语。Evernote 应用程序本身带来了许多菜单项,例如Évaluez Evernote pour Mac(Rate Evernote for Mac)、Information du compte...(Account Info...)等。此外,还有标准 OS X 提供的菜单Quit Evernote、Preferences等项目也已本地化。
我的问题:
- 如何在此主菜单中添加新项目?如何访问此菜单以添加项目?
- 如何根据我的应用本地化本地化这些项目,OS X 提供默认项目和我添加的项目?
- 在 Evernote 菜单中,除了“服务”菜单选项之外的所有内容似乎都已本地化(但是子菜单选项已本地化!)?这也不能本地化吗?
我试过的:
fMenuBar = fMainWindow->menuBar();
fMenuFile = fMenuBar->addMenu(QObject::tr(qPrintable(String_Class::FileMenu))); //"File" in English, translated into other languages
fAboutAppAct = new QAction(QObject::tr(qPrintable(String_Class::About_App)), fMainWindow); //prints "About App", localized in all languages
fMenuFile->addAction(fAboutAppAct);
fAboutAppAct->setMenuRole(QAction::AboutRole); //otherwise it sits with the other file menu options in the File menu
//reset UI language slot, called whenver UI language is reset. It retranslates all strings in all menus, except this
void AppMenu::reTranslateUISlot()
{
fAboutAppAct->setText(QObject::tr(qPrintable(String_Class::About_App)));
}