General Translation

Launch inevery language.

Wrap your JSX in <T>, run one command, and ship every string in 100+ languages.

Get startedRead the docs

public/_gt/[locale].json — one string, five locales · widths measured at render, not typed

enDeploy now
frDéployer maintenant
deJetzt bereitstellen
ja今すぐデプロイ
zh立即部署

Trusted by the world’s best companies

CursorRampMintlifyProfoundPartifulClickHouse

One toolchain, every stack.

Developer-first SDKs to translate everything from simple sites to complex user experiences.

app/page.tsx
1import { T, Num, DateTime } from 'gt-next';
2
3export default function Home() {
4 return (
5 <T>
6 <main>
7 <h1>Hello, world!</h1>
8 <p>
9 <DateTime>{new Date()}</DateTime>
10 </p>
11 <p>
12 GT has everything you need to ship your
13 product in <Num>{118}</Num> languages.
14 </p>
15 </main>
16 </T>
17 );
18}
gt-next

Server components, middleware locale routing, and static translations built at build time.

npm i gt-nextnpx gt@latest
UI<T>…</T>
Textes'¡Hola, mundo!'
Numbersde1.234.567,89
Currenciesde1.280,00 €
Datesfr29 juil. 2026
Pluralspl1 plik · 4 pliki
FunctionsuseGT() · getGT()
Contextcontext="file"
Routingfr/fr/a-propos
gt-next reference

Everything localization needs.

What 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.

Every locale is a different length

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.

Ranked against English

A layout that only fits the source string breaks somewhere near the top of this list.

Code

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 all
  • useGT() returns strings for anything that is not JSX
  • <Num> and <DateTime> format to the reader’s locale

Context

One word, two meanings. A context tag decides which translation ships.

Terminology

One term, six locales, decided once. Per-locale style rules keep the wording identical everywhere it appears.

Routing

Automatic detection and locale-based routing, on SEO-friendly paths you never configure.

Translation

AI agents that understand your project structure and localize your content in context.

One config file

Locales in, output path out. The CLI and every SDK read the same file.

gt.config.json
{
"defaultLocale": "en",
"locales": ["es", "fr", "ja", "de", "zh"],
"files": {
"gt": {
"output": "public/_gt/[locale].json"
},
"json": {
"include": ["content/[locale]/*.json"]
}
}
}
$ npx gt translate
Scanning src — 128 strings found
Wrote public/_gt/es.json
Wrote public/_gt/fr.json
Wrote public/_gt/ja.json
Wrote public/_gt/de.json
Wrote public/_gt/zh.json
Done in 12.4s — 640 translations

Built for your next billion users

118
locales, ready today
6
first-party SDKs
<1s
over-the-air updates
$0
to start

Every writing system

Latin, Cyrillic, Greek, Arabic, Devanagari, Han, Hangul, Thai — joined, stacked and bidi-resolved by the browser, with per-script fallbacks in the SDK.

A meridian cage with three points of presence and one serving 12 ms awayfra · 12 msiad · 21 msnrt · 34 mssin · 41 mssyd · 48 msuser

5 points of presence shown · anycast · versioned per locale

Delivery

A global, low-latency translation CDN. Push over-the-air updates without redeploying your app.

  • Fix a translation and ship it without touching your build
  • Served from the edge, close to whoever asked for it
  • Versioned per locale, so a rollback is one step

Counting is not concatenation

English has two plural forms, Polish four, Japanese one. GT ships ICU plurals, so the number picks the form instead of the string.

Both directions, one markup

Set dir and the browser mirrors rows, alignment and controls. Nothing about the panel is written twice.

Previews

Preview translations in development before they go live.

Live Translation

Translate user-generated content on demand, in full context.

Customization

Bring your own detection function, components and formats.

Glossaries

Pin a term, set per-locale style rules. Both hold on every later run.

And the parts nobody demos

Everything above assumes the unglamorous things already work. They do.

  • SEO-friendly locale paths, with no configuration
  • ICU plurals, numbers, currencies, and dates
  • Dev previews before anything reaches production
  • Over-the-air updates without a redeploy
  • Glossaries and per-locale style rules
  • SOC 2 Type II, GDPR, ISO 27001

Every locale on one screen.

Agents write the translations. You open one grid — the source beside every target locale — and touch only what needs a human.

