diff --git a/FILES/translations/RRJServer_ru_RU.qm b/FILES/translations/RRJServer_ru_RU.qm index 76bba9d..19d5feb 100644 Binary files a/FILES/translations/RRJServer_ru_RU.qm and b/FILES/translations/RRJServer_ru_RU.qm differ diff --git a/ProgramServerMTD/main.cpp b/ProgramServerMTD/main.cpp index 6240721..5a75809 100644 --- a/ProgramServerMTD/main.cpp +++ b/ProgramServerMTD/main.cpp @@ -1,10 +1,12 @@ #include "mainwindow.h" #include -//#include #include #include "specialmessagebox.h" + +QString getLanguageFromSettings(); + int main(int argc, char *argv[]) { QApplication a(argc, argv); @@ -12,7 +14,6 @@ int main(int argc, char *argv[]) // Уникальное имя для идентификации процесса const QString sharedMemKey = "ServerMTD_sharedMemKey"; - // Создание объекта общей памяти QSharedMemory sharedMemory(sharedMemKey); @@ -23,9 +24,11 @@ int main(int argc, char *argv[]) qWarning() << "App ServerMTD is running already!"; QTranslator qtLanguageTranslator; - qtLanguageTranslator.load(QString("translations/RRJServer_") + "ru_RU", "."); + QString language; + language = getLanguageFromSettings(); + if(language == "RUS") + qtLanguageTranslator.load(QString("translations/RRJServer_") + "ru_RU", "."); qApp->installTranslator(&qtLanguageTranslator); - //QMessageBox::critical(nullptr, QObject::tr("Error"), QObject::tr("App ServerMTD is running already!")); SpecMsgBox::CriticalClose(nullptr, QObject::tr("App ") + QObject::tr("Maintenance training device RRJ-95NEW-100 Server") + QObject::tr(" is running already!")); isRunningAlready = true; } else @@ -45,7 +48,43 @@ int main(int argc, char *argv[]) QObject::connect(qApp, &QCoreApplication::aboutToQuit, [&]() { sharedMemory.detach(); }); + MainWindow w; w.show(); //Закоментировать, если нужно, чтобы по-умолчанию было свернуто в трее! return a.exec(); } + +QString getLanguageFromSettings() +{ + QFile file(settingsName); + if(! file.open(QIODevice::ReadOnly)) + return ""; + + QXmlStreamReader xmlReader(&file); + + while (!xmlReader.atEnd()){ + + if(xmlReader.isStartElement()){ + + if(xmlReader.name() == "DataBaseSettings") + { + foreach(const QXmlStreamAttribute &attr, xmlReader.attributes()){ + QString name = attr.name().toString(); + QString value = attr.value().toString(); + + if(name == "Language") + { + file.close(); + return value; + } + } + } + } + + xmlReader.readNext(); + } + + file.close(); + + return ""; +} diff --git a/translations/RRJServer_ru_RU.qm b/translations/RRJServer_ru_RU.qm index b64d0f9..19d5feb 100644 Binary files a/translations/RRJServer_ru_RU.qm and b/translations/RRJServer_ru_RU.qm differ diff --git a/translations/RRJServer_ru_RU.ts b/translations/RRJServer_ru_RU.ts index 0c7d139..27a6858 100644 --- a/translations/RRJServer_ru_RU.ts +++ b/translations/RRJServer_ru_RU.ts @@ -1652,14 +1652,19 @@ Please reconnect to the server. QObject - - Error - Ошибка + + App + Программа - - App ServerMTD is running already! - Программа ServerMTD уже запущена! + + Maintenance training device RRJ-95NEW-100 Server + Сервер Тренажёра процедур технического обслуживания RRJ-95NEW-100 + + + + is running already! + уже запущена!