DEV Community

Shotlingo
Shotlingo

Posted on

Google Play Console vs App Store Connect locale codes: a mapping table for indie developers

If you ship an app to both Google Play and the App Store, you have probably copied a locale code from one console to the other. It looks harmless, because both stores follow BCP-47 on paper. In practice they don't accept the same codes, and a wrong one can silently drop a market.

Why the codes don't map 1:1

  • Play Console stayed close to BCP-47 and still accepts several legacy ISO 639-1 codes that predate the modern spec: iw, in, ji. Android's own values-* folders use them.
  • App Store Connect uses Apple's variant, which prefers the modern codes (he, id, yi) and uses explicit script tags for Chinese (zh-Hans, zh-Hant) instead of region tags (zh-CN, zh-TW).

The practical result: App Store Connect doesn't throw an error on zh-CN. It just doesn't find a match, so Simplified Chinese screenshots never publish. Same story for Hebrew and Indonesian.

The mismatches worth memorizing

Language / market Google Play App Store Connect
Simplified Chinese (China) zh-CN zh-Hans
Traditional Chinese (Taiwan) zh-TW zh-Hant
Hebrew (Israel) iw he
Indonesian in id
Yiddish ji yi
Norwegian (unified) no not supported, use nb only

Identical on both stores (safe to copy across)

Language / market Code Note
English (US) en-US
English (UK) en-GB
French (France) fr-FR distinct from Canadian French
French (Canada) fr-CA
German de-DE Play also accepts bare de
Spanish (Spain) es-ES Play also accepts es
Spanish (Mexico / Latam) es-MX the App Store Connect key for Latin America
Dutch nl-NL Play accepts bare nl
Portuguese (Brazil) pt-BR
Portuguese (Portugal) pt-PT

Japanese (ja), Korean (ko), Italian (it), Russian (ru), Turkish (tr), Arabic (ar), Thai (th), Vietnamese (vi), Polish (pl), Swedish (sv), Danish (da), Finnish (fi), Greek (el), Czech (cs), Hungarian (hu), Romanian (ro), Slovak (sk), Bulgarian (bg), Ukrainian (uk) and Croatian (hr) are the same on both.

Common mistakes

  1. Copying zh-CN into App Store Connect and wondering why Chinese screenshots never appear.
  2. Entering he in Play Console when Android expects iw.
  3. Treating Norwegian as one locale on both stores.
  4. Assuming a code that works in one console is valid in the other without checking.

Before every release

Run your locale list through both consoles' code sets once, and compare the two lists side by side instead of reusing one list for both. The full table with all the details, plus a pre-submission checklist, is in our reference guide: Google Play Console vs App Store Connect locale codes.

Top comments (0)