Godot, read as it ships
A Godot project keeps its text in very different places: CSV tables, PO catalogues, scene properties, scripts, JSON databases, and — in some games — a custom binary story format. Each one is read as its own surface, never as “some strings in a folder”.
Read directly
- CSV localization tables: first column keys, one column per locale,
_comment rows. - Gettext PO and POT catalogues, including plural forms, translator comments and source references.
- Text scenes (
.tscn) and resources (.tres): user-facing properties only, neverres://uidpaths. - GDScript: calls to
tr(),tr_n()andTranslationServer.translate()only. Plain string literals and paths stay out on purpose. - JSON databases with locale variants:
fb.jsonplusfb_ja.jsonbecome one entry with its variants attached, not two unrelated strings. - Until Then story dialogue (
.inkb) natively: speaker lines, thoughts, beats and inline commands, with the previous speaker inherited on continuation lines.
Needs a tool you configure
.pckarchives: a configured GDRE build unpacks the archive into a folder you own, and every text surface above continues from there.- Binary
.res/.scnand.gdc: converted to text on a copy, then parsed. The original file is never rewritten.
Known limits
OptimizedTranslation(.translation): the values are recoverable, the keys are one-way hashes and are genuinely absent from the file.- Choices behind
$ ftb.request_player_choiceare structurally ambiguous between narration and internals, so they are reported as a boundary instead of invented as options. - A project that ships fully compiled, with no readable source text, produces a clear “nothing translatable found” result instead of a guess.
Never touched
- Nothing is written back into a
.pck,.resor.scn. Extraction is read-only, and the archive checksum is verified again after a run.
Statuses come from the project’s tested compatibility record. Every “read directly” line was validated against real game files or fixtures; partial support is written as partial, and an external tool is named as a tool you configure yourself.
Open a file in the browser editorGame archives are read by the Windows build, where the archive tools run on your machine.Windows app
