ShipLocal

Your App Store listing, in every language

You know how this goes. DeepL in one tab, App Store Connect in the other. Paste the description in, copy the translation out, find the locale in the dropdown, fill nine fields, watch the character counter, start the next language. Fifty of them. Most developers get four or five in, decide it is not worth the afternoon, and ship in English forever. ShipLocal does that whole loop for you - it reads the listing with your own App Store Connect key, translates every field with Claude or GPT, and runs ten languages at a time instead of one tab at a time, so a day of copy-and-paste comes out at about three minutes. You read every field before anything moves. Then it writes back.

For Indie developers · Studios · Anyone shipping on the App Store
ShipLocal
ShipLocal app screenshot 1
50 languages in one pass
Hours back, every release
Keys stay in your Keychain
Features · 006

Everything it does, nothing it doesn't.

Small on purpose. Each feature earned its place by solving something real.

01

The copy-paste loop, gone

No translation tab, no spreadsheet, no picking locales out of a web form. ShipLocal reads your listing with your own API key, translates it, and writes it back - you never leave the app, and you never paste a field into a dropdown again.

02

Ten languages at a time

Translations run in parallel rather than one after another, each with its own progress. That is the difference between localizing a release over an afternoon and localizing it while you read the first few results.

03

Three jobs, two of them free

Localize translates the nine metadata fields. Copy from a version carries a released version's copy onto the one you are preparing. Set your links pushes marketing, support and privacy URLs across every language at once. Only the first one spends anything.

04

You read every word first

Every language comes back as a card you can read, edit and copy before anything is pushed. Nothing reaches Apple until you say so, and ShipLocal never deletes a localization - it creates what is missing and updates what is already there.

05

Apple's limits, handled

Thirty characters for the name, thirty for the subtitle, a hundred for keywords - and copy that fits in English rarely fits in German. ShipLocal keeps every field inside the limit, counts keywords the way App Store Connect actually counts them, and tells you what it had to change.

06

Your brand comes back intact

Product names and URLs are held out of the translation and put back exactly as they were, so no model quietly transliterates your company into one that does not exist or mangles a support link on the way through.

A release day, or three minutes

Ten languages at a time, not one tab at a time.

Doing this by hand is not difficult, it is just long: fifty languages times nine fields, each one a paste into a web form, each one needing its character count checked. ShipLocal runs ten translations at once with live progress for each, keeps going when a provider rate-limits you instead of stalling without saying why, and retries a failed language into the run that is still moving. The work that used to eat a release day is done before you have finished reading the first few results - and you do this again next release, and the one after that.

ShipLocal
ShipLocal app screenshot 2
Localize · Copy forward · Set your links

Three jobs, and the two you repeat most are free.

Translating metadata is the only one that costs anything. The other two are the chores that pile up: carrying a shipped version's copy onto the next one so you are not paying to re-translate what has not changed, and pushing marketing, support and privacy URLs across all fifty languages when a domain moves. All three end at the same screen - every field readable, editable, and going nowhere until you push it.

ShipLocal
ShipLocal app screenshot 3
Requirements · 003

What you bring.

This one runs on accounts and keys that are yours. Worth knowing before the download rather than after it.

01

A Mac running macOS 26.0 or later

ShipLocal is a Mac app, sold through the Mac App Store. There is no iPhone, iPad or web version.

02

An App Store Connect API key with the App Manager role

In App Store Connect, go to Users and Access → Integrations → App Store Connect API and generate a key. You will need its Key ID, the Issuer ID, and the .p8 file - Apple lets you download that once, so a lost key means a new one. App Manager or Admin can write metadata; anything less can only read it.

03

Your own Anthropic or OpenAI key, for translation only

Copy from a version and Set your links need no AI key at all. Translation is billed by your provider rather than by us, and you see the estimated cost before anything is sent and the exact cost after.

Pricing

Free to start. Pro when you need it.

Translating, reviewing and editing are free. A subscription adds pushing the result back to App Store Connect, and running ten languages at once instead of one.

