From 5983ec07a1cdecaaed5c67a5fc8ccff2c67e347b Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Wed, 22 Dec 2021 16:40:06 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=AF=D0=B2=D0=BD=D0=BE=D0=B5=20=D1=83?= =?UTF-8?q?=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=82=D1=80=D0=B5?= =?UTF-8?q?=D0=B1=D1=83=D0=B5=D0=BC=D0=BE=D0=B9=20=D0=B2=D0=B5=D1=80=D1=81?= =?UTF-8?q?=D0=B8=D0=B8=20MyxCMake?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b0a7ed..a5551de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,7 @@ set(MYX_CMAKE_AUTHOR_EMAIL "mail@johndoe.com" CACHE STRING "") # Краткое описание проекта set(MYX_CMAKE_DESCRIPTION "Пример проекта: графическая программа Qt5" CACHE STRING "") -find_package(MyxCMake REQUIRED) +find_package(MyxCMake 0.4.1 REQUIRED) # Qt5 find_package(Qt5Core COMPONENTS Private REQUIRED) From 345bef0dbd96ab4080eae6c9ca8cf8ddf22321c2 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Wed, 22 Dec 2021 17:36:32 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=D0=BE=D0=B2=20=D1=8D=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9?= =?UTF-8?q?=D1=81=D0=B0=20=D0=BD=D0=B0=20=D1=80=D1=83=D1=81=D1=81=D0=BA?= =?UTF-8?q?=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 5 ++++- l10n/myx-cmake-example-qt5-gui_ru_RU.ts | 17 +++++++++++++++++ src/myx-cmake-example-qt5-gui/CMakeLists.txt | 11 +++++++++-- src/myx-cmake-example-qt5-gui/main.cpp | 9 +++++++++ 4 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 l10n/myx-cmake-example-qt5-gui_ru_RU.ts diff --git a/CMakeLists.txt b/CMakeLists.txt index a5551de..273348d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.3) cmake_policy(VERSION 3.0.2..3.7) # Название и версия проекта и используемые языки программирования -project(myx-cmake-example-qt5-gui VERSION 0.2.0 LANGUAGES CXX) +project(myx-cmake-example-qt5-gui VERSION 0.3.0 LANGUAGES C CXX) ### # Обязательные переменные для MyxCMake @@ -28,5 +28,8 @@ find_package(MyxCMake 0.4.1 REQUIRED) find_package(Qt5Core COMPONENTS Private REQUIRED) find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED) +# Автоматически генерируемый заголовочный файл +myx_cmake_generate_private_config_header() + # Исходные тексты программы add_subdirectory(src/myx-cmake-example-qt5-gui) diff --git a/l10n/myx-cmake-example-qt5-gui_ru_RU.ts b/l10n/myx-cmake-example-qt5-gui_ru_RU.ts new file mode 100644 index 0000000..9977562 --- /dev/null +++ b/l10n/myx-cmake-example-qt5-gui_ru_RU.ts @@ -0,0 +1,17 @@ + + + + + TestWindow + + + Test Window + Тестовое окно + + + + Press me + Нажми меня + + + diff --git a/src/myx-cmake-example-qt5-gui/CMakeLists.txt b/src/myx-cmake-example-qt5-gui/CMakeLists.txt index 9da5406..e0760be 100644 --- a/src/myx-cmake-example-qt5-gui/CMakeLists.txt +++ b/src/myx-cmake-example-qt5-gui/CMakeLists.txt @@ -38,9 +38,16 @@ qt5_wrap_ui(TRGT_ui_h ${TRGT_ui}) # Правило для автоматической генерации препроцессором moc qt5_wrap_cpp(TRGT_moc_cpp ${TRGT_moc_hpp}) +# Поиск строк для локализации в файлах, перечисленных в ${TRGT_cpp} ${TRGT_ui} +# Создание и обновление файлов переводов в каталоге ${CMAKE_SOURCE_DIR}/l10n +# Интеграция переводов в исполняемый файл для подключения классом QTranslator +myx_cmake_qt5_translation(TRGT_qrc_cpp + OUTPUT_DIR ${CMAKE_SOURCE_DIR}/l10n + BASE_NAME ${TRGT} + SOURCES ${TRGT_cpp} ${TRGT_ui} + LANGUAGES ru_RU) + # Правило для автоматической генерации препроцессором qrc -# (обязательно после вызова функции qt5_translation, если она есть, -# так как она добавляет свои файлы к списку ресурсов) qt5_add_resources(TRTG_qrc_cpp ${TRGT_qrc}) # Функция для создания цели, результатом которой будет сборка приложения diff --git a/src/myx-cmake-example-qt5-gui/main.cpp b/src/myx-cmake-example-qt5-gui/main.cpp index 76370cc..6e9a209 100644 --- a/src/myx-cmake-example-qt5-gui/main.cpp +++ b/src/myx-cmake-example-qt5-gui/main.cpp @@ -1,12 +1,21 @@ +#include "myx_cmake_private_config_p.hpp" #include "test_window.hpp" #include #include +#include int main( int argc, char** argv ) { QApplication app( argc, argv ); + // Подключение переводов в зависимости от текущей локали + auto* translator = new QTranslator( QApplication::instance() ); + if ( translator->load( QLocale(), MYX_CMAKE_PROJECT_NAME, QStringLiteral( "_" ), QStringLiteral( ":/qm" ) ) ) + { + QApplication::installTranslator( translator ); + } + // Установка иконки для программы QApplication::setWindowIcon( QIcon( ":/icon/icon.png" ) ); From 0d857b3a8b40cb4e14c0e28f61b5065387abb770 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Fri, 14 Jan 2022 10:43:00 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=9E=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/myx-cmake-example-qt5-gui/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/myx-cmake-example-qt5-gui/CMakeLists.txt b/src/myx-cmake-example-qt5-gui/CMakeLists.txt index e0760be..a24bd8f 100644 --- a/src/myx-cmake-example-qt5-gui/CMakeLists.txt +++ b/src/myx-cmake-example-qt5-gui/CMakeLists.txt @@ -48,7 +48,7 @@ myx_cmake_qt5_translation(TRGT_qrc_cpp LANGUAGES ru_RU) # Правило для автоматической генерации препроцессором qrc -qt5_add_resources(TRTG_qrc_cpp ${TRGT_qrc}) +qt5_add_resources(TRGT_qrc_cpp ${TRGT_qrc}) # Функция для создания цели, результатом которой будет сборка приложения add_executable(${TRGT} ${TRGT_headers} ${TRGT_ui_h} ${TRGT_moc_cpp} ${TRGT_qrc_cpp} ${TRGT_cpp})