esjadefrzh
HistoryDownload
Sourceesjade

Get started by editing the page.tsx file.

app/page.tsx:5

Para comenzar, edita el archivo page.tsx.

Approved

開始するには、page.tsxファイルを編集してください。

Approved

Um zu beginnen, bearbeiten Sie die Datei page.tsx.

Approved

Generated by create-next-app

app/page.tsx:9

Generado con Create Next App

Approved

create-next-app によって生成されました

Needs review

Erstellt mit Create Next App

Approved

Deploy now

app/page.tsx:14

Deploy Now

Needs review

今すぐデプロイ

Approved
Jetzt bereitstellenesc to cancel

Documentation

app/page.tsx:18

Documentation

Approved

ドキュメント

Approved

Dokumentation

Approved

Looking for a starting point or more instructions? Head to Templates or the Learning center.

app/page.tsx:6

¿Buscas un punto de partida o más instrucciones? Dirígete a Templates o al centro de Learning.

Approved

開始点や詳細な手順をお探しですか?テンプレートまたはラーニングセンターをご覧ください。

Needs review

Suchen Sie nach einem Ausgangspunkt oder weiteren Anweisungen? Gehen Sie zu Templates oder zum Learning Center.

Approved
Search by file name, component name, key, source text or translated text — ⌘KAnnotations are not on the Starter plan

Agents write. You approve.

Review state is scoped per entry and per locale — approve the Spanish translation while the Japanese one is still in review.

workspace · es-4194 strings
source — en
translation — es
Hello, world!
¡Hola, mundo!approved
Launch in every language
Lanza en todos los idiomasapproved
End-to-end localization for the world's best companies
Localización de extremo a extremo para las mejores empresas del mundo.Localización integral para las mejores empresas del mundo.edit
By continuing you agree to our Terms of Service.
Al continuar, aceptas nuestros Términos de Servicio.approved
⌘K searchhistorydownloadagent · locadex

Review, without living in a CAT tool

You review exceptions, not everything — the same content is simultaneously in your repo.

  • Every entry shows its source and all five targets at once
  • Regenerated translations arrive as diffs, never as surprises
  • Change a live string and the CDN serves it — no redeploy
  • Labels, notes and threaded comments, scoped per locale
$ npx gt translate — 1 entry regeneratedja
@@ public/_gt/ja.json @@
"0d5c1f2a": "ドキュメント",
-"a41f0c92": "create-next-app によって生成されました",
+"a41f0c92": "create-next-app により生成されました",
"3b9e51b7": "今すぐデプロイ",
"8f2ab41c": "開始するには、page.tsxファイルを編集してください。",
"6c2d84e0": "テンプレートまたはラーニングセンターをご覧ください。"

Generated by create-next-app

ja

create-next-app によって生成されました

Needs reviewLegal
NoteHold until the JP terms page ships.
youIs 生成されました the right register for the footer?
locadex · agentMatched the app’s existing UI strings — flagged for review.
v2.1.0Added checkout page translations3f2c41a
v2.0.0Initial translations9b81d02

$ npx gt translate --tag v2.1.0 -m “Added checkout page translations”

One dashboard holds the context.

Curate glossaries, style rules, and project context — with editing, versioning, and integrations under one project, one config, and one bill.

acme/web6 locales · 128 strings
LocaleTranslatedState
enEnglish128 keyssource
esEspañol128 / 128live · v214
frFrançais128 / 128live · v214
ja日本語126 / 1282 in review
deDeutsch128 / 128live · v214
zh中文128 / 128live · v214
GitHubPR #218 merged · +38 −6CDNv214 · fra · 12 msLocadexlast run 41 min ago

The context platform

Everything the agents read before they write: your glossary, your locale rules, your project files — versioned, assignable, and shared across projects.

  • Glossaries and per-locale style rules
  • Every source version restorable, tagged from the CLI
  • GitHub, Google Drive, Mintlify, Sanity and Storyblok
  • Over-the-air updates without a redeploy
gt.config.jsonchecked into acme/web
{
"defaultLocale": "en",
"locales": ["es", "fr", "ja", "de", "zh"],
"files": {
"gt": { "output": "public/_gt/[locale].json" }
}
}

Say it once, and every translation obeys.

A glossary and a set of directives, defined once at the organization level and assigned to every project.

