Локализация приложения (главное) меню? - PullRequest
0 голосов
/ 29 октября 2009

Я портирую приложение 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 Dev Center, но не могу найти ответ.

Я знаю, что строки в главном меню обрабатываются Cocoa - они не локализованы ни в одном приложении Apple. Есть идеи по поводу магического триггера? Есть идеи, где искать?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 21 августа 2012

Я хотел бы добавить к этому некоторую информацию, на случай, если кто-то другой хочет это сделать. Я также пытался изменить главное меню приложения и пытался установить его в методе awakeFromNib. Это никогда не работало, потому что в соответствии с этим потоком нам нужно изменить главное меню приложения ПОСЛЕ того, как меню было установлено. В противном случае приложение всегда будет использовать заголовок, найденный в его Info.plist. Таким образом, это означает, что если вы когда-либо измените имя своего приложения, вам никогда не придется обновлять MainMenu.nib вашего приложения.

0 голосов
/ 09 сентября 2011

Оказывается, это была ошибка Qt: https://bugreports.qt -project.org // browse / QTBUG-4463

Это исправлено в Qt 4.7 и более поздних версиях

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...