mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2025-07-18 21:14:34 -04: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)
|
||||
|
||||
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)
|
||||
|
||||
qt_standard_project_setup(I18N_TRANSLATED_LANGUAGES en)
|
||||
|
||||
# IDE_VERSION is defined by QtCreator package
|
||||
string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" version_match ${IDE_VERSION})
|
||||
set(QODEASSIST_QT_CREATOR_VERSION_MAJOR ${CMAKE_MATCH_1})
|
||||
@ -126,3 +128,9 @@ if (QtCreatorExecutable)
|
||||
)
|
||||
set_target_properties(RunQtCreator PROPERTIES FOLDER "qtc_runnable")
|
||||
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 <QMenu>
|
||||
#include <QMessageBox>
|
||||
#include <QTranslator>
|
||||
|
||||
#include "ConfigurationManager.hpp"
|
||||
#include "QodeAssistClient.hpp"
|
||||
@ -89,6 +90,23 @@ public:
|
||||
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
|
||||
{
|
||||
#if QODEASSIST_QT_CREATOR_VERSION >= QT_VERSION_CHECK(15, 0, 83)
|
||||
@ -97,6 +115,7 @@ public:
|
||||
Constants::QODE_ASSIST_GENERAL_OPTIONS_DISPLAY_CATEGORY,
|
||||
":/resources/images/qoderassist-icon.png");
|
||||
#endif
|
||||
loadTranslations();
|
||||
|
||||
Providers::registerProviders();
|
||||
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