mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2025-11-12 13:02:54 -05:00
feat: Add possibility for translation
This commit is contained in:
@ -11,9 +11,11 @@ set(CMAKE_CXX_EXTENSIONS OFF)
|
|||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
find_package(QtCreator REQUIRED COMPONENTS Core)
|
find_package(QtCreator REQUIRED COMPONENTS Core)
|
||||||
find_package(Qt6 COMPONENTS Core Gui Quick Widgets Network Test REQUIRED)
|
find_package(Qt6 COMPONENTS Core Gui Quick Widgets Network Test LinguistTools REQUIRED)
|
||||||
find_package(GTest)
|
find_package(GTest)
|
||||||
|
|
||||||
|
qt_standard_project_setup(I18N_TRANSLATED_LANGUAGES en)
|
||||||
|
|
||||||
# IDE_VERSION is defined by QtCreator package
|
# IDE_VERSION is defined by QtCreator package
|
||||||
string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" version_match ${IDE_VERSION})
|
string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" version_match ${IDE_VERSION})
|
||||||
set(QODEASSIST_QT_CREATOR_VERSION_MAJOR ${CMAKE_MATCH_1})
|
set(QODEASSIST_QT_CREATOR_VERSION_MAJOR ${CMAKE_MATCH_1})
|
||||||
@ -126,3 +128,9 @@ if (QtCreatorExecutable)
|
|||||||
)
|
)
|
||||||
set_target_properties(RunQtCreator PROPERTIES FOLDER "qtc_runnable")
|
set_target_properties(RunQtCreator PROPERTIES FOLDER "qtc_runnable")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
qt_add_translations(TARGETS QodeAssist
|
||||||
|
TS_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/resources/translations
|
||||||
|
RESOURCE_PREFIX "/translations"
|
||||||
|
LUPDATE_OPTIONS -no-obsolete
|
||||||
|
)
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="en_001"></TS>
|
|
||||||
@ -40,6 +40,7 @@
|
|||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QTranslator>
|
||||||
|
|
||||||
#include "ConfigurationManager.hpp"
|
#include "ConfigurationManager.hpp"
|
||||||
#include "QodeAssistClient.hpp"
|
#include "QodeAssistClient.hpp"
|
||||||
@ -89,6 +90,23 @@ public:
|
|||||||
delete m_navigationPanel;
|
delete m_navigationPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void loadTranslations()
|
||||||
|
{
|
||||||
|
const QString langId = Core::ICore::userInterfaceLanguage();
|
||||||
|
|
||||||
|
QTranslator *translator = new QTranslator(qApp);
|
||||||
|
QString resourcePath = QString(":/translations/QodeAssist_%1.qm").arg(langId);
|
||||||
|
|
||||||
|
bool success = translator->load(resourcePath);
|
||||||
|
if (success) {
|
||||||
|
qApp->installTranslator(translator);
|
||||||
|
qDebug() << "Loaded translation from resources:" << resourcePath;
|
||||||
|
} else {
|
||||||
|
delete translator;
|
||||||
|
qDebug() << "No translation found for language:" << langId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void initialize() final
|
void initialize() final
|
||||||
{
|
{
|
||||||
#if QODEASSIST_QT_CREATOR_VERSION >= QT_VERSION_CHECK(15, 0, 83)
|
#if QODEASSIST_QT_CREATOR_VERSION >= QT_VERSION_CHECK(15, 0, 83)
|
||||||
@ -97,6 +115,7 @@ public:
|
|||||||
Constants::QODE_ASSIST_GENERAL_OPTIONS_DISPLAY_CATEGORY,
|
Constants::QODE_ASSIST_GENERAL_OPTIONS_DISPLAY_CATEGORY,
|
||||||
":/resources/images/qoderassist-icon.png");
|
":/resources/images/qoderassist-icon.png");
|
||||||
#endif
|
#endif
|
||||||
|
loadTranslations();
|
||||||
|
|
||||||
Providers::registerProviders();
|
Providers::registerProviders();
|
||||||
Templates::registerTemplates();
|
Templates::registerTemplates();
|
||||||
|
|||||||
1017
resources/translations/QodeAssist_en.ts
Normal file
1017
resources/translations/QodeAssist_en.ts
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user