diff --git a/src/aboutdata.cpp b/src/aboutdata.cpp
index 917447dbb..cabf7e18c 100644
--- a/src/aboutdata.cpp
+++ b/src/aboutdata.cpp
@@ -1,154 +1,143 @@
 /*
     aboutdata.cpp
 
     This file is part of Kleopatra, the KDE keymanager
     SPDX-FileCopyrightText: 2001, 2002, 2004 Klarälvdalens Datakonsult AB
 
     SPDX-License-Identifier: GPL-2.0-or-later
 */
 
 #include <config-kleopatra.h>
 #include <version-kleopatra.h>
 
 #include "aboutdata.h"
 
 #include "kleopatraapplication.h"
 
 #include <Libkleo/GnuPG>
 
 #include <QCoreApplication>
 #include <QSettings>
 #include <QThread>
 
 #include <KLazyLocalizedString>
 #include <KLocalizedString>
 
 #include "kleopatra_debug.h"
 
 /* Path to GnuPGs signing keys relative to the GnuPG installation */
 #ifndef GNUPG_DISTSIGKEY_RELPATH
 #define GNUPG_DISTSIGKEY_RELPATH "/../share/gnupg/distsigkey.gpg"
 #endif
 /* Path to a VERSION file relative to QCoreApplication::applicationDirPath */
 #ifndef VERSION_RELPATH
 #define VERSION_RELPATH "/../VERSION"
 #endif
 
 static const char kleopatra_version[] = KLEOPATRA_VERSION_STRING;
 
 struct about_data {
     const KLazyLocalizedString name;
-    const KLazyLocalizedString desc;
-    const char *email;
-    const char *web;
+    const KLazyLocalizedString description;
 };
 
