LabscoMCP early access ↗
DatanoiseTVMCP SERVER · OFFICIAL PROJECT

Translator AI

Translate JSON locale files with an incremental cache, so a second run only pays for the strings you actually changed — Gemini, OpenAI or a local Ollama model.

by DatanoiseTV ↗Document Conversion, PDF & Translation✓ Official

LABSCO SUMMARY

The cache is what makes this affordable to run repeatedly.

Locale files change a few keys at a time, and a translator that re-sends the whole file each release is one you stop running. Incremental caching plus cross-file deduplication turns it into something you can wire into a build. Add --check-keys when you do, so a partial response fails loudly instead of shipping a locale with holes in it.

What it is

An i18n translator for JSON files that works as both a CLI and an MCP server. It flattens the file to paths, translates the strings, and caches what it has already done — so re-running after adding three keys translates three keys, not the whole file. Across several files it deduplicates repeated strings before sending anything.

What you get

  • translate_json — one file: inputFile, targetLanguage, outputFile
  • translate_multiple — a glob pattern translated to an outputPattern built from {dir}, {name} and {lang}, with showStats reporting how much deduplication saved
  • Exact JSON structure preserved, nested objects and arrays included
  • Several targets in one run — -l es,fr,de,ja from the command line
  • --preserve-formats to leave URLs, emails, dates, numbers and template variables untouched, and --detect-source instead of assuming the source is English
  • --check-keys to fail with exit code 1 when a key is missing from the output, which catches a silent API failure
  • --dry-run to see what would be translated before spending anything, and --sort-keys for diffs that stay readable

Requirements

A key for whichever provider you choose — GEMINI_API_KEY from Google AI Studio by default, or OPENAI_API_KEY, or neither if you run --provider ollama against a local model after ollama pull deepseek-r1:latest. npm install -g translator-ai. That install also puts the MCP server on your PATH as translator-ai-mcp; the client runs it by that name (the README's npx line for it names a package npm does not have), with the key in the env block, or TRANSLATOR_PROVIDER set to ollama. Model choice is per run: --gemini-model defaults to gemini-2.0-flash-lite, --openai-model to gpt-4o-mini, --ollama-model to deepseek-r1:latest. Package translator-ai.

Setup effort

One command plus a key — npm install -g translator-ai, then supply credentials