Home / Localization / Game Localization Manager

Game Localization Manager

Drop your translation CSV or JSON files, or start from the sample. Every key becomes a row and every language a column, with a progress bar per language. Checks flag missing text, broken placeholders like {0} or %s, text that is too long for its box and lines that were never translated. Add a pseudo language to test your UI before real translations arrive. Export a CSV and Godot's translation CSV for free. Pro exports JSON, Android strings.xml, iOS Localizable.strings, a Unity loader script, translator sheets and the character lists you need for fonts.

Drop CSV, TSV or JSON files
One CSV with a column per language, or one JSON per language like en.json and ko.json

Nothing loaded yet. Load the sample to see how it works.

Each language shows how much is translated.

Pro · One ZIP with JSON per language, Android strings.xml folders, iOS Localizable.strings folders, Godot CSV, and a Unity script that loads the CSV and switches language at runtime. Translator sheets give each translator one file with the source text, context, length limit and only the lines that are missing. Character lists contain every letter each language uses, for TextMesh Pro or bitmap font atlases. See plans

What this tool does

Localization goes wrong in small ways. A translator drops the {0} in "You found {0} coins", a German line is twice as long as the button, a new key is added in English and forgotten in Japanese. This tool keeps every language in one table and checks every cell. Red means it will break your game, yellow means someone should look at it, and a dashed cell is still missing.

What the checks look for

Placeholders: every {name}, {0}, %s, %d, %1$s, rich text tag like <b> or [color], and \n line break in the source must also be in the translation. Length: put a number in a key's max box, such as the characters that fit on a button, and longer translations turn red. Without a limit, a line more than 60% longer than the source turns yellow. Untranslated: a line that is exactly the same as the source. Spaces: extra spaces at the start or end. Keys: empty or duplicate keys.

Pseudo localization

Before real translations come in, add the pseudo language. It turns "Start game" into "[Šţåŕţ ĝåɱé ~~~]", about 40% longer, with accents and brackets. Switch your game to it and you will see text that overflows, text that is hard-coded and never translated, and fonts that are missing accented letters.

Formats

Godot reads a CSV with a keys column and one column per locale, and makes .translation files on import. Unity can load the same CSV with the included script, or you can import it into the Localization package. Android wants res/values-ko/strings.xml and iOS wants ko.lproj/Localizable.strings, both made for every language. JSON files per language work with i18next, web games and most custom loaders.

Is my text uploaded?

No. Everything stays in your browser. Your table is saved on this device so you can close the tab and come back.