Unapproving translations whose source strings have been updated

That sounds like you’d need a new translation status that would capture all strings for which the source string has changed since the translation has been approved. That status would then appear in the filters and dashboards.

(For us, this also wouldn’t work, because it’s again against the social contract. We don’t want that the typo we fix in the source string to result in extra work for localizers).

It doesn’t even affect the DB. The filter just compares the times of source string update and translation approval, which could make the filter quite useless over time, because there’s no easy way to “unstale” the translations. (Unless you unapprove and approve translations again, but that’s a really poor UX).

Also note that the PR needs a new owner, because it needs to be rebased against current master. We should also implement it as an optional feature per instance (e.g. have a setting to turn it on/off).

That’s basically a completely different feature, a bigger one, because it effectively implements the new translation status, which also requires changes to stats calculation.