Skip to content

Instantly share code, notes, and snippets.

@runlevel5
Created January 30, 2026 11:43
Show Gist options
  • Select an option

  • Save runlevel5/f86fe3910eb1dfd48f4799412a7eaeed to your computer and use it in GitHub Desktop.

Select an option

Save runlevel5/f86fe3910eb1dfd48f4799412a7eaeed to your computer and use it in GitHub Desktop.

Great choice! Monkey Island 1 (The Secret of Monkey Island) uses the SCUMM engine (v5) and has well-established tooling. The Talkie CD version adds voice acting, which you'd keep while translating text. Overview You'll need to:

  1. Extract text strings from game data
  2. Translate to Vietnamese
  3. Create/modify fonts to support Vietnamese characters
  4. Repack the game data
  5. Test with ScummVM Tools You'll Need | Tool | Purpose | |------|---------| | ScummTR | Extract/inject text strings | | ScummRP | Extract/repack game resources | | ScummFont | Extract/modify bitmap fonts | | Hex editor | For advanced fixes | | Image editor (GIMP) | Edit font bitmaps | Get ScummTR/ScummRP from: https://github.com/dwatteau/scern Step-by-Step Process
  6. Backup Original Files mkdir ~/monkey1-backup cp -r /path/to/monkey1/*.{000,001,lfl,LEC} ~/monkey1-backup/ The key files are typically:
  • MONKEY.000, MONKEY.001 (or similar) - main data files
  • MONKEY.LFL - resource index
  1. Extract Text Strings

Identify the game variant first

scummtr -g monkey1 -p /path/to/game -l

Export all strings to a text file

scummtr -g monkey1 -p /path/to/game -o monkey1_strings.txt This creates a file with all in-game text like:

Room 1, Script 200, Local 15

Look at that ship!

Room 1, Script 200, Local 16

I want to be a pirate! 3. Translate the Text Edit monkey1_strings.txt:

Room 1, Script 200, Local 16

Tôi muốn trở thành cướp biển! Important considerations:

  • Keep the comment lines (starting with #) unchanged
  • Watch for string length - some have hard limits
  • Preserve any special formatting codes (e.g., \n, \xFF)
  1. Handle Vietnamese Fonts (The Hard Part) SCUMM games use bitmap fonts stored in the game data. The original fonts don't have Vietnamese characters. Option A: Modify Existing Font

Extract fonts

scummrp -g monkey1 -p /path/to/game -o resources/

Fonts are CHAR_* resources - convert to editable images

Edit in GIMP to add Vietnamese glyphs

Repack

Option B: Character Substitution (Easier but Limited) Map Vietnamese characters to unused slots in the character set. Create a mapping like:

Vietnamese Maps to (hex)
ă 0x80
â 0x81
đ 0x82
... ...
Then modify your translation to use these codes and edit the font bitmap to show the correct glyphs at those positions.
Option C: Use ScummVM's Font Override
ScummVM has some support for GUI font replacement. Check:
scummvm --help
Look for font-related options, though this may not affect in-game text.
  1. Vietnamese Character Challenges Vietnamese needs:
  • Base vowels: a, ă, â, e, ê, i, o, ô, ơ, u, ư, y
  • Consonant: đ
  • 5 tone marks that combine with vowels You'll likely need to use precomposed characters (ầ, ấ, ẩ, etc.) rather than combining marks, as SCUMM doesn't support Unicode combining characters. Total characters needed: ~130+ Vietnamese-specific glyphs
  1. Inject Translated Text scummtr -g monkey1 -p /path/to/game -i monkey1_strings_vi.txt
  2. Repack Resources (if fonts modified) scummrp -g monkey1 -p /path/to/game -i resources/
  3. Test with ScummVM scummvm --path=/path/to/game monkey1 Test thoroughly:
  • All dialogues
  • Inventory item names
  • Verb interface (Open, Close, Pick up, etc.)
  • Signs and readable objects Practical Recommendations
  1. Start with the verb interface - Translate the 12 verbs first as a proof of concept
  2. Font work is 60% of the effort - Get Vietnamese fonts working before translating everything
  3. Join ScummVM Discord/Forums - The community has experience with translations
  4. Look at existing translations - Spanish, German, French translations exist; study their approach
  5. Consider a subset first - Maybe start with just the demo version Existing Resources Check if partial work exists:
  • ScummVM forums: https://forums.scummvm.org/
  • GitHub searches for "monkey island translation"
  • Vietnamese gaming communities Would you like me to dive deeper into any specific step, particularly the font creation process?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment