semantic-addition: translation adds claims the source doesn't make
warning — advisory, exit 0
The LLM judge found the translation asserting something the source never says. The favourite failure mode: fluent, natural, correctly conjugated — and promising your users a feature that does not exist.
What triggers it
// en.json
{ "uploaded": "Your file has been uploaded." }
// es.json
{ "uploaded": "Tu archivo se ha subido y se compartirá con todo tu equipo." }Fixed
{ "uploaded": "Tu archivo se ha subido." }Why it matters
Additions are the category no human reviewer catches by skimming, because there is nothing wrong with the sentence — only with the facts.
How to fix it
Remove the invented content from 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.sarifThe structural checks need no API key. Findings of this rule link back to this page from the SARIF helpUri.
Related rules
- semantic-mistranslation — translation says something different from the source
- semantic-omission — translation drops part of the source meaning