Translation repository for applications

The memory of your translations.

BabelPen keeps every version of every text, in every language, with its author and its reason. AI proposes, a judge reviews, and you validate by hand what matters. And for each language, you choose the model that translates.

Preview of the Translate screen, with sample data
order_ready_notice To review · English
Reference · French Votre commande est prête.
Context: Manager › Orders › banner at the top of the screen. Message read by the customer in the dining room, on the pick-up screen. Written by the coding AI on 12 Οκτωβρίου.
Three proposals
  • Your order is ready.Claude Sonnet 5.5Judge agrees
  • Your command is ready.Model hosted by BabelPenRejected: “command” is an instruction
  • Your order is ready.Azure TranslatorSecond opinion
History
  1. v323 Οκτωβρίου · Claude Sonnet 5.5 · « consigne du projet modifiée : tutoiement »
  2. v214 Μαρτίου · Validated by Igor · « relecture »
  3. v12019 · Imported from BabelDif

BabelPen in numbers

Already the translation repository of Foound and Sitodit.

keys
17.963
languages
39
versions kept
892.525

Four simple ideas

A language file does not know who changed what, or why. BabelPen is built to remember, and to let a person decide.

Every version counts

A translation is never overwritten. Every change keeps its author, its date and its reason: you compare, you roll back, you know why a text changed.

You validate by hand

AI translates, and the status tells you where things stand: translated, to review, validated, outdated. Human validation is a separate step, and it teaches BabelPen how reliable each engine is, language by language.

Context for every string

Where the text appears, what it means, the screenshot, the project brief and the glossary: everything goes to the engine with the string. An “order” never again turns into a “command”.

One engine per language

Claude for Japanese, a local model for German, DeepSeek for Thai: you choose, and you change your mind without losing anything. Proposals from every engine stay visible.

How it works

From the key created by the developer to the text published in the application, in four steps.

  1. Step 1

    Your texts come in

    Through the API, by scanning your code or by importing files. The coding AI creates the key and its context at the same time, and BabelPen checks that a reused key really keeps the same meaning.

  2. Step 2

    BabelPen builds the context

    The project brief (tone, register, things to avoid), the meaning of the key, the screen where it appears, the glossary and the plural forms of the target language: the engine gets all of it, not just the sentence.

  3. Step 3

    The engine translates, the judge reviews

    The engine chosen for the language translates. A judge reviews each batch and gives reasons for its rejections; an arbiter settles disagreements. The mechanical checks (variables, punctuation, register, script) are not negotiable.

  4. Step 4

    You validate, you publish

    Review by status, validation by hand, publication per target: one JSON file per language for each application, or the API with ETag to reload only what has changed.

From Claude Code

Your coding assistant works in BabelPen while it codes.

BabelPen has an MCP server (Model Context Protocol). One command and an API token are all it takes to install it in Claude Code, Codex, Gemini CLI or any other MCP client. Your assistant then creates keys, adds languages to the project, gives every key its context and gets it translated, without leaving the code.

One command to install it

Create a token on the “API tokens” page of your BabelPen account. You choose its scope: all your projects, or just one. Then, in your application’s repository:

claude mcp add --transport http babelpen https://app.babelpen.videomark.dev/mcp --header "Authorization: Bearer <your token>"

Codex, Gemini CLI and any MCP client: same address, same token. Permissions are those of your account in the team; the token can be revoked in one click.

What your assistant can do

  • Create keys It checks that no key already carries this text, then creates the key with its reference text. check_key create_key
  • Add languages It adds a target language to the project and can immediately start translating every key into it. Reserved for team administrators. add_language
  • Give context For every key, its meaning and the places where it appears on screen. The context is written when the code is, by whoever knows what the string is for. set_key_context add_key_place
  • Translate from outside It sends translations made by its own model, or asks BabelPen’s engines to translate: both paths are described below. add_translation translate_key

Two ways to translate

translate_key

BabelPen translates with the engine chosen for each language, the judge reviews, the mechanical checks run. The assistant does not wait: the translation is queued.

add_translation

Your assistant sends the translation made by its own model (Claude, Gemini, GPT…). It is attributed to that engine and tracked like the others: history, status, reliability per language.

Either way, a translation validated by a person is never overwritten without a reason.

Thirteen tools, one per action

  • list_projectsThe projects your token can see.
  • get_projectLanguages, translation brief, targets.
  • add_languageAdd a target language to the project, and start translating into it if you wish.
  • check_keyBefore creating: the keys with the same text, and the engine’s opinion.
  • create_keyA key with its text, its meaning and its places.
  • set_key_contextRefine the context of an existing key.
  • add_key_placeDeclare that a key is used in a new place.
  • get_keyReference, translations, statuses, history.
  • translate_keyBabelPen translates with the engine chosen for each language.
  • get_proposalsThe engines’ proposals, right away.
  • add_translationYour translation, made with your own model.
  • retire_keyRetire a key the code no longer reads.
  • project_progressProgress per language, who translated what.

The same rules as in the interface: no two keys for the same text without saying so, a context written by a person is never silently overwritten, a key the code still reads cannot be retired.

Choose the engine, language by language

Each language has its own engine, and you can switch whenever you like: for one language, without losing a single version.

Example of a project’s settings
Languages Engine Why
Japanese, Korean, Arabic Claude Sonnet 5.5 · your API key Quality first, for languages where another engine falters.
Thai DeepSeek v4 · cloud model An engine picked for this language only.
German, Spanish, Italian, Dutch… Model hosted by BabelPen A solid first pass; the judge sorts it out.
All Azure Translator · as a second opinion When two engines disagree, that is a signal: the key goes to “to review”.

Supported engines

  • Claude (Anthropic)
  • OpenAI and any compatible API
  • DeepSeek and Ollama cloud models
  • Self-hosted open models
  • Azure Translator
  • Google Translate

Frequently asked questions

Can I work from Claude Code?
Yes. BabelPen has an MCP server: one command with your token, and your assistant checks, creates and documents keys while it codes, adds languages to the project, then has BabelPen translate them or provides translations from its own model. Codex, Gemini CLI and any MCP client connect the same way.
Who owns my translations?
You do. You can retrieve them at any time: one JSON file per language for each target, or through the API.
Does BabelPen replace a translator?
No. It keeps room for human review and makes it possible at scale: statuses, reasons and validation are designed so that a person decides where it matters, and only there.
Why did babelpen.fr send me here?
One address: babelpen.com. This site is translated with BabelPen itself: you are reading the product.
How much does BabelPen cost?
Pricing is coming soon.

Create your account and your first project.

Self-service sign-up: a first project, a first API token, and your coding assistant can create your first keys right away.

Create my account