Hookleft.pngChapter 27: ExtensionsHookup.pngHookright.png

§27.27. Translating the language of play

The "language of play" is the natural language used to communicate with the player at run-time: this is normally English.

That means that it is difficult to write, say, Spanish-language IF using Inform 7, though heroic work by the Spanish IF community has overcome this. Inform 6 provided for translation by isolating its linguistic code in a part of the I6 library called the "language definition file", which was normally "English.h". Translations were gradually made to most major European languages, resulting in alternative language definition files called "French.h", "Italian.h" and so on. Full details on how to write a language definition file were given in the Translations chapter of the DM4, that is, the fourth edition of the Inform 6 Designer's Manual.

In I7 the system is different. We use the template, not a library. Instead of providing a language definition file such as "French.h", a translator should create an extension called something like "French by Jacques Mensonge". (The language should be named in English, so "French by ...", not "Français by ...") This extension should then contain the same material as an I6 language definition file, but put in place using template hacking (see the previous section). As an example, the extension "English by David Fisher" is supplied with I7: using it has no effect because the language of play is already English, of course, so it is provided only as a model to copy.

Translators will find that there are now more numbered messages than in I6, because the template includes messages which did not exist in the I6 library.

(All of this is very much a work in progress. The authors of Inform hope to make translations easier in future builds: the features introduced in April 2008 are only a start.)


PreviousContentsNext