As stated in this Localization Tips: Design your application to work in any locale documentation, if your application is missing even one default resource, it will not run on a device that is set to an unsupported locale.
For example, the res/values/strings.xml
default file might lack one string that the application needs: When the application runs in an unsupported locale and attempts to load res/values/strings.xml
, the user will see an error message and a Force Close button.
You may also check this link which explains challenges in resolving Language resources. Be noted that when your Java code refers to strings, the system would load strings from the default (en_US
) resource file, even if the app has Spanish resources localized under es_ES
. This is because when the system cannot find an exact match, it continues to look for resources by stripping the country code off the locale. Finally, if no match is found, the system falls back to the default, which is en_US
.
Here's a related SO thread which might help.