Skip to main content
shipi18n logo|Documentation

semantic-omission: translation drops part of the source meaning

warning — advisory, exit 0

The LLM judge found meaningful source content missing from the translation — a consequence, a condition, a warning clause that simply is not there in the target language.

What triggers it

// en.json
{ "close": "Save your work before closing, or unsaved changes will be lost." }

// es.json
{ "close": "Guarda tu trabajo antes de cerrar." }   // the consequence is gone

Fixed

{ "close": "Guarda tu trabajo antes de cerrar, o los cambios no guardados se perderán." }

Why it matters

Omissions are how warnings stop warning. The sentence still reads complete, so no reviewer notices the missing half.

How to fix it

Restore the missing content in the translation.

How to silence it

Advisory by default; --semantic-fail escalates, --ignore-keys silences a key.

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