Command reference
Generated from polyglots --help for version 0.28.0. Run polyglots <command> --help for the same text in your terminal.
polyglots
Usage: polyglots [options] [command]
Translate WordPress .po files with machine drafts and AI review. Run without
arguments for the interactive menu.
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
translate [options] <files...> Translate pending (empty or fuzzy) entries of
one or more .po files
rules Locale-specific rules: built-in switches,
common mistakes, patterns, guidance
template Reply templates: the whole comment posted back
on a PTE request
tm Translation memory
fetch [options] [names...] Fetch themes and plugins from
translate.wordpress.org and review or
translate every one
review [options] <file> Audit a submitted .po and write out only the
entries that need work
doctor [options] Check which agent CLIs are installed, signed
in and set up, without sending a prompt
models [options] List local model servers (Ollama, LM Studio,
llama.cpp, vLLM) and the models they hold,
without loading any
split [options] <file> Cut a .po into numbered parts so each can be
run and submitted on its own
glossary translate.wordpress.org glossary cache
stats [options] Open review statistics in the browser, or
write them to a self-contained HTML page
usage-stats Opt-in anonymous usage totals: see what is
sent, or forget the install id
config Settings and API keys
help [command] display help for command
Exit codes: 0 success, 1 error or aborted, 2 usage error, 3 run stopped early (API quota or rate limit).polyglots translate
Usage: polyglots translate [options] <files...>
Translate pending (empty or fuzzy) entries of one or more .po files
Options:
--all Re-translate every entry, including
already-translated ones (asks for confirmation)
--fresh Ignore the cached drafts and reviews, and translate
again
--dry-run Run the pipeline without writing to the .po files
--draft-engine <engine> Draft engine: deepl, openai, local, or none to fill
from the translation memory only (default: deepl)
--local-model <name> Model for the local draft engine on this run, instead
of the configured one
--locale <locale> Target locale (default: defaultLocale, else the
file's Language header)
--batch-size <n> Entries per draft/review batch (default: 25)
--model <model> Model for the review pass (the agent's, or the local
reviewer's)
--yes Skip the --all confirmation prompt (required with
--all when stdin is not a terminal)
-h, --help display help for command
Environment:
POLYGLOTS_AGENT_BIN agent executable for the review pass, whichever provider is set (default: claude or agy on PATH)
POLYGLOTS_CLAUDE_BIN the older name, applied to claude only
POLYGLOTS_HOME root for config/ and data/ instead of the XDG directories
POLYGLOTS_ASCII=1 plain ASCII glyphs instead of Unicode (also NO_COLOR, FORCE_COLOR)
DO_NOT_TRACK=1 never send usage statistics, whatever usageStats says
POLYGLOTS_USAGE_URL where opted-in usage statistics go (default: https://ada.tools/polyglots/api/usage)
NO_UPDATE_NOTIFIER=1 never check npm for a newer version (also CI, or: config set updateCheck off)polyglots rules
Usage: polyglots rules [options] [command]
Locale-specific rules: built-in switches, common mistakes, patterns, guidance
Options:
-h, --help display help for command
Commands:
edit [locale] Open the locale rules file in $VISUAL or $EDITOR,
creating it with the defaults if needed
check [locale] Validate the locale rules file and summarise what
it sets
copy [options] <from> <to> Duplicate one locale's rules file as another's,
e.g. nl_NL to nl_BE
path [locale] Print where the locale rules file lives
help [command] display help for commandpolyglots rules edit
Usage: polyglots rules edit [options] [locale] Open the locale rules file in $VISUAL or $EDITOR, creating it with the defaults if needed Options: -h, --help display help for command
polyglots rules check
Usage: polyglots rules check [options] [locale] Validate the locale rules file and summarise what it sets Options: -h, --help display help for command
polyglots rules copy
Usage: polyglots rules copy [options] <from> <to> Duplicate one locale's rules file as another's, e.g. nl_NL to nl_BE Options: --force Replace the target file if it exists -h, --help display help for command
polyglots rules path
Usage: polyglots rules path [options] [locale] Print where the locale rules file lives Options: -h, --help display help for command
polyglots template
Usage: polyglots template [options] [command]
Reply templates: the whole comment posted back on a PTE request
Options:
-h, --help display help for command
Commands:
edit <locale> [name] Open a reply template in $VISUAL or $EDITOR,
creating it from a starter if needed
(default name: approved)
list [locale] List the reply templates of one locale, or
of every locale
path <locale> [name] Print where a locale's reply templates live,
or where one of them does
delete [options] <locale> <name> Delete a reply template (asks first; --yes
skips the question)
help [command] display help for commandpolyglots template edit
Usage: polyglots template edit [options] <locale> [name] Open a reply template in $VISUAL or $EDITOR, creating it from a starter if needed (default name: approved) Options: -h, --help display help for command
polyglots template list
Usage: polyglots template list [options] [locale] List the reply templates of one locale, or of every locale Options: -h, --help display help for command
polyglots template path
Usage: polyglots template path [options] <locale> [name] Print where a locale's reply templates live, or where one of them does Options: -h, --help display help for command
polyglots template delete
Usage: polyglots template delete [options] <locale> <name>
Delete a reply template (asks first; --yes skips the question)
Options:
--yes Delete without asking (required when stdin or stderr is not a
terminal)
-h, --help display help for commandpolyglots tm
Usage: polyglots tm [options] [command]
Translation memory
Options:
-h, --help display help for command
Commands:
import [options] <files...> Import TMX or .po exports into the local
translation memory (additive)
export [options] [file] Write the translation memory as TMX or .po
(stdout when no file is given)
help [command] display help for commandpolyglots tm import
Usage: polyglots tm import [options] <files...>
Import TMX or .po exports into the local translation memory (additive)
Options:
--locale <locale> Target locale to import (default: defaultLocale, none set
yet)
--project <name> Tag imported entries with a project name
-h, --help display help for commandpolyglots tm export
Usage: polyglots tm export [options] [file] Write the translation memory as TMX or .po (stdout when no file is given) Options: --locale <locale> Memory locale (default: defaultLocale, none set yet) --format <format> tmx or po (default: from the file name, else tmx) -h, --help display help for command
polyglots fetch
Usage: polyglots fetch [options] [names...]
Fetch themes and plugins from translate.wordpress.org and review or translate
every one
Options:
--get <status> waiting (reviewed) or untranslated (translated)
--parallel <n> Projects to run at once, 1 to 8 (default: 1)
--out-dir <dir> Where to save the exports (default:
~/Downloads/polyglots)
--force With --get untranslated, replace a file that already
exists instead of keeping it
--locale <locale> Locale (default: defaultLocale, none set yet)
--batch-size <n> Entries per batch (default: 25)
--fresh Ignore cached verdicts or drafts and ask again
--no-ai Review only: run the deterministic checks, skipping
AI adjudication
--draft-engine <engine> Translate only: deepl, openai, local or none
(default: deepl)
-h, --help display help for command
Names are slugs or translate.wordpress.org URLs, as arguments or one per line on stdin.
A bare slug is tried as a theme first, then as a plugin.polyglots review
Usage: polyglots review [options] <file>
Audit a submitted .po and write out only the entries that need work
Options:
--locale <locale> Review locale (default: defaultLocale, else the file's
Language header)
--out-dir <dir> Where to write the problems file (default: beside the
input)
--no-ai Run the deterministic checks only, skipping AI
adjudication
--batch-size <n> Entries per AI batch (default: 25)
--fresh Ignore the cached verdicts for this file and review it
again
--requester <username> The requester's wp.org username, for {username} in the
reply template
--template <name> Reply template to fill after the review (default:
approved)
-h, --help display help for command
Environment:
POLYGLOTS_AGENT_BIN agent executable for the review pass, whichever provider is set (default: claude or agy on PATH)
POLYGLOTS_CLAUDE_BIN the older name, applied to claude only
POLYGLOTS_HOME root for config/ and data/ instead of the XDG directories
POLYGLOTS_ASCII=1 plain ASCII glyphs instead of Unicode (also NO_COLOR, FORCE_COLOR)
DO_NOT_TRACK=1 never send usage statistics, whatever usageStats says
POLYGLOTS_USAGE_URL where opted-in usage statistics go (default: https://ada.tools/polyglots/api/usage)
NO_UPDATE_NOTIFIER=1 never check npm for a newer version (also CI, or: config set updateCheck off)polyglots doctor
Usage: polyglots doctor [options]
Check which agent CLIs are installed, signed in and set up, without sending a
prompt
Options:
--json Print the result as JSON
--live Also send one short prompt to each usable agent (spends a request
on metered plans)
-h, --help display help for command
Exits 1 when the configured review provider cannot be used (or, with --live, fails its prompt).polyglots models
Usage: polyglots models [options] List local model servers (Ollama, LM Studio, llama.cpp, vLLM) and the models they hold, without loading any Options: --json Print the result as JSON -h, --help display help for command Probes Ollama at ollama.baseUrl, LM Studio on localhost:1234 and llama.cpp on localhost:8080, plus any URL in localModelServers. The defaults are all on this machine; a configured URL may not be, and is asked because it was listed. Exits 1 when no server is up.
polyglots split
Usage: polyglots split [options] <file> Cut a .po into numbered parts so each can be run and submitted on its own Options: --size <n> Entries per part, counted over the whole file --force Write into a folder that already has files in it -h, --help display help for command
polyglots glossary
Usage: polyglots glossary [options] [command]
translate.wordpress.org glossary cache
Options:
-h, --help display help for command
Commands:
sync [options] Download the WordPress.org glossary for a locale into
the local cache
export [options] [file] Write the cached glossary as a Poedit-compatible CSV
(stdout when no file is given)
help [command] display help for commandpolyglots glossary sync
Usage: polyglots glossary sync [options] Download the WordPress.org glossary for a locale into the local cache Options: --locale <locale> Glossary locale (default: defaultLocale, none set yet) -h, --help display help for command
polyglots glossary export
Usage: polyglots glossary export [options] [file] Write the cached glossary as a Poedit-compatible CSV (stdout when no file is given) Options: --locale <locale> Glossary locale (default: defaultLocale, none set yet) --delimiter <char> Column separator, ";" or "," (default: ;) -h, --help display help for command
polyglots stats
Usage: polyglots stats [options]
Open review statistics in the browser, or write them to a self-contained HTML
page
Options:
--out <file> Write a standalone copy instead of serving (default off a
terminal: polyglots-stats.html)
--since <date> Only count reviews started on or after this date, e.g.
2026-09-01
--no-open Serve without opening the browser; the URL is printed either
way
-h, --help display help for commandpolyglots usage-stats
Usage: polyglots usage-stats [options] [command] Opt-in anonymous usage totals: see what is sent, or forget the install id Options: -h, --help display help for command Commands: show Print exactly what the next weekly send carries reset Forget the install id; a new one is made at the next send help [command] display help for command
polyglots usage-stats show
Usage: polyglots usage-stats show [options] Print exactly what the next weekly send carries Options: -h, --help display help for command
polyglots usage-stats reset
Usage: polyglots usage-stats reset [options] Forget the install id; a new one is made at the next send Options: -h, --help display help for command
polyglots config
Usage: polyglots config [options] [command]
Settings and API keys
Options:
-h, --help display help for command
Commands:
get [key] Show a setting, or all settings (API keys are
masked)
set <key> <value> Change a setting (defaultLocale,
defaultDraftEngine, reviewProvider, wporgUsername,
ollama, batchSize, consistencyTtlDays, properNouns,
localModelServers, localServerKind,
openaiCompatible, localIdleTimeout, usageStats,
updateCheck, ollama.model, ollama.baseUrl,
ollama.contextLength, openaiCompatible.model,
openaiCompatible.baseUrl,
openaiCompatible.contextLength)
add-name [options] <name> Add a proper noun the title-case check should never
flag (places, people, institutions)
set-key <name> [value] Store DEEPL_API_KEY or OPENAI_API_KEY; omit the
value to read it from stdin
help [command] display help for commandpolyglots config get
Usage: polyglots config get [options] [key] Show a setting, or all settings (API keys are masked) Options: -h, --help display help for command
polyglots config set
Usage: polyglots config set [options] <key> <value> Change a setting (defaultLocale, defaultDraftEngine, reviewProvider, wporgUsername, ollama, batchSize, consistencyTtlDays, properNouns, localModelServers, localServerKind, openaiCompatible, localIdleTimeout, usageStats, updateCheck, ollama.model, ollama.baseUrl, ollama.contextLength, openaiCompatible.model, openaiCompatible.baseUrl, openaiCompatible.contextLength) Options: -h, --help display help for command
polyglots config add-name
Usage: polyglots config add-name [options] <name>
Add a proper noun the title-case check should never flag (places, people,
institutions)
Options:
--locale <locale> Locale the name belongs to (default: defaultLocale, none
set yet)
-h, --help display help for commandpolyglots config set-key
Usage: polyglots config set-key [options] <name> [value] Store DEEPL_API_KEY or OPENAI_API_KEY; omit the value to read it from stdin Options: -h, --help display help for command