Rails i18n
Rails · I18n YAML · 46 languages · Free

Translate config/locales/en.yml without breaking a single %{name}

Upload config/locales/en.yml, pick locales, and get back de.yml, uk.yml… — %{name} interpolation and nested one/other pluralization keys translated in place, same shape the I18n gem expects.

Translate your locale file → $ pip install kaeris
%{name} interpolation preserved one/other/zero pluralization keys kept Locale-rooted YAML (en: ...) auto-detected Real YAML out, no reshaping No account needed
Localize your Rails app in 3 steps
1

Upload en.yml

Drop config/locales/en.yml in, or run kaeris translate config/locales/en.yml --langs de,fr,ru.

2

Pick target locales

46 languages — KAERIS detects the single en: root key and re-roots each output under its own locale code.

3

Ship

Drop de.yml into config/locales/ and add :de to available_locales.

Real Rails-shaped YAML, root key and all

Before → after

config/locales/en.yml
en:
  welcome: "Welcome back, %{name}!"
  cart:
    zero: "Your cart is empty"
    one: "%{count} item in your cart"
    other: "%{count} items in your cart"
  save: "Save changes"
config/locales/de.yml
de:
  welcome: "Willkommen zurück, %{name}!"
  cart:
    zero: "Dein Warenkorb ist leer"
    one: "%{count} Artikel im Warenkorb"
    other: "%{count} Artikel im Warenkorb"
  save: "Änderungen speichern"

Rails detects a single 2-letter root key (en:) and nests everything underneath — KAERIS recognizes that shape automatically and re-roots the translated tree under each target's own code. Since Rails pluralization is just nested zero/one/other keys, KAERIS translates whichever categories you already have; add few/many to your source first if a Slavic target locale's I18n backend expects them.

Built for Rails I18n

%{name} interpolation preserved

Ruby-style %{name} placeholders are never dropped, renamed or mistranslated.

Pluralization keys kept

zero/one/other nested under a key are each translated on their own — no collapsing into a single string.

Locale-rooted YAML aware

Recognizes Rails' en:-rooted convention and rewrites the root key per target locale automatically.

One CLI command

kaeris translate config/locales/en.yml --langs de,fr,ru — wire it into a Rake task or CI job.

Why KAERIS
Placeholder-safe%{name} is never dropped or mistranslated.
Format-native — real locale-rooted YAML out, not a flattened wrapper you have to reshape.
Verify-meaning QA — every string is back-translated to catch meaning drift before you ship.
No account needed — drag & drop free up to 10,000 characters, or use the CLI/API.

Ship your Rails app in every market

46 languages, %{name}-safe, I18n-native. Free to start, no account required.

$ pip install kaeris
$ kaeris translate config/locales/en.yml --langs de,fr,ru
Translate your locale files now →