Translate your game's localization CSV without breaking a single {0}
Upload one CSV — keys, en, de, ja… — and get back the same CSV with every target-language column filled in, ready for Godot's Localization tab or a Unity string table import. {0}/{1} format placeholders never move.
Upload your locale CSV
Export the sheet you already use for Godot's Translations resource or Unity's string table, or run kaeris translate translations/strings.csv --langs de,ja,pt-BR.
Pick target locales
46 languages, added as new columns next to your source column — nothing else in the sheet moves.
Ship
Import the CSV back into Godot's Localization tab, or drag it onto a Unity String Table Collection.
Before → after
keys,en WELCOME,"Welcome back, {0}!" ITEMS_LEFT,"{0} items left in stock" SAVE,Save changes
keys,en,de,ja WELCOME,"Welcome back, {0}!","Willkommen zurück, {0}!","おかえりなさい、{0}さん!" ITEMS_LEFT,"{0} items left in stock","Noch {0} Artikel auf Lager","在庫残り{0}点" SAVE,Save changes,Änderungen speichern,変更を保存
KAERIS keeps your keys column and source en column untouched and appends one new column per target locale — the exact shape Godot's CSV import and Unity's table CSV export/import both expect. {0}-style string.Format/tr() placeholders are protected the same way as every other format KAERIS supports.
{0}/{1} placeholder-safe
Numbered format placeholders used by String.Format (Unity/C#) and tr()/String.format (Godot/GDScript) are never dropped or reordered.
Single-file, multi-locale
One CSV in, one CSV out — keys, en, de, ja, … — no per-language files to juggle across a big narrative script.
Engine-agnostic
The same key + locale-columns shape works for Godot's Translation resource, Unity's Localization package tables, or a hand-rolled I2 Localization sheet.
One CLI command
kaeris translate translations/strings.csv --langs de,ja,pt-BR — run it every time a writer adds new lines.
{0}/{1} is never dropped or mistranslated.Ship your game in every market
46 languages, {0}-safe, one CSV in and out. Free to start, no account required.
$ pip install kaeris $ kaeris translate translations/strings.csv --langs de,ja,pt-BR