Free
$0
  • Every app your key can see, and all 50 App Store languages
  • Localize, review and edit every field
  • Copy from a released version, and set your links
  • One language at a time - and still all of them
  • Local history of every run, with token counts and cost
Pro
Everything in Free
$9.99/mo
  • Push to App Store Connect
  • Up to 10 languages at a time
  • Unlimited apps and all 50 languages
  • Review and edit every field

Free is not a trial and does not expire: every app your key can see, all 50 App Store languages, one language at a time. Pro adds two things - the push back to App Store Connect, and running up to 10 languages at once. There is no free trial of any kind, and no Family Sharing.

The yearly plan works out at about $8.33 a month, a 16% saving on the monthly price.

AI translation is billed separately by your provider. ShipLocal shows you the estimated cost before anything is sent, and the exact token count and cost after. The subscription does not include translation credits.

Subscriptions renew each month or each year until cancelled, depending on the plan. Payment is charged to your Apple Account at confirmation. Manage or cancel in System Settings at any time.

Questions

The things people ask.

No, and that is the point: the free tier is not a trial. Translating, reviewing and editing are free, on every app your key can see and in all 50 languages, with no cap and no timer. A subscription adds two things - writing the result back to App Store Connect, and running up to 10 languages at once where free runs one at a time and still runs all of them.

Pro is $9.99 a month or $99.99 a year, which is about $8.33 a month and a 16% saving. AI translation is billed separately by your own Anthropic or OpenAI account - the subscription includes no translation credits, and we have no billing relationship with either provider. You see an estimate per language before anything is sent and the exact cost after. The two jobs that do not translate, Copy from a version and Set your links, cost nothing to run.

The part you used to do by hand - fifty languages, nine fields each - comes down to picking the languages, reading the results, and pressing push. Ten translations run at once, so the waiting is measured in minutes rather than in afternoons. How many minutes depends on how long your description is, which model you picked, and how busy your provider is, all of which ShipLocal shows you before you start.

No, and the distinction matters. ShipLocal translates App Store listing metadata - name, subtitle, description, keywords, promotional text, what's new, and the three URLs. It does not touch .xcstrings or any in-app string, it does not localize screenshots, and it does not scale prices.

It cannot delete anything - ShipLocal never issues a delete. A push creates a localization that is missing and updates one that is already there, and nothing is written until you have reviewed every field and pressed push. Apple only accepts metadata edits on versions in Prepare for Submission, Developer Rejected or Rejected, and ShipLocal marks which of yours qualify.

You get a partial result, reported as one. Translation reports per language, shows a countdown when a provider rate-limits you rather than going quiet, and lets you retry a failed language into the run that is still going instead of starting again. A push reports per language too. Every run is saved locally, so an interrupted one can be picked up where it stopped.

Your App Store Connect Key ID, Issuer ID and .p8 contents, and your Anthropic and OpenAI keys, live in your Mac's Keychain; if you use iCloud Keychain they sync through Apple's end-to-end encrypted sync, and either way they never reach us. Flowstate runs no server for ShipLocal - no account, no login, no analytics, no telemetry, no crash reporting. Your listing copy goes to Apple, and to whichever AI provider's key you supplied, because translating it requires that. The history of every run stays in a local database on your Mac.

All 50 App Store languages, in Apple's own order, including the eleven Apple added in March 2026. There is a preset for the top ten markets, and the three English variants are off by default, since those are regional edits rather than translations. Four models, two per provider - Claude Haiku 5.5 and Sonnet 5.5, GPT-6 Luna and GPT-6.1 Sol - one quick and one careful on whichever key you already hold.

No. ShipLocal translates from your app's primary locale, and there is no source-language picker. What it does instead is let you edit that source copy in place before the run, so you can fix the original before you pay to translate it into fifty languages.

ShipLocal is on the Mac App Store.

Localizing a listing by hand means a translation tab, an App Store Connect tab, and fifty rounds of paste, copy, paste. ShipLocal reads your listing with your own App Store Connect key, translates every field with Claude or GPT, runs ten languages at once, and writes it back once you have read it.

More from the studio
Browse all eleven apps →