Localizing a mobile game into 12 languages (and why translated screenshots matter)
Every game I make now ships in twelve languages: English, Spanish, Portuguese, French, German, Italian, Dutch, Swedish, Danish, Norwegian, Finnish and Polish. On Google Play that becomes fifteen or sixteen store listings, because Spanish, Portuguese and French each have regional variants.
That's not an afterthought anymore, it's the default. Here's why, and what I've learned doing it.
Why bother
Each language is its own search market. A Brazilian player looking for a word search types caça-palavras, and an English-only app will never show up for that. The Word Search listings each lead with that language's genre word. It's the cheapest form of extra reach I know.
The best evidence, which came later, was Word Slide: within a day of its eleven new languages going live, an Italian-speaking player bought Remove Ads. Genesis had a similar story in Danish. Both are in the post about my first purchases.
One caution: languages multiply installs; they don't create them. A game in a genre nobody searches for gets nothing in twenty languages either. Translation works best on top of a genre people already search for.
What "translated" has to mean
My first pass translated the game text and the store description. That isn't enough, and it took me a while to see why.
Picture a German player on Google Play. The title is German, the description is German, and every screenshot shows the game in English with English captions. The feature graphic says "Offline Retro RPG". The listing tells them the game isn't really for them.
So the rule now: a listing in a language shows that language. Each locale gets:
- screenshots of the game running in that language, captioned in that language,
- its own feature graphic with the title in that language,
- the keyword title and description.
This only works because the screenshots are made by scripts, not by hand. For Emberfall, a script loads saves at specific story moments, switches the language, frames each screenshot with a caption and writes seven per language. Twelve languages is 84 screenshots, regenerated whenever the game changes.
A check now runs before any listing is published. It fails any locale that has fewer than two screenshots or no feature graphic, or whose art is a byte-for-byte copy of the English art. A banner with no text, or a title that's the same in several languages (German, Finnish and Polish all say "Tycoon"), is declared explicitly as shared.
How the translation itself works
- All player-facing text lives in string tables, never in code. A check fails the build on a missing key, a stale key, or a mismatched
{placeholder}or HTML tag between languages. - Each language's translation gets the game's glossary, so names and terms stay consistent.
- Layout is tested in each screen's longest language. German and Finnish are usually the widest. I take screenshots of every screen at 360×800 and 412×915 in the longest language and look at them.
- Saves store ids, not text, so switching language mid-game works. A test loads an old save in German and switches to Finnish live.
Mistakes that got through
Machine-assisted translation is good and not perfect. Things that only a human look caught:
- In Finnish, a fire spell called "Inferno" became "Helvetti", which is a swear word. It's now "Liekkimeri" (sea of flames).
- Brazilian Portuguese says DNA, European Portuguese says ADN. My evolution game needed to know which market each listing targets.
- An Australian term like "tinny" (a small aluminium boat) needs a real equivalent, not a literal translation. It became "dinghy" in English and its equivalents elsewhere.
- A text extractor missed strings that followed a function call, so some event text showed in English in every language. The UI flow test now runs entirely in a chosen language, so anything left in English is visible.
I don't have native speakers reviewing every language, so I'm honest with myself about the risk. Store captions and rarer words (Australian fish names, for one) are probably imperfect. The common paths have been checked by eye in German and Finnish, the two languages most likely to break layouts.
Keyword titles have limits
Play titles are capped at 30 characters, and the keyword has to come first. "Sopa de Letras en Español" fits. Some translated titles are guesses at what people type, not verified search terms. That's on my list to measure properly.
If you're shipping a game on Google Play and it's English-only, translating the listing is the highest-leverage afternoon available to you. Just translate the pictures too.