Skip to main content
shipi18n logo|Documentation

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

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

Related rules