diff options
| author | Andrew Branson <andrew.branson@jolla.com> | 2026-02-10 23:16:37 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@jolla.com> | 2026-02-10 23:16:37 +0100 |
| commit | 69628390815254297bbd8c95436f6780fa846fae (patch) | |
| tree | df6114043e489bf5d767ac39f0d20636e12cf3a2 /settings/accounts-translations-plugin/plugin.cpp | |
| parent | ff1c2efe40bf53c146b4a2e3b5046ae8ecb32264 (diff) | |
Translations fixed and other stuff
Diffstat (limited to 'settings/accounts-translations-plugin/plugin.cpp')
| -rw-r--r-- | settings/accounts-translations-plugin/plugin.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/settings/accounts-translations-plugin/plugin.cpp b/settings/accounts-translations-plugin/plugin.cpp new file mode 100644 index 0000000..2bd504f --- /dev/null +++ b/settings/accounts-translations-plugin/plugin.cpp @@ -0,0 +1,50 @@ +#include <QCoreApplication> +#include <QLocale> +#include <QQmlEngine> +#include <QQmlExtensionPlugin> +#include <QTranslator> +#include <QtQml> + +class AppTranslator : public QTranslator +{ + Q_OBJECT +public: + explicit AppTranslator(QObject *parent) + : QTranslator(parent) + { + qApp->installTranslator(this); + } + + ~AppTranslator() override + { + qApp->removeTranslator(this); + } +}; + +class MastodonAccountsTranslationsPlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "com.jolla.settings.accounts.mastodon") + +public: + void initializeEngine(QQmlEngine *engine, const char *uri) override + { + Q_UNUSED(uri) + + AppTranslator *engineeringEnglish = new AppTranslator(engine); + engineeringEnglish->load("settings-accounts-mastodon_eng_en", "/usr/share/translations"); + + AppTranslator *translator = new AppTranslator(engine); + translator->load(QLocale(), "settings-accounts-mastodon", "-", "/usr/share/translations"); + } + + void registerTypes(const char *uri) override + { + Q_ASSERT(QLatin1String(uri) == QLatin1String("com.jolla.settings.accounts.mastodon")); + qmlRegisterUncreatableType<MastodonAccountsTranslationsPlugin>(uri, 1, 0, + "MastodonTranslationPlugin", + QString()); + } +}; + +#include "plugin.moc" |
