In #8639 Dan noticed that weblate was still offering "%S" as a string
to translate. I don't understand why this occurs, because the string
is no longer in circuitpython.pot; so weblate should move it to the
"fuzzy" section of the .po files when it synchronizes them.
I also noticed that the "%02X" string should never be localized and
moved it to synthetic.pot.
After making that change, I ran "make translate" followed by
"make msgmerge"; normally we rely on weblate running this step, but for
whatever reason this is not the case this time.
This change looks bigger than it really is because msgmerge totally
re-ordered the "fuzzy messages" section of each po file.
After this, I will force reset weblate back to match our main branch again
and re-open translations on weblate.
.. because it would add every term from circuitpython.pot to it;
then in turn, "make translate" would remove almost every message
from circuitpython.pot, and then give a pre-commit error.
Hopefully "synthetic.pot" won't get the same treatment.
This may require manual intervention on weblate to resolve a merge
conflict and undo weblate's chyange to synthetic.po/.pot.