i18.dev
HomeProductPricingAPI
Demo
How it works

Agent-native localization from repo to shipped locales

See the full workflow — the problem, three steps, team review, and sync — without legacy TMS onboarding.

Start free

The problem

Same localization request. Two very different sprints.

Without
2wk
With
1day
Traditional translation platforms
2wk

Sprint lost

Setup i18n libHome pageContact pageCheckoutError msgsSettings

Day 1

Request lands

Home.tsxContact.tsxCheckout.tsx

// page component

export function Page() {

return (<h1>"Welcome back"</h1>);

}

// page component

export function Page() {

return (<p>"Contact us"</p>);

}

// page component

export function Page() {

return (<button>"Place order"</button>);

}

i18n dashboard
KeyEnglish
home.welcomeWelcome back

47 files left…

copy

Day 2–4

Engineers grepping codebase

Merge queue12 open
!142feat/i18n-homeAlexconflict
!143feat/contact-i18nSamconflict
!144fix/checkout-copyJordanopen
!145chore/nav-labelsAlexconflict
TL
reviewing…

<<<<<<< HEAD

<h1>{t('home.title')}</h1>

=======

<h1>"Welcome back"</h1>

>>>>>>> feat/i18n-home

missed hardcoded string

A
Alex
S
Sam
J
Jordan

Day 5–7

Merge request hell

00:47
Sarah · Client
sharing screen

checkout.title

{amount}

Place order

I'm on the German site — checkout is completely broken.

The button literally says checkout.title. Not German!

{amount} is raw text. Labels only — placeholders don't work.

We missed the deadline. This isn't shippable.

Week 3

Client frustration

With i18.dev
1day

Shipped

1 prompt and
1 min to set up

Hour 1

Project setup

localize using
i18dev cli

$ i18dev extract --write

✓ Scanning src/...

✓ Found 3 hardcoded strings

✓ Rewriting to t() calls...

page.tsx

<h1>

Welcome back

</h1>

<button>

Get started

</button>

→

i18.dev

hero.title

Welcome back

hero.cta

Get started

$ i18dev push

✓ synced

Hardcoded Strings
→ I18n ready code

Hour 2

i18n wiring complete

i18.devcheckout
Languages
ENEnglish
ZH中文
ESEspañol
hero.title✓

Welcome back

hero.cta✓

Get started

checkout.cta✓

Complete order

hero.title✓

欢迎回来

hero.cta✓

开始使用

checkout.cta✓

完成订单

hero.title✓

Bienvenido

hero.cta✓

Empezar

checkout.cta✓

Completar pedido

Hour 3

Team Review & sync

Ship

New markets unlocked

How it works

Three steps to multilingual

No 2-week i18n project. Paste a prompt, review, ship.

  1. 01

    Set up your i18n library

    Pick your framework. Get a ready-made prompt for your exact stack.

    next-intlreact-i18nextvue-i18nsvelte-i18n+ more
  2. 02

    Extract & convert strings

    Agent finds every hardcoded string, rewrites to t() calls, syncs keys to your dashboard. Do it screen-by-screen or one-shot.

    i18dev extract --write
  3. 03

    Review translations. Pull. Ship.

    Team confirms in the dashboard. One command syncs back to your repo.

    i18dev pull --confirmed
Homepage.tsx
Code
const t = useTranslations('homepage');
export function Homepage() {
return (
<div>
<nav className="glass pill nav"> … </nav>
<h1>The Open Source alternative to Harvey and Legora.</h1><h1>{t('hero.title')}</h1>
<p>All the features without an enterprise contract.</p><p>{t('hero.subtitle')}</p>
<button>Try it out</button><button>{t('cta.try')}</button>
<a href="/github">GitHub</a><a href="/github">{t('cta.github')}</a>
</div>
);
}
Preview
localhost:3000/en
Mike
Log inSign up

The Open Source alternativeto Harvey and Legora.

All the features without an enterprise contract.

Try it outGitHub

The Cliff Walk at Pourville by Claude Monet

Agent
You
Localize the homepage with i18.dev
Cursor

I’ll scan the homepage component for hardcoded strings.

Then run the CLI to extract, push, and pull translations.

i18dev extract --writeFind strings & rewrite code
i18dev pushUpload keys to dashboard
i18dev pullDownload translations
i18.devDone
Key
EN
ES
FR
DE
hero.title
The Open Source alternative to Harvey and Legora.
La alternativa open source a Harvey y Legora.
L’alternative open source à Harvey et Legora.
Die Open-Source-Alternative zu Harvey und Legora.
hero.subtitle
All the features without an enterprise contract.
Todas las funciones sin contrato enterprise.
Toutes les fonctionnalités sans contrat enterprise.
Alle Features ohne Enterprise-Vertrag.
cta.try
Try it out
Pruébalo
Essayer
Ausprobieren
cta.github
GitHub
GitHub
GitHub
GitHub
1
Extract
2
Review
3
Ship

Who this is for

Built for developers who ship, translators who refine, and localization teams who need speed without enterprise onboarding.

Shared Translation Review Workspace

Empower your team to manage localization without slowing down development.

  • Unblock Engineers: Developers and AI agents keep shipping while other team members review, edit, and verify translations from a Human friendly dashboard.
  • One Seamless Workflow: Access source strings, context, AI drafts, and human reviews from a single, intuitive dashboard.
  • End the Bottlenecks: Say goodbye to passing JSON files back and forth or waiting on engineering for simple text updates.
