Skip to content

Cross Localization

Cross-localization is a strategy that uses one localization (for example, AR for US) to index an app in other countries and regions where this localization is available but not primary.
This allows you to significantly expand your app’s reach and visibility without having to create unique content for every locale.

For each territory, the App Store defines a “primary” language. However, each territory also has several “additional” supported languages.

Use only relevant keywords to avoid reduced conversion rates. Our goal is to get installs, not just impressions.
Do not add empty localizations.
You can fill any localization with another language; you do not have to use the localization’s native language.

The primary localization of the app is currently indexed in all countries.
Increase your app’s reach in the US by up to 10% by selecting a non-target localization as the primary localization, but filling it with your target language (English).

For example: 🇨🇦 English (Canada): EN_CA, 🇫🇮 Finnish: FI, 🇸🇰 Slovak: SK, and others.

For example, let’s take the US, which has 10 localizations:

Primary localization: 🇺🇸 English (US): EN_US
Also indexed as cross-localizations:
🇦🇪 Arabic: AR
🇨🇳 Chinese (Simplified): ZH_HANS
🇭🇰 Chinese (Traditional): ZH_HANT
🇫🇷 French: FR
🇰🇷 Korean: KO
🇧🇷 Portuguese (Brazil): PT_BR
🇷🇺 Russian: RU
🇲🇽 Spanish (Mexico): ES_MX
🇻🇳 Vietnamese: VI

If your app uses a different primary localization by default, you get additional fields (Title, Subtitle, and Keywords) for the current App Store indexing in the US from that localization.

The App Store does not boost indexing by repetition. Each word is counted only once-even if it appears in multiple fields (Title, Subtitle, Keywords) or in different localizations.

Do Not Duplicate Keywords Across Fields in Different Localizations

Section titled “Do Not Duplicate Keywords Across Fields in Different Localizations”

It is not recommended to use the same word in different metadata fields, such as Title, Subtitle, and Keywords, even across different localizations.
If you use the same word in the Title and in the Subtitle of another localization, it may be indexed with less weight (Subtitle has lower weight).

The App Store does not index phrases as-is-it combines words from the Title, Subtitle, and Keywords fields.

Do not write long phrases like best photo editor for iPhone.
Instead, use as many unique words as possible, separated by commas: best,photo,editor,iPhone-this way you get more combinations: best photo, photo editor, editor for iPhone, etc.

Compound Words in the Title Are Indexed by Parts

Section titled “Compound Words in the Title Are Indexed by Parts”

The App Store automatically splits compound words in the title, even without spaces.

Example:
AppStoreConnect is indexed as:
app, store, connect, appstoreconnect

Use camelCase and PascalCase for maximum reach.

Words at the beginning of the Title get the highest priority. Use your most important keywords there.

Keyword Phrases Are Combined Only Within a Single Localization

Section titled “Keyword Phrases Are Combined Only Within a Single Localization”

In general, duplicating keywords is not recommended, but for the most important phrases, it is acceptable.

The App Store does not combine words between locales; all phrases are formed within a single localization. For example:

  • EN-US Title: Apple
  • EN-GB Subtitle: Music

❌ The phrase Apple Music will not be indexed.

Do not add words that are automatically indexed for all apps

Section titled “Do not add words that are automatically indexed for all apps”

There is a list of free words that are automatically indexed for all apps.
For example, app, game, for, etc.

Keywords written without spaces are split by capital letters during ranking.
Works only for the Title field.

For example, HelloWorld in the app name is split by capital letters into the words hello and world during ranking.

Do not mention AI in your metadata for mainland China

Section titled “Do not mention AI in your metadata for mainland China”

In mainland China, mentioning AI in metadata is prohibited unless you have certification.
If you want to use cross-localization in mainland China, do not mention AI in your metadata.
This may result in your app being removed from the App Store for this region.

If you are not publishing in mainland China, or you have received accreditation, you can use cross-localization with AI mentions.

Cross Localization
Cross Localization

App Store Language Usage Statistics

One of the fastest ways to scale your ASO results is by choosing languages that work across several countries - but in our cross-localization article we’ll show you a few hacks to make it even more powerful.

