xamarin/Xamarin.Forms

[Android] CultureInfo does not update when the user changes language choice while the app is running

Aberta

#4.282 aberto em 1 de nov. de 2018

 (5 comentários) (1 reação) (0 responsável)C# (1.926 forks)batch import
a/l10ne/4 :clock4:help wantedp/Androidt/bug :bug:up-for-grabs

Métricas do repositório

Stars
 (5.644 estrelas)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

Steps to Reproduce

  1. Create a new app
  2. Add the following in the constructor of App.xaml.cs
CultureInfo.CurrentCulture.ClearCachedData();
CultureInfo.CurrentUICulture.ClearCachedData();
var x = CultureInfo.CurrentCulture;
var y = CultureInfo.CurrentUICulture;
  1. Observe that initially, the culture is set to en-US (assuming you have English US language as your top choice)
  2. While the app is running, go to Android settings and change your main language to something else and hit apply.
  3. Go back to the app. Notice that the App constructor is run again, but the culture info is not updated despite us clearing cached data.
  4. Exit the app and run it again. Observe that the culture info is updated this time.

Ref: #3949 & https://github.com/xamarin/Xamarin.Forms/pull/423

EDIT: RegionInfo.CurrentRegion is not updated either.

Guia do colaborador