Expo config plugin to add localized app names for iOS and Android
npm install expo-plugin-app-name-localization

An Expo config plugin that enables app name localization for iOS and Android. This plugin allows you to display different app names for different languages/regions while keeping the same app bundle.
- ๐ Multi-language support - Localize your app name in any language
- ๐ฑ iOS support - Automatically configures InfoPlist.strings files
- ๐ค Android support - Automatically configures strings.xml files
- ๐ง Easy configuration - Simple object-based configuration
- ๐ TypeScript support - Full type definitions included
- โ
Validation - Built-in locale code validation
- ๐ Expo SDK 47+ - Compatible with modern Expo versions
``bash`
npm install expo-plugin-app-name-localizationor
yarn add expo-plugin-app-name-localizationor
pnpm add expo-plugin-app-name-localization
Add the plugin to your app.config.js or app.json:
`javascript`
module.exports = {
expo: {
// ... other config
plugins: [
[
'expo-plugin-app-name-localization',
{
localizations: {
en: 'My App',
ko: '๋ด ์ฑ',
ja: '็งใฎใขใใช',
'zh-Hans': 'ๆ็ๅบ็จ',
'es-ES': 'Mi Aplicaciรณn',
fr: 'Mon Application',
de: 'Meine App',
},
},
],
],
},
};
`json`
{
"expo": {
"plugins": [
[
"expo-plugin-app-name-localization",
{
"localizations": {
"en": "My App",
"ko": "๋ด ์ฑ",
"ja": "็งใฎใขใใช",
"zh-Hans": "ๆ็ๅบ็จ",
"es-ES": "Mi Aplicaciรณn",
"fr": "Mon Application",
"de": "Meine App"
}
}
]
]
}
}
The plugin accepts a configuration object with the following structure:
`typescript`
{
localizations: {
[locale: string]: string
}
}
The plugin supports standard locale codes:
- Language codes: en, ko, ja, fr, de, etc.en-US
- Language-Region codes: , es-ES, zh-Hans, zh-Hant, etc.
#### Basic Example
`javascript`
{
localizations: {
en: "Weather",
ko: "๋ ์จ"
}
}
#### Extended Example with Regions
`javascript`
{
localizations: {
en: "Shopping Cart",
"en-GB": "Shopping Trolley",
es: "Carrito",
"es-MX": "Carrito de Compras",
pt: "Carrinho",
"pt-BR": "Carrinho de Compras"
}
}
The plugin automatically:
1. Sets LSHasLocalizedDisplayName to true in Info.plist.lproj
2. Creates directories for each localeInfoPlist.strings
3. Generates files with the localized app names
4. Adds the localization files to your Xcode project
The plugin automatically:
1. Creates values-[locale] directories in your Android resourcesstrings.xml
2. Generates or updates files with the localized app namesstrings.xml
3. Sets the default app name in the main
After adding the plugin, build your app:
`bashFor development builds
expo prebuild
expo run:ios
expo run:android
Testing Localizations
$3
1. Open Settings
2. Go to General โ Language & Region
3. Change the iPhone Language
4. Your app name should update accordingly
$3
1. Open Settings
2. Go to System โ Languages & input โ Languages
3. Add and select a language
4. Your app name should update accordingly
Troubleshooting
$3
- Run
expo prebuild --clean to regenerate native projects
- Ensure locale codes are valid (e.g., en, en-US)
- Check console logs for any warnings$3
- iOS: Restart the device/simulator after changing language
- Android: Force stop the launcher app or restart device
- Verify the locale code matches system language settings
$3
- Ensure you're using Expo SDK 47 or higher
- Check that all dependencies are installed
- Run
npx expo-doctor to diagnose issuesTypeScript
This plugin includes TypeScript definitions. When using TypeScript, you'll get full IntelliSense support:
`typescript
import { AppNameLocalizationOptions } from 'expo-plugin-app-name-localization';const config: AppNameLocalizationOptions = {
localizations: {
en: 'My App',
ko: '๋ด ์ฑ',
},
};
`Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
1. Fork the repository
2. Create your feature branch (
git checkout -b feature/AmazingFeature)
3. Commit your changes (git commit -m 'Add some AmazingFeature')
4. Push to the branch (git push origin feature/AmazingFeature`)This project is licensed under the MIT License - see the LICENSE file for details.
Taeho Kim
- Email: taeho@taeho.io
- Inspired by the need for easy app name localization in Expo projects
- Thanks to the Expo team for the excellent config plugins system
If you found this plugin helpful, please consider:
- โญ Starring the repository
- ๐ Reporting bugs
- ๐ก Suggesting new features
- ๐ Improving documentation