Skip to main content
shipi18n logo|Documentation

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 edit

Fixed

// translation re-reviewed against the new source, then re-locked

Why 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.sarif

The structural checks need no API key. Findings of this rule link back to this page from the SARIF helpUri.

Related rules