Translate

Translate your app's language files

46 languages, every line checked by translating it back.

Try a sample file

Free, no account · $79 once for Lifetime

Already translated? Find missing keys and broken placeholders, offline:

npx kaeris check --source en.json --langs de,fr

25 of 27 planted meaning errors caught in our public test. How we tested

Have a KAERIS key? Enter it

kaeris-en.json en → de
pay.method.bankThe meaning changed
Source · enBank
Translation · deFlussufer
Translated back · enriver bank

The same example as in the demo below. See a whole file checked

  • 13 formats

    JSON, .po, XLIFF, .strings and 9 more. Same keys, same order.

  • CLI and CI

    Free, in CI or on your machine. No account, nothing sent.

  • Your OpenRouter key

    With Lifetime you pay the model's price, no markup from us.

Looks right, means something else

A second model translates each line back. Here “Bank” became a riverbank.

Try:
Your string Bank
Deutsch Flussufer
Translated back · en river bank

The meaning changed

With context "fintech" Konto

Ready files and a short list to review

Matching lines are done. Flagged lines are listed first, with the reason.

de.json fr.json ja.json
3 match 2 to look at
Example: de.json from a shop app
KeyEnglishDeutsch, and backCheck
billing.statement Statement Aussagetestimony Meaning changed
settings.save Save changes Änderungen speichernsave changes 67% longer, may not fit
cart.count {count} items in your cart {count} Artikel im Warenkorb{count} items in the cart Matches
greeting Welcome back, {name} Willkommen zurück, {name}welcome back, {name} Matches
checkout.pay Pay now Jetzt bezahlenpay now Matches

The de.json you download

{
  "billing": { "statement": "Kontoauszug" },
  "cart": {
    "count": "{count} Artikel im Warenkorb"
  },
  "greeting": "Willkommen zurück, {name}",
  …
}

translations.zip · one file per language

What you can check yourself

25 / 27

planted meaning errors caught in each of two runs of our own test on 30 Oct 2026, on production models; 2.1% of normal lines were flagged. When the witness model is rate-limited, lines are reported as unchecked. Method, sample and limits are published.

Method and limits

kaeris check

finds broken placeholders and missing keys in your own file: free, no account, no key. CLI on npm and PyPI, GitHub Action on the Marketplace.

Check a file

2026-10-30

Four competitors' plans and prices side by side, with the date checked and a link to each pricing page.

Why KAERIS

Pricing

Lifetime is one payment, not a subscription.

Free

$0

  • 10,000 characters per file (50,000 with a free API key)
  • 1.5M characters a month with a free key; 300,000 a day without one
  • Up to 8 of the 46 languages per run
  • Same GPT-6 Luna as paid plans

Lifetime

$79 once

  • 1,000,000 characters per file, no monthly volume limit
  • All 46 languages in one run
  • Choose the AI model, also per language (--model)
  • Your own OpenRouter key: create one free at openrouter.ai. You pay OpenRouter for the model, separately from the $79.

Pro

$19 /month

  • 100,000 characters per file
  • 12M characters / month≈ 2M words, all target languages combined
  • All 46 languages in one run
  • Same GPT-6 Luna as paid plans

Team/API

$79 /month

  • 1,000,000 characters per file
  • 60M characters / month≈ 10M words, all target languages combined
  • All 46 languages in one run
  • Same GPT-6 Luna as paid plans

All plans · How to cancel · Refund within 14 days if the key is unused

A tool for one file, not a platform for a team

Lokalise and Crowdin are where translators work together. KAERIS translates and checks the file you already have. What that means in practice:

KAERIS compared with Lokalise and Crowdin
WhatKAERISLokalise, Crowdin
First translation KAERISDrop a file. No account. Lokalise, CrowdinSign up and set up a project first.
Price KAERISFree to try. Lifetime $79 once on your own OpenRouter key, or Pro $19 a month for 12M characters. Lokalise, CrowdinLokalise starts at $149 a month on annual billing.
Checking every line KAERISA second model translates it back. Variables and tags are counted. Lokalise, CrowdinQA checks, and review by your translators.
Web editor, roles, review workflow KAERISNo Lokalise, CrowdinYes
Figma and CMS sync KAERISNo Lokalise, CrowdinYes

Lokalise price read on their site on 27 Oct 2026; prices change and theirs is the authority. KAERIS and Lokalise in detail

Works with the file you already have

13 formats. The file comes back in the same format, keys and order.

Free tools

No account, no AI, same result every run.

Check translations

Empty and missing lines, broken {name} variables, changed numbers, lost tags.

In the terminal and CI: kaeris check --source en.json --langs de,fr

Convert formats

en.json → en.po

Pseudo-localization

[!! Šàvé çħàñĝéš !!]

Questions

What happens to my file?

We translate it and delete it within 2 hours. KAERIS trains no models and runs none: the text goes through OpenRouter to the model provider, under their policy. With Lifetime it goes through your own key. Security details

Will {name}, %s and HTML tags survive?

They are checked, not promised. After translation a plain counting check, with no AI, compares every variable and tag in each line with the original. If one is missing, the line is marked and shown on top, so nothing goes missing silently. The count does not judge whether a tag still wraps the right words, so glance over lines with markup.

How good is the back-translation check?

It catches changes of meaning a reader would notice: a lost negation, a wrong number, an opposite action. It is not a human review. Our own test was small and was run with an earlier translation model than today’s; the benchmark page shows the method and its limits. Read the benchmark

Which model translates?

GPT-6 Luna, on the free and paid plans alike. A different model, Gemini 2.5 Flash-Lite, translates each line back, and DeepSeek V3.2 on US hosts (DeepInfra, DigitalOcean, Google) judges whether the meaning changed. No model grades its own work.

Why does Lifetime need my own OpenRouter key?

So you pay for the model at the provider's price, with no monthly fee to us. OpenRouter sells access to many AI models with one key, and you top it up yourself. Get a key