diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 58b7e5a..f664173 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ test:smolensk15: image: smolensk15-dev before_script: - apt-get update - - apt-get -y --force-yes install git + - apt-get -y --force-yes install git qttools5-dev-tools qttools5-dev - git submodule sync - git submodule update --init script: @@ -15,7 +15,7 @@ test:bionic: image: bionic-dev before_script: - apt-get update - - apt-get -y --force-yes install git + - apt-get -y --force-yes install git qttools5-dev-tools qttools5-dev - git submodule sync - git submodule update --init script: diff --git a/cmake/cmlib b/cmake/cmlib index 8dbf12e..5e05a21 160000 --- a/cmake/cmlib +++ b/cmake/cmlib @@ -1 +1 @@ -Subproject commit 8dbf12ef43b0d77d94811608cd3754cf2de6fdfb +Subproject commit 5e05a214bdf99ccdf5d1375e0d8b67445d696504 diff --git a/l10n/cmex_app_ru_RU.ts b/l10n/cmex_app_ru_RU.ts new file mode 100644 index 0000000..69caf47 --- /dev/null +++ b/l10n/cmex_app_ru_RU.ts @@ -0,0 +1,32 @@ + + + + + QObject + + + Compiler version: + Версия компилятора: + + + + Project version: + Версия проекта: + + + + Build type: + Тип сборки: + + + + libcmex function call: + Вызов функции из libcmex: + + + + libcmext function call: + Вызов функции из libcmext: + + + diff --git a/src/cmex/CMakeLists.txt b/src/cmex/CMakeLists.txt index e4fda13..609ac1b 100644 --- a/src/cmex/CMakeLists.txt +++ b/src/cmex/CMakeLists.txt @@ -10,6 +10,11 @@ set(current_target_sources add_executable(${current_target} ${current_target_sources}) common_target_properties(${current_target}) +# Qt5 +qt_translation(TARGET ${current_target} TS_DIR ${CMAKE_SOURCE_DIR}/l10n LANGUAGES ru_RU) +target_include_directories(${current_target} SYSTEM PUBLIC ${Qt5Core_INCLUDE_DIRS}) +target_link_libraries(${current_target} Qt5::Core) + # Зависимость от библиотеки из текущего проекта add_dependencies(${current_target} cmex) diff --git a/src/cmex/main.cpp b/src/cmex/main.cpp index ce3b05f..42956eb 100644 --- a/src/cmex/main.cpp +++ b/src/cmex/main.cpp @@ -1,17 +1,25 @@ #include "compiler_features.hpp" #include "config.hpp" +#include #include #include #include "cmex.hpp" int main(int argc, char **argv) { - std::cout << CMEX_COMPILER_VERSION_MAJOR << std::endl; // Значение из compiler_features.hpp - std::cout << BUILD_TYPE << std::endl; // Значение из config.hpp - std::cout << CMEX_VERSION_STR << std::endl; // Значение из config.hpp - std::cout << cmex_init(4) << std::endl; // Функция из внутренней библиотеки - std::cout << cmext_init(9) << std::endl; // Функция из внешней библиотеки + QCoreApplication app(argc, argv); + QTranslator translator; + + if (translator.load(QLocale(), "cmex_app", QLatin1String("_"), QLatin1String(":/qm"))) + { + app.installTranslator(&translator); + } + std::cout << QObject::tr("Compiler version: ").toStdString() << CMEX_COMPILER_VERSION_MAJOR << std::endl; // Значение из compiler_features.hpp + std::cout << QObject::tr("Project version: ").toStdString() << CMEX_VERSION_STR << std::endl; // Значение из config.hpp + std::cout << QObject::tr("Build type: ").toStdString() << BUILD_TYPE << std::endl; // Значение из config.hpp + std::cout << QObject::tr("libcmex function call: ").toStdString() << cmex_init(4) << std::endl; // Функция из внутренней библиотеки + std::cout << QObject::tr("libcmext function call: ").toStdString() << cmext_init(9) << std::endl; // Функция из внешней библиотеки return 0; }