diff options
Diffstat (limited to 'source/main.cpp')
-rw-r--r-- | source/main.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/source/main.cpp b/source/main.cpp new file mode 100644 index 0000000..699e881 --- /dev/null +++ b/source/main.cpp @@ -0,0 +1,31 @@ +#include <QGuiApplication> +#include <QQmlApplicationEngine> + +#include <QLocale> +#include <QTranslator> + +int main(int argc, char *argv[]) +{ + QGuiApplication app(argc, argv); + + QTranslator translator; + const QStringList uiLanguages = QLocale::system().uiLanguages(); + for (const QString &locale : uiLanguages) { + const QString baseName = "qcplt_" + QLocale(locale).name(); + if (translator.load(":/i18n/" + baseName)) { + app.installTranslator(&translator); + break; + } + } + + QQmlApplicationEngine engine; + const QUrl url(u"qrc:/qcplt/main.qml"_qs); + QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, + &app, [url](QObject *obj, const QUrl &objUrl) { + if (!obj && url == objUrl) + QCoreApplication::exit(-1); + }, Qt::QueuedConnection); + engine.load(url); + + return app.exec(); +} |