Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

controlling the user language on Android

Tags:

android

locale

I have a multi language app. I want to give the user the ability to control which language to use. that mean that even if he has the English Locale he could use a different language if he wants. How can I change the Locale language? (per app)

like image 989
gmadar Avatar asked Jan 16 '10 17:01

gmadar


2 Answers

Android provides no way to change the locale of your application; it is done at a system-wide level.

Which I would imagine makes more sense than having to set the language in multiple individual apps.

Edit, 2010-03-09:
Apparently I'm wrong about it not being possible per-app.

Here's a question showing that you can alter the locale — apparently per-Activity. In this case you need to take care of screen rotation and other configuration changes manually as otherwise the Activity will be restarted and revert to its original Configuration when something changes.
Changing Locale within the app itself
Android - Forced locale resetted on orientation changes

like image 79
Christopher Orr Avatar answered Sep 20 '22 02:09

Christopher Orr


Some apps like BetterKeyboard need to change some system settings for it to work. Instead of changing it themselves, they have a button that sends the user to the exact window where info should be changed. I guess that's done with an Intent. If I were you, I would try to achieve that. If user want's to change his/her locale, send him/her to the locale settings of their phone.

like image 27
Macarse Avatar answered Sep 19 '22 02:09

Macarse