Problem with Italian Language on Inform7(6M62) and ubuntu

Hello everyone !

I’ve a big problem with the Italian Language extension (is the last version and I’ve the last of Text Capture ).

When I try to compile and run the story in Inform7 (vr 6M62) on Ubuntu 17.04 64bit, the report show my this problem:

In Volume 1 - Settings in the extension Italian Language by Massimo Stella:

Problem. The sentence ‘The grammatical gender of an object is usually masculine gender’ appears to say two things are the same - I am reading ‘grammatical gender of an object’ and ‘masculine gender’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Tarzan is Jane’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Treehouse is a lighted room’ says that something called Treehouse exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Problem. The sentence ‘The grammatical gender of a woman is usually feminine gender’ appears to say two things are the same - I am reading ‘grammatical gender of a woman’ and ‘feminine gender’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Tarzan is Jane’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Treehouse is a lighted room’ says that something called Treehouse exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Problem. The sentence ‘The grammatical gender of a man is usually masculine gender’ appears to say two things are the same - I am reading ‘grammatical gender of a man’ and ‘masculine gender’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Tarzan is Jane’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Treehouse is a lighted room’ says that something called Treehouse exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Problem. The sentence ‘The past historic tense is a grammatical tense’ appears to say two things are the same - I am reading ‘past historic tense’ and ‘grammatical tense’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Tarzan is Jane’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Treehouse is a lighted room’ says that something called Treehouse exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

In Section 1 - Grammatical definitions in the extension English Language by Graham Nelson:

Problem. You wrote '‘A grammatical tense is a kind of value’ ', but that seems to say that some room or thing already created (‘grammatical tense’, created by '‘The past historic tense is a grammatical tense’ ') is now to become a kind. To prevent a variety of possible misunderstandings, this is not allowed: when a kind is created, the name given has to be a name not so far used. (Sometimes this happens due to confusion between names. For instance, if a room called ‘Marble archway’ exists, then Inform reads ‘An archway is a kind of thing’, Inform will read ‘archway’ as a reference to the existing room, not as a new name. To solve this, put the sentences the other way round.)

Problem. The sentence ‘The grammatical tenses are present tense, past tense, perfect tense, past perfect tense and future tense’ appears to say two things are the same - I am reading ‘grammatical tenses’ and ‘present tense’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Tarzan is Jane’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Treehouse is a lighted room’ says that something called Treehouse exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Problem. In order to act on ‘The narrative viewpoints are first person singular, second person singular, third person singular, first person plural, second person plural, and third person plural’ , I seem to need to give a new meaning to ‘second person singular’, something which was created by the earlier sentence ‘The adaptive text viewpoint of the Italian language is second person singular’ . That must be wrong somehow: I’m guessing that there is an accidental clash of names. This sometimes happens when adjectives are being made after objects whose names include them: for instance, defining ‘big’ as an adjective after having already made a ‘big top’. The simplest way to avoid this is to define the adjectives in question first.

Problem. You wrote '‘A grammatical gender is a kind of value’ ', but that seems to say that some room or thing already created (‘grammatical gender of an object’, created by '‘The grammatical gender of an object is usually masculine gender’ ') is now to become a kind. To prevent a variety of possible misunderstandings, this is not allowed: when a kind is created, the name given has to be a name not so far used. (Sometimes this happens due to confusion between names. For instance, if a room called ‘Marble archway’ exists, then Inform reads ‘An archway is a kind of thing’, Inform will read ‘archway’ as a reference to the existing room, not as a new name. To solve this, put the sentences the other way round.)

Problem. The sentence ‘The grammatical genders are neuter gender, masculine gender, feminine gender’ appears to say two things are the same - I am reading ‘grammatical genders’ and ‘neuter gender’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Tarzan is Jane’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Treehouse is a lighted room’ says that something called Treehouse exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Problem. In ‘The story tense is a grammatical tense that varies’ , ‘grammatical tense’ is not a kind of value which a variable can safely have, as it cannot be guaranteed that the contents will always meet this criterion.

Problems occurring in translation prevented the game from being properly created. (Correct the source text to remove these problems and click on Go once again.)

How can I do for fix it ? :neutral_face:

The problem is not with Ubuntu. These are error messages from the Inform 7 compiler; it is complaining about “illegal” code in the version of the Italian Language extension that you have.

