A Developer's Guide to App Store Connect Locales
Everything you need to know about App Store Connect's locale system, from language codes to regional variants.
The Locale System Explained
App Store Connect uses a specific locale system that can be confusing at first. Understanding how it works is essential for effective localization.
Each locale is identified by a code like en-US, de-DE, or zh-Hans. These codes follow a pattern: language code, followed by region or script identifier.
Language vs. Region
Some locales are language-only:
- `ja` - Japanese
- `ko` - Korean
- `vi` - Vietnamese
Others specify regions:
- `en-US` - English (United States)
- `en-GB` - English (United Kingdom)
- `en-AU` - English (Australia)
And some use script identifiers:
- `zh-Hans` - Chinese (Simplified)
- `zh-Hant` - Chinese (Traditional)
Why Regional Variants Matter
You might think "English is English"—but that's not true for App Store optimization.
A user in the UK searching for "colour picker" won't find your app if you only have US English with "color picker" in the keywords. Regional spelling, terminology, and even cultural references differ.
The same applies to Spanish (es-ES vs es-MX), Portuguese (pt-PT vs pt-BR), and French (fr-FR vs fr-CA).
The Complete Locale List
App Store Connect supports 40 locales:
European Languages:
- English: en-US, en-GB, en-AU, en-CA
- German: de-DE
- French: fr-FR, fr-CA
- Spanish: es-ES, es-MX
- Italian: it
- Dutch: nl-NL
- Portuguese: pt-PT, pt-BR
- Swedish: sv
- Norwegian: no
- Danish: da
- Finnish: fi
- Polish: pl
- Turkish: tr
- Czech: cs
- Slovak: sk
- Hungarian: hu
- Romanian: ro
- Ukrainian: uk
- Croatian: hr
- Greek: el
- Hebrew: he
- Russian: ru
Asian Languages:
- Japanese: ja
- Korean: ko
- Chinese: zh-Hans, zh-Hant
- Thai: th
- Vietnamese: vi
- Indonesian: id
- Malay: ms
Other:
- Arabic: ar-SA
- Hindi: hi
- Catalan: ca
Character Limits by Field
Every localizable field has character limits:
| Field | Limit |
|---|---|
| App Name | 30 characters |
| Subtitle | 30 characters |
| Keywords | 100 characters |
| Promotional Text | 170 characters |
| Description | 4,000 characters |
| What's New | 4,000 characters |
These limits apply regardless of language. But because character density varies by language, you'll find German descriptions hitting limits while Japanese versions have room to spare.
App-Level vs. Version-Level
This distinction trips up many developers:
App-Level Fields (persist across versions):
- App Name
- Subtitle
- Privacy Policy URL
Version-Level Fields (specific to each release):
- Description
- Keywords
- Promotional Text
- What's New
When you submit a new version, you're editing version-level fields. App-level fields require a separate update.
Primary vs. Secondary Locales
Your primary locale is the default fallback. If a user's device is set to a language you haven't localized, they'll see your primary locale content.
Choose your primary locale strategically. For most developers, this is en-US, but if your main market is elsewhere, adjust accordingly.
Practical Tips
- **Start with your analytics** - Check where your current users are located
- **Consider revenue potential** - Some markets have higher average purchase values
- **Group similar locales** - Update all English variants together, all Spanish variants together
- **Test keyword performance** - Use App Store Connect's search ads to test keyword ideas before committing
Understanding the locale system is the foundation for effective App Store localization. Once you grasp how it works, the actual localization process becomes much clearer.