1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
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");
|