Including I6 translation in I7

Hi everyone,

Recently I started experimenting with Inform 7 on Linux. Next to writing english IF, I would like to try making something in Dutch. For Inform 6 there are two translation files called Dutch.h and GrammarD.h.

For Inform 7, I have tried to include these files by concatenating them into one file in between the ‘Include’ statement. This makes the file look like this:

[code]Version 1/140904 of Dutch by Yuri Robbers begins here.

Include (-

…the dutch concatenated files contents…

-).

Dutch ends here.[/code]

When I try to compile this in Inform 7, however, I get this message:

[code]Translating the Source - Failed
The application ran your source text through the Inform 7 compiler, as usual, and it found no problems translating the source. Something must have gone wrong all the same, because the second stage of the process - using the Inform 6 compiler to turn this translated source into a viable story file - turned up errors. This should not happen. The errors are written out on the Progress tab, but will only make sense to experienced Inform 6 users (if even to them).

The best option now is probably to reword whatever was last changed and to try again. Subsequent attempts will not be affected by the failure of this one, so there is nothing to be gained by restarting the application or the computer. A failed run should never damage the source text, so your work cannot be lost.

If you are using Inform 6 inclusions, these are the most likely culprits. You might be using these without realising it if you are including an extension which contains Inform 6 inclusions in order to work its magic: so if the problem only seems to occur when a particular extension is in use, then that is probably what is at fault, and you should contact the extension’s author directly.

If not, then most likely the Inform 7 compiler is at fault. Please check that you have the currently distributed build of the system: if you have, please consider taking the time to fill out a bug report at the Inform bug tracker (www.inform7.com/bugs).

Sorry for the inconvenience.[/code]

How can I include a translation for Inform 6 in Inform 7? Even though this I6 dutch translation may not be complete, it may be useful, and I would like to try it out.

Sorry, but there’s no way to include I6 translation libraries in I7, not even partially. The underlying structure is too different for it to work.

Even though I7 code is compiled down to I6, which is then compiled down to Glulx? I do not understand why it is not possible to use I6 code, if I6 is what is used to compile the story to bytecode.

Because the translation is for the library, not for I6 or Glulx specifically, and the libraries are different. If you look inside Dutch.h you’ll probably see definitions for a bunch of constants and functions; even if you could get it included inside an I7 project it wouldn’t do any good because for the most part the I7 library doesn’t use those same constants and functions.