shipglot

untranslated

Translation is empty or identical to the source.

Default severity: warning

What it checks

The translation is empty or the same as the source text, usually because it was never translated. Identical text is accepted for same-language variants (en-GB), strings with nothing to translate (numbers, URLs, placeholders, codes like PDF), do-not-translate terms, and keys or values listed under `identical` in the config.

Example

A sentence pasted into the French file in English. Config used for both runs:

{
  "sourceLocale": "en",
  "files": [
    {
      "format": "next-intl-json",
      "path": "messages/{locale}.json"
    }
  ]
}

Fails

messages/en.json

{
  "unsaved": "You have unsaved changes."
}

messages/fr.json

{
  "unsaved": "You have unsaved changes."
}

Gate output

  • warninguntranslatedfr
    unsaved
    identical to the en source
    messages/fr.json:2

Passes

messages/en.json

{
  "unsaved": "You have unsaved changes."
}

messages/fr.json

{
  "unsaved": "Vous avez des modifications non enregistrées."
}

Gate output

No untranslated finding.

Change its severity

{
  "checks": {
    "untranslated": "error"
  }
}

Use "off" to disable it. To hide one finding, add "suppress": ["untranslated:unsaved"]; a suppress rule that stops matching is reported so it can be removed.

All checks