Skip to content

AI translates your product.You approve every word.

Ship in 100+ languages without hiring an agency. The AI you choose writes the drafts, and nothing goes live until someone on your team says yes.

Works with
  • Claude
  • OpenAI
  • Gemini
  • DeepSeek
One workflow, every language your product needs

The model answers last.

Your glossary, translation memory, brand voice and per-language rules are composed into every request before the AI sees a word of your text.

That is the difference between a draft you fix and a draft you accept. Nothing is corrected after the fact — the constraints go in with the prompt, in strict precedence, and your locked terms sit at the top, outranking the model's own judgment.

One request
  1. GlossaryLocked product names and forbidden translations. Highest precedence: they outrank the model's own judgment.
  2. Translation memoryWording your team already approved, reused rather than paid for twice.
  3. Brand voiceTone and formality, set once and applied to every run.
  4. Per-language rulesThe exceptions that apply to one locale only, such as no English loanwords in French.
Your source stringThe text itself arrives last, underneath everything that constrains it.
The model you chooseClaude, GPT, Gemini or DeepSeek, on your own provider account or on prepaid credits.
A draft you can acceptOn-brand on arrival, and still waiting for a person on your team to approve it before anything ships.
Four layers of your own context stacked above the source string — the glossary on top, then translation memory, brand voice, and per-language rules — composed into one request that goes to the model you chose. What comes back is a draft already held to your rules, and still waiting for a person to accept it.
All-in-one translation platform

Draft, review and ship every languagefrom the files you already have

AI translation

AI drafts every language, using the model you choose — with your glossary, your past approvals and your brand voice attached before it answers.

Add to Bag
Ajouter au panierIn den WarenkorbAñadir a la bolsa
Terminology and voice

Your words stay your words. Lock product names, ban the translations you never want, and set the tone once. Every run is held to it.

Bag
Never translate "Bag" as "Cart"Informal, conciseNo English loanwords in French
Branch and merge

Translate the release you're building, not the one already live. Work on a branch, diff it against main, and merge when the copy is settled.

feature/gift-cards
mainmerged
Runtime delivery

Publish without a rebuild. Approved copy goes to a versioned endpoint your apps read at run time, hosted by us or on your own storage.

v42 · Live
The round trip

Three ways in, three ways out,and one queue in the middle where a person says yes.

Repository syncConnect the repo once and source strings arrive automatically on every push.
File importBring the files you already maintain, in 20+ formats, with structure and placeholders intact.
API and CLIPush strings from your own pipeline instead, and skip the import entirely.
One queue
AI drafts every languageYour glossary, translation memory and brand voice are attached before the model answers.
A person approvesEvery draft waits in one queue. Nothing reaches your product until someone accepts it.
Branch and mergeTranslate the release you are building, diff it against main, and merge when the copy is ready.
Pushed back to your repoApproved translations are written back to the branch you nominate.
File exportExport to the format you imported, plus TMX for your memory. No export fee.
API, CLI and webhooksPull approved copy into your build, or have a webhook tell you the moment a run completes.
JSONXLIFFExcelAndroid XMLApple .stringsGettext POand 12 more, including the standard files other translation tools use
Three ways in on the left — repository sync, file import, or the API and CLI — all converging on one queue in the middle. Inside the queue the AI drafts every language, a person on your team approves each draft, and work can run on its own branch. Three ways out on the right: approved translations pushed back to your repository, exported as files, or pulled through the API and CLI with a webhook the moment a run completes.

What ships becomes the next run's source: change the English, and only what changed goes round again.

On the record

Every published word can name the person who approved it.

TextSetu keeps the record as it goes: what wrote each line, who accepted it, and when. It isn't a report you have to generate. It is the workflow itself.

  • AI review

    An optional second model scores each draft before a human sees it, so reviewers spend their time on the few that need attention.

  • Human approval

    Nothing reaches your users until someone on your team accepts it. The score decides what they read first, never what ships.

