Skip to content

Automatic Translation

Availability: Enabled by default for new projects (opt-in for existing ones). During the trial, translations run within the starter credits included with every new project; continuous translation starts once the project is subscribed or an AI/MT provider is configured.

Automatic Translation lets Locize translate newly created keys in your reference language into all target languages automatically, using Machine Translation (MT) or Generative AI (depending on your project setup).

  • Only new keys are translated automatically.
  • Existing keys are not translated automatically. To translate existing content, use Bulk actions (see below).

Enable Automatic Translation

New projects have the workflow enabled by default — these steps are for existing projects.

  1. Open your Project settings.
  2. Go to EDITOR, TM/MT/AI, ORDERING.
  3. In Cat settings, enable Enable the automatic translation Workflow.

How it works (what to expect)

Automatic Translation runs in the backend. After you save new keys in the reference language, translations will appear shortly after.

Each automatically translated key counts as a normal modification.

A few things to know:

  • Your project needs at least one target language besides the reference language; with only the reference language there is nothing to translate.
  • Every new project includes starter credits for automatic translation during the trial. When they are used up, new keys are no longer translated automatically until you subscribe or configure your own AI/MT provider; the Project health card on the project overview shows your remaining credits.
  • Every paid plan includes an AI-token and MT-character allowance, so automatic translation keeps working without a separate fee: see Are the AI translations included in my subscription?
  • If Quality Estimation is enabled, it uses the same AI-token credits to score new AI translations.
  • Every translation permanently stores its origin as a per-segment quality property (human, machine translated, or AI), and the editor can filter by it - so machine-translated content is always identifiable and auditable, never silently mixed with human work.

What each provider receives

Every provider gets the source text and the language pair. What else Locize sends depends on the provider:

ProviderWhat Locize sends besides the text
AI: Locize AI, or your own OpenAI (or OpenAI-compatible endpoint), Gemini, Mistral, Anthropic or Lara keyYour styleguide, the approved glossary terms found in the source text, and each key's context (with its maximum length, if one is set)
DeepL, on your own keyEach key's context (with its maximum length, if one is set), the formality from the DeepL settings, and a glossary from your own DeepL account for the language pair, if one exists there (for en-US, en-GB, pt-BR, pt-PT and zh-Hans, the glossary of the base language; not for zh-Hant or es-419)
Locize MT, Google Translate, MyMemoryNothing else
  • The DeepL glossary is not your Locize glossary. Locize never sends its glossary terms to DeepL. When your DeepL account holds a glossary for the source and target language, Locize uses it automatically, in automatic translation and in the editor. With several glossaries for the same pair in your DeepL account, only one of them is used.
  • The styleguide's tone and formality reach the AI providers only. DeepL uses the formality set in its own provider settings.

The check before storing

Every AI and machine translation is checked against its source before it is stored, in every i18n format:

  • What is checked: the result has to parse and keep the placeholders and the tags of the source. In MessageFormat (v1 and v2) and Fluent projects, a plural also needs the plural forms of the target language, the rule of issue 243.
  • A broken result is not stored: a result that does not parse, or that misses or adds a placeholder or a tag. An AI result first gets one retry with the problem named in the prompt; a machine translation is not retried. If the result still fails, the next provider takes the key, as if the first one had returned nothing. If no provider gets it right, the key stays untranslated.
  • A result with a smaller flaw is stored and marked for review, unless Mark machine translations is set to never (see Review workflow): plural forms that do not fit the language (issue 243 lists the missing ones), {{count}} added or dropped in an i18next plural form key like item_one, a space right after {{ or right before }} in MessageFormat v2, and a result for a source that does not parse itself.
  • AI results are also held to your glossary: an approved source term whose approved translation is missing (issue 231), or a forbidden term (issue 230). The result gets one retry with the terms named; if they are still wrong, it is stored and marked for review. Issues your project ignores are not enforced. Machine translations are not held to the glossary, as they never get it (DeepL can apply a glossary from your own DeepL account, see what each provider receives).
  • The prompts know the format: in MessageFormat and Fluent projects, the AI is also told the syntax rules of the format and the plural forms of the target language, with example numbers, for every AI provider.

The same check runs in the editor, the glossary terms included for AI bulk and the AI assistant. AI bulk does not set a broken result and reports how many it left out. The AI assistant and the machine translation button show a line under each result, checked or what is wrong, and you decide whether to set it; the assistant also offers discard.


Trigger via API (and a powerful i18next workflow)

You can also trigger Automatic Translation via the API.
A particularly effective workflow is combining it with i18next’s saveMissing feature:

  • Your app detects missing keys at runtime
  • It pushes them to Locize automatically
  • Locize translates them instantly (MT / GenAI), without a separate extraction step

➡️ Setup guide: Discover a Smarter Way: Automating i18next Translations with saveMissing and Locize AI

Important (i18next): When using saveMissing, make sure fallbackLng is set to the same language as your reference language in Locize.

Video reference: See this section


Tip: Define a Styleguide for your project to provide tone, formality, and audience context to all AI providers automatically.

Tip: With Quality Estimation enabled, every AI translation produced by this workflow gets a confidence score shown in the editor. Optionally, low-confidence translations are routed in as review proposals instead of being accepted silently.

Bulk translate existing keys

To translate already existing content, use the AU or Machine translation task in Bulk actions.

Related read: Using AI + human translations with Locize


The complete automated workflow

Combine saveMissing with Automatic Translation to create a fully automated localization pipeline:

  1. Configure saveMissing in your i18next setup:

    import i18next from 'i18next'
    import Backend from 'i18next-locize-backend'
    
    i18next.use(Backend).init({
      saveMissing: true,
      backend: {
        projectId: '[PROJECT_ID]',
        apiKey: '[API_KEY]'
      }
    })
  2. Enable Automatic Translation in your Locize project settings (Project → Settings → EDITOR, TM/MT/AI, ORDERING → enable Automatic Translation Workflow)

  3. Write code: when i18next encounters a missing key, it sends it to Locize automatically

  4. Locize auto-translates using your configured provider; an AI provider gets your styleguide, glossary, and each key's context, DeepL each key's context (see what each provider receives)

  5. Translations go live via CDN, and your app receives them once the CDN cache expires, without any deployment

For teams using AI coding assistants: the MCP server's report_missing_keys tool is the equivalent of saveMissing for AI agent workflows. Learn more about the MCP server →


Automatic translations + review proposals

When you add a new key via the Locize UI and your project has review proposals enabled for some languages, auto-translations for those languages are automatically routed through review. They appear as pending review and are only published after approval, with no extra configuration needed.

When using the CLI, API, or MCP, auto-translations bypass review proposals by default. To route them through review, use the autotranslatereview option:

  • CLI: locize sync --auto-translate true --auto-translate-review true
  • API: ?autotranslate=true&autotranslatereview=true
  • MCP: Set autoTranslateReview: true on update_translations or report_missing_keys

Auto-translations will appear as review proposals for languages with review enabled. They are only published after approval in the Locize UI.


Example: react-i18next + saveMissing

smart_display
YouTube Video
This video is hosted on YouTube. Accept YouTube cookies to watch it here.
Watch on YouTube