Locale Ids

Apgio Locale Ids

Apgio uses its own version of locale ids, if you're curious about why that is, check the why section at the bottom of the page.

Id Table

NameApgio IDApp Store IDGoogle Play ID
AfrikaansafNot Supportedaf
AlbaniansqNot Supportedsq
AmharicamNot Supportedam
Arabicar_saar-SAar
Armenianhy_amNot Supportedhy-AM
Azerbaijaniaz_azNot Supportedaz-AZ
Banglabn_bdNot Supportedbn-BD
Basqueeu_esNot Supportedeu-ES
BelarusianbeNot Supportedbe
BulgarianbgNot Supportedbg
Burmesemy_mmNot Supportedmy-MM
Catalancacaca
Chinese (Hong Kong)zh_hkNot Supportedzh-HK
Chinese (Simplified)zh_cnzh-Hanszh-CN
Chinese (Traditional)zh_twzh-Hantzh-TW
Croatianhrhrhr
Czechcs_czcscs-CZ
Danishda_dkdada-DK
Dutchnl_nlnl-NLnl-NL
English (Australia)en_auen-AUen-AU
English (Canada)en_caen-CAen-CA
English (India)en_inNot Supporteden-IN
English (S. Africa)en_zaNot Supporteden-ZA
English (Singapore)en_sgNot Supporteden-SG
English (U.K.)en_gben-GBen-GB
English (U.S.)en_usen-USen-US
EstonianetNot Supportedet
FilipenofilNot Supportedfil
Finnishfi_fififi-FI
French (Canada)fr_cafr-CAfr-CA
French (France)fr_frfr-FRfr-FR
Galiciangl_esNot Supportedgl-ES
Georgianka_geNot Supportedka-GE
Germande_dede-DEde-DE
Greekel_grelel-GR
GujaratiguNot Supportedgu
Hebrewiw_ilheiw-IL
Hindihi_inhihi-IN
Hungarianhu_huhuhu-HU
Icelandicis_isNot Supportedis-IS
Indonesianididid
Italianit_ititit-IT
Japaneseja_jpjaja-JP
Kannadakn_inNot Supportedkn-IN
KazakhkkNot Supportedkk
Khmerkm_khNot Supportedkm-KH
Koreanko_krkoko-KR
Kyrgyzky_kgNot Supportedky-KG
Laolo_laNot Supportedlo-LA
LatvianlvNot Supportedlv
LithuanianltNot Supportedlt
Macedonianmk_mkNot Supportedmk-MK
Malaymsmsms
Malay (Malaysia)ms_myNot Supportedms-MY
Malayalamml_inNot Supportedml-IN
Marathimr_inNot Supportedmr-IN
Mongolianmn_mnNot Supportedmn-MN
Nepaline_npNot Supportedne-NP
Norwegianno_nonono-NO
PersianfaNot Supportedfa
Persianfa_aeNot Supportedfa-AE
Persianfa_afNot Supportedfa-AF
Persianfa_irNot Supportedfa-IR
Polishpl_plplpl-PL
Portuguese (Brazil)pt_brpt-BRpt-BR
Portuguese (Portugal)pt_ptpt-PTpt-PT
PunjabipaNot Supportedpa
Romanianrororo
RomanshrmNot Supportedrm
Russianru_rururu-RU
SerbiansrNot Supportedsr
Sinhalasi_lkNot Supportedsi-LK
Slovaksksksk
SlovenianslNot Supportedsl
Spanish (Latin America)es_419es-MXes-419
Spanish (Spain)es_eses-ESes-ES
Spanish USes_usNot Supportedes-US
SwahiliswNot Supportedsw
Swedishsv_sesvsv-SE
Tamilta_inNot Supportedta-IN
Telegute_inNot Supportedte-IN
Thaiththth
Turkishtr_trtrtr-TR
Ukrainianukukuk
UrduurNot Supportedur
Vietnamesevivivi
ZuluzuNot Supportedzu

Why?

  1. ISO 639 provides only language, not regional indication.
  2. ISO 3166 provides only country and region codes.
  3. ISO 15924 provides four-letter writing system codes.
  4. App Store Connect uses case sensistive locale indicators with an ISO639 code plus an optional ISO3166 or ISO15924 code. A dash is used when the optional extension is present.
  5. Google Plan Console uses case sensistive locale indicators with an ISO639 code plus an optional ISO3166 code. A dash is used when the optional extension is present. Additionally Google Play uses a three letter fil for Filipino.

For Apgio we had the following requirements:

  1. The code must be usable on urls and in databases directly, without encoding.
  2. The code must have same-casing throughout.
  3. The code must capture language + region.
  4. The code must be directly mappable to both App Store and Google Play locale ids with minimal external knowledge required.
  5. The code must not lose any language-region precision compared to App Store & Google Play locale IDs.

So we settled on lowercase ISO639 language code underscore lowercase ISO3166 country/region code.

This format still requires some external knowledge to convert into App Store and Google Play codes (eg. for Chinese) but generally satisfies the requirements.

Previous
Credential Security