Launch in every language.

General Translation builds full-stack infrastructure for localizing apps, docs, and websites.

gt — translate
$ npx gt@latest
Detected Next.js · App Router
Source en
Locales esfrjadezh
Wrote gt.config.json · .env.local
$ npx gt translate
$
Scanning src — 128 strings found
Translating with project context
"Hello, world!"es¡Hola, mundo!jaこんにちは、世界!deHallo, Welt!frBonjour le monde !zh你好,世界!
"Get started"esComenzar ahoraja始めるdeJetzt startenfrCommencerzh立即开始
Wrote public/_gt/{es,fr,ja,de,zh}.json
640 translations · 5 locales · 12.4s

Trusted by the world’s best companies

CursorRampMintlifyProfoundPartifulClickHouse

Trusted by the world's best companies

Example AppDocsDocumentaciónPricingPreciosContactContacto

Hello, world!¡Hola, mundo!

July 29, 202629 de julio de 2026

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.

Get startedComenzar ahora
Translation that just works.Traducciones que simplemente funcionan.OTA updates · 99.99% uptime
you@work.com

The page you already wrote.

app/page.tsx
export default function Page() {
return (
<main>
<h1>Hello, world!</h1>
<p>{new Date().toLocaleDateString()}</p>
<button>Get started</button>
</main>
);
}

GT knows your context.

context group · Tagline.tsx
fileapp/components/Tagline.tsx
jsx<h3>Translation that just works.</h3>
$context"Playful, upbeat tone"
glossaryLocadex → do not translate
directivesactive voice · formal "Sie" (de)
existing"Get started""Comenzar ahora"
brandnever translate: Locadex

In the voice you asked for.

card.tagline · es
sourceTranslation that just works.
no contextTraducción que funciona.
with contextTraducciones que simplemente funcionan.
$context"Playful, upbeat tone"
directivesactive voice · formal "Sie" (de)

GT does your translating.

$ npx gt translate
scan app/ · 24 files · 42 strings
target esfrjadezh
Wrote public/_gt/{es,fr,ja,de,zh}.json
"Hello, world!""¡Hola, mundo!"
"Get started""Comenzar ahora"
✓ 42 strings · 5 locales · 3.8 s

Around any component.

app/components/Cta.tsx
<T>
<button type='button' className='cta'>
Get started
</button>
</T>
public/_gt/es.json
"Get started": "Comenzar ahora"

With your review.

POST · hooks.example.com/review
{ "key": "legal.tos", "locale": "es",
"string": "Al continuar, aceptas…",
"status": "needs_approval" }
review · legal · 1 approval required
approved — shipped to /es

Code is pushed — Locadex scans.

$ git push origin main · e4f21c9
locadex · run #1184 · trigger: push
scan app/ · 11 files changed · 412 ms
found 3 unwrapped strings
app/page.tsx · L4 · L5 · L16
branch locadex/i18n · created

It edits, then translates in context.

@@ -1,19 +1,24 @@ app/page.tsx
+import { T, DateTime } from 'gt-next';
<main>
+ <T>
<h1>Hello, world!</h1>
<p>{new Date().toLocaleDateString()}</p>
+ <p><DateTime>{new Date()}</DateTime></p>
+ </T>
</main>

It opens the PR. Merged — live.

#218 · locadex/i18n → main
Translate app/page.tsx into 6 locales
4 files · +38 −6 · checks passed
gt validate ✓ · review approved
live enesfrjadezh
Merged — live in 6 locales

Edit in context.

Agents write translations. You review, edit, and approve in a focused workspace.

  • Side-by-side source and translation view
  • See diffs when translations are regenerated
  • Edit translations before or after they go live
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

Forward-deployed engineers

Ours sit with yours until the integration ships. Not a support queue, a team.

Security review, pre-cleared

SOC 2 Type II, GDPR, ISO 27001, SSO/SAML, RBAC. The file is ready for procurement.

An SLA with teeth

99.99% delivery at the edge, penalties in writing, a named human on call.

One merge. Every market.

This is the whole ceremony: your engineers merge English, and the machine does the rest. Context, terminology, review, delivery.

T+00:00english strings merged to main
T+00:0314 locales queued · context resolved
T+00:41translations returned · terminology pinned
T+01:12review pass clean · zero exceptions
T+03:24six locales live at the edge
T+03:24signal repeats on every merge

Ship your product to the world

A wireframe globe with five points of presence, the nearest serving a translation 12 ms awayeu-central-1us-east-1ap-northeast-1ap-southeast-1ap-southeast-2user

Localized by region and dialect

zh中文zh-HK中文(香港)zh-TW中文(台灣)
enEnglishen-GBen-AU
arالعربيةar-EGar-SA

hiहिन्दीelΕλληνικάheעבריתko한국어

Served from the edge

Low-latency CDN, versioned per locale. Fix a string or roll it back without touching your code.

Built for the enterprise

Dedicated FDE hours to build any workflow across code and content. Plus SSO, SOC 2 Type II, ISO 27001, and audit logs

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

TheoTheoCEO, T3 ChatView the post

Deploy today.

Join the world’s best developer teams on General Translation