manual-translation-stale: source changed after a manual translation was locked
warning — advisory, exit 0
The source string changed after this translation was locked as hand-edited. The locked translation was written for a sentence that no longer exists — it may still be right, but nobody has checked.
What triggers it
// locked when en said "Save changes"
// en now says "Save and publish changes" — the lock predates the editFixed
// translation re-reviewed against the new source, then re-lockedWhy it matters
This is source drift caught deterministically for locked keys: the one case where "the translation is fine" cannot be assumed, because the ground under it moved.
How to fix it
Re-review the translation against the new source, update if needed, then shipi18n lock --relock.
How to silence it
--no-locks, or re-lock after review. A warning by default.
Check for this in CI
npx @shipi18n/cli check ./locales -s en
# SARIF for inline PR annotations:
npx @shipi18n/cli check ./locales -s en -r sarif -o shipi18n.sarifThe structural checks need no API key. Findings of this rule link back to this page from the SARIF helpUri.
Related rules
- manual-translation-clobbered — hand-edited translation overwritten
- stale-translation — translations marked as needing review