diff options
Diffstat (limited to 'modules/ECMQmLoader.cpp.in')
-rw-r--r-- | modules/ECMQmLoader.cpp.in | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/ECMQmLoader.cpp.in b/modules/ECMQmLoader.cpp.in new file mode 100644 index 00000000..92c0d07a --- /dev/null +++ b/modules/ECMQmLoader.cpp.in @@ -0,0 +1,34 @@ +/* This file is generated by ECM_CREATE_QM_FROM_PO_FILES. Do not modify! + * + * Building this file in a library ensures translations are automatically loaded + * when an application makes use of the library. + */ +#include <QCoreApplication> +#include <QLocale> +#include <QStandardPaths> +#include <QTranslator> + +static QTranslator *createTranslator() +{ + QString installSubDir = QStringLiteral("@data_install_sub_dir@"); + QString qmName = QStringLiteral("@qm_name@"); + + QString lang = QLocale::system().name(); + QString dir = QStandardPaths::locate(QStandardPaths::GenericDataLocation, installSubDir, QStandardPaths::LocateDirectory); + QTranslator *translator = new QTranslator(QCoreApplication::instance()); + translator->load(qmName + QStringLiteral("_") + lang, dir); + return translator; +} + +static void load() +{ + QTranslator *translator = createTranslator(); + if (translator->isEmpty()) { + delete translator; + return; + } + translator->setParent(QCoreApplication::instance()); + QCoreApplication::instance()->installTranslator(translator); +} + +Q_COREAPP_STARTUP_FUNCTION(load) |