From 69628390815254297bbd8c95436f6780fa846fae Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 10 Feb 2026 23:16:37 +0100 Subject: Translations fixed and other stuff --- settings/accounts-translations-plugin/plugin.cpp | 50 ++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 settings/accounts-translations-plugin/plugin.cpp (limited to 'settings/accounts-translations-plugin/plugin.cpp') 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 +#include +#include +#include +#include +#include + +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(uri, 1, 0, + "MastodonTranslationPlugin", + QString()); + } +}; + +#include "plugin.moc" -- cgit v1.2.3