AppStream backed KAboutData
This adds two new features:
- Fill
KAboutDatafrom the applications AppStream data. This avoids some duplicated strings (and thus translation work) and helps to keep in-app and website content in sync. This is even more useful when extending the amount of data included here, as done in e.g. !374 (closed). - Add support for release notes to
KAboutData, following the AppStream data model. This is meant to feed in-app release notes like https://invent.kde.org/libraries/ktextaddons/-/tree/master/textaddonswidgets/whatsnew. That currently uses in-code release notes rather than AppStream, which means the website and software stores don't benefit from them.
Limitations/future work:
- This does not follow runtime language changes (but neither does our current usual approach of filling
KAboutData). - This does support (but does not require) translated release notes, which our i18n tooling, the website and the software store publishing pipelines don't support yet.