When the language is changed in the app settings, all strings should be in the new language.
Some strings (most noticeable on the Stats screen) stay in the old language. I encountered this while working on screenshot automation across locales but it also happens in normal usage.
Note that the issue resolves itself on next launch of the app.
Here is a screenshot of the stats screen with mixed language:

Worked as expected (stats screen was fully translated).
The behaviour was broken as in the screenshot above.
Same as version 25.
Due to the deprecation of updateConfiguration(), it is not called on API > 24 in LocaleManager. Instead context.createConfigurationContext() is called which updates the locale throughout the app via attachBaseContext in all Activities and the Application like this:
protected void attachBaseContext(Context base) {
super.attachBaseContext(LocaleManager.setLocale(base));
}
More detail about this is in the PR which introduced it: https://github.com/wordpress-mobile/WordPress-Android/pull/7413.
The broken strings are those that are fetched using our static Context with WordPress.getContext().getString(R.string.something). Because mContext in WordPress.java is never updated, locale changes are not reflected by WordPress.getContext().
Context in WordPress.java. This would solve the issue but I don't suggest a large change should be made just for this. Other issues may necessitate this in future.WordPress.getContext().getString(R.string.something) with some other context. This wouldn't be a huge change but it would leave the underlying issue of an outdated static Context in WordPress.java.mContext in attachBaseContext of WordPress.java. I have tried this approach and attachBaseContext only called on launch at the moment. I feel like it may be possible to get this to work however.attachBaseContext is only called prior to OnCreate.mContext in WordPress.java when the language is changes by exposing a method something like updateContextLocale().With all of this it is worth noting that I am very new to this codebase so please let me know if I'm way off on any of this 馃槃
Hi,
I followed the reproduction steps in the latest release of WordPress, but still can find the same problem as stated here. I was wondering if it is related to this issue.
Test device: Huawei P30 Lite, Android 9.0
Steps to reproduce:
(1) the system language is English.
(2) Change language via Me -> App Settings. (I have changed it to Chinese)
(3) Go to the stats screen (My Site -> Stats).
Result: The screen will be partially in the original language and partially in the newly chosen language.
Here is the screenshot you can check.

Thanks a lot for your great work.
Thanks @huaxunhuang, I am reopening this issue. cc @designsimply
Most helpful comment
Thanks @huaxunhuang, I am reopening this issue. cc @designsimply