Користувальницькькі налаштування

Налаштування сайту


qt

Qt

Локализация

Поддержка переводов в программе

Согласно документации 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

Для того, чтобы файлы переводов можно было обновлять и компилировать, их необходимо перечислить в проектном файле 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

Средствами CMake

Чтобы файлы переводов автоматически обновлялись и компилировались при каждой сборке программы, можно в файл CMakeLists.txt внести такие правки:

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})

Установка в Windows

Чтобы установить Qt в ОС Windows, можно скачать с официального сайта установщик (1ГБ), включающий в себя также и MinGW. Установка очень проста – достаточно запустить скачанный файл установщика. Однако, в установленном виде Qt может занимать много места на диске - порядка нескольких гигабайт.

Сборка приложений под Windows

Динамическая компоновка

Собрать исполнимый файл собственной программы можно в QtCreator, который идёт в комплекте установщика Qt, скачанного ранее. Но если он скомпанован с библиотеками Qt или какими-то другими динамически, эти библиотеки должны сопровождать исполнимый файл, чтобы он мог запускаться.

Статическая компоновка

qt.txt · В останнє змінено: 2016/03/08 20:10 by wombat