Skip to content

System strings messed up when changing BaseLocale, requires app uninstall to fix. #24

Description

@shahimclt

So I noticed a sort-of-bug :
Suppose I have my Rosetta config defined as:

Locale firstLaunchLocale = Locale.getDefault();
Locale baseLocale = Locale.US;

HashSet<Locale> supportedLocales = new HashSet<>();
supportedLocales.add(new Locale("ml"));
supportedLocales.add(new Locale("ar"));
supportedLocales.add(new Locale("hi"));
supportedLocales.add(baseLocale);

LanguageSwitcher ls = new LanguageSwitcher(this,firstLaunchLocale,baseLocale);
ls.setSupportedLocales(supportedLocales);

and I publish the app.

Later, I noticed that the language switcher dialog was showing English(US), but I preferred to show just English. So I changed the baseLocale to Locale.ENGLISH.

Now, the issue is when I change the firstLaunchLocale and/or baseLocale, and then push an update, users who update the app from the previous version experience this in most of the system provided strings:

The only solution I found is to uninstall the older version and do a fresh install of the new version.

So is there any way to rectify this?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions