diff --git a/main.cpp b/main.cpp index 06bb049..29e54f3 100755 --- a/main.cpp +++ b/main.cpp @@ -1,8 +1,10 @@ #include +#include +#include #include #include +#include #include -#include #include @@ -13,6 +15,28 @@ #include "dialogs/authenticationdialog.h" #include "mainwindow.h" +bool loadAndInstallTranslator(QTranslator &translator, + const QLocale &locale, + const QString &filename, + const QString &prefix = QString(), + const QString &directory = QString(), + const QString &suffix = QString()) +{ + if(!translator.load(locale, filename, prefix, directory, suffix)) + { + qDebug() << "could not load translation" << filename; + return false; + } + + if(!QCoreApplication::installTranslator(&translator)) + { + qDebug() << "could not install translation" << filename; + return false; + } + + return true; +} + int main(int argc, char *argv[]) { QApplication app(argc, argv); @@ -58,6 +82,14 @@ int main(int argc, char *argv[]) QLocale::setDefault(QLocale(settings.language(), QLocale::Austria)); + QTranslator qtTranslator(&app); + loadAndInstallTranslator(qtTranslator, QLocale(), QStringLiteral("qt"), QStringLiteral("_"), + QDir(QCoreApplication::applicationDirPath()).absoluteFilePath("translations")); + + QTranslator zeiterfassungTranslator(&app); + loadAndInstallTranslator(zeiterfassungTranslator, QLocale(), QStringLiteral("zeiterfassung"), + QStringLiteral("_"), QStringLiteral(":/zeiterfassung/translations")); + splashScreen.showMessage(QObject::tr("Loading login page...")); Zeiterfassung erfassung(settings.url(), &app); diff --git a/zeiterfassung.pro b/zeiterfassung.pro index 03bc9d3..25998aa 100755 --- a/zeiterfassung.pro +++ b/zeiterfassung.pro @@ -61,3 +61,28 @@ FORMS += \ strips/kontierungstrip.ui \ dialogs/settingsdialog.ui \ dialogs/languageselectiondialog.ui + +win32 { + CONFIG(debug, release|debug) { + translationsinstall.path = $${OUT_PWD}/debug/translations + } else { + translationsinstall.path = $${OUT_PWD}/release/translations + } +} +unix { + translationsinstall.path = $${OUT_PWD}/translations +} + +translationsinstall.files = $$[QT_INSTALL_TRANSLATIONS]/qt_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtbase_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtmultimedia_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtquick1_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtscript_nen.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_en.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtbase_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtmultimedia_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtquick1_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtscript_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_de.qm +INSTALLS *= translationsinstall