Sometimes you pick up a new Android phone that ships with a language you don’t understand, or you travel abroad and want the UI in your native tongue. While the Settings app lets you change the language, the process can be hidden behind multiple menus on some OEM skins, and in a pinch you may not have time to navigate them. Using the Android Debug Bridge (ADB) you can switch the system language directly from a computer, without rooting the device.
Build number seven times, then go to Settings > System > Developer options and toggle USB debugging on.persist.sys.language and persist.sys.country).adb.adb devices. You should see a line like XXXXXX device. If the device shows as unauthorized, check the phone for a prompt asking to allow USB debugging and tap Allow.Android stores a list of locale identifiers (e.g., en-US, fr-FR) that the system can switch to. Knowing the exact code prevents typos.
adb shell "pm list locales"
This prints a long, comma‑separated list of locale tags.
es-ES for Spanish (Spain) or de-DE for German (Germany).The core command uses the setprop system property persist.sys.locale. Changing this property tells Android which language resources to load on the next boot.
YOUR_LOCALE with the tag you copied:
adb shell setprop persist.sys.locale YOUR_LOCALE
Example for French (France):
adb shell setprop persist.sys.locale fr-FR
adb reboot
After the device restarts, the UI should appear in the selected language.
adb shell getprop persist.sys.locale
The output should match the locale you set.
Older releases store language and country in two separate properties. Use the following two‑step approach if persist.sys.locale has no effect.
adb shell setprop persist.sys.language en
adb shell setprop persist.sys.country US
adb reboot.System properties prefixed with persist. are writable by the shell user, which ADB runs as. Android deliberately allows these properties to be changed for debugging and testing purposes. Because the change is stored in the persist namespace, it survives reboots, yet it does not require the elevated privileges that a true root user would have.
setprop for security. In that case, you may need to use the device’s own language picker or flash a custom ROM that respects the property.adb shell prompt as shown. On some devices, the adb daemon runs in restricted mode; enabling “USB debugging (Security settings)” in Developer options can lift the restriction.Volume Up + Power) and select “Reboot system now”. The device will revert to the default locale.persist.sys.locale key, but experimenting with other setprop keys can render the device unusable. Stick to the commands in this guide.pt-PT vs pt-BR). Choose the one that matches your keyboard layout and date formats.
adb shell pm list users, note the user ID, then prefix the setprop command with --user USER_ID.
adb shell --user 10 setprop persist.sys.locale it-IT
Changing an Android device’s system language via ADB is a quick, root‑free method that works on most modern phones. By enabling USB debugging, listing supported locales, setting the persist.sys.locale property, and rebooting, you can switch to any language the device supports. The guide also covers older Android versions, common troubleshooting, and safety considerations, giving you a reliable workflow for on‑the‑fly language changes.









