English source strings on the left — search fields, toasts, buttons, review rows — stream toward the center and come out the right side translated and locale-stamped: French, German, Japanese, Korean, Spanish, Arabic, and a hundred more.
General Translation builds full-stack infrastructure for localizing apps, docs, and websites.
100+ languages
Trusted in production
Developer-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.
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.