stale-translation: translations marked as needing review
warning — advisory, exit 0
The catalog format itself marks this translation as stale or needing review — for example an Apple .xcstrings entry whose state is "needs_review". The tool surfaces the catalog's own bookkeeping instead of ignoring it.
What triggers it
// Localizable.xcstrings — state left at needs_review
"state": "needs_review"Fixed
"state": "translated"Why it matters
Review flags exist because someone doubted the string. Shipping with them set means shipping translations a human explicitly did not sign off on.
How to fix it
Review the translation and update the catalog state.
How to silence it
A warning by default; --ignore-keys per key if the flag is noise in your workflow.
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-stale — source changed after a manual translation was locked
- untranslated — untranslated strings identical to the source