Activity log
  • Lars M. approved checkout.placeOrder (DE)

    12 minutes ago

    1
  • Camille D. edited home.hero (FR)

    2 hours ago

    2
  • System flagged 12 values outdated

    today, 09:14

    3
  • Priya K. imported 40 keys from JSON

    yesterday

    4
The AI review settings in TextSetu: an independent reviewer model scores each translation, with the provider set to OpenAI, the model set to GPT-5.6 Sol, and results below a score of 70 flagged for a human to check.
What wrote it
Every line is labelled as AI-written or human-written from the moment it exists.
Who approved it
A named reviewer accepted the draft. Nothing reaches your live product until someone has.
When it happened
Each decision carries a timestamp, so the record still answers the question six releases later.
Getting it live

Draft on a branch. Merge when it's right. Publish without a rebuild.

A wording fix should not have to wait for the next release. Work on a branch, merge when the copy is settled, and publish to an endpoint your app reads at run time — wired into the repository, the pipeline and the CDN you already run.

Work on a branch

Draft a feature or a campaign on its own branch. Nothing live moves while you write.

See the diff before you merge

Compare the branch against main: what is new, what changed, what has been overridden.

Publish without a build

Approved copy goes to a versioned endpoint your app pulls at runtime, so fixing a word does not mean shipping a release.

The TextSetu branches screen: a main branch, two active feature branches, one of them marked Merge requested with Approve and Reject buttons, and a merged branch below.
For developers

Built to be wired into what you already run

Developers: connect your repo, run translations against a branch, and pull approved copy into your build.

TextSetu's GitHub Sync connected to the TextSetu/website repository on its main branch, with buttons to pull source strings and push translations, auto-pull on push enabled, and a sync rule mapping nested JSON at messages/en.json.
The TextSetu content delivery screen: translations published as cacheable files an app reads at run time, with a built-in delivery provider and a wizard offering Amazon S3, Cloudflare R2, DigitalOcean Spaces, Backblaze B2 and MinIO.

Live with your repository

Connect the repo once and source strings arrive on every push. Approved translations are written back to the branch you nominate.

Hosted by us, or on your storage

Delivery is built in and always available, or point it at your own S3, R2, Spaces, B2 or MinIO bucket behind your CDN.

Automate the rest

A REST API, a CLI and an SDK for your own pipeline, webhooks the moment a run completes, and an MCP server that connects Claude, Cursor or VS Code straight to your translations.

  • Runtime delivery
  • GitHub Sync
  • GitHub Actions
  • REST API
  • CLI
  • SDK
  • Webhooks
  • MCP server
Before you start

Questions people ask before they start

What does it cost?

Plans start at $0 and run $39, $99 and $249 a month, metered on translation keys rather than words, so a long sentence costs the same as a short one, and adding a language adds nothing. Every paid plan includes AI credits, and if you connect your own Claude, OpenAI, Gemini or DeepSeek account the AI itself is free: you pay that provider directly, at their rate.

Where does our content go?

To the AI provider you choose, through your own account and under your own agreement with them. Our sub-processors and security posture are published.

Do we need an engineer?

To import a file and run a language, no. To connect your repo and automate it, about an hour of one engineer's time, once.

Which AI models can we use?

Claude, OpenAI, Gemini and DeepSeek, ranked per language, with automatic fallback. Switch whenever a better one ships.

Can we get our content back out?

Yes, in the same format you imported, plus TMX, a standard file any other translation tool can open. No export fees, no notice period.

How long does setup take?

Most teams import, run their first language and approve their first drafts in an afternoon.

Get your product into every language it should already be in.

Import your files, run one language, and see what comes back. If the drafts aren't good enough to approve, you've lost an afternoon and your files are exactly where you left them.

  • No credit card required
  • Free during early access
  • Bring your own AI key and the AI is always free
  • 100+ languages