Description: using qt translations from qt installation instead of embedded copies
 qt_*.qm files copied from qt itself had been embedded into the binary
 and loaded as resources.  This patch loads them at runtime from qt TranslationsPath instead.
---
Author: Judit Foglszinger <urbec@debian.org>
Forwarded: no
Last-Update: 2025-02-18

--- sasm-3.15.0+ds.orig/Languages.qrc
+++ sasm-3.15.0+ds/Languages.qrc
@@ -1,26 +1,15 @@
 <RCC>
     <qresource prefix="/translations">
-        <file>qt_ru.qm</file>
         <file>language_ru.qm</file>
         <file>language_tr.qm</file>
-        <file>qt_tr.qm</file>
         <file>language_zh.qm</file>
-        <file>qt_zh.qm</file>
         <file>language_de.qm</file>
-        <file>qt_de.qm</file>
         <file>language_it.qm</file>
-        <file>qt_it.qm</file>
         <file>language_pl.qm</file>
-        <file>qt_pl.qm</file>
         <file>language_he.qm</file>
-        <file>qt_he.qm</file>
         <file>language_es.qm</file>
-        <file>qt_es.qm</file>
         <file>language_pt_PT.qm</file>
-        <file>qt_pt_PT.qm</file>
         <file>language_fr.qm</file>
-        <file>qt_fr.qm</file>
         <file>language_pt_BR.qm</file>
-        <file>qt_pt_BR.qm</file>
     </qresource>
 </RCC>
--- sasm-3.15.0+ds.orig/main.cpp
+++ sasm-3.15.0+ds/main.cpp
@@ -47,6 +47,7 @@
 #include <QtSingleApplication>
 #include <QInputDialog>
 #include <QPalette>
+#include <QLibraryInfo>
 
 /**
  * @file main.cpp
@@ -110,71 +111,72 @@ int main(int argc, char *argv[])
             }
         }
     }
+    QString qtTranslationsPath = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
     if (settings.value("language", 0).toInt() == 0) { //russian language
         translator.load(":/translations/language_ru.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_ru.qm");
+        qtTranslator.load("qt_ru.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 2) { //turkish language
         translator.load(":/translations/language_tr.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_tr.qm");
+        qtTranslator.load("qt_tr.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 3) { //chinese language
         translator.load(":/translations/language_zh.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_zh.qm");
+        qtTranslator.load("qt_zh.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 4) { //german language
         translator.load(":/translations/language_de.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_de.qm");
+        qtTranslator.load("qt_de.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 5) { //italian language
         translator.load(":/translations/language_it.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_it.qm");
+        qtTranslator.load("qt_it.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 6) { //polish language
         translator.load(":/translations/language_pl.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_pl.qm");
+        qtTranslator.load("qt_pl.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 7) { //hebrew language
         translator.load(":/translations/language_he.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_he.qm");
+        qtTranslator.load("qt_he.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 8) { //spanish language
         translator.load(":/translations/language_es.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_es.qm");
+        qtTranslator.load("qt_es.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 9) { //portuguese portuguese language
         translator.load(":/translations/language_pt_PT.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_pt_PT.qm");
+        qtTranslator.load("qt_pt_PT.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 10) { //french language
         translator.load(":/translations/language_fr.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_fr.qm");
+        qtTranslator.load("qt_fr.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
     } else if (settings.value("language", 0).toInt() == 11) { // brazilian portuguese language
         translator.load(":/translations/language_pt_BR.qm");
         a.installTranslator(&translator);
 
-        qtTranslator.load(":/translations/qt_pt_PT.qm");
+        qtTranslator.load("qt_pt_PT.qm", qtTranslationsPath);
         a.installTranslator(&qtTranslator);
 
         addTranslator.load(":/translations/qt_pt_BR.qm");
