Согласно документации Qt, поддержка локализованного (а точнее - “интернационализованного” – т.н. “i18n”) интерфейса в программе включается следующим образом:
int main(int argc, char *argv[]) { QApplication app(argc, argv); QTranslator qtTranslator; qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); app.installTranslator(&qtTranslator); QTranslator myappTranslator; myappTranslator.load("myapp_" + QLocale::system().name()); app.installTranslator(&myappTranslator); ... return app.exec(); }
Такой код загружает перевод, соответствующй системным настройкам языка. Вместо этого можно в явном виде загрузить нужный перевод:
myappTranslator.load("myapp_uk_UA");
При этом необходимо, чтобы существовал соответствующий файл перевода “myapp_uk.qm
”, которые генерируются из исходных файлов перевода “myapp_uk.ts
”.
Для того, чтобы файлы переводов можно было обновлять и компилировать, их необходимо перечислить в проектном файле Qt (например, myapp.pro
)1):
TRANSLATIONS = myapp_uk.ts \ myapp_ru.ts \ myapp_en.ts
Тогда можно создать или обновить файлы переводов на основании подлежащих переводу строк, содержащихся в исходных файлах программы, перечисленных в разделах SOURCES
и HEADERS
этого же проектного файла:
lupdate myapp.pro
Или напрямую передать команде lupdate
список исходных файлов и имя выходного ts
-файла:
lupdate *.cpp *.h *.ui -ts myapp_uk.ts
После чего – скомпилировать из ts
-файлов перевода qm
-файлы, подходящие для загрузки нашей программой во время запуска:
lrelease myapp.pro
или
lrelease myapp_*.ts
Чтобы файлы переводов автоматически обновлялись и компилировались при каждой сборке программы, можно в файл CMakeLists.txt внести такие правки:
find_package(Qt5LinguistTools) SET(Translation_files spectrophot_uk.ts spectrophot_ru.ts ) QT5_CREATE_TRANSLATION(TranslationSrcs ${CMAKE_CURRENT_SOURCE_DIR} ${Translation_files}) ... ADD_EXECUTABLE(myapp ${Srcs} ${UISrcs} ${TranslationSrcs})
Чтобы установить Qt в ОС Windows, можно скачать с официального сайта установщик (1ГБ), включающий в себя также и MinGW. Установка очень проста – достаточно запустить скачанный файл установщика. Однако, в установленном виде Qt может занимать много места на диске - порядка нескольких гигабайт.
Собрать исполнимый файл собственной программы можно в QtCreator, который идёт в комплекте установщика Qt, скачанного ранее. Но если он скомпанован с библиотеками Qt или какими-то другими динамически, эти библиотеки должны сопровождать исполнимый файл, чтобы он мог запускаться.