Translate a new language with Claude Code
This page takes a language from nothing to a proposal, with Claude Code and the MCP server. The agent proposes. A person reads the batch and publishes it: Review and publish a batch.
1. Give the language to the repository
An admin opens « Réglages » in the editor and adds the language to « Langues, la source en premier ». The source stays first.
2. Give the language to the account of the agent
The agent acts as one account, with its rights. In « Réglages », then « Membres », give that account the role « Traducteur » and the new language. A translator proposes, and cannot publish. Accounts and rights gives the roles.
Give the agent an account, or a token, of its own: you can then revoke it alone. Access tokens tells how.
3. Connect Claude Code
With a token of the account of the agent:
claude mcp add git8n --scope user \
--env GIT8N_API_URL=https://git8n.example.com \
--env GIT8N_API_TOKEN=g8n_… \
-- npx -y @git8n/cli mcp
claude mcp listclaude mcp list must show git8n as connected. After a git8n login on the same computer, leave out the two --env: the server then uses your session, and acts as your account.
4. Ask for the translation
Name the repository and the language, and the rules of the product:
Translate the missing keys of
<owner>/<name>into German with the git8n MCP server. Keep the placeholders such as{{name}}and the tags such as<0>. Use the formal « Sie ». Propose every key in one batch.
The agent then calls the tools in this order:
i18n_me: the repositories and the languages that the account can write.i18n_repositories: theidof the repository.i18n_keyswithstate: "missing": 200 keys for each page, and thecommitthat they were read at. The agent reads each page whilemoreistrue.i18n_key, for a key that needs its context.i18n_propose, with every text and thecommitof step 3 asreadAt. One call is one commit on the branchi18n/<language>, up to 2000 keys.i18n_proposals: the batch waits on the language.
MCP tools gives the input and the answer of each tool.
5. Check the batch before the review
git8n check reads the locale files of a clone, with no server. It finds a translation that loses a placeholder of its source. Run it on the branch of the proposal:
git fetch origin i18n/de && git switch i18n/de
npx @git8n/cli check --lang deA batch with an error is a batch to propose again, before a reviewer reads it.