diff --git a/app.qrc b/app.qrc
new file mode 100755
index 0000000..1f91577
--- /dev/null
+++ b/app.qrc
@@ -0,0 +1,7 @@
+
+
+ gta5sync_de.qm
+ qt_de.qm
+ qtbase_de.qm
+
+
diff --git a/gta5sync.pro b/gta5sync.pro
index bae1f6a..49d7662 100755
--- a/gta5sync.pro
+++ b/gta5sync.pro
@@ -25,7 +25,7 @@ TARGET = gta5sync
TEMPLATE = app
-SOURCES += main.cpp\
+SOURCES += main.cpp \
SnapmaticPicture.cpp \
PictureDialog.cpp \
ProfileDatabase.cpp \
@@ -58,10 +58,10 @@ FORMS += \
TRANSLATIONS += \
gta5sync_de.ts
-RESOURCES +=
+RESOURCES += \
+ app.qrc
OTHER_FILES += \
- gta5sync_de.qm \
app.rc
win32: RC_FILE += app.rc
diff --git a/main.cpp b/main.cpp
index 3586357..6ebe405 100755
--- a/main.cpp
+++ b/main.cpp
@@ -26,6 +26,7 @@
#include "SavegameData.h"
#include
#include
+#include
#include
#include
#include
@@ -38,6 +39,148 @@ int main(int argc, char *argv[])
a.setApplicationName("gta5sync");
a.setApplicationVersion("1.0.0");
+ QSettings settings("Syping Gaming Team", "gtasync");
+ settings.beginGroup("Interface");
+ QString language = settings.value("Language","System").toString();
+ settings.endGroup();
+
+ // Translate pre values
+ bool trsf = false;
+ bool svlp = false;
+
+ // Start internal translate loading
+ QTranslator appTranslator;
+ if (language == "System" || language.trimmed() == "")
+ {
+ QString languageName = QLocale::system().name();
+ QStringList langList = languageName.split("_");
+ if (langList.length() >= 1)
+ {
+ if (QFile::exists(":/tr/gta5sync_" + langList.at(0) + ".qm"))
+ {
+ if (!appTranslator.load(":/tr/gta5sync_" + langList.at(0) + ".qm"))
+ {
+ if (langList.at(0) != "en")
+ {
+ if (svlp) {trsf = true;}
+ }
+ }
+ }
+ else
+ {
+ if (langList.at(0) != "en")
+ {
+ if (svlp) {trsf = true;}
+ }
+ }
+ }
+ }
+ else
+ {
+ QString languageName = language;
+ QStringList langList = languageName.split("_");
+ if (langList.length() >= 1)
+ {
+ if (QFile::exists(":/tr/gta5sync_" + langList.at(0) + ".qm"))
+ {
+ appTranslator.load(":/tr/gta5sync_" + langList.at(0) + ".qm");
+ }
+ }
+ }
+ if (trsf)
+ {
+ QString languageName = QLocale::system().name();
+ QStringList langList = languageName.split("_");
+ if (langList.length() >= 1)
+ {
+ if (QFile::exists(":/tr/gta5sync_" + langList.at(0) + ".qm"))
+ {
+ appTranslator.load(":/tr/gta5sync_" + langList.at(0) + ".qm");
+ }
+ }
+ }
+ a.installTranslator(&appTranslator);
+#ifdef QT5_MODE
+ QTranslator qtTranslator1;
+ if (language == "System" || language.trimmed() == "")
+ {
+ QString languageName = QLocale::system().name();
+ QStringList langList = languageName.split("_");
+ if (langList.length() >= 1)
+ {
+ if (QFile::exists(":/tr/qtbase_" + langList.at(0) + ".qm"))
+ {
+ qtTranslator1.load(":/tr/qtbase_" + langList.at(0) + ".qm");
+ }
+ }
+ }
+ else
+ {
+ QString languageName = language;
+ QStringList langList = languageName.split("_");
+ if (langList.length() >= 1)
+ {
+ if (QFile::exists(":/tr/qtbase_" + langList.at(0) + ".qm"))
+ {
+ qtTranslator1.load(":/tr/qtbase_" + langList.at(0) + ".qm");
+ }
+ }
+ }
+ if (trsf)
+ {
+ QString languageName = QLocale::system().name();
+ QStringList langList = languageName.split("_");
+ if (langList.length() >= 1)
+ {
+ if (QFile::exists(":/tr/qtbase_" + langList.at(0) + ".qm"))
+ {
+ qtTranslator1.load(":/tr/qtbase_" + langList.at(0) + ".qm");
+ }
+ }
+ }
+ a.installTranslator(&qtTranslator1);
+#else
+ QTranslator qtTranslator1;
+ if (language == "System" || language.trimmed() == "")
+ {
+ QString languageName = QLocale::system().name();
+ QStringList langList = languageName.split("_");
+ if (langList.length() >= 1)
+ {
+ if (QFile::exists(":/tr/qt_" + langList.at(0) + ".qm"))
+ {
+ qtTranslator1.load(":/tr/qt_" + langList.at(0) + ".qm");
+ }
+ }
+ }
+ else
+ {
+ QString languageName = language;
+ QStringList langList = languageName.split("_");
+ if (langList.length() >= 1)
+ {
+ if (QFile::exists(":/tr/qt_" + langList.at(0) + ".qm"))
+ {
+ qtTranslator1.load(":/tr/qt_" + langList.at(0) + ".qm");
+ }
+ }
+ }
+ if (trsf)
+ {
+ QString languageName = QLocale::system().name();
+ QStringList langList = languageName.split("_");
+ if (langList.length() >= 1)
+ {
+ if (QFile::exists(":/tr/qt_" + langList.at(0) + ".qm"))
+ {
+ qtTranslator1.load(":/tr/qt_" + langList.at(0) + ".qm");
+ }
+ }
+ }
+ a.installTranslator(&qtTranslator1);
+#endif
+ // End internal translate loading
+
QStringList applicationArgs = a.arguments();
QString selectedAction;
QString arg1;
@@ -131,3 +274,4 @@ int main(int argc, char *argv[])
return a.exec();
}
+
diff --git a/qt_de.qm b/qt_de.qm
new file mode 100755
index 0000000..113bbcc
Binary files /dev/null and b/qt_de.qm differ
diff --git a/qtbase_de.qm b/qtbase_de.qm
new file mode 100755
index 0000000..ed026f9
Binary files /dev/null and b/qtbase_de.qm differ