The use of [REMOVED] was originally intended to
keep translations of past strings when removed, so if
they were re-added later we could revive the
translations without relying on Weblate to keep them
for us, i.e. we should be able to regenerate Weblate
state (including hidden strings) from this repo.
Since we are now committing copies of the raw
weblate files, we should be able to revive anything
we need from git history anyway.
So far it looks like Weblate does not automatically
remove translation strings from target languages
when the source language is changed. If this
becomes an issue later then we can scrape the git
repo history to reconstruct lost strings at that time.
This also cleans up some translations that were being
mistakenly included in the final compiled output
despite being removed, because we weren't
correctly filtering out [REMOVED] strings after the
punctuation was added to silence Weblate warnings.
If there are multiple variants with conflicting
translations and no "generic" translation, then
sort the variants into an arbitrary but constistent
order so we always get the same results each
time we run this with the same input, and
translations don't fluctuate.
Share strings across variants for a common
langauge, if we don't have a string for that
specific variant. This should help us get better
overall translation coverage.
This is done as a "filter" on converting the raw
weblate data to MT locale files, so we don't get
the purity of the original translations ruined.