Language & Primary Country
Primary
Secondary
Total
ISO codeISO codeCountry or regionDefault LanguageAdditional Supported Language(s)Applications Primary Locale🇬🇧 English: EN_GB (United Kingdom)
AFAFG🇦🇫 Afghanistan🇬🇧 English: EN_GB (United Kingdom)✅✅
ALALB🇦🇱 Albania🇬🇧 English: EN_GB (United Kingdom)✅✅
DZDZA🇩🇿 Algeria🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
🇫🇷 French: FR_FR (France)
✅✅
AOAGO🇦🇴 Angola🇬🇧 English: EN_GB (United Kingdom)✅✅
AIAIA🇦🇮 Anguilla🇬🇧 English: EN_GB (United Kingdom)✅✅
AGATG🇦🇬 Antigua and Barbuda🇬🇧 English: EN_GB (United Kingdom)✅✅
ARARG🇦🇷 Argentina🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
AMARM🇦🇲 Armenia🇬🇧 English: EN_GB (United Kingdom)✅✅
AUAUS🇦🇺 Australia🇦🇺 English: EN_AU (Australia)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
ATAUT🇦🇹 Austria🇩🇪 German: DE_DE (Germany)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
AZAZE🇦🇿 Azerbaijan🇬🇧 English: EN_GB (United Kingdom)✅✅
BSBHS🇧🇸 Bahamas🇬🇧 English: EN_GB (United Kingdom)✅✅
BHBHR🇧🇭 Bahrain🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
BBBRB🇧🇧 Barbados🇬🇧 English: EN_GB (United Kingdom)✅✅
BYBLR🇧🇾 Belarus🇬🇧 English: EN_GB (United Kingdom)✅✅
BEBEL🇧🇪 Belgium🇬🇧 English: EN_GB (United Kingdom)
🇳🇱 Dutch: NL_NL (Netherlands)
🇫🇷 French: FR_FR (France)
✅✅
BZBLZ🇧🇿 Belize🇬🇧 English: EN_GB (United Kingdom)
🇲🇽 Spanish: ES_MX (Mexico)
✅✅
BJBEN🇧🇯 Benin🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
BMBMU🇧🇲 Bermuda🇬🇧 English: EN_GB (United Kingdom)✅✅
BTBTN🇧🇹 Bhutan🇬🇧 English: EN_GB (United Kingdom)✅✅
BOBOL🇧🇴 Bolivia🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
BABIH🇧🇦 Bosnia and Herzegovina🇬🇧 English: EN_GB (United Kingdom)
🇭🇷 Croatian: HR (Croatia)
✅✅
BWBWA🇧🇼 Botswana🇬🇧 English: EN_GB (United Kingdom)✅✅
BRBRA🇧🇷 Brazil🇧🇷 Portuguese: PT_BR (Brazil)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
VGVGB🇻🇬 British Virgin Islands🇬🇧 English: EN_GB (United Kingdom)✅✅
BNBRN🇧🇳 Brunei🇬🇧 English: EN_GB (United Kingdom)✅✅
BGBGR🇧🇬 Bulgaria🇬🇧 English: EN_GB (United Kingdom)✅✅
BFBFA🇧🇫 Burkina Faso🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
KHKHM🇰🇭 Cambodia🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
CMCMR🇨🇲 Cameroon🇫🇷 French: FR_FR (France)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
CACAN🇨🇦 Canada🇨🇦 English: EN_CA (Canada)
🇨🇦 French: FR_CA (Canada)
✅❌
CVCPV🇨🇻 Cape Verde🇬🇧 English: EN_GB (United Kingdom)✅✅
KYCYM🇰🇾 Cayman Islands🇬🇧 English: EN_GB (United Kingdom)✅✅
TDTCD🇹🇩 Chad🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
CLCHL🇨🇱 Chile🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
CNCHN🇨🇳 China mainland🇨🇳 Simplified Chinese: ZH_HANS (China mainland)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
COCOL🇨🇴 Colombia🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
CDCOD🇨🇩 Congo Democratic Republic🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
CGCOG🇨🇬 Congo Republic🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
CRCRI🇨🇷 Costa Rica🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
CICIV🇨🇮 Cote d'Ivoire🇫🇷 French: FR_FR (France)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
HRHRV🇭🇷 Croatia🇬🇧 English: EN_GB (United Kingdom)
🇭🇷 Croatian: HR (Croatia)
✅✅
CYCYP🇨🇾 Cyprus🇬🇧 English: EN_GB (United Kingdom)
🇬🇷 Greek: EL (Greece)
🇹🇷 Turkish: TR (Turkey)
✅✅
CZCZE🇨🇿 Czech Republic🇬🇧 English: EN_GB (United Kingdom)
🇨🇿 Czech: CS (Czech Republic)
✅✅
DKDNK🇩🇰 Denmark🇬🇧 English: EN_GB (United Kingdom)
🇩🇰 Danish: DA (Denmark)
✅✅
DMDMA🇩🇲 Dominica🇬🇧 English: EN_GB (United Kingdom)✅✅
DODOM🇩🇴 Dominican Republic🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
ECECU🇪🇨 Ecuador🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
EGEGY🇪🇬 Egypt🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
🇫🇷 French: FR_FR (France)
✅✅
SVSLV🇸🇻 El Salvador🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
EEEST🇪🇪 Estonia🇬🇧 English: EN_GB (United Kingdom)✅✅
SZSWZ🇸🇿 Eswatini🇬🇧 English: EN_GB (United Kingdom)✅✅
FJFJI🇫🇯 Fiji🇬🇧 English: EN_GB (United Kingdom)✅✅
FIFIN🇫🇮 Finland🇬🇧 English: EN_GB (United Kingdom)
🇫🇮 Finnish: FI (Finland)
✅✅
FRFRA🇫🇷 France🇫🇷 French: FR_FR (France)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
GAGAB🇬🇦 Gabon🇫🇷 French: FR_FR (France)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
GMGMB🇬🇲 Gambia🇬🇧 English: EN_GB (United Kingdom)✅✅
GEGEO🇬🇪 Georgia🇬🇧 English: EN_GB (United Kingdom)✅✅
DEDEU🇩🇪 Germany🇩🇪 German: DE_DE (Germany)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
GHGHA🇬🇭 Ghana🇬🇧 English: EN_GB (United Kingdom)✅✅
GRGRC🇬🇷 Greece🇬🇷 Greek: EL (Greece)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
GDGRD🇬🇩 Grenada🇬🇧 English: EN_GB (United Kingdom)✅✅
GTGTM🇬🇹 Guatemala🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
GWGNB🇬🇼 Guinea-Bissau🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
GYGUY🇬🇾 Guyana🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
HNHND🇭🇳 Honduras🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
HKHKG🇭🇰 Hong Kong🇭🇰 Traditional Chinese: ZH_HANT (Hong Kong)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
HUHUN🇭🇺 Hungary🇬🇧 English: EN_GB (United Kingdom)
🇭🇺 Hungarian: HU (Hungary)
✅✅
ISISL🇮🇸 Iceland🇬🇧 English: EN_GB (United Kingdom)✅✅
ININD🇮🇳 India🇬🇧 English: EN_GB (United Kingdom)
🇮🇳 Bengali: BN (India)
🇮🇳 Gujarati: GU (India)
🇮🇳 Hindi: HI (India)
🇮🇳 Kannada: KN (India)
🇮🇳 Malayalam: ML (India)
🇮🇳 Marathi: MR (India)
🇮🇳 Oriya: OR (India)
🇮🇳 Punjabi: PA (India)
🇮🇳 Tamil: TA (India)
🇮🇳 Telugu: TE (India)
🇮🇳 Urdu: UR (India)
✅✅
IDIDN🇮🇩 Indonesia🇬🇧 English: EN_GB (United Kingdom)
🇮🇩 Indonesian: ID (Indonesia)
✅✅
IQIRQ🇮🇶 Iraq🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
IEIRL🇮🇪 Ireland🇬🇧 English: EN_GB (United Kingdom)✅✅
ILISR🇮🇱 Israel🇬🇧 English: EN_GB (United Kingdom)
🇮🇱 Hebrew: HE (Israel)
✅✅
ITITA🇮🇹 Italy🇮🇹 Italian: IT (Italy)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
JMJAM🇯🇲 Jamaica🇬🇧 English: EN_GB (United Kingdom)✅✅
JPJPN🇯🇵 Japan🇯🇵 Japanese: JA (Japan)
🇺🇸 English: EN_US (United States)
✅❌
JOJOR🇯🇴 Jordan🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
KZKAZ🇰🇿 Kazakhstan🇬🇧 English: EN_GB (United Kingdom)✅✅
KEKEN🇰🇪 Kenya🇬🇧 English: EN_GB (United Kingdom)✅✅
XKXKS🇽🇰 Kosovo🇬🇧 English: EN_GB (United Kingdom)✅✅
KWKWT🇰🇼 Kuwait🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
KGKGZ🇰🇬 Kyrgyzstan🇬🇧 English: EN_GB (United Kingdom)✅✅
LALAO🇱🇦 Laos🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
LVLVA🇱🇻 Latvia🇬🇧 English: EN_GB (United Kingdom)✅✅
LBLBN🇱🇧 Lebanon🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
🇫🇷 French: FR_FR (France)
✅✅
LRLBR🇱🇷 Liberia🇬🇧 English: EN_GB (United Kingdom)✅✅
LYLBY🇱🇾 Libya🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
LTLTU🇱🇹 Lithuania🇬🇧 English: EN_GB (United Kingdom)✅✅
LULUX🇱🇺 Luxembourg🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
🇩🇪 German: DE_DE (Germany)
✅✅
MOMAC🇲🇴 Macau🇭🇰 Traditional Chinese: ZH_HANT (Hong Kong)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
MGMDG🇲🇬 Madagascar🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
MWMWI🇲🇼 Malawi🇬🇧 English: EN_GB (United Kingdom)✅✅
MYMYS🇲🇾 Malaysia🇬🇧 English: EN_GB (United Kingdom)
🇲🇾 Malay: MS (Malaysia)
✅✅
MVMDV🇲🇻 Maldives🇬🇧 English: EN_GB (United Kingdom)✅✅
MLMLI🇲🇱 Mali🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
MTMLT🇲🇹 Malta🇬🇧 English: EN_GB (United Kingdom)✅✅
MRMRT🇲🇷 Mauritania🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
🇫🇷 French: FR_FR (France)
✅✅
MUMUS🇲🇺 Mauritius🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
MXMEX🇲🇽 Mexico🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
FMFSM🇫🇲 Micronesia🇬🇧 English: EN_GB (United Kingdom)✅✅
MDMDA🇲🇩 Moldova🇬🇧 English: EN_GB (United Kingdom)✅✅
MNMNG🇲🇳 Mongolia🇬🇧 English: EN_GB (United Kingdom)✅✅
MEMNE🇲🇪 Montenegro🇬🇧 English: EN_GB (United Kingdom)
🇭🇷 Croatian: HR (Croatia)
✅✅
MSMSR🇲🇸 Montserrat🇬🇧 English: EN_GB (United Kingdom)✅✅
MAMAR🇲🇦 Morocco🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
🇫🇷 French: FR_FR (France)
✅✅
MZMOZ🇲🇿 Mozambique🇬🇧 English: EN_GB (United Kingdom)✅✅
MMMMR🇲🇲 Myanmar🇬🇧 English: EN_GB (United Kingdom)✅✅
NANAM🇳🇦 Namibia🇬🇧 English: EN_GB (United Kingdom)✅✅
NRNRU🇳🇷 Nauru🇬🇧 English: EN_GB (United Kingdom)✅✅
NPNPL🇳🇵 Nepal🇬🇧 English: EN_GB (United Kingdom)✅✅
NLNLD🇳🇱 Netherlands🇳🇱 Dutch: NL_NL (Netherlands)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
NZNZL🇳🇿 New Zealand🇬🇧 English: EN_GB (United Kingdom)
🇦🇺 English: EN_AU (Australia)
✅✅
NINIC🇳🇮 Nicaragua🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
NENER🇳🇪 Niger🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
NGNGA🇳🇬 Nigeria🇬🇧 English: EN_GB (United Kingdom)✅✅
MKMKD🇲🇰 North Macedonia🇬🇧 English: EN_GB (United Kingdom)✅✅
NONOR🇳🇴 Norway🇬🇧 English: EN_GB (United Kingdom)
🇳🇴 Norwegian: NO (Norway)
✅✅
OMOMN🇴🇲 Oman🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
PKPAK🇵🇰 Pakistan🇬🇧 English: EN_GB (United Kingdom)✅✅
PWPLW🇵🇼 Palau🇬🇧 English: EN_GB (United Kingdom)✅✅
PAPAN🇵🇦 Panama🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
PGPNG🇵🇬 Papua New Guinea🇬🇧 English: EN_GB (United Kingdom)✅✅
PYPRY🇵🇾 Paraguay🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
PEPER🇵🇪 Peru🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
PHPHL🇵🇭 Philippines🇬🇧 English: EN_GB (United Kingdom)✅✅
PLPOL🇵🇱 Poland🇬🇧 English: EN_GB (United Kingdom)
🇵🇱 Polish: PL (Poland)
✅✅
PTPRT🇵🇹 Portugal🇵🇹 Portuguese: PT_PT (Portugal)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
QAQAT🇶🇦 Qatar🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
KRKOR🇰🇷 Republic of Korea🇰🇷 Korean: KO (Republic of Korea)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
ROROU🇷🇴 Romania🇬🇧 English: EN_GB (United Kingdom)
🇷🇴 Romanian: RO (Romania)
✅✅
RURUS🇷🇺 Russia🇷🇺 Russian: RU (Russia)
🇬🇧 English: EN_GB (United Kingdom)
🇺🇦 Ukrainian: UK (Ukraine)
✅✅
RWRWA🇷🇼 Rwanda🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
STSTP🇸🇹 Sao Tome and Principe🇬🇧 English: EN_GB (United Kingdom)✅✅
SASAU🇸🇦 Saudi Arabia🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
SNSEN🇸🇳 Senegal🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
RSSRB🇷🇸 Serbia🇬🇧 English: EN_GB (United Kingdom)
🇭🇷 Croatian: HR (Croatia)
✅✅
SCSYC🇸🇨 Seychelles🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
SLSLE🇸🇱 Sierra Leone🇬🇧 English: EN_GB (United Kingdom)✅✅
SGSGP🇸🇬 Singapore🇬🇧 English: EN_GB (United Kingdom)
🇨🇳 Simplified Chinese: ZH_HANS (China mainland)
✅✅
SKSVK🇸🇰 Slovakia🇬🇧 English: EN_GB (United Kingdom)
🇸🇰 Slovak: SK (Slovakia)
✅✅
SISVN🇸🇮 Slovenia🇬🇧 English: EN_GB (United Kingdom)
🇸🇮 Slovenian: SL (Slovenia)
✅✅
SBSLB🇸🇧 Solomon Islands🇬🇧 English: EN_GB (United Kingdom)✅✅
ZAZAF🇿🇦 South Africa🇬🇧 English: EN_GB (United Kingdom)✅✅
ESESP🇪🇸 Spain🇪🇸 Spanish: ES_ES (Spain)
🇪🇸 Catalan: CA (Spain)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
LKLKA🇱🇰 Sri Lanka🇬🇧 English: EN_GB (United Kingdom)✅✅
KNKNA🇰🇳 St. Kitts and Nevis🇬🇧 English: EN_GB (United Kingdom)✅✅
LCLCA🇱🇨 St. Lucia🇬🇧 English: EN_GB (United Kingdom)✅✅
VCVCT🇻🇨 St. Vincent and the Grenadines🇬🇧 English: EN_GB (United Kingdom)✅✅
SRSUR🇸🇷 Suriname🇬🇧 English: EN_GB (United Kingdom)
🇳🇱 Dutch: NL_NL (Netherlands)
✅✅
SESWE🇸🇪 Sweden🇸🇪 Swedish: SV (Sweden)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
CHCHE🇨🇭 Switzerland🇩🇪 German: DE_DE (Germany)
🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
🇮🇹 Italian: IT (Italy)
✅✅
TWTWN🇹🇼 Taiwan🇭🇰 Traditional Chinese: ZH_HANT (Hong Kong)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
TJTJK🇹🇯 Tajikistan🇬🇧 English: EN_GB (United Kingdom)✅✅
TZTZA🇹🇿 Tanzania🇬🇧 English: EN_GB (United Kingdom)✅✅
THTHA🇹🇭 Thailand🇬🇧 English: EN_GB (United Kingdom)
🇹🇭 Thai: TH (Thailand)
✅✅
TOTON🇹🇴 Tonga🇬🇧 English: EN_GB (United Kingdom)✅✅
TTTTO🇹🇹 Trinidad and Tobago🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
TNTUN🇹🇳 Tunisia🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
🇫🇷 French: FR_FR (France)
✅✅
TRTUR🇹🇷 Turkey🇬🇧 English: EN_GB (United Kingdom)
🇹🇷 Turkish: TR (Turkey)
✅✅
TMTKM🇹🇲 Turkmenistan🇬🇧 English: EN_GB (United Kingdom)✅✅
TCTCA🇹🇨 Turks and Caicos Islands🇬🇧 English: EN_GB (United Kingdom)✅✅
UGUGA🇺🇬 Uganda🇬🇧 English: EN_GB (United Kingdom)✅✅
UAUKR🇺🇦 Ukraine🇬🇧 English: EN_GB (United Kingdom)
🇺🇦 Ukrainian: UK (Ukraine)
🇷🇺 Russian: RU (Russia)
✅✅
AEARE🇦🇪 United Arab Emirates🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
GBGBR🇬🇧 United Kingdom🇬🇧 English: EN_GB (United Kingdom)✅✅
USUSA🇺🇸 United States🇺🇸 English: EN_US (United States)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
🇨🇳 Simplified Chinese: ZH_HANS (China mainland)
🇭🇰 Traditional Chinese: ZH_HANT (Hong Kong)
🇫🇷 French: FR_FR (France)
🇰🇷 Korean: KO (Republic of Korea)
🇧🇷 Portuguese: PT_BR (Brazil)
🇷🇺 Russian: RU (Russia)
🇲🇽 Spanish: ES_MX (Mexico)
🇻🇳 Vietnamese: VI (Vietnam)
✅❌
UYURY🇺🇾 Uruguay🇬🇧 English: EN_GB (United Kingdom)
🇲🇽 Spanish: ES_MX (Mexico)
✅✅
UZUZB🇺🇿 Uzbekistan🇬🇧 English: EN_GB (United Kingdom)✅✅
VUVUT🇻🇺 Vanuatu🇬🇧 English: EN_GB (United Kingdom)
🇫🇷 French: FR_FR (France)
✅✅
VEVEN🇻🇪 Venezuela🇲🇽 Spanish: ES_MX (Mexico)
🇬🇧 English: EN_GB (United Kingdom)
✅✅
VNVNM🇻🇳 Vietnam🇬🇧 English: EN_GB (United Kingdom)
🇻🇳 Vietnamese: VI (Vietnam)
✅✅
YEYEM🇾🇪 Yemen🇬🇧 English: EN_GB (United Kingdom)
🇸🇦 Arabic: AR_SA (Saudi Arabia)
✅✅
ZMZMB🇿🇲 Zambia🇬🇧 English: EN_GB (United Kingdom)✅✅
ZWZWE🇿🇼 Zimbabwe🇬🇧 English: EN_GB (United Kingdom)✅✅

