That is excellent news! Unfortunately it is not as easy as just 'translate text'. I'll have to tweak my compiler to support any extra characters (such as ç and map them to the game charset, probably creating new symbols.
It would be a good start trying to figure out which symbols will be needed and where in the charset they can be put. The character set is in the repository
http://miniserve.defence-force.org/svn/ ... rces/data/
There is not much room left!
There are other things to take into account.
1- First the list of verbs (actions) as they should appear in French. Unfortunately the command location cannot be changed, and the translation must not occupy more columns in total than the original English version.
2- All text in the game (except for a few exceptions) are enclosed in the resources (*.os files in the script folder). Language support is easily done with pre-processor directives. Look at this example:
Code: Select all
// Stringpack with the introduction sentences
stringpack 200{
#ifdef ENGLISH
"I have a meeting with Ravella.";
"She has some information...";
#endif
#ifdef SPANISH
"Tengo una cita con Ravella.";
"Dice que tiene información...";
#endif
}
Translation is a matter of adding a FRENCH section, this way:
Code: Select all
#ifdef FRENCH
"bla bla bla.";
"bla bla bla.";
#endif
The language used is changed in the language.h file, so issuing a #define FRENCH and commenting out the other options would create a French version of the game.
3- Other files also contain text, such as the object properties (names) in files obj_blake.s obj_ep1.s and obj_ep2.s in the resources folder, and in all the room resources, where all the objects in the room are defined. Maybe looking for all files containing #ifdef ENGLISH would be a nice idea to have a full list of where to look.
4- Formatting is a bit cumbersome. Text is not cut by the engine to make it fit in the upper line: this is hardcoded in the strings. That means they cannot exceed 39 characters. Some texts have codes (colors) and extra spaces, and it is necessary to respect them. Also strings are identified by entry number, so, although text can be altered, the number of strings for a message must be preserved. For example, imagine a description spoken in three different sentences. A translation may want to use only two, or maybe, need four. That cannot be done.
5- I can't remember now if I am using ANSI or UTF-8 for the text encoding, but in any case that format must be respected, as the compiler is not able to auto detect it... yeah, lazy me
So, if anybody wants to try, first the additional needed characters, then the verbs (verbs, other additional strings, prepositions, etc are stored here
http://miniserve.defence-force.org/svn/ ... s/tables.s but I'd swear there were other strings around the sources...), then get the resource files (mainly the *.os scripts) and start adding translations one by one... and there are A LOT of them.
It is not an easy work. I did it for the Spanish version and it was tiresome indeed!