Enterprise platform
Share translation context, glossaries, and custom prompts across every project and content source in your company.
context · glossaries · promptsA dark event horizon sits at the center of otherwise empty ruled paper; the names of languages — Japanese, Spanish, Korean, Arabic, and more — wrap around it like a satellite belt, and the wordmarks of Cursor, Ramp, Profound, Partiful and ClickHouse sit inside the dark core.
Talk to an engineer — not a sales deck. We’ll walk your stack, your locales, and your review process, and leave you with a working plan.
Share translation context, glossaries, and custom prompts across every project and content source in your company.
context · glossaries · promptsReliable, scalable translation workflows across any file format or framework.
any format · any frameworkDedicated hours with forward-deployed engineers to bring localization to production.
dedicated hours · to productionDeveloper-first SDKs to translate everything from simple sites to complex user experiences.
1import { T, Num, DateTime } from 'gt-next';23export default function Home() {4return (5<T>6<main>7<h1>Hello, world!</h1>8<p>9<DateTime>{new Date()}</DateTime>10</p>11<p>12GT has everything you need to ship your13product in <Num>{118}</Num> languages.14</p>15</main>16</T>17);18}
Server components, middleware locale routing, and static translations built at build time.
<T>…</T>es'¡Hola, mundo!'de1.234.567,89de1.280,00 €fr29 juil. 2026pl1 plik · 4 plikiuseGT() · getGT()context="file"fr/fr/a-proposWhat translation does to a layout, the libraries you write against, the platform that holds your context, and the edge that serves the result — one system.
One button in four languages, measured by the browser rather than estimated. German runs long, Japanese runs short, and Arabic re-anchors the whole line.
Save changes
Änderungen speichern
変更を保存
حفظ التغييرات
widths measured at render — measureText, not typed
A layout that only fits the source string breaks somewhere near the top of this list.
Developer-first libraries for React, Next.js, and more, battle-tested in production apps with millions of users.
<T> wraps any JSX — nested elements and alluseGT() returns strings for anything that is not JSX<Num> and <DateTime> format to the reader’s localeOne word, two meanings. A context tag decides which translation ships.
enSave
context=“file”
speichern
dewrite it to disk
context=“discount”
sparen
despend less money
One term, six locales, decided once. Per-locale style rules keep the wording identical everywhere it appears.
enSettings
Automatic detection and locale-based routing, on SEO-friendly paths you never configure.
URL locale → cookie → Accept-Language → default
AI agents that understand your project structure and localize your content in context.
1import { T } from 'gt-next';23export default function Home() {4return (5<T>6<h1>Hello, world!</h1>7<p>Get started</p>8<p>Payment received</p>9</T>10);11}
Locales in, output path out. The CLI and every SDK read the same file.
{"defaultLocale": "en","locales": ["es", "fr", "ja", "de", "zh"],"files": {"gt": {"output": "public/_gt/[locale].json"},"json": {"include": ["content/[locale]/*.json"]}}}
Latin, Cyrillic, Greek, Arabic, Devanagari, Han, Hangul, Thai — joined, stacked and bidi-resolved by the browser, with per-script fallbacks in the SDK.
5 points of presence shown · anycast · versioned per locale
A global, low-latency translation CDN. Push over-the-air updates without redeploying your app.
English has two plural forms, Polish four, Japanese one. GT ships ICU plurals, so the number picks the form instead of the string.
count12522
en2 forms
1 file2 files5 files22 files
onefile
otherfiles
pl4 forms
1 plik2 pliki5 plików22 pliki
oneplik
fewpliki
manyplików
otherpliku
ja1 form
1個のファイル2個のファイル5個のファイル22個のファイル
other個のファイル
Set dir and the browser mirrors rows, alignment and controls. Nothing about the panel is written twice.
dir="ltr"
dir="rtl"
Preview translations in development before they go live.
Translate user-generated content on demand, in full context.
“Great seats, worth every peso.”
“Ótimos lugares, valeu cada peso.”
Bring your own detection function, components and formats.
Pin a term, set per-locale style rules. Both hold on every later run.
Everything above assumes the unglamorous things already work. They do.
Nine beats, from the JSX you already wrote to the pull request that ships it in six languages. Scroll to follow it.
One codebase, every language your customers read in.
By continuing, you agree to our Terms of Service.
128 strings · 6 locales · context attached
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.
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.
The button is JSX wrapped in <T>. GT extracts the label, ships the locale build, and the button widens to hold whatever came back.
A context attribute goes straight to the translation agent. Same source string, different register — and the heading lands in the tone you wrote for.
A node marked requires review fires a webhook instead of shipping. Legal reads the Spanish, approves it, and only then does it go live.
A commit triggers the workflow and Locadex reads the file that changed — not a diff of strings, the source that produced them.
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.
The agent wraps the tree in <T>, swaps the hand-rolled date for <DateTime>, and writes the translations against the file it just read.
One PR, six locales, a diff you can read. Review it like any other change — merge, and the site is live in every language.
<DateTime>July 29, 202629 de julio de 2026</DateTime>!
General Translation builds full-stack infrastructure for localizing apps, docs, and websites.General Translation construye infraestructura integral para localizar aplicaciones, documentación y sitios web.
Agents write translations. You review, edit, and approve in a focused workspace.
Buildtime, runtime, and review — one project, one config, one bill.
Hover a stage — the same string climbs all seven.
Mark up JSX once — every locale ships from your build.
import { T } from 'gt-next'<T><h1>Hello, world!</h1></T>
User-generated content, translated on demand at runtime.
await tx('Payment received', {$locale: 'ja',})
Glossaries, directives, and review in one workspace.
The agent that internationalizes your repo in guarded PRs.
@@ −4,1 +4,1 @@ app/checkout.tsx<p>Payment received</p><p><T>Payment received</T></p>Glossary and tone set at the top; every project and component below inherits them.
“Locadex is the GT agent — do not translate.”
“Active voice. Use formal ‘Sie.’” de
On overlap the top group wins: formal ‘Sie’ holds, casual tone loses.
<T $context="popup, not bread">Click the toast to dismiss</T>
Full-stack localization across buildtime, runtime, and review.
Start free and upgrade when you ship. Everything you need to localize a real product.
Talk to an engineer about implementation, volume, and your security review.