"is translated here but not found in default locale" error in strings.xml with translatable="false"
AndroidXmlAndroid StudioLocalizationLintAndroid Problem Overview
Here is my values\strings.xml (the default file) and everything is self explanatory:
My question(s):
- How can it be "not found in default locale" if I am editing the default locale (values\strings.xml)?
- 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. - 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:
- Select the strings that cause error.
- Cut them.
- 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:
-
cleaning my project
-
rebuilding it
-
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.