Sort countries
Save changes to App Store
Refresh information
Settings
Go to documentation

Country sorting options:

  • By name
  • By population
  • By GDP (nominal) per capita

Metadata editing is available when the app status is “Ready for Submission” in the App Store.
If you haven’t created a new app version after an update that can be edited, the interface will prompt you to Create a new app version.

Each country displays a card showing:

  • Country code
  • Country name
  • Population
  • GDP (nominal) per capita
  • List of languages for cross-localization

Clicking a country card opens the localization editor with metadata.

Each localization displays a card showing:

  • Localization code
  • Localization name
  • List of countries using this localization – clicking a country opens its card
  • 3 input fields affecting cross-localization:
    • Title
    • Subtitle
    • Keywords
Editor input
Editor input

Each input field contains several buttons:

  • Metadata Editor: Quick access to the metadata editor.
  • Bulk Metadata Editor: Quick access to the bulk metadata editor.
  • Translate: Translates text from the primary localization to the current language.
  • Reverse Translate: Translates the current text in the input field back to the base language set in settings screen.
  • Copy from Previous Version: Copies content from the last modified version.
  • Show Differences: If the value differs from the last saved version, this button will show the difference.
  • Add to tracking list: Only for fields that support keywords. Adds all keywords from the input field to your tracked keywords list.

