How a string becomes a shipped translation.
Nine beats, from the JSX you already wrote to the pull request that ships it in six languages. Scroll to follow it.
Ship your product everywhere
One codebase, every language your customers read in.
By continuing, you agree to our Terms of Service.
128 strings · 6 locales · context attached
GT reads the page you already wrote.
Every text node is picked up where it stands — nav label, heading, body copy, button, legal line — with the markup around it as its context.
It translates in place.
The strings come back in Spanish and every container re-measures itself. Nothing is re-laid out by hand; the layout absorbs the new lengths.
Around any component.
The button is JSX wrapped in <T>. GT extracts the label, ships the locale build, and the button widens to hold whatever came back.
In the voice you asked for.
A context attribute goes straight to the translation agent. Same source string, different register — and the heading lands in the tone you wrote for.
With your review, where it matters.
A node marked requires review fires a webhook instead of shipping. Legal reads the Spanish, approves it, and only then does it go live.
Then the code moves.
A commit triggers the workflow and Locadex reads the file that changed — not a diff of strings, the source that produced them.
Locadex maps what changed.
Three findings land on the exact lines that need work: copy that was never wrapped, a date formatted by hand, a label with no locale build.
It edits, then translates in context.
The agent wraps the tree in <T>, swaps the hand-rolled date for <DateTime>, and writes the translations against the file it just read.
And opens the pull request.
One PR, six locales, a diff you can read. Review it like any other change — merge, and the site is live in every language.