Brewed in Pixels Free audit
Creators Blog › App Store & ASO

When to Localise Your App, and What to Change First

You look at your dashboard and a country you have never thought about is in the top five. Indonesia, Brazil, Mexico. Real installs, almost no revenue.

So you open a translation tool, run the App Store description through it, and ship. That is what I would have done too, and it is the version of localisation that changes the least.

Here is the part that costs you the money. The thing people in that market are reacting to is usually not the language. It is a price set for a different country, in a currency written the wrong way round, paid for with a card they may not have.

So here are the four layers in the order they pay back, with six real screens. Including the one app that does all four at once, in Indonesian rupiah. Hold it up against whatever somebody in Jakarta is seeing on your paywall right now.

In short

  • Metadata first, and it is cheap. Title, subtitle and keywords are per-language on the App Store. You can test a market without touching the app binary.
  • Price is the layer that actually moves. Median monthly is $9.99 in North America against $3.75 in India and Southeast Asia, so a flat global price is roughly double the local median across a lot of the world.
  • Then the format, which costs nothing and gets skipped. Shopee writes Rp14.900 with a dot for thousands. Get that wrong and the number reads as fourteen rupiah.
  • Then the payment method. Shopee bills from a ShopeePay balance with a Top Up link. A card form is the awkward part in a market that does not run on cards.
  • Four screens here are the same two apps in Singapore dollars, which is what localisation looks like when a storefront does the work and the app does nothing.

The order to do it in

Localisation is four separate jobs that get talked about as one. They cost wildly different amounts and they do not pay back equally.

Four layers, cheapest first

Most apps do layer one and stop, which is the layer that changes the least.

Layer 1

Store metadata

Title, subtitle, keyword field, description, per language. No release needed, and it is reversible in an afternoon.

Layer 2

Price

Set per storefront in App Store Connect and Play Console. Where the actual money is, and still no code.

Layer 3

Format and wording

Decimal separators, symbol position, date order, and the abbreviations that market uses for its own terms and conditions.

Layer 4

Payment and habit

Wallets, balances, carrier billing. The expensive one, and the only one that is really engineering.

If you only ever do two, do one and two. Metadata gets you seen, price decides whether being seen is worth anything.

What all four layers look like at once

Shopee is the clearest example I have found of an app that did not stop at translation.

Shopee VIP subscription screen in Indonesian on an orange background. Two cards read DISKON 20% SETIAP HARI and GRATIS ONGKIR INSTANT TANPA BATAS. Under the heading Select Subscription Plan sit three options: 1 month at Rp14.900, 3 months at Rp28.900 struck through from Rp44.700 with a minus 35% tag, and 6 months at Rp29.900 struck through from Rp89.400 with a minus 67% tag and a PROMO flag. A benefits list follows with a discount voucher worth Rp500.000, free unlimited instant delivery and access to ChatGPT Plus. A row reads Pay with ShopeePay Balance beside a Top Up link, and the orange button reads Subscribe Rp14,9k for 1 months, above a line reading auto renews every 1 months, cancel anytime, S and K applies
Shopee. Count the layers. The copy is Indonesian. The prices are rupiah with a dot for thousands, Rp14.900. The payment row is a ShopeePay balance with a Top Up link rather than a card form. The button compresses the price to “Rp14,9k”. And the terms line says “S&K”, which is how that market abbreviates its own terms and conditions. Screen via Mobbin

None of those is a translation decision. Every one of them is a decision about how money is written and handled where the user lives.

And look at the price. Rp14.900 is roughly ninety US cents a month. If Shopee had set one global number, that plan would not exist.

The format layer, which costs nothing

This is the cheapest thing on the list and the one I see skipped most often, because it is invisible to whoever is shipping it.

A euro storefront writes 6,99 €. A comma for the decimal, and the symbol after the number. An Indonesian one writes Rp14.900, where the dot is a thousands separator, so the same number written the American way would read as fourteen rupiah and change.

Get this wrong and you have not just looked foreign. You have published a price that means something else.

When the storefront does it and the app does nothing

Most apps you look at in a non-US store are not localised at all. They are the same app, with the price converted by Apple.

Moonly paywall headed Your Daily Guide to Self-Discovery over a photograph. Three plans are listed: Weekly at SGD 6.98 per week, Annually plus Birth Chart at SGD 28.98 per year shown as SGD 0.60 per week, and Lifetime plus Birth Chart at SGD 59.98 one-time. Below sits a What's Included panel with pills reading Birth Chart, 24/7 Astrologer Chat, Personal Program and Dream Readings, a line reading No Commitment Cancel Anytime, and a white Continue button
Moonly, Singapore storefront. Everything is in Singapore dollars and nothing else has changed. The copy, the plan structure and the per-week framing are the same ones a US user sees. This is the default, and for most apps it is the right default. Screen via Mobbin
Raycast paywall headed Power-up your Mac listing AI Extensions, Unlimited Raycast Notes, Unlimited Clipboard History and Custom Window Management. A Monthly and Yearly toggle has Yearly selected with a minus 28% tag. Two plan cards read Pro at S dollar 129.98 and Advanced AI at S dollar 259.00, both with First 2 weeks free. A white button reads Try free for 2 weeks above the line 2 weeks free then S dollar 129.98 per year, auto-renews yearly until cancelled
Raycast, same storefront. Also just converted, and notice the symbol is written S$ here against SGD on Moonly. Two apps, one country, two conventions, which tells you nobody made a decision about it. Screen via Mobbin

