LucasForums (
-   SCUMM (
-   -   Monkey Island SE translator (

koun 11-30-2009 05:49 PM

Monkey Island SE translation tool
This tool is intended to ease the task of translating the Monkey Island SE.

-Monkey Island SE (got mine from Steam)
-Java 1.5+ (latest Java 6 recommended)

-copy the following 3 files to a new directory:
-- "misetran.jar" (download link at the end of this post)
-- "" from "C:\Program files\Steam\steamapps\common\the secret of monkey island special edition\audio" or similar
-- "" from "C:\Program files\Steam\steamapps\common\the secret of monkey island special edition\localization" or similar
-run the following command:
java -jar misetran.jar
(add paths where necessary)

-all changes are saved immediately, so you can close the tool at any time
-to test your (partial) translation copy the 2 files back overwriting the ones in the MI-SE subdirectories (always keep backups!!!) and play the game with the first non-English language selected

the translator keeps the English text, stores your translation in place of the first non-English language and uses the other languages to store it's data

You can copy your translation over any language of an existing or using the following command:
java -cp misetran.jar Copy inFile outFile inLang outLang type
inFile: the file to copy a translation from
outFile: the file to copy a translation to
inLang: number of the language to copy from the source file (0 = english, 1-4 = the 4 translations [1 = your translation])
outLang: number of the language to overwrite in the target file (0 = English, 1-4 = the 4 translations]) [not sure if overwriting English is a good idea]
type: "speech" or "uitext" (if this is wrong the target file will be corrupted. keep backups)

this tool is released for free, but also AS IS. the translator has only been tested roughly. the copy tool is untested.


Please post feedback, questions, bug reports and so on in this thread.

LucaT 04-30-2010 09:03 AM

How it work
Hi, i'm new on the forum and i'm intersted to your utility...:thmbup1:

But i'd like to know exatly how it work.

So i can made changes in the and then use your utility to bind it to

Also, i get some errors when run command line :

Microsoft Windows XP [Versione 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Luca\Desktop\MISE>java -jar misetran.jar u
at Source)
at Source)
at FileIO.readData(
at SubsTableModel.<init>(
at Main.main(
at SubsTableModel.<init>(
at Main.main(


paprik123456 05-07-2010 01:41 PM

This is very cool!

kenand 07-10-2010 04:42 AM

Please translate tool for MISE 2
Lucas changed and Separated them.. (en. fr. etc)
Old tool do not work

koun 07-10-2010 05:30 PM

I currently do not plan to work on a translator for the new SE. For the first tool there was no feedback (except for maybe 2 people). If nobody cares to write a few lines about what he liked or didn't like about the tool, then I just don't have the motivation to spend my evenings coding a new tool. Also I remember only like one single instance of someone posting that he actually did a translation using the tool, so there doesn't seem to be much need for it. I still might look into it to see how easy i can adapt the code, but don't expect it anytime soon.

kenand 07-14-2010 12:07 PM

Dear Koun,
I wrote you, I like your great tool.
I and my friend made full Hungarian translation of Monkey Island SE
Your translation tool was great. My work was much much easier, than I used hex editor....
I would like to translate MISE 2, but my work will be much much hard without your great tool.

Dunstan 07-16-2010 04:56 AM

Yes, please, Koun, would you be so kind and modify your program to handle Monkey2SE texts, too? I promise to give you feedback, just please, please... :) I have a complete Monkey2 translation, but I can't insert it into the localization files with a hex editor, because some sentences are too long.

ronzbig1 07-19-2010 01:14 PM

I'd also like to ask you for this tool. I know we were ungrateful with feedback, but everyone hasn't much time. Without your help it would be extremely difficult to translate game.

paprik123456 07-19-2010 02:31 PM it Koun... no question.. :thmbup1:

no response about your tool, but hundreds people use it :)

TheHutt 07-27-2010 01:54 PM

I really really would appreciate a translation tool for MI2. The first one I didn't come around using, because the first SE contained 5 translations already, including the old German one. For the second one, I would like to restore the classic German translation of the DOS version which has been practically butchered for the SE release.

Dunstan 08-30-2010 09:14 AM

For those who'd like to write a translator for Mi2SE:

The's format is the following:

Byte 0-3: identifying data(?)
Byte 4-10131 index table
Byte 10131- localization data in pointer text - localization text format separated by 00 bytes.

The index table contains reversed 4 byte values (for example hex 90 27 00 00 -> hex 00 00 27 90), every value corresponds to one of the pointer texts (like MENU_PLAY_NEW_GAME) or one of the localized texts (like NOUVELLE PARTIE).
There is an offset value for every element in the index table which is i*4 where i is the element's position in the table (starting with 1). In the case of the first index of the table which points to 'MENU_PLAY_NEW_GAME' by value 00 00 27 90, the correct address would be 00 00 27 94, the second index, which is the translated text 'NOUVELLE PARTIE' 00 00 27 9F, the correct address is 00 00 27 A7.

The correct addresses of the n-th item are:

pointer text of the n-th item: (2*(n)-1)-th element of the index table+4*(2*n-1)
localized text of the n-th item: (2*n)-th element of the index table+4*(2*n)

where n starts with 1.

I hope it helps.

Dunstan 09-04-2010 09:42 AM

The format of the is the following:

byte 0-3 : identification data (?)
byte 4-279203 : index table in 32 byte records (8725 entries)
byte 279204- : localization text in pointer text - English original - translation format separated by bytes 00.

The index table's 32 byte records contain pointers to the actual speech file, and to the localization data in this file. Bytes 20-31 contain the three 4-byte reversed pointers, bytes 20-23 for the pointer text (like 'GUY_4_shore_11_1a'), bytes 24-27 for English original (like 'It doesn't seem to open.'), bytes 28-31 for the translation (like 'Ça n'a pas l'air de s'ouvrir.'). Reversed values mean, the actual value of the pointer is byte0+256*byte1+256*256*byte2+256*256*256*byte3. Pointers have an offset which is the position of the first byte in the file. So correct pointers for the n-th item are:

pointer text of the n-th item: (value from the reversed 4 bytes starting at position 4+(n-1)*32+20) + 4+(n-1)*32+20
English original of the n-th item: (value from the reversed 4 bytes starting at position 4+(n-1)*32+24) + 4+(n-1)*32+24
localized text of the n-th item: (value from the reversed 4 bytes at position 4+(n-1)*32+28) + 4+(n-1)*32+28

Where n starts with 1.

Hope it helps.

edbusana 10-07-2010 10:44 PM and

Is there any tool to easily edit these files to a translation?

dante999 10-20-2010 06:02 AM

thanks! good tool
can you edit or make font?
i try translate .. use your tool... but not work! because font
base font is not support my language

kenand 10-24-2010 10:19 AM

You should edit font, because MISE 1 and MISE 2 also use png files to fonts.
I edited font files to Hungarian language support.
Hungarian language contains some extra characters. I edited some unused characters to Hungarian. I replaced characters in and After replace MISE 2 will display proper Hungarian characters.


Hungarian version:

kenand 09-19-2012 01:07 PM

I made a tool to translate Monkey Island SE 2 file.
It support only (at now ), but later I will add

I made new version.
You may edit also. I made a bug fix. Earlier version did not put 00 byte after translated text.

kenand 09-30-2012 02:24 PM

The and files are different in XBOX than PC.
So you need different tool to edit them: and files are also supported.

Krasas 07-08-2013 04:23 PM

In case anyone's still interested for an alternative, I'm making available the source files (python 2.7 code) and a binary version for the translation tools we used for the greek translation of MI:SE (completed) and MI2:SE (translation is work in progress).

The source files are in a git-hub repository here:

The most recent zipped package (with a binary executable) is here* (compressed with 7-zip; just un-zip to a folder and run the MISEDialogTranslate.exe):

The code is not as well written nor as organised as I'd like, but it does the job; well, at least it did for the greek translation :)
I have used the PyQt4 v4.9.2 and Python Imaging Library (PIL) libraries for Python 2.7, so you'll need to install those if you want to edit the code and run it with python.

The translation tools are aimed for the PC (Steam) versions of the MI:SE and MI2:SE (I haven't tested with the XBOX or other versions).
Note that they are mostly intented for translation teams that need to extend the font files in order to add support for (multiple) non-latin characters of their native language, while maintaining the latin characters used in-game in the original English translation)

The tools support the translation of the,, *.hints.csv and credits.xml files.
The French language texts in the original game will be replaced with the new translation.
The main application (MISEDialogTranslate) is used to translate the dialogue text, ui text, hints and credits. From the "Tools" menu section you can launch the "Fonts Mod tool", that is used to extend the font files, and also the "Repacking tool", that can be used to recreate a valid .pak file containing the custom translation (in case you want to use that to ultimately create a binary patch). I have included some basic documentation in the readme.txt, though perhaps more details are required for the usage of some of the functionalities.

*. For the creation of the binary, I have used pyinstaller 2.x . Although the executable contains no malware, some antivirus -for example Avast!, may display warnings such as "The file prevalance is low" and run the application in sandbox mode (if you have enabled this in avast!) until you verify that you want to "continue the execution". I don't know how I can prevent this from my side (any ideas are welcome), but in any case, since the source files are availble, you can skip running the executable and try the source files directly.

The tools were tested in Windows 7. They should run in Linux distibutions too (at some point I had tested them in multiple Ubuntu installations -though not the most recent versions).

The translation tool is provided as is, and is considered to be a beta version. As I said, it works fine for the purposes of the greek translation, and I have tried to facilitate the capability to use other encodings (the default is the greek: windows-1253), but I have not tested this.

I intent to work on the code further so as to add some extra or missing functionalities, and organize it better, but I have no timeschedule for this and I have quite limited free time, so I make no promises.

bgbennyboy 10-01-2013 12:52 PM

Thanks for making it open source Krasas. I've just had a quick look through - it will certainly be useful to other translators - good work!

All times are GMT -4. The time now is 09:53 PM.

Powered by vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
LFNetwork, LLC ©2002-2015 - All rights reserved.