Clear button: Clears all entered data in the input field.

For memberships with access to the ASO analysis: Indie, Pro and Marketing

For fields that affect search results in the App Store, such as Title, Subtitle, and Keywords, additional keyword analysis features are available:

  • Keyword Breakdown: The entered text is automatically split into individual keywords.
  • Display Metrics: Relevant metrics for each keyword are shown, including:
    • Current App Rating: The current rating of your app for this keyword.
    • Search Ads Popularity (SAP): The popularity of the keyword in Apple Search Ads-hovering over it shows the date of the last update.
    • Difficulty: The competitiveness of the keyword.
    • Total Number of Apps: The number of apps using this keyword.
    • Suggestions: The number of suggestions for this keyword in the App Store.
    • Keyword Management: Buttons to add or remove keywords from your keyword list.
    • Edit Field: Options to remove or add this keyword directly in the current input field.

For memberships with access to the ASO analysis: Indie, Pro and Marketing

For the Keywords field, Keyword Recommendations are also available, based on:

  • Current App Keywords: Keywords for which your app already has search queries.
  • User’s Keyword List: Keywords from your personalized keyword list.
  • Competitor Apps: Keywords used by competitor apps.

Each input field has a dynamic border that reflects the current state, unless disabled in the page Settings:

  • Blue: Indicates that the field has been changed.
  • Red: Displays when there is no data in the field.
  • Gray: Shows when the field has no changes and is filled.

