Install translations in /bmsapp/translations. Use a searchpath to try to load a translation.

Tue, 31 May 2022 15:05:52 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 31 May 2022 15:05:52 +0200
changeset 245
f58543ef3fed
parent 244
f865cbcc722f
child 246
9e420bea7c38

Install translations in /bmsapp/translations. Use a searchpath to try to load a translation.

CMakeLists.txt file | annotate | diff | comparison | revisions
src/main.cpp file | annotate | diff | comparison | revisions
--- a/CMakeLists.txt	Tue May 31 11:55:20 2022 +0200
+++ b/CMakeLists.txt	Tue May 31 15:05:52 2022 +0200
@@ -297,5 +297,9 @@
 	 DESTINATION "${DATAROOTDIR}/applications"
   )
 
+  INSTALL( FILES ${QM_FILES}
+	DESTINATION "${DATAROOTDIR}/bmsapp/translations"
+  )
+
 ENDIF()
 
--- a/src/main.cpp	Tue May 31 11:55:20 2022 +0200
+++ b/src/main.cpp	Tue May 31 15:05:52 2022 +0200
@@ -59,10 +59,17 @@
     parser.addVersionOption();
     parser.process(app);
 
+    QString langFile = QString("bmsapp_") + locale;
+    QStringList searchDirs = QStringList() << qApp->applicationDirPath() << qApp->applicationDirPath() + "/../share/bmsapp/translations";
     QTranslator translator;
-    //translator.load(QString("bmsapp_") + locale);
-    translator.load(QString("bmsapp_nl.qm"));
-    app.installTranslator(&translator);
+
+    for (int i = 0; i < searchDirs.size(); i++) {
+	if (translator.load(langFile, searchDirs[i])) {
+	    app.installTranslator(&translator);
+	    qDebug() << "lang from" << searchDirs[i];
+	    break;
+	}
+    }
 
     qDebug().noquote() << "Starting" << app.applicationName() << app.applicationVersion() << QDateTime::currentDateTime().toString();
 

mercurial