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
unsavedidentical to the en sourcemessages/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.