---
title: Play Store Supported Languages
description: The Google Play listing languages Apptonomy supports, with their store codes.
---

Google Play accepts localized listing metadata in a much larger language set than the App Store. Every language in Apptonomy's locale table maps to a Google Play locale — 87 in total. This table lists each one with its Apptonomy platform ID and the Google Play locale code Apptonomy publishes to. For the unified three-way mapping (platform ID ↔ App Store ↔ Google Play), see [Locale IDs](/docs/reference/locale-ids).

## Supported languages

| Language | Platform ID | Google Play code |
| --- | --- | --- |
| Afrikaans | `af` | `af` |
| Albanian | `sq` | `sq` |
| Amharic | `am` | `am` |
| Arabic | `ar_sa` | `ar` |
| Armenian | `hy_am` | `hy-AM` |
| Azerbaijani | `az_az` | `az-AZ` |
| Bangla | `bn_bd` | `bn-BD` |
| Basque | `eu_es` | `eu-ES` |
| Belarusian | `be` | `be` |
| Bulgarian | `bg` | `bg` |
| Burmese | `my_mm` | `my-MM` |
| Catalan | `ca` | `ca` |
| Chinese (Hong Kong) | `zh_hk` | `zh-HK` |
| Chinese (Simplified) | `zh_cn` | `zh-CN` |
| Chinese (Traditional) | `zh_tw` | `zh-TW` |
| Croatian | `hr` | `hr` |
| Czech | `cs_cz` | `cs-CZ` |
| Danish | `da_dk` | `da-DK` |
| Dutch | `nl_nl` | `nl-NL` |
| English (Australia) | `en_au` | `en-AU` |
| English (Canada) | `en_ca` | `en-CA` |
| English (India) | `en_in` | `en-IN` |
| English (S. Africa) | `en_za` | `en-ZA` |
| English (Singapore) | `en_sg` | `en-SG` |
| English (U.K.) | `en_gb` | `en-GB` |
| English (U.S.) | `en_us` | `en-US` |
| Estonian | `et` | `et` |
| Filipino | `fil` | `fil` |
| Finnish | `fi_fi` | `fi-FI` |
| French (Canada) | `fr_ca` | `fr-CA` |
| French (France) | `fr_fr` | `fr-FR` |
| Galician | `gl_es` | `gl-ES` |
| Georgian | `ka_ge` | `ka-GE` |
| German | `de_de` | `de-DE` |
| Greek | `el_gr` | `el-GR` |
| Gujarati | `gu` | `gu` |
| Hebrew | `iw_il` | `iw-IL` |
| Hindi | `hi_in` | `hi-IN` |
| Hungarian | `hu_hu` | `hu-HU` |
| Icelandic | `is_is` | `is-IS` |
| Indonesian | `id` | `id` |
| Italian | `it_it` | `it-IT` |
| Japanese | `ja_jp` | `ja-JP` |
| Kannada | `kn_in` | `kn-IN` |
| Kazakh | `kk` | `kk` |
| Khmer | `km_kh` | `km-KH` |
| Korean | `ko_kr` | `ko-KR` |
| Kyrgyz | `ky_kg` | `ky-KG` |
| Lao | `lo_la` | `lo-LA` |
| Latvian | `lv` | `lv` |
| Lithuanian | `lt` | `lt` |
| Macedonian | `mk_mk` | `mk-MK` |
| Malay | `ms` | `ms` |
| Malay (Malaysia) | `ms_my` | `ms-MY` |
| Malayalam | `ml_in` | `ml-IN` |
| Marathi | `mr_in` | `mr-IN` |
| Mongolian | `mn_mn` | `mn-MN` |
| Nepali | `ne_np` | `ne-NP` |
| Norwegian | `no_no` | `no-NO` |
| Persian | `fa` | `fa` |
| Persian (U.A.E.) | `fa_ae` | `fa-AE` |
| Persian (Afghanistan) | `fa_af` | `fa-AF` |
| Persian (Iran) | `fa_ir` | `fa-IR` |
| Polish | `pl_pl` | `pl-PL` |
| Portuguese (Brazil) | `pt_br` | `pt-BR` |
| Portuguese (Portugal) | `pt_pt` | `pt-PT` |
| Punjabi | `pa` | `pa` |
| Romanian | `ro` | `ro` |
| Romansh | `rm` | `rm` |
| Russian | `ru_ru` | `ru-RU` |
| Serbian | `sr` | `sr` |
| Sinhala | `si_lk` | `si-LK` |
| Slovak | `sk` | `sk` |
| Slovenian | `sl` | `sl` |
| Spanish (Latin America) | `es_419` | `es-419` |
| Spanish (Spain) | `es_es` | `es-ES` |
| Spanish (U.S.) | `es_us` | `es-US` |
| Swahili | `sw` | `sw` |
| Swedish | `sv_se` | `sv-SE` |
| Tamil | `ta_in` | `ta-IN` |
| Telugu | `te_in` | `te-IN` |
| Thai | `th` | `th` |
| Turkish | `tr_tr` | `tr-TR` |
| Ukrainian | `uk` | `uk` |
| Urdu | `ur` | `ur` |
| Vietnamese | `vi` | `vi` |
| Zulu | `zu` | `zu` |

:::note[Right-to-left languages]
Arabic (`ar`), Hebrew (`iw-IL`), Urdu (`ur`), and all four Persian variants are right-to-left. Localized copy and screenshots in these languages need a layout review before publishing.
:::

Google Play uses the three-letter code `fil` for Filipino and the UN M.49 region code `es-419` for Latin American Spanish. Some languages appear as multiple regional variants (Persian, Malay, several English and Spanish regions) — each is published independently.

## How this is sourced

This table is generated from Apptonomy's master locale table (`A7Y_LANG`), which drives the Google Play language picker in the app. Google can add languages over time; when it does, the master table is updated and this list changes with it. Codes are the values Apptonomy sends to Google Play. For the reasoning behind Apptonomy's platform IDs and the full App Store / Google Play mapping, see [Locale IDs](/docs/reference/locale-ids).
