Per-App Language Preferences: Android 13

Roma Patel
Simform Engineering
4 min readJun 27, 2023

Using Android 13’s new feature to display your app in a language other than the system language.

Innovations in technology have made smartphones an integral part of our daily lives, granting us access to a wide range of versatile applications serving various purposes. However, language barriers often hinder users from fully harnessing the potential of these apps.

Recognizing this challenge, Android has introduced a groundbreaking solution: per-app language. With the recent release of Android 13, this feature has gained even greater significance, revolutionizing the way users engage with their favorite apps.

Per-App Language and Its Importance

If you speak more than one language or reside in a multilingual setting, you know how annoying it is to frequently change your device’s language settings to accommodate various apps.

Thankfully, Android offers a solution: per-app language. With this innovative feature, users can now personalize their experience by selecting a different language for each app on their smartphone.

In this article, we will delve into the significance of per-app language and explore the backward compatibility it offers with Android 13. Additionally, we’ll uncover how developers can leverage this functionality to enhance app accessibility and elevate the overall user experience.

Let’s begin by understanding the basics of this wonderful feature.

In App Settings

This feature gives an app the ability to adjust its language settings based on the particular user’s device language preferences. This means that if a user selects a specific language for their device, the app will automatically adjust its language settings to match their preference.

Moreover, per-app language allows for a more consistent and available user experience where users can associate with apps in their preferred language without any communication barrier.

Optimal Per-App Language Handling: Developer Insights

Android 13 brings an exciting set of features, including improvements in per-app language management. However, backward compatibility is crucial to ensuring a consistent user experience across different Android versions.

Working on the per-app language preferences functionality requires the following three steps:

Step 1: Create local_config.xml file

  • Create a new file res/xml/local_config.xml including your app’s locale, which is located in the res/values/strings.xml.
  • A list of all the locales that the app supports should be included in this file.
  • A string with a locale tag should be the list element.

For a standard set of the most commonly-used locales, visit here.

Step 2: Specify this local_config.xml file in the app’s AndroidManifest.xml

Step 3: Implement using the AndroidX support library

  • It is recommended to use the AndroidX Support library to implement in-app language pickers.
  • You can also use the setApplicationLocales() and getApplicationLocales() methods in the Android framework for devices running Android 13.

Specify supported languages in Gradle

When you use the resourceConfigurations property in Gradle, the build system includes only the language resources for the specified languages in your APK. This ensures that translated strings from other libraries, which support languages not used by your app, are not included.

Support Android 12 and lower

Set the android:enabled attribute to false and then the autoStoreLocales value to true in the manifest entry for the AppLocalesMetadataHolderService service of your app to instruct AndroidX to manage locale storage for devices running Android 12 (API level 32) and lower.

Output:

Per App Language Demo

Advantages of Per-App Language

Per-App Language offers numerous benefits for both users and developers. By creating accessible and diverse user experiences, developers can enhance customer satisfaction and adoption rates, leading to a stronger app ecosystem and increased revenue.

The use of Per-App Language helps users overcome language barriers and improves the usability and intuitiveness of projects. It reduces cognitive load and enhances user-friendliness by allowing users to interact with applications in their preferred language.

However, implementing Per-App Language comes with its own set of challenges. Firstly, app developers need to invest time and resources in translating and culturally adapting the content of their apps. Ensuring accurate and culturally sensitive translations can also pose difficulties.

Additionally, it is important to consider the performance implications of adding additional language support, particularly for apps that heavily rely on visual assets or complex functionality. Striking a balance between language diversity and app performance becomes crucial in such cases.

Conclusion

Incorporating per-app language is crucial for app developers aiming to deliver inclusive and accessible user experiences. By considering the diverse demands and preferences of users from around the globe, developers can create more engaging and relevant app experiences.

While challenges may arise in implementing per-app language, developers can overcome them by leveraging appropriate tools and techniques. By doing so, they can tap into the rewards of a truly global app market, expanding their reach and fostering user satisfaction.

For more updates on the latest tools and technologies, follow the Simform Engineering blog.

Follow Us: Twitter | LinkedIn

--

--