Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Наступна ревізія | Попередня ревізія Остання ревізія Both sides next revision | ||
qt [2016/02/10 11:20] wombat Интернационализация |
qt [2016/03/08 22:06] wombat Установка в Windows |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
====== Qt ====== | ====== Qt ====== | ||
- | ===== Локализация ===== | + | ====== Локализация ====== |
+ | |||
+ | ===== Поддержка переводов в программе ===== | ||
Согласно [[http://doc.qt.io/qt-5/internationalization.html | документации Qt]], поддержка локализованного (а точнее - "интернационализованного" -- т.н. "i18n") интерфейса в программе включается следующим образом: | Согласно [[http://doc.qt.io/qt-5/internationalization.html | документации Qt]], поддержка локализованного (а точнее - "интернационализованного" -- т.н. "i18n") интерфейса в программе включается следующим образом: | ||
Рядок 23: | Рядок 25: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | Такой код загружает перевод, соответствующй системным настройкам языка. Вместо этого можно в явном виде загрузить нужный перевод: | ||
+ | |||
+ | <code c++> | ||
+ | myappTranslator.load("myapp_uk_UA"); | ||
+ | </code> | ||
+ | |||
+ | При этом необходимо, чтобы существовал соответствующий файл перевода "''myapp_uk.qm''", которые генерируются из исходных файлов перевода "''myapp_uk.ts''". | ||
+ | |||
+ | ===== Обновление и компиляция переводов ===== | ||
+ | |||
+ | ==== Средствами Qt ==== | ||
+ | |||
+ | Для того, чтобы файлы переводов можно было обновлять и компилировать, их необходимо перечислить в проектном файле Qt (например, ''myapp.pro'')((http://doc.qt.io/qt-5/linguist-programmers.html)): | ||
+ | <code> | ||
+ | TRANSLATIONS = myapp_uk.ts \ | ||
+ | myapp_ru.ts \ | ||
+ | myapp_en.ts | ||
+ | </code> | ||
+ | |||
+ | Тогда можно создать или обновить файлы переводов на основании подлежащих переводу строк, содержащихся в исходных файлах программы, перечисленных в разделах ''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 внести такие правки: | ||
+ | |||
+ | <file cmake 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}) | ||
+ | </file> | ||
+ | |||
+ | ====== Установка в Windows ====== | ||
+ | |||
+ | Чтобы установить Qt в ОС Windows, можно скачать с официального сайта [[http://download.qt.io/archive/qt/5.5/5.5.1/qt-opensource-windows-x86-mingw492-5.5.1.exe | установщик]] (1ГБ), включающий в себя также и MinGW. Установка очень проста -- достаточно запустить скачанный файл установщика. Однако, в установленном виде Qt может занимать много места на диске - порядка нескольких гигабайт. | ||
+ | |||