Super Mario Bros 3 in French

I have translated several video games: my games, games from other independent authors, or even classic games! Back in 2011, I contributed to improving the translation of Mortville Manor for; more recently, I translated Super Mario Bros. 3 so that my children can play it in French!

If you need a translation for your video game, and in particular your interactive fiction, go ahead and hire me! I have some experience in the field, and I even created new tools; furthermore, I’m familiar with the technical constraints that a translator may have to deal with, like limitations on the number of characters or having to adapt the parser.

Translated games

From English to French

I translated a few games in English to French, to give them a francophone audience, but also to have one more good game in French!

Super Mario Bros 3, a Romhack of this classic NES game to translate it into French (thank you Wave for the technical part). I don’t mean to brag, but it’s probably the most advanced translation of the game: I changed a few lines so they’re closer to the original Japanese (including the terrible “joke” at the end of the game…), and reversed the order of Peach’s (yes, Peach, not Toadstool) letters number 2 and 3, which were swapped from the original Japanese. I made this translation for my children, but in the end it was downloaded hundreds of times !

Le butin du Capitaine Verdeterre (Captain Verdeterre’s Plunder), by Ryan Veeder. Save whatever you can from your ship before it sinks — that’s an order from your captain, who also happens to be a rat. (Play online.)
This game placed 4th at the 2013 IFComp, and Ryan chose the prize I offered, which was a translation in French. The source code is also available, and features many comments (from Ryan and I) in English on the translation.

Ombre (Shade), by Andrew Plotkin. Get ready to leave for a mystical festival, but strange things happen… (Play online.)
This game is a classic in the English community; the French translation was written with MonsieurBouc. The source code is also available.

From French to English

I have translated some of my games from French to English, partly to give them a broader audience. These translations are also mentioned on the page of my games.

Gossip (2009), which placed 2nd at the 2009 Introcomp. This introduction was developed both in French and English at the same time. The Introcomp version had a major bug (the waiter giving clues did not work) which prevented people from reaching the end; this bug had been introduced during the translation (a bad copy-and-paste), which led me to start developing the translation tools below.

Life on Mars? (2015), which placed 13th at the 2015 IFComp. The translation was done more than a year after the French version (which won the 2014 French Comp), which allowed me to fix a few bugs and improve the game. I used my script for this translation, which enabled me to fix bugs in both
versions at the same time.

Translation tools

I wrote Python scripts to help translating interactive fiction.

The idea of these scripts is to extract the text (the strings) from the game’s source code, translate them all, then put them back in the game. This way the code is not changed; of course, there are still some things to adapt, but at least you’re not risking introducing bugs in the code by mistake while translating. (That’s what happened to me in 2009 with Gossip, without realizing before the games are public — that was pretty traumatizing!)

A side effect is that translating interactive fiction is then feasible for everybody, without having to look into the code too much!

These scripts exist for Inform 6 and Inform 7 (for which you need the source code) and for Twine (for which you only need the html file). The format of the output of these scripts is the .po format, a format widely used in the world of internationalization. I have used the Inform 6 script several times (for Ombre and for Life on Mars?) but not the others.

You can find them on Bitbucket; the documentation is commented out at the beginning of each script. Feel free to give me feedback or suggestions to improve these tools!