---
title: "How do I fix the Android error \"is translated here but not found in default locale\"?"
description: "It is lint's ExtraTranslation check. A string exists in a `values-xx` folder but not in the default `res/values` folder. Add the default string or delete the stray translation; if it is intentional, suppress it with `tools:ignore=\"ExtraTranslation\"` on that string."
category: android
date: 2026-10-09
canonical: https://localizely.com/i18n-questions/android/how-do-i-fix-the-android-error-is-translated-here-but-not-found-in-default-locale/
---

# How do I fix the Android error "is translated here but not found in default locale"?

The message comes from lint's `ExtraTranslation` check: a string name appears in a localized folder such as `values-de`, but no string with that name exists in the default `res/values` folder. Add the string to `res/values/strings.xml`, or delete it from the translation files.

Lint rates this as fatal because the string can crash the app. `R.string.foo` is generated, but `getString(R.string.foo)` throws `Resources.NotFoundException` on every device whose language has no translation for it. Fatal issues are checked during release builds (`checkReleaseBuilds` defaults to true in the Android Gradle plugin), which is why `assembleRelease` fails while debug builds still run.

Common causes and the matching fix:

- The key was renamed or removed in `values/strings.xml` but not in the translations. Remove the stale `<string>` from each `values-xx` file, or restore the default string.
- A translation was added before the source string. Add it to `values/strings.xml`; the default folder must contain every string the app uses.
- The default string carries `translatable="false"` and still has translations. Older lint versions reported this under `ExtraTranslation`; since lint 3.2 it is the separate `Untranslatable` warning. Delete the translations or drop the attribute.
- A library's resources are out of step. The best-known case is `auth_client_using_bad_version_title` from an old Google Play services library project, where the translated files and the default `values` file no longer matched after an update. Make sure the library's default and translated resources come from the same version instead of patching them by hand.

Suppress it only when a string is intentionally locale-specific, and keep the suppression on that string:

```xml
<resources xmlns:tools="http://schemas.android.com/tools">
    <string name="only_in_german" tools:ignore="ExtraTranslation">Nur auf Deutsch</string>
</resources>
```

`tools:ignore` on the `<resources>` element covers the whole file. Turning the check off for the project, with `<issue id="ExtraTranslation" severity="ignore" />` in `lint.xml` or `lint { disable += "ExtraTranslation" }` in Gradle, hides real crash risks, so prefer fixing the files. Lint's own description is at [ExtraTranslation](https://googlesamples.github.io/android-custom-lint-rules/checks/ExtraTranslation.md.html); the check for the opposite problem is covered in [How do I ignore "is not translated in" (MissingTranslation) lint errors in Android?](/i18n-questions/android/how-do-i-ignore-is-not-translated-in-missingtranslation-lint-errors-in-android/).

Source: https://localizely.com/i18n-questions/android/how-do-i-fix-the-android-error-is-translated-here-but-not-found-in-default-locale/
