Cross Localization for App Store: Optimize Metadata
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.
Useful Tips for Cross-Localization
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.
Use EN-US as the Priority Localization
EN-US is currently indexed in all countries. Even if your app is not targeted at the US, this is the best localization for cross-reach.
Do Not Duplicate Keywords
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
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).
Separators
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
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.
Word Order Affects Phrases
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
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
There is a list of free words that are automatically indexed for all apps.
For example, app
, game
, for
, etc.
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.


Complete list of all variations:
ISO code | ISO code | Country or region | Default Language | Additional Supported Language(s) | 🇺🇸 English (U.S.): EN_US | 🇬🇧 English (U.K.): EN_GB |
---|---|---|---|---|---|---|
AF | AFG | Afghanistan | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
AL | ALB | Albania | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
DZ | DZA | Algeria | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR 🇫🇷 French: FR | ✅ | ✅ |
AO | AGO | Angola | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
AI | AIA | Anguilla | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
AG | ATG | Antigua and Barbuda | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
AG | ARG | Argentina | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
AM | ARM | Armenia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
AU | AUS | Australia | 🇦🇺 English (Australia): EN_AU | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
AT | AUT | Austria | 🇩🇪 German: DE_DE | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
AZ | AZE | Azerbaijan | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BS | BHS | Bahamas | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BH | BHR | Bahrain | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
BB | BRB | Barbados | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BY | BLR | Belarus | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BE | BEL | Belgium | 🇬🇧 English (U.K.): EN_GB | 🇳🇱 Dutch: NL_NL 🇫🇷 French: FR | ✅ | ✅ |
BZ | BLZ | Belize | 🇬🇧 English (U.K.): EN_GB | 🇲🇽 Spanish (Mexico): ES_MX | ✅ | ✅ |
BJ | BEN | Benin | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
BM | BMU | Bermuda | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BT | BTN | Bhutan | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BO | BOL | Bolivia | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
BA | BIH | Bosnia and Herzegovina | 🇬🇧 English (U.K.): EN_GB | 🇭🇷 Croatian: HR | ✅ | ✅ |
BW | BWA | Botswana | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BR | BRA | Brazil | 🇧🇷 Portuguese (Brazil): PT_BR | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
VG | VGB | British Virgin Islands | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BN | BRN | Brunei | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BG | BGR | Bulgaria | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
BF | BFA | Burkina Faso | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
KH | KHM | Cambodia | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
CM | CMR | Cameroon | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
CA | CAN | Canada | 🇨🇦 English (Canada): EN_CA | 🇨🇦 French (Canada): FR_CA | ✅ | ❌ |
CV | CPV | Cape Verde | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
KY | CYM | Cayman Islands | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
TD | TCD | Chad | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
CL | CHL | Chile | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
CN | CHN | China mainland | 🇨🇳 Simplified Chinese: ZH_HANS | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
CO | COL | Colombia | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
CD | COD | Congo Democratic Republic | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
CG | COG | Congo Republic | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
CR | CRI | Costa Rica | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
CI | CIV | Cote d’Ivoire | 🇫🇷 French: FR | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
HR | HRV | Croatia | 🇬🇧 English (U.K.): EN_GB | 🇭🇷 Croatian: HR | ✅ | ✅ |
CY | CYP | Cyprus | 🇬🇧 English (U.K.): EN_GB | 🇬🇷 Greek: EL 🇹🇷 Turkish: TR | ✅ | ✅ |
CZ | CZE | Czech Republic | 🇬🇧 English (U.K.): EN_GB | 🇨🇿 Czech: CS | ✅ | ✅ |
DK | DNK | Denmark | 🇬🇧 English (U.K.): EN_GB | 🇩🇰 Danish: DA | ✅ | ✅ |
DM | DMA | Dominica | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
DO | DOM | Dominican Republic | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
EC | ECU | Ecuador | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
EG | EGY | Egypt | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR 🇫🇷 French: FR | ✅ | ✅ |
SV | SLV | El Salvador | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
EE | EST | Estonia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
SZ | SWZ | Eswatini | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
FJ | FJI | Fiji | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
FI | FIN | Finland | 🇬🇧 English (U.K.): EN_GB | 🇫🇮 Finnish: FI | ✅ | ✅ |
FR | FRA | France | 🇫🇷 French: FR | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
GA | GAB | Gabon | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
GM | GMB | Gambia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
GE | GEO | Georgia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
DE | DEU | Germany | 🇩🇪 German: DE_DE | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
GH | GHA | Ghana | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
GR | GRC | Greece | 🇬🇷 Greek: EL | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
GD | GRD | Grenada | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
GT | GTM | Guatemala | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
GW | GNB | Guinea-Bissau | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
GY | GUY | Guyana | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
HN | HND | Honduras | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
HK | HKG | Hong Kong | 🇭🇰 Chinese (Traditional): ZH_HANT | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
HU | HUN | Hungary | 🇬🇧 English (U.K.): EN_GB | 🇭🇺 Hungarian: HU | ✅ | ✅ |
IS | ISL | Iceland | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
IN | IND | India | 🇬🇧 English (U.K.): EN_GB | 🇮🇳 Hindi: HI | ✅ | ✅ |
ID | IDN | Indonesia | 🇬🇧 English (U.K.): EN_GB | 🇮🇩 Indonesian: ID | ✅ | ✅ |
IQ | IRQ | Iraq | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
IE | IRL | Ireland | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
IL | ISR | Israel | 🇬🇧 English (U.K.): EN_GB | 🇮🇱 Hebrew: HE | ✅ | ✅ |
IT | ITA | Italy | 🇮🇹 Italian: IT | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
JM | JAM | Jamaica | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
JP | JPN | Japan | 🇯🇵 Japanese: JA | 🇺🇸 English (U.S.): EN_US | ✅ | ❌ |
JO | JOR | Jordan | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
KZ | KAZ | Kazakhstan | 🇬🇧 English (U.K.): EN_GB | 🇺🇸 English (U.S.): EN_US | ✅ | ✅ |
KE | KEN | Kenya | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
XK | XKS | Kosovo | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
KW | KWT | Kuwait | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
KG | KGZ | Kyrgyzstan | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
LA | LAO | Laos | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
LV | LVA | Latvia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
LB | LBN | Lebanon | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR 🇫🇷 French: FR | ✅ | ✅ |
LR | LBR | Liberia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
LY | LBY | Libya | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
LT | LTU | Lithuania | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
LU | LUX | Luxembourg | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR 🇩🇪 German: DE_DE | ✅ | ✅ |
MO | MAC | Macau | 🇭🇰 Chinese (Traditional): ZH_HANT | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
MG | MDG | Madagascar | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
MW | MWI | Malawi | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
MY | MYS | Malaysia | 🇬🇧 English (U.K.): EN_GB | 🇲🇾 Malay: MS | ✅ | ✅ |
MV | MDV | Maldives | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
ML | MLI | Mali | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
MT | MLT | Malta | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
MR | MRT | Mauritania | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR 🇫🇷 French: FR | ✅ | ✅ |
MU | MUS | Mauritius | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
MX | MEX | Mexico | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
FM | FSM | Micronesia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
MD | MDA | Moldova | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
MN | MNG | Mongolia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
ME | MNE | Montenegro | 🇬🇧 English (U.K.): EN_GB | 🇭🇷 Croatian: HR | ✅ | ✅ |
MS | MSR | Montserrat | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
MA | MAR | Morocco | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR 🇫🇷 French: FR | ✅ | ✅ |
MZ | MOZ | Mozambique | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
MM | MMR | Myanmar | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
NA | NAM | Namibia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
NR | NRU | Nauru | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
NP | NPL | Nepal | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
NL | NLD | Netherlands | 🇳🇱 Dutch: NL_NL | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
NZ | NLZ | New Zealand | 🇬🇧 English (U.K.): EN_GB | 🇦🇺 English (Australia): EN_AU | ✅ | ✅ |
NI | NIC | Nicaragua | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
NE | NER | Niger | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
NG | NGA | Nigeria | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
MK | MKD | North Macedonia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
KP | PRK | North Korea | 🇰🇷 Korean: KO | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
NO | NOR | Norway | 🇬🇧 English (U.K.): EN_GB | 🇳🇴 Norwegian: NO | ✅ | ✅ |
OM | OMN | Oman | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
PK | PAK | Pakistan | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
PW | PLW | Palau | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
PA | PAN | Panama | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
PG | PNG | Papua New Guinea | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
PY | PRY | Paraguay | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
PE | PER | Peru | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
PH | PHL | Philippines | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
PL | POL | Poland | 🇬🇧 English (U.K.): EN_GB | 🇵🇱 Polish: PL | ✅ | ✅ |
PT | PRT | Portugal | 🇵🇹 Portuguese (Portugal): PT_PT | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
QA | QAT | Qatar | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
KR | KOR | Republic of Korea | 🇰🇷 Korean: KO | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
RO | ROU | Romania | 🇬🇧 English (U.K.): EN_GB | 🇷🇴 Romanian: RO | ✅ | ✅ |
RU | RUS | Russia | 🇷🇺 Russian: RU | 🇬🇧 English (U.K.): EN_GB 🇺🇦 Ukrainian: UK | ✅ | ✅ |
RW | RWA | Rwanda | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
ST | STP | Sao Tome and Principe | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
SA | SAU | Saudi Arabia | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
SN | SEN | Senegal | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
RS | SRB | Serbia | 🇬🇧 English (U.K.): EN_GB | 🇭🇷 Croatian: HR | ✅ | ✅ |
SC | SYC | Seychelles | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
SL | SLE | Sierra Leone | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
SG | SGP | Singapore | 🇬🇧 English (U.K.): EN_GB | 🇭🇰 Chinese (Simplified): ZH_HANS | ✅ | ✅ |
SK | SVK | Slovakia | 🇬🇧 English (U.K.): EN_GB | 🇸🇰 Slovak: SK | ✅ | ✅ |
SI | SVN | Slovenia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
SB | SLB | Solomon Islands | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
ZA | ZAF | South Africa | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
ES | ESP | Spain | 🇪🇸 Spanish (Spain): ES_ES | 🇪🇸 Catalan: CA 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
LK | LKA | Sri Lanka | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
KN | KNA | St. Kitts and Nevis | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
LC | LCA | St. Lucia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
VC | VCT | St. Vincent and the Grenadines | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
SR | SUR | Suriname | 🇬🇧 English (U.K.): EN_GB | 🇳🇱 Dutch: NL_NL | ✅ | ✅ |
SE | SWE | Sweden | 🇸🇪 Swedish: SV | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
CH | CHE | Switzerland | 🇩🇪 German: DE_DE | 🇬🇧 English (U.K.): EN_GB 🇫🇷 French: FR 🇮🇹 Italian: IT | ✅ | ✅ |
TW | TWN | Taiwan | 🇭🇰 Chinese (Traditional): ZH_HANT | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
TJ | TJK | Tajikistan | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
TZ | TZA | Tanzania | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
TH | THA | Thailand | 🇬🇧 English (U.K.): EN_GB | 🇹🇭 Thai: TH | ✅ | ✅ |
TO | TON | Tonga | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
TT | TTO | Trinidad and Tobago | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
TN | TUN | Tunisia | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR 🇫🇷 French: FR | ✅ | ✅ |
TR | TUR | Turkey | 🇬🇧 English (U.K.): EN_GB | 🇹🇷 Turkish: TR | ✅ | ✅ |
TM | TKM | Turkmenistan | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
TC | TCA | Turks and Caicos Islands | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
UG | UGA | Uganda | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
UA | UKR | Ukraine | 🇷🇺 Russian: RU | 🇬🇧 English (U.K.): EN_GB 🇺🇦 Ukrainian: UK | ✅ | ✅ |
AE | ARE | United Arab Emirates | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
GB | GBR | United Kingdom | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
US | USA | United States | 🇺🇸 English (U.S.): EN_US | 🇦🇪 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 | ✅ | ❌ |
UY | URY | Uruguay | 🇬🇧 English (U.K.): EN_GB | 🇲🇽 Spanish (Mexico): ES_MX | ✅ | ✅ |
UZ | UZB | Uzbekistan | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
VU | VUT | Vanuatu | 🇬🇧 English (U.K.): EN_GB | 🇫🇷 French: FR | ✅ | ✅ |
VE | VEN | Venezuela | 🇲🇽 Spanish (Mexico): ES_MX | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
VN | VNM | Vietnam | 🇬🇧 English (U.K.): EN_GB | 🇻🇳 Vietnamese: VI | ✅ | ✅ |
YE | YEM | Yemen | 🇬🇧 English (U.K.): EN_GB | 🇦🇪 Arabic: AR | ✅ | ✅ |
ZM | ZMB | Zambia | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ | |
ZW | ZWE | Zimbabwe | 🇬🇧 English (U.K.): EN_GB | ✅ | ✅ |
Cross-localization Interface
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
Creating a New Version
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.
Country Card
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.
Localization Card
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


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 and Pro
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 and Pro
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.
Settings
Changes indicator
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


You can configure the translation provider of your choice (Google Translate, DeepL, Chat GPT, Claude AI) in the ASO.dev settings and also set stop words for translations.
Google Translate
Google Translate is available by default as a free translation provider in ASO.dev.
If you don’t have API keys for other providers, Google Translate will be used automatically.
DeepL, Chat GPT, Claude AI, DeepSeek
DeepL, Chat GPT, Claude AI, DeepSeek are paid translation providers that offer more accurate and high-quality translations compared to Google Translate.
These providers use advanced technologies and AI models to ensure a high level of translation accuracy.
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
You can change the priority of translation providers by dragging their cards in the list.
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


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 .
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.