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
+
+
+
+ Тестовое окно
+
+
+
+
+ Нажми меня
+
+
+
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" ) );