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)
-- "speech.info" from "C:\Program files\Steam\steamapps\common\the secret of monkey island special edition\audio" or similar
-- "uiText.info" 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 speech.info uiText.info
(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 speech.info or uiText.info 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.
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 speech.info and then use your utility to bind it to uiText.info?
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 speech.info u
at java.io.RandomAccessFile.readFully(Unknown Source)
at java.io.RandomAccessFile.readFully(Unknown Source)
This is very cool!
Please translate tool for MISE 2
Lucas changed speech.info and uitext.info. Separated them.. (en. fr. etc)
Old tool do not work
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.
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.
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.
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.
..do it Koun... no question.. :thmbup1:
no response about your tool, but hundreds people use it :)
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.
For those who'd like to write a translator for Mi2SE:
The fr.uitext.info'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.
The format of the fr.speech.info 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.
SPEECH.info and uiTEXT.info
Is there any tool to easily edit these files to a translation?
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
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 uitext.info and speech.info. After replace MISE 2 will display proper Hungarian characters.
I made a tool to translate Monkey Island SE 2 speech.info file.
It support speech.info only (at now ), but later I will add uitext.info
I made new version.
You may edit uitext.info also. I made a bug fix. Earlier version did not put 00 byte after translated text.
The speech.info and uitext.info files are different in XBOX than PC.
So you need different tool to edit them:
UItext.info and speech.info files are also supported.
|All times are GMT -4. The time now is 09:54 AM.|
Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
LFNetwork, LLC ©2002-2011 - All rights reserved.