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 command

polyglots 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 command

polyglots 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 command

polyglots 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 command

polyglots 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 command

polyglots 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 command

polyglots 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 command

polyglots 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 command

polyglots 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 command

polyglots 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