Catch new untranslated strings in every pull request

The i18n CLI for developers.

Your codebase has untranslated strings. Polyglot finds them, wraps them in t() calls, translates them, and shows you the result — before you commit.

$curl -fsSL https://getpolyglot.ai/install.sh | bash

Free to start · no account required · no credit card

polyglot — zsh
$ polyglot scan
✓ Found 43 string(s) across 6 file(s)
src/components/hero.tsx (6 strings)
src/components/nav.tsx (8 strings)
src/components/footer.tsx (18 strings)
...3 more files
$ polyglot wrap
✓ Wrapped 43 string(s) in 6 file(s)
Wrote messages/en.json (43 strings)
$ polyglot translate --languages de,fr,ja
✓ de: 43 translations
✓ fr: 43 translations
✓ ja: 43 translations
Done! 129 strings translated across 3 languages.
$ polyglot preview --lang de
Switched next-intl locale to 'de'
Preview ready at http://localhost:3000▋
[01]What it does

Find it, translate it, see it in context.

Tree-sitter powered AST parsing finds hardcoded strings in your code and filters out URLs, CSS classes, imports, and noise automatically.

AST · src/components/hero.tsxtree-sitter
▾ Body 2ms
▾ Section 1ms
▾ Header 1ms
H1"Get started"<span/> translatable
Nav⊘ skip · styles
▾ Main 1ms
H2"Pricing"<span/> translatable
Div⊘ skip · aria
Button"Get started today"<span/> translatable
3 translatable
2 skipped
[02]How it works

Four commands. That's the whole workflow.

From a codebase full of hardcoded English to a localized app — scan, wrap, translate, and preview. The complete local workflow stays in your terminal; no dashboard is required.

01⌕
$ polyglot scan

Tree-sitter walks your source and finds hardcoded strings that should be translated — skipping URLs, CSS classes, imports, and noise automatically.

02{ }
$ polyglot wrap

Wraps detected strings with i18n calls, extracts them to message files, and wires up your framework's i18n library. Add --dry-run to preview the diff first.

03文A
$ polyglot translate

Translates with a tuned frontier model. UI labels, marketing copy, and ICU plurals all stay natural — and your glossary is enforced on every batch.

04◉
$ polyglot preview

Spins up your app with translations injected so you see exactly how they look — and can spot truncation, layout breaks, and RTL issues before production.

Need a language switcher? polyglot add switcher scaffolds one into your repo — code you own and restyle, no runtime lock-in. The switcher in this header was built with it. Read the docs →

[03]In every PR

New strings show up in every PR. Polyglot catches them there.

The open GitHub Action compares each pull request against its base: new untranslated strings are flagged where they appear, existing debt is counted, not punished. Make the check required and half-translated code stops merging.

Ppolyglot-actionbot

⚠️ Polyglot i18n — 1 new string found

Finding stateCount
New1
Existing debt14
Resolved2
└─ src/checkout/PaymentForm.tsx:42 · new untranslated UI
Polyglot / i18n— 1 new untranslated string
[04]Pricing

Pricing that grows with you.

Start with the CLI and open GitHub Action on any plan. Team adds managed checks, catalog sync, and verified translation PRs.

MonthlyAnnualSave up to 20%

Pro

For individual developers

$39/month
billed annually
Get started today
✓10,000 strings
✓5 languages
✓Unlimited characters
✓Glossary overrides
✓Async translation
✓Email support

Team

Best value

For growing teams

$119/month
billed annually
Get started today

Polyglot Automation is in early access. Setup and availability

✓25,000 strings
✓15 languages
✓3M characters/mo
✓5 developer/admin seats
✓Reviewers free — invite as many as you want
✓Polyglot Automation — native checks, catalog sync & translation PRs
✓Review workflow & team roles
✓Shared glossaries
✓Email support

Scale

For large projects

$449/month
billed annually
Get started today

Polyglot Automation is in early access. Setup and availability

✓Everything in Team, including Polyglot Automation
✓Unlimited strings
✓Unlimited languages
✓25M characters/mo
✓15 developer/admin seats
✓Priority support
✓Audit log

Free

$0

Try it out — no card, no commitment.

✓500 strings✓2 languages✓Unlimited characters✓Unlimited detection✓Or try 50 strings without an account✓Local checks + open GitHub Action
[05]Quality, proven

Translations that read like a native wrote them — with every variable intact.

4,900 translations of 100 real UI strings, scored by three AI judges from other model families. June 2026 pipeline. The dataset and every primary-judge score are public — re-judge it yourself.

4.96/5

Translation quality

June 2026 · AI-judged

94.5%

Top score (5/5)

top marks, every dimension

100%

Placeholders preserved

June 2026 benchmark

49

Languages benchmarked

9 language groups

Start in your terminal

Stop hunting for untranslated strings.

Install the CLI, run a scan, and see exactly what you're missing. Free, no account required.

$curl -fsSL https://getpolyglot.ai/install.sh | bash
Find, wrap & translate hardcoded strings — i18n CLI | Polyglot