Godot Engine Support
Guide to translating Godot 3.x and 4.x games with Mafkers.
Supported Versions
| Version | Status | Notes |
|---|---|---|
| Godot 3.0-3.6 | ⚠️ Conditional | Only if source CSV is shipped in .pck |
| Godot 4.0 | ✅ Supported | Gettext .po/.pot native support |
| Godot 4.1 | ✅ Supported | |
| Godot 4.2 | ✅ Supported | |
| Godot 4.3 | ✅ Supported | |
| Godot 4.4 | ✅ Supported | |
| Godot 4.5 | ✅ Supported | |
| Godot 4.6 | ✅ Supported | Latest |
How Mafkers Detects Godot
.pckfile with magicGDPCin header- Executable contains “Godot Engine” string
Where Strings Are Stored
Godot 4.x (Gettext - RECOMMENDED)
Godot 4.x supports native gettext format:
.po/.pot- translation source (text, AI-friendly).mo- compiled gettext (binary)
Mafkers parses .po files directly - very reliable.
# Example .po file
msgid "Hello, world!"
msgstr "Halo, dunia!"
msgid "Press any key to continue"
msgstr "Tekan tombol apa saja untuk melanjutkan"Godot 3.x (CSV → OptimizedTranslation - PROBLEMATIC)
Godot 3.x compiles CSV to binary .translation (OptimizedTranslation):
“This class does not store the untranslated strings for optimization purposes.”
Key is NOT recoverable from binary .translation.
Mafkers supports Godot 3.x ONLY IF source CSV is shipped in .pck.
Key not recoverable
If game only ships .translation (binary OptimizedTranslation) without source CSV, Mafkers CANNOT translate this game. Workaround: Use gdsdecomp to decompile the .pck and look for source CSV.
Inline Strings (.tscn/.tres/.gd)
Both Godot 3.x and 4.x store inline strings in text-based scene/resource files:
.tscn- Text SCeNe (human-readable).tres- Text RESource (human-readable).gd- GDScript (Python-like)
Mafkers extracts text = "..." patterns from these files.
Tools Used
- godotpcktool (MIT) - pack/unpack
.pckfiles - godot_parser (MIT, Python) - parse
.tscn/.tres - gdsdecomp (MIT) - full project recovery (on-demand install)
Common Issues
“Key not recoverable” (Godot 3.x)
If game only ships .translation (binary OptimizedTranslation) without source CSV:
- Mafkers CANNOT translate this game
- Workaround: Use
gdsdecompto decompile the.pckand look for source CSV
.pck Encrypted
Some Godot games encrypt .pck with --encrypt flag. Mafkers can recover the encryption key from the executable using gdsdecomp.
# gdsdecomp usage
gdsdecomp --extract-pck game.pck --output extracted/