MIUI 14 Per-App Language support?


Lordmau5

Members
May 23, 2017
33
20
Hey everyone!

So with MIUI 14 being on Android 13 I was curious about the Per-App Language option that Android 13 added.

I've looked through the settings but couldn't find anything in regards to it, even on the Xiaomi EU rom.

I've found an option in the Hidden Settings app called "App Locale Picker : App Language" (com.android.settings.localepicker.AppLocalePickerActivity) but opening that just makes the app crash iwth the following error:

Code:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.localepicker.AppLocalePickerActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference
    at android.app.ActivityThread.performLaunchActivity(Unknown Source:902)
    at android.app.ActivityThread.handleLaunchActivity(Unknown Source:77)
    at android.app.servertransaction.LaunchActivityItem.execute(Unknown Source:79)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(Unknown Source:77)
    at android.app.servertransaction.TransactionExecutor.execute(Unknown Source:76)
    at android.app.ActivityThread$H.handleMessage(Unknown Source:172)
    at android.os.Handler.dispatchMessage(Unknown Source:19)
    at android.os.Looper.loopOnce(Unknown Source:182)
    at android.os.Looper.loop(Unknown Source:82)
    at android.app.ActivityThread.main(Unknown Source:123)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
    at com.android.internal.os.ZygoteInit.main(Unknown Source:312)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference
    at com.android.settings.localepicker.AppLocalePickerActivity.onCreate(Unknown Source:94)
    at android.app.Activity.performCreate(Unknown Source:127)
    at android.app.Activity.performCreate(Unknown Source:1)
    at android.app.Instrumentation.callActivityOnCreate(Unknown Source:3)
    at android.app.ActivityThread.performLaunchActivity(Unknown Source:627)
    ... 12 more

Now I am unsure if there's already some (basic) support for this in MIUI 14 that just isn't enabled, or if we maybe have to wait until a future version like 14.1 or even 15 for this to be implemented?

Thanks in advance! :)
 
Currently, this is not a feature in MIUI, and no one knows if it'll ever be a part of MIUI, even though it's functional.
This feature is disappointing because it requires that the app's developer implements support for it.
So, on our ROMs, there is only 1 system app listed there: Google (search)
Other apps that support the feature, that can be installed from Play Store, are Google Maps, Google Translate, YouTube...
Xiaomi may not consider this feature too useful, especially when the app's developer can already easily integrate an in-app language picker, using that same API, that would work on any Android version, while that list (made for convenience) is only available since Android 13...
 
  • Like
Reactions: Lordmau5
Currently, this is not a feature in MIUI, and no one knows if it'll ever be a part of MIUI, even though it's functional.
This feature is disappointing because it requires that the app's developer implements support for it.
So, on our ROMs, there is only 1 system app listed there: Google (search)
Other apps that support the feature, that can be installed from Play Store, are Google Maps, Google Translate, YouTube...
Xiaomi may not consider this feature too useful, especially when the app's developer can already easily integrate an in-app language picker, using that same API, that would work on any Android version, while that list (made for convenience) is only available since Android 13...
Ah I see, that's a bummer honestly.

I have my system language set to English since I prefer most apps in English.
However, some apps I'd like to have in my native language and they unfortunately don't give an in-app language selector option (even though they clearly have support for those languages if I switch the system language to something else)

I remember there were 2 other options:
- One being that I root my phone and then install something through Xposed that can force an app to run in a specific language
- The other (though not 100% sure anymore) would be to unpack an APK of an app and modify some files to force my native language onto the English one (or similar), then repackaging and probably also signing it. But I'm unsure if that is a good idea.

(I have stopped rooting my phones several years ago as I didn't see a use for it anymore and because some banking / financial apps refuse to function properly when they detect a rooted device)
 
(even though they clearly have support for those languages if I switch the system language to something else)
Irrelevant, the app must implement a very specific API in order for it to support per-app language changing.

- One being that I root my phone and then install something through Xposed that can force an app to run in a specific language
- The other (though not 100% sure anymore) would be to unpack an APK of an app and modify some files to force my native language onto the English one (or similar), then repackaging and probably also signing it. But I'm unsure if that is a good idea.
And both are unrelated to how per-app language changing works.
 
Irrelevant, the app must implement a very specific API in order for it to support per-app language changing.


And both are unrelated to how per-app language changing works.
Yeah sorry, what I meant to say was that those are the options I know of to have those languages in a language other than the system language, without the use of this new API.

Looking at that blog post though it doesn't even seem that difficult to implement, which makes this even more annoying to see that there's barely any support for it in apps apparently :(
 
Yeah sorry, what I meant to say was that those are the options I know of to have those languages in a language other than the system language, without the use of this new API.

Looking at that blog post though it doesn't even seem that difficult to implement, which makes this even more annoying to see that there's barely any support for it in apps apparently :(
No amount of convenience APIs made by Google will defeat developers' laziness. ;)
 
  • Like
Reactions: Lordmau5
The other language-related feature missing from MIUI is the ability to have multiple languages in the system.
Some apps only download languages based on this setting, so unless you added a certain language as a secondary in the system, it will not even be downloaded from Google Play.
 
Last edited:
Currently, this is not a feature in MIUI, and no one knows if it'll ever be a part of MIUI, even though it's functional.
This feature is disappointing because it requires that the app's developer implements support for it.
So, on our ROMs, there is only 1 system app listed there: Google (search)
Other apps that support the feature, that can be installed from Play Store, are Google Maps, Google Translate, YouTube...
Xiaomi may not consider this feature too useful, especially when the app's developer can already easily integrate an in-app language picker, using that same API, that would work on any Android version, while that list (made for convenience) is only available since Android 13...
Hi,
I do not know if this feature WAS relevant in March 2023, but in October 2023 it is extremely relevant and need. And so extremely, that I am thinking about switch from xiaomi to another brand. This is all due to the fact, that after updates of many apps in September/October 2023 many apps received update and switched to the system language (or nearest to it available for this app). This irritates and make it sometimes impossible to use those apps completely.
I am a Ukrainian who leaves in Germany and I use a lot of local german apps. After updates I see almost all german apps in Ukrainian (terrible "google" translation) of English. This is extremely uncomfortable, and for those, who do not know English, make it impossible to use this apps. Of cause, since Per-App Language is natively supported by android, there is no in app language selection.

Any chance that you implement this basic android feature and make the necessary setting menu option visible in the next weeks?

Best regards
 
The option is available via Hidden Settings app. Inside the app type "Language" in search. Though you can't select preferred languages (it crashes the settings app, you can set per-app language).
 
The solution above worked for MIUI 14, but doesn't work for HyperOS 1.0, unfortunately.