Additionally, each input field displays the character count and maximum field length, helping to ensure compliance with App Store requirements.

Before each input field, a vertical colored stripe is displayed as a status indicator.

By default, the indicators are visible, but they can be turned off using the “Hide change indicators” setting.

Color scheme:

  • Red: field is not filled
  • Blue: field has been changed
  • Gray: field has not been changed
Localization Providers Settings
Localization Providers Settings

Provider connections and task priorities are configured separately in ASO.dev.

In Settings → Integrations, search for a provider and enter the connection fields shown on its card: API key, base URL, region, supported capabilities and default models, where applicable. The fields depend on the provider. Google Translate is available as a built-in translation option.

Then open the relevant task section:

  • Translations: Provider — enable translators and arrange their fallback priority.
  • AI: Provider — enable providers for text generation and analysis, with their own priority and models.
  • Images: AI Model — enable image-generation providers and choose their image models.

A configured connection can serve more than one task. Enabling a provider for translations does not automatically enable it for text or image generation. Change keys and connection details in Integrations, and change task order in the corresponding provider section.

You can configure the translation provider of your choice (Google Translate, DeepL, Chat GPT, Claude AI) in the ASO.dev settings and also set translation exclusions.

Google Translate

Google Translate is available by default as a free translation provider in ASO.dev.

