"is translated here but not found in default locale" error in strings.xml with translatable="false"

AndroidXmlAndroid StudioLocalizationLint

Android Problem Overview


Here is my values\strings.xml (the default file) and everything is self explanatory: enter image description here

My question(s):

  1. How can it be "not found in default locale" if I am editing the default locale (values\strings.xml)?
  2. How can it be a lint translation error if I set translatable="false"? In the values-pl\strings.xml (and values-ru, values-iw folders as well) the strings don't exist even? it shouldn't anyway.
  3. I can't seem to understand why I don't get the error for the Russian string.

(I would show the values-ru\string.xml or values-pl\string.xml here but there is nothing there of interest, since the strings are missing anyway...)

Android Solutions


Solution 1 - Android

this happened to me too

I do 2 things:

  • Verify entire file to see another translate not done ( I have ones in file en but in pt-br)
  • Clean, update gradle and quit and restart the Android Studio

Solution 2 - Android

Rebuilding can take a long time. YMMV, but...

Simply remove the offending line and re-add it.

Worked for me. Very fast.

Solution 3 - Android

In my case this helped me:

  1. Select the strings that cause error.
  2. Cut them.
  3. Paste them again

If it doesn't work for you, try adding the same strings to strings.xml(v21) file.

Solution 4 - Android

Press Invalidate Caches / Restart ... to restart android studio. It worked for me. Actually this happened when I had copied files from my other computer and pasted via file explorer.

Solution 5 - Android

I had the same error message, just with the weird issue that it was thrown in the default locale itself and all translations. Turns out you should not use dots in your name (e.g. name="bla.blub") because it will be internally converted to "bla_blub" and then it cannot match with "bla.blub", hence the error. I only had to change the dots to underlines in the default locale and then all other errors in other translations (including dots in the name) were gone as well.

But be aware that other build tools can still create issues, so replace all the dots with underlines instead!

Solution 6 - Android

I solved this issue by following below steps:

  1. cleaning my project

  2. rebuilding it

  3. and finally pressing invalid caches/ Restart in file menu

Solution 7 - Android

Quitting Android Studio and restarting it fixed it for me.

Solution 8 - Android

I've created a tool to manage the translation status of android apps. It not only tells you what strings are missing on the other languages, but it can also report, and clean the left over strings that you may have deleted on your default translation file.

https://github.com/gubatron/android-missing-strings

To clean all left overs in other languages invoke like this

./ams --cleanleftovers -o all.txt

This will clean the left over strings and it will output the missing strings report for all the languages into the all.txt file

Solution 9 - Android

Just make sure that you have same naming conventions on all strings files including the same capitalization. let's say if you have "sign_in" in strings.xml and "sign_In" in your fr/string.xml, so it will give you error on fr/strings.xml like "is translated here but not found in default locale". So, when you edit to "sign_in". The error will remove.

Solution 10 - Android

You simply just have to copy the offending line (or just one of the multiple of offending lines), remove it, and re-paste it. That removed the issue for me.

Solution 11 - Android

I was having this problem for all the strings in my xml file.

The thing is, your default strings.xml shouldn't have a tools:locale attribute as the other translated files have. If it does, whenever I compile the app in release mode, it treats it as another translated file.

Solution 12 - Android

Copy and paste didn't work for me.

I also tried Clean and restart, the previous error was gone but new entered strings still have new errors occur.

I tried closing the opened strings.xml file and Translations Editor, then restart.

strings.xml file and Translations Editor

That works for me.

Solution 13 - Android

Press double shift for open Translations Error and then check and uncheck in Untranslatable column the item with error.

Solution 14 - Android

Well, in my case, this happened when there was a format error with the previous string of the string that's being reported. Unfortuantely that format error was not reported. Correcting the format error solves the issue.

Solution 15 - Android

If you just Clean Project it probably works. It worked for me.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPIXPView Question on Stackoverflow
Solution 1 - AndroidJoaoLopesFView Answer on Stackoverflow
Solution 2 - AndroidNolan AmyView Answer on Stackoverflow
Solution 3 - AndroidGouravView Answer on Stackoverflow
Solution 4 - Androidabir-cseView Answer on Stackoverflow
Solution 5 - AndroidCitrusO2View Answer on Stackoverflow
Solution 6 - AndroidHizbullah WatandostView Answer on Stackoverflow
Solution 7 - AndroidlekanbaruwaView Answer on Stackoverflow
Solution 8 - AndroidGubatronView Answer on Stackoverflow
Solution 9 - AndroidBabar ShamsiView Answer on Stackoverflow
Solution 10 - AndroidAustin AlexView Answer on Stackoverflow
Solution 11 - AndroidDielson SalesView Answer on Stackoverflow
Solution 12 - AndroidRoy WanView Answer on Stackoverflow
Solution 13 - AndroidBraian CoronelView Answer on Stackoverflow
Solution 14 - AndroidLeoXJView Answer on Stackoverflow
Solution 15 - AndroidStackOverflowerView Answer on Stackoverflow