Android i18n
Android Localization: Ship Your App in Every Language
Android provides a robust resource-based localization system using strings.xml files and resource qualifiers. Each locale gets its own values directory, and the system automatically selects the right resources based on the device language. With Jetpack Compose and per-app language preferences in Android 13+, building multilingual Android apps has never been more straightforward.
Capabilities
Android Localization Features
strings.xml resource files with type-safe R class references
Built-in pluralization rules with quantity strings (zero, one, two, few, many, other)
Jetpack Compose support with stringResource() and pluralStringResource()
Per-app language preferences for Android 13+ without restarting the app
Resource qualifiers for locale, screen size, and layout direction
Right-to-left (RTL) layout mirroring with automatic view flipping
Locale-aware date, time, and number formatting via ICU libraries
String arrays and typed arrays for localized list content
Android Studio Translations Editor for visual string management
Example
Android Localization in Practice
Define translatable strings in res/values/strings.xml with plurals support, then use Kotlin and Jetpack Compose APIs to render locale-aware content in your UI.
<!-- res/values/strings.xml -->
<resources>
<string name="welcome">Welcome to %1$s</string>
<plurals name="items">
<item quantity="one">%d item</item>
<item quantity="other">%d items</item>
</plurals>
</resources>
<!-- res/values-fr/strings.xml -->
<resources>
<string name="welcome">Bienvenue sur %1$s</string>
<plurals name="items">
<item quantity="one">%d article</item>
<item quantity="other">%d articles</item>
</plurals>
</resources>
// Kotlin - Jetpack Compose
@Composable
fun WelcomeScreen() {
Text(text = stringResource(R.string.welcome, "My App"))
Text(text = pluralStringResource(R.plurals.items, 5, 5))
}Related Guides
iOS LocalizationLearn how iOS handles localization with String Catalogs and SwiftUI for cross-platform mobile comparison.React Native i18nExplore React Native localization patterns for sharing translation workflows across iOS and Android.TMS ComparisonsCompare translation management platforms to find the best fit for your Android project.
Explore Other Framework Guides
Get started
Start Android Localization Today
Manage your Android strings.xml translations with AI-powered workflows, CLI sync, and CDN delivery under 50ms.