Skip to content

Product reference · Godot

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, never res://uid paths.
  • GDScript: calls to tr(), tr_n() and TranslationServer.translate() only. Plain string literals and paths stay out on purpose.
  • JSON databases with locale variants: fb.json plus fb_ja.json become 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

  • .pck archives: a configured GDRE build unpacks the archive into a folder you own, and every text surface above continues from there.
  • Binary .res/.scn and .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_choice are 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, .res or .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