AI localization for developers · no account

Threw your strings at ChatGPT? Bold. Let's see what it did.

AI translation is a commodity. Trusting it isn't. KAERIS shows you what every line actually means and flags the ones worth a second look. No account.

$ pip install kaeris
JSON, mobile, .po & XLIFF Files auto-deleted in 2h Open-source CLI
Works in: Claude Cursor GitHub Actions
Live — watch it catch a bad translation
Reading it back to you… 46 languages
DE

The read-back

Read what it actually says.

We translate the result back into your language and flag anything that drifts. Anything shaky flags itself. One line of context usually fixes it. You read the meaning yourself instead of taking the AI's word for it.

See the read-back benchmark — 100% recall, 0% false positives

1 We translate every string into each language.
2 Then we read each one back into your language.
3 If the meaning drifts, we flag it — so you fix it before release, not after.
Overflow, caught early
German runs ~35% longer than English. We flag what won't fit your buttons before it ships.
Brand glossary
Lock your product names once. They read identical across all 46 languages.
Private by default
We use your file to translate it, then delete it inside 2 hours. Never sold.
The same button, four languages — watch it overflow
Save changes
Fits your button ✓
Speaks your framework's format. Drop it in as-is, no reformatting.
ReactVueNext.jsAngular FlutteriOSAndroid RailsDjangoi18nextGodotUnity

Translate by format: JSON · .po · .arb · .strings · XLIFF

1

Drop your source file

.json .yml .arb .xml .strings .po .csv .xliff .properties .resx .ftl

Drag & drop your en.json here

or click to browse

{
  "welcome": "Hello!",
  "btn.save": "Save changes"
}
·
2

Pick your languages

0 selected
3

Translate

Tone

Free · 10,000 chars · DeepSeek V3

More tools — convert & pseudolocalize

Convert format (no translation)

Free · no account

Reshape a locale file between JSON, YAML, .strings, .po, ARB, Android XML, CSV, XLIFF, .properties and .resx — no AI involved, nothing translated.

Drag & drop a locale file here

or click to browse

🧪

Pseudolocalize (test UI)

Free · no account

Generate a fake "pseudo" locale — accented, ~30% longer, wrapped in [!! ... !!] — to catch truncation/overflow and hardcoded strings BEFORE you pay for real translation. No AI involved.

Drag & drop a locale file here

or click to browse

ChatGPT vs KAERIS

ChatGPT translates fine.
It just won't check itself.

We'll say it plainly: modern ChatGPT translates well. The gap is everything that happens after the translation.

Capability
ChatGPT
KAERIS
Translation into 46 languages
yes, good
yes, good
Shows what each line really means (we translate it back so you can check)
Remembers last time, so it re-translates only what changed and your wording stays put
starts over every time
Formats: JSON / ARB / .strings / Godot / Unity, conversion
CLI · GitHub Action · MCP — in CI, no copy-paste
Your {bits} and plural rules come out intact
usually ok
guaranteed
$79 once. Your own AI key, no monthly caps, forever launch price, going up soon
Also available as

Web

This page — upload, translate, download. No account.

kaeris.dev

CLI

Translate from your terminal & CI/CD.

pip install kaeris

MCP

Localize from Claude, Cursor & Claude Code.

pip install kaeris-mcp How the MCP server works

Developer docs & GitHub Action

Coming from Lokalise or Crowdin? Drop your XLIFF export →

Questions developers ask
Is my file used to train AI models?

KAERIS trains no models — we don't operate any. Your file is deleted from our server within 2 hours; the translation runs through OpenRouter to the model providers under their own policies. For full control, Lifetime is BYOK (your own key). More on security.

What if a translation is subtly wrong?

That's the whole point of read-back: every line is translated back into your language by a different model and checked for meaning drift, plus a deterministic check for lost placeholders and tags. We measured it — 100% recall on clear meaning errors, 0% false positives.

Do my placeholders and tags stay intact?

Yes. {name}, %s, %(count)s, ICU plurals, HTML and i18next <Trans> tags are preserved — and if the model ever drops one, read-back flags it as a fact, not a guess.

Which models power it?

DeepSeek V3 on the free tier, GPT-4o-mini on paid plans. The read-back verification is an independent pass on Gemini 2.5 Flash models, so the model that translated never grades its own work.

Do I need an account?

No. The free tier works with no sign-up (10,000 characters per file). A free API key raises that to 50,000 and unlocks the CLI, MCP and GitHub Action.