do-not-translate
Do-not-translate term changed or missing.
Default severity: error
What it checks
Brand names, product names and code identifiers listed under doNotTranslate must appear in the translation as written in the source, with the same case. Grammatical endings are allowed, because languages such as Czech or Polish decline brand names (Lawzana → Lawzanu); translation, transliteration (Лавзана, لوزانا) or dropping the term counts as missing.
Example
The glossary lists "Shipglot" as a name that must not be translated. Config used for both runs:
{
"sourceLocale": "en",
"files": [
{
"format": "next-intl-json",
"path": "messages/{locale}.json"
}
],
"glossary": {
"doNotTranslate": [
"Shipglot"
]
}
}Fails
messages/en.json
{
"about": "Shipglot checks your translation files."
}messages/fr.json
{
"about": "Expédiglotte vérifie vos fichiers de traduction."
}Gate output
about"Shipglot" must appear unchanged in the translationmessages/fr.json:2
Passes
messages/en.json
{
"about": "Shipglot checks your translation files."
}messages/fr.json
{
"about": "Shipglot vérifie vos fichiers de traduction."
}Gate output
No do-not-translate finding.
Change its severity
{
"checks": {
"do-not-translate": "warning"
}
}Use "off" to disable it. To hide one finding, add "suppress": ["do-not-translate:about"]; a suppress rule that stops matching is reported so it can be removed.