---
title: Translation Workflow
description: How Apptonomy auto-translates your listing fields, handles per-locale overrides, and tracks translation status.
---

When you edit a listing field in your primary language, Apptonomy translates it into every target language you've set. You can edit any translation by hand, and the platform tracks the state of each field per language so you always know what's translated, what's been edited, and what's fallen out of date.

## Before you start

- Any role in the organization can do this: Owner, Manager, or Standard. You also need a plan that includes localization. See [Plans and entitlements](/docs/billing/plans-and-entitlements).
- Set your [Target Languages](/docs/localization/target-languages) first — translation runs into exactly the languages you've enabled.
- Translation always runs *from* your primary language into each target language.

## Which fields get translated

Apptonomy translates the text fields of your draft listing:

- **App Title**
- **Subtitle** (App Store subtitle / Google Play short description slot)
- **Description**
- **Short Description** (Google Play)
- **Keywords** (App Store)
- **Promotional Text** (App Store)
- **What's New** / release notes
- **Privacy Policy Text** (App Store, where applicable)

Fields that only exist on one store are only translated for that store.

## Why it matters

A translated listing is indexed and read in the shopper's own language. An untranslated market runs on your primary language, which suppresses both search visibility and conversion there. Getting each field translated — and keeping those translations current as you edit — is the day-to-day work that turns a target-language list into a listing that actually performs in each market.

## How auto-translation works

You work in your primary language. When you change a source field and pause, Apptonomy translates that field into all of your target languages in the background. If you keep typing, it waits until you stop before translating, so it isn't retranslating on every keystroke. You don't trigger anything manually — editing the source is the trigger.

Translation is powered by a large language model, so output reads as written copy rather than word-for-word substitution. It respects your [translation voice](#translation-voice) and any per-language hints.

## Translation status {#translation-status}

Each field carries a translation status per language, shown as a badge:

| Badge | Meaning |
|---|---|
| **None** | No translation exists yet |
| **Pending** | Queued — the debounce timer is running after an edit |
| **Translating** | Translation in progress |
| **Translated** | All target languages translated successfully |
| **Edited** | You've manually edited one or more languages for this field |
| **Partial** | Some languages translated, others missing or errored |
| **Error** | Translation failed for this field |

Read the badge as the health of a single field across all your languages. **Partial** and **Error** are the ones to act on — open the field and retry or fix the affected languages.

## Per-locale overrides

Every auto-translated value is editable. When you switch a field to one of your target languages and edit it, that value becomes an **override** — your text, not the machine translation. Apptonomy records overrides as deliberate and won't overwrite them: auto-translate is suppressed on a language you've overridden, so re-editing the source won't clobber your hand-tuned copy. A field with any override shows the **Edited** badge.

Use overrides where a market needs wording the translator can't infer — a local product name, a legally required phrase, or a culturally specific hook.

## Keeping translations current

If you change a source field after it's already been translated, the existing translations are now based on stale source text. Apptonomy detects this and shows a **"Source changed"** banner on the affected language, asking whether to **retranslate**. You can:

- **Keep current** — leave the existing translation as-is.
- **Retranslate from source** — regenerate the translation from your updated source text.

:::caution[Retranslating replaces overrides]
Retranslating a field or a language regenerates it from the source, which discards manual edits for that field/language. Apptonomy warns you before regenerating over a field that has overrides. You can't retranslate the primary language — it *is* the source.
:::

## Translation voice {#translation-voice}

Translation voice is your project's **Brand Voice** — a free-text description of the tone and style you want the AI to use. Set it in the project's AI configuration under **Brand Voice**: describe whether your app should sound bold and confident, playful and light, technical and precise, or something else. That voice is applied to translations along with the rest of your generated listing copy.

Two narrower controls stack on top of it:

- **Translation hint** (per language) — set on the [Target Languages](/docs/localization/target-languages) page, next to each selected language. Steers a single language (formality, a term to leave untranslated, regional spelling).
- **Additional AI Instructions** (project-wide) — extra guidance applied across generated content.

## Troubleshooting

### A field is stuck on "Translating"

Translation runs in the background and normally finishes in seconds. If a field stays on **Translating**, edit the source field again to re-trigger it, or use the field's retranslate action. A sweeper also releases fields that never completed, so the badge should recover on its own.

### My edited translation reverted

Retranslating from source discards manual edits for that field and language. If you retranslated (via the **"Source changed"** banner or a field-level retranslate) over a language you'd edited, re-apply your override and avoid retranslating that language afterward.

## Related

- [Target Languages](/docs/localization/target-languages) — choose the languages translation runs into, and set per-language hints
- [Screenshot Localization](/docs/localization/screenshot-localization) — translate the text baked into your screenshots
- [How Listing Localization Works](/docs/guides/listing-localization) — how each store selects a shopper's language
- [Localization Analysis Engine](/docs/audit-engines/localization-analysis-engine) — audits which markets are still on your primary-language default
