The Editor

A keyboard-first translation editor built for large projects

A virtualized grid that stays smooth on thousands of strings, with roving-tabindex keyboard navigation, optimistic saves, and typo-tolerant fuzzy search — so editing translations feels as fast as editing code.

A translation editor that keeps up with your codebase

The transglot editor is a virtualized grid built on TanStack Virtual. Only the rows currently in view render, and keyset-cursor pagination loads more in 100-row windows as you scroll, so a project with thousands of keys stays smooth instead of loading all at once.

Roving-tabindex navigation moves focus between cells with the arrow keys, and Cmd/Ctrl+Enter saves a cell optimistically in the UI while the server reconciles in the background. Per-row edit locks keep concurrent edits safe.

The transglot editor

Search is powered by Postgres pg_trgm, so a near-miss spelling still finds the key you meant, and a state filter narrows the grid to all strings or only the untranslated ones.

Every CLDR plural category is editable per key and per locale, and right-to-left locales render and edit correctly in the same grid — no separate mode, no export.

A translation editor should feel like editing code: fast, keyboard-driven, and out of your way. That is the bar the grid is built to.

What the editor gives you

  • Virtualized grid — built on TanStack Virtual, it renders only the rows in view and paginates with a keyset cursor in 100-row windows as you scroll.
  • Keyboard-first navigation — roving-tabindex moves focus between cells with the arrow keys, so you can work through a project without reaching for the mouse.
  • Optimistic saves — Cmd/Ctrl+Enter saves a cell instantly in the UI while the server reconciles in the background, with per-row edit locks to keep concurrent edits safe.
  • Typo-tolerant fuzzy search — Postgres pg_trgm matches near-miss spellings, and you can filter by state (all, or untranslated) to focus on what is left to do.
  • Plural forms — edit every CLDR plural category (one, few, many, other, and the rest) per key and per locale, without leaving the grid.
  • RTL support — right-to-left locales render and edit correctly in the same grid, with no separate workflow.

From import to shipped

  • Open the project grid — every key and locale lands in one virtualized grid, source on the left, each target locale in its own column, however many strings you have.
  • Navigate by keyboard — move between cells with the arrow keys and filter by state to focus only on what is left to finish.
  • Edit and save inline — type a translation and press Cmd/Ctrl+Enter; the cell saves optimistically while the server reconciles.
  • Search, fix, repeat — jump to any string with typo-tolerant fuzzy search, adjust plural categories or RTL text in place, and move on without a context switch.

Compared with a spreadsheet round-trip

  • Large projects — a shared sheet with thousands of rows lags and freezes on every scroll; the virtualized grid renders only what is in view and paginates in 100-row windows.
  • Editing flow — in a sheet, every save is a full round-trip you sit through; here Cmd/Ctrl+Enter saves optimistically and the arrow keys move you cell to cell.
  • Finding a string — exact-match Ctrl+F misses a key the moment you misremember a word or an accent; pg_trgm fuzzy search matches near-misses, so “parametre” finds “Paramètres”.
  • Plurals and RTL — a CSV round-trip flattens plural rules and mangles right-to-left text; every CLDR category is editable per locale and RTL renders correctly in place.
  • Concurrent edits — two people editing one sheet silently overwrite each other; per-row edit locks and background reconcile keep concurrent edits safe.

Every detail, in one grid

The editor is the surface you spend the most time on, so the small things matter. Nothing here is a separate mode or a plugin — it is all the same keyboard-first grid.

  • Filter by state — switch between all strings and only the untranslated ones to keep your attention on what is left to finish.
  • Per-row edit locks — a row you are editing is locked, so a teammate’s concurrent save can never silently clobber your work.
  • Server reconcile — optimistic edits are reconciled against the server, so the grid always reflects the source of truth after a save.
  • Reconciled plural saves — saving one plural category folds cleanly back into the grid alongside the others, with no silent data loss across forms.

Why use transglot for localization?

Tools and outcomes

  • Translate with Claude, guided by per-project style guides and brand voice
  • Edit copy on top of your live app with the in-context editor and vision-grounded suggestions
  • Enforce terminology with a glossary, including AI candidate extraction and import/export
  • Flag mistranslations, terminology violations, and placeholder errors with Quality Mode
  • Drive every step from CI — or from an AI agent — with the CLI, GitHub Action, REST API, MCP server, and signed webhooks

Keep exploring

Every part of transglot operates on the same projects and keys, so the next piece picks up exactly where this one leaves off.

AI Translation

Fill the grid in seconds with Claude-powered first drafts.

Developer Platform

Pull and push the same keys from your CI/CD pipeline.

For developers

See how the editor fits a developer-first localization workflow.

Frequently Asked Questions

Frequently asked questions

How the grid stays fast on large projects, how far the keyboard takes you, and what happens to plurals and RTL locales.

Yes — the grid is virtualized, so it only renders the rows currently in view and paginates with a keyset cursor in 100-row windows as you scroll, rather than loading the whole project at once.

globe
Get started

Stop hand-editing locale files. Start shipping in every language.

Claude-powered translation, an in-context editor, a glossary and QA workflow, and a CLI, GitHub Action, and REST API — open source, MIT licensed, and self-hostable.