Когда в проекте принципиально нужен русский язык абсолютно во всех надписях, включая текст стандартных кнопок всплывающих сообщений, есть пара способов это обеспечить. Но тот, который я хочу описать здесь — самый простой и удобный.
Ищем файл qt_ru.qm в папке translations. У меня это такой путь: d:\Qt\5.8\mingw53_32\translations\. Копируем в рабочую папку проекта, а в main.cpp пишем следующее:
[pastacode lang=»cpp» manual=»QApplication%20a(argc%2C%20argv)%3B%0AQTranslator%20qtTranslator%3B%0AqtTranslator.load(%22qt_%22%20%2B%20QLocale%3A%3Asystem().name()%2C%0A%09%09%09QLibraryInfo%3A%3Alocation(QLibraryInfo%3A%3ATranslationsPath))%3B%0Aa.installTranslator(%26qtTranslator)%3B» message=»» highlight=»» provider=»manual»/]
На этом все! Запускаем проект и получаем везде на стандартных кнопках сообщений русский текст.
QMessageBox предлагает свои методы присваивания любого желаемого текста кнопкам (void QMessageBox::setButtonText(int button, const QString &text)). Но для этого каждый раз при создании сообщения нужно прописывать это в ручную. А при использовании перевода это делается один раз и навсегда, как говорится 🙂