Give the user the control, or make them find it

Two more screens, and the gap between them is the whole argument about where this belongs.

StubHub sheet headed Select language and currency over a stadium seat map. Two dropdowns are shown, Language set to English US and Currency set to United States Dollar, above a purple button reading Confirm Preferences
StubHub. Language and currency as two explicit dropdowns in a sheet of their own, with a confirm button. Nothing is guessed from the device. Screen via Mobbin
Patreon member checkout screen headed Payment details with a long open country dropdown filling most of the screen, scrolled to show Turkiye, Turkmenistan, Turks and Caicos Islands, Tuvalu, Uganda, Ukraine, United Arab Emirates, United Kingdom, United States with a tick beside it, Uruguay, US Outlying Islands, US Virgin Islands and Uzbekistan, partly covering a PayPal option and a Visa card field
Patreon. The same decision, but inside checkout and as a scrolling list of every country on earth. It is not wrong. It is just asked at the most expensive moment, when the user already has their card out. Screen via Mobbin

When not to do any of this

Localisation is a lot of work and it is not always the work in front of you.

If a market is not already showing up in your installs, translating will not create it. Localisation makes an existing audience convert better. It is weak at making a new one appear.

If your retention is bad everywhere, a new market gives you the same bad retention in another language. Ekaterina Gamsriegler, a B2C growth advisor previously at Mimo, lists “never localised” as one of only four situations where she thinks cutting a price is right. She will not run that test on the localisation signal alone, though. She wants a bad trial or purchase conversion rate sitting next to it.

If you cannot support the language, a translated listing produces support tickets you cannot answer and reviews you cannot read. That is a worse outcome than not being there.

Where to start, concretely

Three to five markets, not twenty. India, Brazil, Indonesia and Mexico are reasonable first picks, because the install volume tends to arrive before anybody targets it.

Do layer one and layer two, wait for a full billing cycle, and look at conversion rather than installs. Installs will move on metadata alone, which is exactly why they are the wrong number to judge it by.

If you want a starting price rather than a guess, roughly half the North American number is where the apps in RevenueCat’s dataset already sit for India and Southeast Asia.

Localisation checklist

  • The market already shows up in your installs before you translate anything
  • Title, subtitle and keyword field localised per language, not just the description
  • Price set per storefront rather than converted from one global number
  • Decimal separator, symbol position and the terms abbreviation all match how that market writes money, the way Shopee uses Rp14.900 and S&K
  • The payment method is one people in that market actually use
  • Currency convention is consistent across your own screens: S$ or SGD, not both
  • Judged on conversion after a full billing cycle, not on installs after a week
  • Somebody can answer a support ticket in that language
Common questions

Got questions? I’ve got answers

When should you localise your app?

When a market already appears in your installs and converts worse than your home market. Localisation makes an existing audience convert better; it is weak at creating an audience that was not there. If retention is poor everywhere, a new language gives you the same retention in another language.

What should you localise first?

Store metadata, because title, subtitle and keywords are per-language on the App Store and need no app release. Then price, which is set per storefront and is where the money actually moves. Median monthly subscription price is $9.99 in North America against $3.75 in India and Southeast Asia.

Is translating the app description enough?

It is the layer that changes the least. Shopee's Indonesian subscription screen also writes prices as Rp14.900 with a dot for thousands, bills from a ShopeePay balance rather than a card, and abbreviates terms and conditions as S&K. None of those is a translation decision.

Which markets should an indie app localise for first?

Three to five, not twenty. India, Brazil, Indonesia and Mexico are reasonable first picks because install volume there often arrives before anybody targets it. Judge the result on conversion after a full billing cycle, not on installs after a week, because installs move on metadata alone.

3 spots left

Want this fixed on your app?

Book a free audit and I’ll tell you what I’d fix first.

No commitment. I’ll tell you if I think I can help.

Conversion design for subscription apps.

Screenshots, onboarding and paywalls, connected around one goal: getting more users to pay.

Bali, Indonesia
Local time · GMT+8
hello@brewedinpixels.com

Services

ScreenshotsApp Optimization

Studio

Who is behindCreators blogContact

Elsewhere

AI CheckerFree audit
Brewed in Pixels
© 2026 Brewed in PixelsCreators blog