-static const about_data authors[] = {
-    {kli18n("Andre Heinecke"), kli18n("Current Maintainer"), "aheinecke@gnupg.org", nullptr},
-    {kli18n("Marc Mutz"), kli18n("Former Maintainer"), "mutz@kde.org", nullptr},
-    {kli18n("Steffen Hansen"), kli18n("Former Maintainer"), "hansen@kde.org", nullptr},
-    {kli18n("Matthias Kalle Dalheimer"), kli18n("Original Author"), "kalle@kde.org", nullptr},
-};
-
-static const about_data credits[] = {
-    {kli18n("David Faure"), kli18n("Backend configuration framework, KIO integration"), "faure@kde.org", nullptr},
-    {kli18n("Michel Boyer de la Giroday"),
-     kli18n("Key-state dependent colors and fonts in the certificates list"),
-     "michel@klaralvdalens-datakonsult.se",
-     nullptr},
-    {kli18n("Thomas Moenicke"), kli18n("Artwork"), "tm@php-qt.org", nullptr},
-    {kli18n("Frank Osterfeld"), kli18n("Resident gpgme/win wrangler, UI Server commands and dialogs"), "osterfeld@kde.org", nullptr},
-    {kli18n("Karl-Heinz Zimmer"), kli18n("DN display ordering support, infrastructure"), "khz@kde.org", nullptr},
-    {kli18n("Laurent Montel"), kli18n("Qt5 port, general code maintenance"), "montel@kde.org", nullptr},
-};
+static constexpr auto authors = std::to_array<about_data>({
+    {kli18n("Ingo Klöcker"), kli18n("Current Maintainer")},
+    {kli18n("Tobias Fella"), kli18n("Developer")},
+    {kli18n("Andre Heinecke"), kli18n("Former Maintainer")},
+    {kli18n("Marc Mutz"), kli18n("Former Maintainer")},
+    {kli18n("Steffen Hansen"), kli18n("Former Maintainer")},
+});
+
+static constexpr auto credits = std::to_array<about_data>({
+    {kli18n("Matthias Kalle Dalheimer"), kli18n("Original Author")},
+    {kli18n("David Faure"), kli18n("Backend configuration framework, KIO integration")},
+    {kli18n("Michel Boyer de la Giroday"), kli18n("Key-state dependent colors and fonts in the certificates list")},
+    {kli18n("Thomas Moenicke"), kli18n("Artwork")},
+    {kli18n("Frank Osterfeld"), kli18n("Resident gpgme/win wrangler, UI Server commands and dialogs")},
+    {kli18n("Karl-Heinz Zimmer"), kli18n("DN display ordering support, infrastructure")},
+    {kli18n("Laurent Montel"), kli18n("Qt5 port, general code maintenance")},
+});
 
 static void updateAboutDataFromSettings(KAboutData *about, const QSettings *settings)
 {
     if (!about || !settings) {
         return;
     }
     about->setDisplayName(settings->value(QStringLiteral("displayName"), about->displayName()).toString());
     about->setProductName(settings->value(QStringLiteral("productName"), about->productName()).toByteArray());
     about->setComponentName(settings->value(QStringLiteral("componentName"), about->componentName()).toString());
     about->setShortDescription(settings->value(QStringLiteral("shortDescription"), about->shortDescription()).toString());
     about->setHomepage(settings->value(QStringLiteral("homepage"), about->homepage()).toString());
     about->setBugAddress(settings->value(QStringLiteral("bugAddress"), about->bugAddress()).toByteArray());
     about->setVersion(settings->value(QStringLiteral("version"), about->version()).toByteArray());
     about->setOtherText(settings->value(QStringLiteral("otherText"), about->otherText()).toString());
     about->setCopyrightStatement(settings->value(QStringLiteral("copyrightStatement"), about->copyrightStatement()).toString());
     about->setDesktopFileName(settings->value(QStringLiteral("desktopFileName"), about->desktopFileName()).toString());
 }
 
 // Extend the about data with the used GnuPG Version since this can
 // make a big difference with regards to the available features.
 static void loadBackendVersions()
 {
     auto thread = QThread::create([]() {
         STARTUP_TIMING << "Checking backend versions";
         const auto backendVersions = Kleo::backendVersionInfo();
         STARTUP_TIMING << "backend versions checked";
         if (!backendVersions.empty()) {
             QMetaObject::invokeMethod(qApp, [backendVersions]() {
                 auto about = KAboutData::applicationData();
                 about.setOtherText(i18nc("Preceeds a list of applications/libraries used by Kleopatra", "Uses:") //
                                    + QLatin1StringView{"<ul><li>"} //
                                    + backendVersions.join(QLatin1StringView{"</li><li>"}) //
                                    + QLatin1StringView{"</li></ul>"} //
                                    + about.otherText());
                 KAboutData::setApplicationData(about);
             });
         }
     });
     thread->start();
 }
 
 // This code is mostly for Gpg4win and GnuPG VS-Desktop so that they
 // can put in their own about data information.
 static void loadCustomAboutData(KAboutData *about)
 {
     const QStringList searchPaths = {Kleo::gnupgInstallPath()};
     const QString versionFile = QCoreApplication::applicationDirPath() + QStringLiteral(VERSION_RELPATH);
     const QString distSigKeys = Kleo::gnupgInstallPath() + QStringLiteral(GNUPG_DISTSIGKEY_RELPATH);
     STARTUP_TIMING << "Starting version info check";
     bool valid = Kleo::gpgvVerify(versionFile, QString(), distSigKeys, searchPaths);
     STARTUP_TIMING << "Version info checked";
     if (valid) {
         qCDebug(KLEOPATRA_LOG) << "Found valid VERSION file. Updating about data.";
         auto settings = std::make_shared<QSettings>(versionFile, QSettings::IniFormat);
         settings->beginGroup(QStringLiteral("Kleopatra"));
         updateAboutDataFromSettings(about, settings.get());
         KleopatraApplication::instance()->setDistributionSettings(settings);
     }
     loadBackendVersions();
 }
 
 AboutData::AboutData()
     : KAboutData(QStringLiteral("kleopatra"),
                  i18n("Kleopatra"),
                  QLatin1StringView(kleopatra_version),
-                 i18n("Certificate Manager and Unified Crypto GUI"),
+                 i18n("Certificate Manager and Cryptography App"),
                  KAboutLicense::GPL,
-                 i18n("(c) 2002 Steffen\u00A0Hansen, Matthias\u00A0Kalle\u00A0Dalheimer, Klar\u00E4lvdalens\u00A0Datakonsult\u00A0AB\n"
-                      "(c) 2004, 2007, 2008, 2009 Marc\u00A0Mutz, Klar\u00E4lvdalens\u00A0Datakonsult\u00A0AB") //
-                     + QLatin1Char('\n') //
-                     + i18n("(c) 2016-2018 Intevation GmbH") //
-                     + QLatin1Char('\n') //
-                     + i18n("(c) 2010-%1 The Kleopatra developers, g10 Code GmbH", QStringLiteral("2024")))
+                 i18nc("@info:credit", "(C) %1 g10 Code GmbH", QStringLiteral("2024")) + QLatin1Char('\n') + i18nc("@info:credit", "(C) 2018 Intevation GmbH")
+                     + QLatin1Char('\n') + i18nc("@info:credit", "(C) 2009 Klar\u00E4lvdalens\u00A0Datakonsult\u00A0AB"))
 {
     using ::authors;
     using ::credits;
-    for (unsigned int i = 0; i < sizeof authors / sizeof *authors; ++i) {
-        addAuthor(KLocalizedString(authors[i].name).toString(),
-                  KLocalizedString(authors[i].desc).toString(),
-                  QLatin1StringView(authors[i].email),
-                  QLatin1StringView(authors[i].web));
+
+    for (const auto &author : authors) {
+        addAuthor(author.name.toString(), author.description.toString());
     }
-    for (unsigned int i = 0; i < sizeof credits / sizeof *credits; ++i) {
-        addCredit(KLocalizedString(credits[i].name).toString(),
-                  KLocalizedString(credits[i].desc).toString(),
-                  QLatin1StringView(credits[i].email),
-                  QLatin1StringView(credits[i].web));
+
+    for (const auto &credit : credits) {
+        addCredit(credit.name.toString(), credit.description.toString());
     }
 
     loadCustomAboutData(this);
 }