Glossary

Locadexdo not translate
Context Groupdo not translate
General Translationdo not translate
WorkflowFlujo de trabajo (es) · ワークフロー (ja)
GlossaryGlosario (es) · 用語集 (ja)
ReviewRevisión (es) · レビュー (ja)

Directives

Use formal “Sie” (de)
Active voice, avoid jargon
Never translate product names
Keep {variables} and code verbatim
Local date formats — 29 juil. 2026 (fr)

Um zu beginnen, bearbeite deine page.tsx-Datei mit dem Ortsindex.

Without the group

Um zu beginnen, bearbeiten Sie directive Ihre page.tsx-Datei mit Locadexglossary.

With the group

Apply — 1 entry rewrittende
@@ public/_gt/de.json @@
"5c19e2b4": "Dokumentation",
-"9d47a3f1": "Um zu beginnen, bearbeite deine page.tsx-Datei mit dem Ortsindex.",
+"9d47a3f1": "Um zu beginnen, bearbeiten Sie Ihre page.tsx-Datei mit Locadex.",
"2e8b90cd": "Jetzt bereitstellen",
"b31c7a55": "Erstellt mit Create Next App"
Context applies to new translations. Existing ones change when you press Apply.Groups can be autogenerated from your project files.
Every once in awhile, I see a snippet of code that makes me a bit emotional. Now is one of those moments. Internationalization went from “$%!# this” to “trivial”.

TheoCEO, T3Chat

“insane engineering prowess” — Guillermo Rauch, CEO, Vercel

Everything you need, in one toolchain.

Buildtime, runtime, and review — one project, one config, one bill.

One string, source to screen

Hover a stage — the same string climbs all seven.

The GT stack, end to end: app code, gt cli, Locadex, context, review, edge CDN and runtime delivery — each plane taps the same doubled rail, from source code to the translated string on a user’s screen
gt cliacme/web
$ npx gt translate
gt-next detected · Next.js App Router
128 strings · 3 new · 2 changed
es fr ja de zh
done in 8.4s · local edits preserved

Code

Mark up JSX once — every locale ships from your build.

page.tsxNext.jsReact
import { T } from 'gt-next'
<T>
<h1>Hello, world!</h1>
</T>
es¡Hola, mundo!
jaこんにちは世界!

Content

User-generated content, translated on demand at runtime.

notify.tsruntimeNode.js
await tx('Payment received', {
$locale: 'ja',
})
200 · 84 ms · cached at the edge
{ "ja": "支払いを受領しました" }

Dashboard

Glossaries, directives, and review in one workspace.

acme/webproduction
enesfrjadezh
glossary24 terms
directives6 rules
reviewqueue empty
v214 · published2 min ago

Locadex

The agent that internationalizes your repo in guarded PRs.

PR #218locadex → mainGitHub
@@ −4,1 +4,1 @@ app/checkout.tsx
<p>Payment received</p>
+<p><T>Payment received</T></p>
merged+38 −6 · checks passed

Context, defined once — inherited all the way down

Glossary and tone set at the top; every project and component below inherits them.

Organization
Glossary

“Locadex is the GT agent — do not translate.”

Directives

“Active voice. Use formal ‘Sie.’” de

Project
1brand-coreorg
2docs-styleorg
3checkout-copyproject

On overlap the top group wins: formal ‘Sie’ holds, casual tone loses.

Component
<T $context="popup, not bread">
Click the toast to dismiss
</T>
esla notificaciónla tostada

One commit, on the clock

09:41:02committedapp/page.tsx
09:41:18extractedhash 0f3a92
09:41:44pr openedlocadex · #218
09:42:03translated6 locales · 3.4 s
09:44:37approvedreview · @mira
09:45:01publishededge · 3 regions
09:45:09renderedde · 38 ms

Pricing for everyone.

Full-stack localization across buildtime, runtime, and review.

Starter

$0to start

Start free and upgrade when you ship. Everything you need to localize a real product.

  • Every SDK and the translation CLI
  • Dashboard, glossaries, and the editor
  • Locadex agent runs on your repo
Get started

Enterprise

Customannual

Talk to an engineer about implementation, volume, and your security review.

  • Volume pricing across projects
  • SOC 2 Type II, GDPR, ISO 27001
  • Support from the engineers who build it
Contact us