From 54c82d579ac672075eda9a78b617110f9a4262bb Mon Sep 17 00:00:00 2001 From: krivoshein Date: Wed, 4 Feb 2026 16:14:51 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FILES/translations/RRJServer_ru_RU.qm | Bin 34371 -> 34956 bytes ProgramServerMTD/main.cpp | 47 +++++++++++++++++++++++--- translations/RRJServer_ru_RU.qm | Bin 34786 -> 34956 bytes translations/RRJServer_ru_RU.ts | 17 ++++++---- 4 files changed, 54 insertions(+), 10 deletions(-) diff --git a/FILES/translations/RRJServer_ru_RU.qm b/FILES/translations/RRJServer_ru_RU.qm index 76bba9dc53b84b34fc9ee90da1a181ac3c852786..19d5febe413a483fa175aa91c4258b3c92fceb91 100644 GIT binary patch delta 1131 zcmZXSdu&rx9LK*q_w;oaWU$qZ%I0k~BS_YDn=KBy>YP+@>xKao(UtXa`&hcJyKUD| z_W*Ulm_brc7ztpqX{Hd+L@@@$4Z>tH6#U0YOz3=|iN+AcWHIu`;*qO{;7#uRaC4W~<6{6F2hrg=QdnOMe@!4mx1!rg2htABm6FSKk5Y1mxVx!7g#qdgbv&QioHVI?E>td2}<-P5T0d5 z>M-@?X?5srK>HhYjDG;Eevfvt?LeoI$+VJWOl&W8lTag@qt@-IpXsUOkHE5iIwjr( zG@qhpuIvL|*i0`FUTo;1v!jiG=UtVlW}2Vf!#Cxm#y+|T6t!vW`Ex*bk*4|Vm%uYt zmC7O3uJMwtH`yddLd(jv70Y93?JcSJhssQVd9+rGa#iXZZXz|!wjw$|#7 zg?JCiF}7bDstsJw?`ll~Tc=g_&*_Id3i#6R>qmTiN9`}EY#h|TcD@+M-egs}@ug39 z^Y;ALkG%K;P*NuzIrs_hH!RL9@EoC|Y)|ByKZoi#35ECZY+Jw`8|)nxTK|S0jPdu$;&^IqzVK+D53Y#N2rU|@u!W4 gb8?6DUo6^~NJw|quyx^cx_>0>oox7ose5(lU%uTqPXGV_ delta 835 zcmXBSZAjBW90&04ZvQ>~Mbpd_%hZ)diZd1Mff#5sDxF4ZiRGNSEuHzaIZ-n;GxCKA z>qwy#GOz@j5K3sKMwV$|FCvnl6=8x9p@yRjl&xmV?wKxlbxeXf}x?_6&NNXh_v>>LTf+LPIx*PF>?GIaRs|obizq5SA!Z&rO?` zREY1`6-H{78geT)h+aPd#6**aV{t&KoXiJY0jxdbQ*0n`ev^FJ^A-phld9Fete2ls z!xJlDcS(!V48Y-8sikWb@Ha@yby^_tjnr212Qc^32q7uB=BW^Cc>u^)grweKVBaIb zN^^k=Yt$h`lInHZBj|`Jj4leAT-%H=YF`BW8iWba2S^aR@7ik3 zlK;O{{Ka*o&^);&xN=Nk>-r3A`N~a?R}5HK?y4s0l3U^nJ<8^EJCHratshoiGfIFm zr?S1EkF|f5o7||p`O+V#{YZ}~dKJYBY&5n!>QQLpYaFWY_nHA^9rG^xbxqvrK{4o1 z7?3%~EgIlf^ii`?BU*Qe`y2dNrU=@jOj1_{i_V&G)~iYEZ}|pnOAz~SzhHIh#Ay$! z-_%AuN-Z%5(L_}wDYDW$RU@eyr*4&olxwNCs3qm~R4<;`l9u2BV%xl1m&`!%Y3lkH h8lgYLqvXE=(yKHA>Ay0Or`n8p~9-Dz`v;f|GfYJ 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 b64d0f9121dadab1ae2342c8af021b5f69e1d8b2..19d5febe413a483fa175aa91c4258b3c92fceb91 100644 GIT binary patch delta 826 zcmXBRYe*DP6bJDC-0tqoj#z4LmOXS0i;8xA;8tXo7*eh47WR(P(p|$=U3IrLQ+rc{ zS=#{xO|Zf=dO(j4MPbon%gBOW60}m0P()B4BnpZyU51(8%v|Q2|J?KOIBN;96Y@f?;mbOEa$0j6I-@qHkD zjWm!aDvI|}bELr@V2@Z|KTle30zaG#lsyT3Yn{D)Cit6UK-I7`&>?LIOPk_gu$%(6 zZ=fFK9IH7>PBw!Dd=y|-=AT5DSRt!%(I1wdQlGA@-0>G!J674sM8hPfv|vc7)?bJc z`^Y_JOG@1|R?uw$N<8w~VHa8v>k6-+jX;H&0(=GwCQ=vAXP#Ud;kFH5_|3WzAhwbB>tg}OO@3#n71&+G zA2ac-sge)0*8vlq~I3A+J( zk96mAec}Q!)1pDC`>C`hOm5Apd$aYl##qrTpSm=AO6@{Dv{Ou=>X6>I{}T|OsrPj} z5Xs8*@Tf@aIZvZn4l7?kS*BiPm?9=C^A%IHp2K{dxMBqbG5=w*fF!Nz%nBR5A$41)NxiBTzH`f&D zasuiOz!eGTOMr?%sVCRBGpn*rycR41s+LHb-T|A2#kpVF^baU|1sErR-Oquva;fX8 zh$!v@lcb&i;HY@7$d-C)eG{#TwJqQu&jJlOQrBN;bDY#`hZ@rX)ZQn*(#h;&RL&BZ z>kS=dCe7(V(S548f#-TXBZe~tBg zpnWZ1?vgrh@!^3}V(t&r%yvpt_6MYA9K^ zIJEA)ZYHMoN9uk`J9Q}$tMrcZUw}E^q{Zp_+g6d;F-?A*$CzPgsZs!2FeU55l?uw& zcZE7X8yiLdtXW`m+N;G}kI~ zVAAR?YN_53(ZY4QWXOtbyrB8qF+lxy?dFLeKv;%$^WqCp&r7X;Ley#1(}W?HSMa9qSDGWSN zqpTyv9u|sHSm1zrW;de@d34Vf9~86JZjUatINTP8xh#)9+2R+>;){79U%}J(DxPW( S-9smqn(uJfddBS?;r{_7?CYHX 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! + уже запущена!