Game localization: translate your own CSV, JSON, PO or XLIFF strings into any language
Localize your game into any language from your own string files. RuneTranslate's Developer tier imports your CSV, JSON, PO (gettext) or XLIFF, translates into as many languages as you want at once — automatically, with any provider — and exports each back in the same format with ids intact. For Unity, Unreal, Godot, gettext, i18next and CAT-tool pipelines. Bring your own text, translate your whole game, drop the files straight back into your build.
You wrote your game in one language. Reaching players in the others means getting every menu label, item name and line of dialogue translated — and keeping them in sync as your game changes. If your text already lives in CSV, JSON, PO or XLIFFfiles, RuneTranslate's Developer tier turns that into a few clicks: import your strings, pick the languages, and get a translated file back for each one.
This isn't the game-ripping workflow RuneTranslate is known for. You're not extracting text from someone else's build — you already own the strings. The Developer tier is built for exactly that: bring your own text, translate it into many languages at once, and export it back in the same format.

What a Developer project is
A Developer projectis a normal RuneTranslate project whose source isn't a game folder — it's a file you export from your own game or localization pipeline. You import a .csv, .json, .po or .xliff file, and every entry in it becomes a translatable line. From there it behaves like any other project: it opens in the editor, translates with any provider, remembers your translation memoryand glossary, and exports back to the format you started from — with your keys and ids untouched, so it drops straight back into your build.
The formats it speaks — and where they come from
Four interchange formats cover almost every engine and localization stack:
- CSV— the universal spreadsheet format. Unity localization tables, Godot's translation CSVs, homemade string sheets, or anything you can export from Excel or Google Sheets.
- JSON— the format behind most web and app i18n (i18next, vue-i18n, Flutter, React Native) and countless custom engines. A clean list of
id/source/targetentries your tools can read and write. - PO (gettext)— the lingua franca of open-source and professional localization. If your project uses gettext, Weblate, Crowdin, Poedit or Transifex, you already have
.pofiles. - XLIFF— the industry CAT-tool standard (memoQ, Trados, Smartcat, OmegaT). The format professional translators and localization vendors expect.
Whichever you bring, RuneTranslate reads it into the same editable line list — so a Unity CSV, a gettext .po and an Unreal-exported .xliff all translate the exact same way.
One import, many languages
The part that saves the most time: you don't localize one language at a time. When you import your file, you pick a source language and as many target languages as you want. RuneTranslate creates one project per language — each badged Developerin your project list — from that single import.
Want your game in French, German, Spanish, Japanese, Korean and Simplified Chinese? Import once, tick six languages, and you get six projects ready to translate — no copy-pasting your source file six times.
Automatic translation, on your terms
Leave Translate automatically ticked on import and RuneTranslate queues every language project and translates them back-to-back, unattended. Pick the provider that fits your budget and quality bar:
- Free, no key— the built-in Google and DeepL engines get you a full first pass at zero cost.
- Your own API key— DeepL, OpenAI (GPT), Anthropic (Claude) or DeepSeek for context-aware, LLM-quality output at a few dollars per language.
Developer is a paid tier, so translation runs at full speed — no throttling — and you can optionally chain the AI refiner for a second quality pass on every line.
Review, refine, and keep control of quality
Machine translation gets you most of the way; the editor gets you the rest. Each language project opens in RuneTranslate's normal editor, so you can:
- Read every line side by side with the source and fix anything that's off.
- Use your glossary to lock character names, item names and UI terms to exact translations across every language.
- Let translation memory reuse past work — translate a line once and it's remembered for every project that shares it.
- Run the AI refiner to smooth tone and catch awkward phrasing.
Export back — same format, ready to ship
When a language is done, export it. You get a file in the same format you imported— CSV back to CSV, PO back to PO — with the original keys and ids preserved. Drop it into your game's locale folder and it just works. Because RuneTranslate matches lines by id first (then by source text), you can even re-import an updated source file later and only the new or changed lines need translating.
Who it's for
- Indie developers shipping in more than one language without a localization budget.
- Studios that want a fast, consistent first pass before handing off to human translators.
- Anyone with an existing pipeline— you already export
.po/.xliff/.json; this slots in between "extract" and "re-import" and does the actual translating.
How to translate your game, step by step
- Export your strings from your engine or i18n framework as CSV, JSON, PO or XLIFF.
- In RuneTranslate, open the Developer tab and click New Developer project.
- Pick your source language and every target language you want to ship.
- Choose a provider, leave Translate automatically on, and import your file.
- RuneTranslate creates one project per language and translates them all. Review each in the editor; fix names and tone with your glossary and the refiner.
- Export each language back to its file and drop it into your game.
Frequently asked questions
What file formats can I translate?
CSV, JSON, PO (gettext) and XLIFF — the formats exported by Unity, Godot, gettext, i18next and most CAT tools. You import one, translate it, and export it back in the same format.
Can I translate my game into several languages at once?
Yes. Pick a source language and any number of target languages when you import, and RuneTranslate creates one project per language and translates them all automatically.
Do I need an API key?
No. The built-in Google and DeepL engines are free and need no key. For LLM-quality output you can add your own DeepL, OpenAI, Anthropic or DeepSeek key.
Will my placeholders and format tokens survive translation?
Yes. Developer projects do not mask or rewrite your text, so tokens like {0}, %s or <b> pass straight through to the provider, which preserves them.
Does it keep my keys and ids?
Every export preserves the original ids, so the translated file drops straight back into your game. Re-importing an updated source only translates the new or changed lines, matched by id and then by source text.
Is machine translation good enough to ship?
It gets you a strong first pass. The editor then lets you review every line, lock terminology with a glossary, reuse past work with translation memory, and run an AI refiner before you ship.
What game engines does it work with?
Any engine — the interchange formats are engine-agnostic. Unity, Unreal, Godot, a custom engine, or anything with a gettext or i18n pipeline.
Pricing
The Developer tab is part of the Developertier ($20/month). It includes everything in Pro — full-speed translation, translation memory, provider routing, the glossary, the unattended batch queue and image-text OCR — plus Developer projects and a generous project limit. Every engine RuneTranslate supports is unlocked on every tier; Developer adds the bring-your-own-strings workflow on top.
Download RuneTranslate, open the Developer tab, and turn one string file into a shelf full of languages.
Ready to try RuneTranslate?
Free tier unlocks every engine + every translation provider. Supporter ($3/mo) unlocks full speed.
Download for Windows