How to Translate App Store Screenshot Captions into Every Language

TL;DR

Captions are stored per language with fallback to your default. Edit every locale in one table, map languages to fonts (for example Noto Sans SC for Chinese) and let long text shrink automatically. Fill in languages by hand, a CSV round trip or AI translation.

The problem

Localised screenshots convert better than English ones in non-English storefronts, but redesigning for every language is unthinkable at 20 locales. And the translations bring their own problems. A German caption is 40% longer than the English and overflows the box. Chinese, Japanese or Korean text turns into empty rectangles because the font doesn’t contain the characters. Each fix, repeated 20 times, becomes a week.

The idea: one design, many text values

AppShots stores each text layer’s wording per language. The design is shared; only the text changes. Switch the active language and every caption on every page changes with it.

Three features handle the awkward parts:

  • Fallback: any language without its own text uses your default language, marked with a star in the table.
  • Per-language fonts: map a language to a font once (Chinese to Noto Sans SC, Japanese to Noto Sans JP, Korean to Noto Sans KR), and every text layer uses it in that language.
  • Auto-fit: when a translation is longer than the source, the font shrinks to fit. You can turn it off for a layer, or set a specific size for one language.

Steps

  1. Write your captions in the default language.
  2. Open Locales & translations and add the languages you ship in. If you’ve set Preferred languages in Settings, apply them in one click.
  3. Fill in the table of text layers by locale, side by side. Edit directly, or use AI translation or a CSV round trip.
  4. Set the locale font mapping for CJK and other scripts.
  5. Switch through the languages and check each page. Look for overflow, odd line breaks and missing glyphs.
  6. Export all of them.

CSV round trip

You can export the layer-by-locale table for translators or a spreadsheet, and import the filled-in file. Use the exported file as your template: it contains the IDs the import needs.

Checks that catch real problems

  • Long languages: German, Russian, Finnish and Portuguese tend to overflow.
  • Scripts: Arabic and Hebrew read right to left. Look at those carefully.
  • Brand names and numbers: make sure the translation hasn’t changed them.
  • Screenshots too: if your app UI is localised, give each language its own screenshot. See importing.

FAQ

What happens to a language I haven’t translated? It falls back to your default language, so nothing ships blank.

Why do Chinese or Japanese captions show empty boxes? The font lacks those characters. Map the language to a font that has them, such as Noto Sans SC, JP or KR.

Do long German captions overflow? Auto-fit shrinks the font when a translation runs longer than the source. You can turn it off per layer or set a size per language.

Can I set my usual languages once? Yes. Set Preferred languages in Settings, then apply them to a project in one click.