To do this, rely on the AppStream ID to map to a translated string (providing a
fallback for clients that do not care) and switch the free-form result string
into a set of enumerated values that can be translated.
This fixes some of the problems where some things have to be enabled to "pass"
and other attributes have to be some other state. For cases where we want the
user to "do" something, provide a URL to a wiki page that we update out-of-band
of fwupd releases.
This allows it to be refreshed anytime the daemon updates rather
than once a day by a systemd job.
As part of this change, remove the logging from `fwupdmgr` which
was only used for motd purposes.
It's confusing to have FuConfig load both the daemon.conf file and also keep
track of the enabled remotes. It's also wasteful of memory to keep the GKeyFile
alive the entire time.
Logically these are different pools of information and should be managed by
different objects. This allows us to implement reload() in a sane way and be
less reliant on the inotify event.
Target to run the contrib/fix_translation.py scripts with the
correct path. Update the RELEASE documentation to use the new
target instead of calling the script "manually".
The offline updates environment is special, and we have to be careful to delete
the trigger before doing anything that can fail to avoid boot loops.
For this reason, split it out to a simple self-contained binary that is easy to
understand.
This currently just outputs the current list of devices with releases and makes
it possible to integrate firmware version reporting with other tools like mgmt.
Allows people to specifiy a white-space separated value for them
Void Linux runs them under qemu-user-static like so
qemu-aarch64-static -L ./usr/aarch64-linux-gnu
./usr/aarch64-linux-gnu/usr/bin/python3
There's no point storing the file line number in the translations, as adding a
single line in the source file will cause thousands of lines to be changed
every time we update the translated strings.
In a similar way, there's no point storing not-yet-translated strings in
the .po files when all the source strings are stored on Transifex.
This should mean we have a much more useful diff output when looking at the release.