---
title: "How do I ignore \"is not translated in\" (MissingTranslation) lint errors in Android?"
description: "MissingTranslation is a lint check, not a compiler error, and a missing translation falls back to the default string at runtime. Mark strings `translatable=\"false\"`, add `tools:ignore=\"MissingTranslation\"` to one string or file, or disable the check in `lint.xml` or Gradle."
category: android
date: 2026-10-09
canonical: https://localizely.com/i18n-questions/android/how-do-i-ignore-is-not-translated-in-missingtranslation-lint-errors-in-android/
---

# How do I ignore "is not translated in" (MissingTranslation) lint errors in Android?

Decide first whether the string should be translated at all, then suppress as narrowly as possible. `MissingTranslation` is a lint check: it compares every string in `res/values` with each language folder and reports the ones a language lacks. Nothing breaks at runtime, because Android falls back to the default `values` string when a translation is missing; the check exists so untranslated text does not ship unnoticed. The options, from narrowest to broadest:

Strings that must never be translated (brand names, URLs, format templates) get `translatable="false"`, or live in a file named `donottranslate.xml`. Lint skips both.

```xml
<string name="app_name" translatable="false">Acme</string>
```

One string that is knowingly untranslated for now. The attribute goes on the string in the default file, because that is where lint reports the issue:

```xml
<resources xmlns:tools="http://schemas.android.com/tools">
    <string name="beta_notice" tools:ignore="MissingTranslation">Beta</string>
</resources>
```

Regional override files. Lint counts folders by language, so `values-pt-rBR` beside a complete `values-pt` is already fine: the two are checked together as "pt" and the override may contain only the strings that differ. Lint complains when the regional folder is the only folder for its language, or when it is a variant of your default language, such as `values-en-rGB` next to an English `values`. For that case, declare the default language on the base file and lint counts the base strings as English:

```xml
<!-- res/values/strings.xml -->
<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="en">
```

The whole project, in a `lint.xml` file in the module root:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <issue id="MissingTranslation" severity="ignore" />
</lint>
```

or in `build.gradle.kts`:

```kotlin
android {
    lint {
        disable += "MissingTranslation"
    }
}
```

`tools:ignore="MissingTranslation"` on the `<resources>` element of the default file sits in between: it covers every string in that file. The broad options hide the problem for every language, including the ones you do intend to finish, so leaving the check on and completing the translations, in a TMS such as Localizely or by hand, is the better long-term fix.

Details: [MissingTranslation](https://googlesamples.github.io/android-custom-lint-rules/checks/MissingTranslation.md.html) and [configuring lint](https://developer.android.com/studio/write/lint).

Source: https://localizely.com/i18n-questions/android/how-do-i-ignore-is-not-translated-in-missingtranslation-lint-errors-in-android/
