Translate untranslated keys using AI. The command processes keys in batches with real-time progress streaming and skips keys that already have translations.
Usage
Examples
Options
How it works
nt3 translate calls the Entri batch translation API, which uses AI to translate untranslated keys in your project. The process:
- Fetches the list of untranslated keys for the target language
- Groups them into batches (up to 200 keys per batch)
- Streams progress back to the terminal in real time
- Repeats until all untranslated keys are processed
Already-translated keys are skipped automatically — running the command multiple times is safe.
AI settings
The AI translator uses your project’s configured settings from the Entri dashboard:
- Tone instruction — e.g., “Use formal language” or “Keep it conversational”
- Style instruction — e.g., “Match the iOS Human Interface Guidelines tone”
- Additional context — Any product-specific context that helps the AI translate accurately
Configure these in the Entri dashboard under Project Settings > AI Translation.
Provider selection
Entri supports two AI providers out of the box:
- Anthropic (Claude Sonnet) — default if configured in your project
- OpenAI (GPT-4o)
Use --provider to override the project default for a single run:
Cancelling a translation
Press Ctrl+C during an active translation to cancel gracefully. The CLI sends a cancel request to the API to stop the in-progress batch, then exits cleanly.
JSON output
With --json, the command outputs a structured result after all languages are processed:
The process exits with code 1 if any keys failed to translate.
Terminal output
In interactive mode (TTY), the command shows a live progress bar per batch. In non-interactive mode (e.g., piped output), it shows a spinner instead.
After completion, a summary table is printed:
Run nt3 push before nt3 translate to ensure Entri has your latest source strings, then run nt3 pull afterwards to write the translations to your local files.