Translation workspaceLive in i18.dev
612 of 920 keys signed off
i18.dev project dashboard showing keys, locales, reviewer notes, and confirmation state for CLI pull.

Languages

Pick the locale you're reviewing

Namespaces

Group translations by page or component

Translation table

Source value, translation, and confirm

Agent-ready product system

Everything modern Developers need to do i18n correctly.

Open the workflow
01

Simplified UI

A dashboard to review and confirm translations

Review namespaces, languages, strings, notes, and confirmation state after your coding agent extracts or updates copy.

next-intli18nextvue-i18n
02

Setup prompts

Prompt recipes for the i18n stack you already use.

Choose your library, copy the setup prompt, and let your AI editor wire the safest project structure.

Supported stacksprompt-ready
Next.js
next-intlnext-i18next
React
i18nextreact-intl
Vue
vue-i18n
Nuxt
@nuxtjs/i18n
Angular
ngx-translate@angular/localize
Svelte
svelte-i18nsvelte-i18next
Lovable
react-intl
Base44
react-intl@solidjs-primitives/i18n
Replit
react-intl
Custom
REST API / pull script
03

AI-editor CLI

A CLI designed for coding agents, not just humans.

Pull, push, validate, and inspect localization state from the terminal so agents work with real project context.

$ i18dev push
✓ namespaces loaded
✓ context exported to Cursor
✓ missing keys found
04

Context-aware translation

Support 100+ languages

Enable every market your roadmap calls for, from your first few regions to a full global list. Notes, tone, namespace, and UI intent travel with each key so widening your audience never means diluting how the product reads.

100+ languages

Add every locale your product needs to serve the audience you want—one pipeline, no duplicate setup per market.

Source
Complete your order
Context: checkout CTA, warm tone
Finaliser la commande
注文を完了する
Completar pedido
05

Automation API

A powerful API for your release workflow.

Integrate extraction, translation, string sync, AI usage checks, and locale delivery into CI, scripts, internal tools, or your own admin panel.

POST /v1/translations/sync
{ project: "web-app", locale: "ja" }
automation: CI, cron, internal tools
06

Teams & versioning

Collaborate, review, and ship versions together.

Invite editors, review updates, track history, and keep release-ready translations separated from drafts and experiments.

Product
reviewed checkout.title
Editor
updated Japanese tone
Engineer
pulled v1.8 confirmed
07

Coming soon

Branching for product teams that ship in parallel.

Create translation branches for feature work, compare changes, merge confirmed copy, and avoid blocking one release on another.

feature/pricing-pagesoon

Compare, merge, and ship copy without blocking parallel releases.

Why agents need i18.dev

Translation tools store strings. i18.dev gives agents a workflow.

1 prompt
to configure your app and i18.dev project
Real CLI
so agents can push, pull, and validate safely
0 lock-in
works with the i18n library already in your app

Full localization

Localization is not just translation.

Internationalization (i18n) is the engineering work that prepares your app for multiple languages — locale files, keys, and t() wiring. Localization (l10n) is adapting the product for each market: copy, layout, currency, dates, and cultural tone.

Translation changes words. Localization adapts the product identity: copy, layout, images, dates, currency, legal requirements, payment methods, and cultural signals.

Translation only

Words changed. Product did not.

x
New York hero image
NYC
Spanish text
Comprar ahora
Price
$99.99
Date
04/26/2026
Address
State
Payment
Credit card
The customer reads Spanish, but sees US formats, US imagery, and the wrong checkout assumptions.
Full localization

Same codebase. Many local identities.

✓
Global switch
MXDEJPAE
Mexico City storefront
Mexico

Entrega lista para tu equipo

Warm, direct Spanish
Date
26/04/2026
Time
15:00
Price
MX$1,899
Payment
OXXO / card
Address
Estado
Units
km
Contextual UI
Image, copy, legal, fields, and payment match the market.
✓
Berlin product shelf
Germany

Lieferbenachrichtigung verwalten

GDPR consent visible
Date
26.04.2026
Time
15:00
Price
€94,99
Payment
SEPA / Klarna
Address
Bundesland
Units
kg
Contextual UI
Image, copy, legal, fields, and payment match the market.
✓
Tokyo station pickup
Japan

配送状況を確認

Respectful microcopy
Date
2026年4月26日
Time
15:00
Price
¥14,500
Payment
Konbini
Address
Prefecture
Units
km
Contextual UI
Image, copy, legal, fields, and payment match the market.
🙇
Dubai evening street
UAE

تتبع طلبك الآن

RTL layout switch
Date
26/04/2026
Time
15:00
Price
د.إ 367
Payment
Mada / card
Address
Emirate
Units
km
Contextual UI
Image, copy, legal, fields, and payment match the market.
✓
Text
English → Spanish → العربية → 日本語
Layout
German expands, Japanese contracts
Imagery
New York street → Tokyo street
Culture
Thumbs up → bowing gesture
Formats
$99.99 → €94.99 → ¥14,500
Legal
GDPR consent appears in EU
Payments
Card → iDEAL → Pix → Konbini
Units
lbs / miles / °F → kg / km / °C

Start localizing with i18.dev.

Start Free

© 2026 i18.dev — AI localization for developer teams

What we doPricingTutorialsQuickstartAPIPrivacyTerms