As far as I know, there is no version of the Italian Language extension that is compatible with 6M62. (You can search on this board to see similar complaints.) I believe that the latest version of Italian Language is compatible with Inform 7 version 6L38. The best starting place would probably be to downgrade your version of Inform 7 to 6L38.

Unfortunately I’ve try with the 6l38 and it shows me the same problem :cry: and the last month “Italian Language” has been updated for the 6m62.

I’m the maintainer of the French extension, and, if I recall correctly, I encountered the same bug on Linux. The problem is that Inform is supposed to read the English language extension before any other languages, but it’s not the case on some Linux.

Therefore, Inform thinks that English Language tries to redefine things defined in Italian, instead of thinking Italian language extends things defined in English. (I hope it’s clear.)

I don’t know how to solve it directly (I don’t have Linux installed, some other users reported it), but I got a workaround. You have to add the following code at the very start of the Italian extension:

[rant=Workaround code][code]Section 1 - Hack

The language of play is a natural language that varies. The language of play
is usually the English language.

A grammatical tense is a kind of value. The grammatical tenses are present tense,
past tense, perfect tense, past perfect tense and future tense.

A narrative viewpoint is a kind of value. The narrative viewpoints are first
person singular, second person singular, third person singular, first person
plural, second person plural, and third person plural.

A natural language has a narrative viewpoint called the adaptive text viewpoint.

The adaptive text viewpoint of the English language is first person plural.

A grammatical case is a kind of value. The grammatical cases are nominative
and accusative.

A grammatical gender is a kind of value. The grammatical genders are
neuter gender, masculine gender, feminine gender.

The story tense is a grammatical tense that varies.
The story tense variable translates into I6 as “story_tense”.
The story viewpoint is a narrative viewpoint that varies.
The story viewpoint variable translates into I6 as “story_viewpoint”.

To say regarding (item - an object): (- RegardingSingleObject({item}); -).

To say regarding list writer internals: (- RegardingLWI(); -).

To say regarding (D - a description of objects): (-
objectloop({-my:1} ofclass Object)
if ({-matches-description:1:D})
give {-my:1} workflag2;
else
give {-my:1} ~workflag2;
RegardingMarkedObjects();
-).

To decide if the prior naming context is plural:
(- ((prior_named_list >= 2) || (prior_named_noun && prior_named_noun has pluralname)) -).

Section 2 - Empty Grammatical definitions (in place of Section 1 - Grammatical definitions in English Language by Graham Nelson)

[Nothing in here!!!][/code][/rant]
It rewrites the definitions of English Language and empties the corresponding section of English language, so that there are no conflicts left. I don’t know if there are any secondary effects, but it seems to work well.

And if that’s not the same problem as yours, sorry! I’ll try to find another solution.

Really? It hasn’t been updated on Github. Could you give the location of the last version? I’m curious, since I didn’t update the French extension due to a severe bug that would require me to rewrite a lot in the extension, only to revert when the bug is solved. Thanks!

Thank you, now it works :smiley:

You can find the update extension here :
https://sourceforge.net/projects/milleuna/files/Extensions/3.0/

Unluckily the"Italian Language" for 6M62 includes just workarounds to make adaptive verbs and adjectives work acceptably even in this broken version and does not include all the features available in 6L38 (Where the syntax of the Inform7 language itself could be written partially in italian)

Yeah, I saw that. I considered doing the same thing for French, but since I use a lot the French syntax directly in my source, it would have been a pain to rewrite all in English.

Also, Zardoz: the workaround may work well, but I advice you to find a computer under Windows or macOS to compile the release version of your game, without the modified extension. You never know, the hack may cause some bugs…

Hi Leobos67,
There is an updated versione of Italian Language, resolving the bug in the 6L38 posted by Zardoz, without needing the Natrium729 hack?
Thanks in advance for your answer!

Since the problem comes from Inform (on some Linux distributions) and not the extension itself, I’m afraid there’s no direct solution.

But that reminds me I should report the bug, since I never did it.

I’m experiencing the same problem with 6M62 on a Lubuntu 16.04 for the Spanish language. It seems that a similar situation was solved for the French language with a hack.
I would thank any further update on this thread.

I was reminded of this issue since a French user had this problem a few days ago.

Sadly, there are no update to this, since it’s a bug in Inform and no new version of Inform has be released.

However, I still haven’t reported the issue, so thanks for reminding me!