It is enabled in the default translation configuration. Keep it enabled in Translations: Provider if you want to use it as your main translator or a fallback.

DeepL, Chat GPT, Claude AI, DeepSeek, Gemini, OpenRouter

DeepL, OpenAI, Claude, DeepSeek, Gemini and OpenRouter provide alternative translation options with their own API keys, plans and limits.

DeepL is a dedicated translation integration. The AI providers can also serve text-generation tasks when enabled in AI: Provider. Compare translation quality on your own metadata, terminology and target languages.

To use these providers, you need to obtain an API key, enter it in the settings, and, if necessary, select a model or specify additional parameters.

How to Set the Priority of Translation Providers

In Translations: Provider, change priority by dragging active provider cards or using their move buttons.

The order determines which provider will be used first when translating content.

Disabling a Translation Provider

To disable a specific translation provider, simply toggle the switch to the “Off” position.

This provider will no longer be used for content translation.

You can also change the order of providers to adjust their priority.

Excluding Specific Keywords or Phrases from Translation

Section titled “Excluding Specific Keywords or Phrases from Translation”
Settings: Brand Names
Settings: Brand Names

If you need to exclude certain words or phrases from translation, such as brand names, follow these steps:

  • Enter the keyword or phrase you want to exclude from translation.
  • After entering a word, press Enter or .

Comma-Separated List: You can enter multiple keywords or phrases, separating them with commas.
Case Sensitivity: The list is case-sensitive, so make sure to enter keywords exactly as they are written.

Excluded words or phrases will remain in their original language and will not be altered during translation.
This is especially useful for maintaining consistency with brand names, technical terms, and other important phrases.

Using both primary and additional languages in ASO, as well as optimizing keyword metadata, can increase your app’s visibility in the App Store.

Cross-localization provides an interactive table displaying metadata for different localizations, allowing you to assess their performance and optimize your app for various regions and languages.