Generatr

Translations

Produce the same document in multiple languages from a single template.

Generatr lets you maintain one template and render it in several languages. You author the template in your source language with no special syntax — translations are applied to the static text before Liquid runs.

How it works

The approach is gettext-style:

  1. Extract strings — Generatr scans the static text of your header, body and footer and produces a deduplicated list of source strings (Liquid tokens like {{ customer.name }} are ignored).
  2. Translate — for each target language, provide a translation for each source string.
  3. Render — pass a lang when generating, and the matching translations are swapped in.

Strings are tagged with their origin section (Header / Body / Footer) in the translations panel, and strings that no longer appear in the template are marked [stale] and sorted to the bottom so you can delete them.

Rendering a language

When calling the render API, pass the language code:

{
  "data": { "customer": { "name": "Acme Corp" } },
  "lang": "fr"
}

If lang is omitted, the source-language text is used as-is.

AI translation

Pro feature

AI-assisted translation is available on the Pro and Team plans (and VIP orgs).

In the translations panel you can translate every string at once with Translate all ✨, or translate a single string with its per-row ✨ button. Generatr uses an LLM to produce the translations, which you can then review and edit before saving.