[I7] Extension française

Quel genre de test ? Je compte faire un jeu de test pour tester tous les messages en français, à toutes les personnes et à tous les temps, afficher des nombres et des heures en lettres, etc.

Mais quand l’extension sera finie. Pour l’instant, les verbes ne se conjuguent pas, alors c’est un peu gênant.

Pour tester l’extension !

??? En toutes choses il faut considérer la fin ! Mais à la fin… c’est trop tard !

ok. Je ne suis pas certain que ça ralentisse beaucoup, mais en tout état de cause on peut toujours rajouter ce style de code dans les anciens jeux inform 7 si on a besoin de les adapter donc ce n’est pas un problème.

Si 2 personnes font des modifications en même temps, normalement mercurial gère ça plutôt bien, ça va tout fusionner, sauf si c’est sur les mêmes lignes, en ce cas ça fera un conflit, que l’on peut éditer avant de valider ce qu’on veut au final.

Pour tester l’extension, dans la version précédente j’avais fait un petit jeu simple, « Le Roi de Fihnargaia », que l’on pourrait rajouter et adapter, et qui permettait de tester pas mal de verbes. Je le rajoute d’ailleurs dans le code actuel, par contre je me rend compte que c’est galère pour travailler dessus. Donc bientôt je vais rajouter un dossier avec ce jeu dans le groupe bitbucket, et quand tout sera terminé et corrigé, on pourra mettre à jour la version de l’extension.

Il ne reconnaît pas le verbe ‹ parler › !<definite-article> ::= /b/ le/l' | [singular, masculine] Il manque peut-être le (by default) pour le l’ (féminin ou masculin) Et ‹ les › miens, ‹ les › tiennes…

pas d’affolement, ce n’est que le début…

… de la fin.

Le verbe parler n’est par reconnu, parce qu’il n’existe pas par défaut (en anglais), et qu’on ne l’a pas encore remis (tout comme nager, par exemple).

@auraes
Quand je disais quelle type de test, ça voulait dire quel aspect tu voulais tester. Sinon, il n’y a pas grand chose à voir. Ça remplace l’anglais par le français, c’est tout.

À la fin, je prévois un test qui contient toutes les sortes d’objets, au masculin, féminin, singulier, pluriel… Et avec des commandes test me, on fait toutes les actions possibles et imaginables pour voir tout les messages, dans tous les temps et personnes.
Sinon, tu peux juste faire un petit jeu normal pour voir ce que ça donne. Et puis, c’est à l’usage qu’on trouvera des bugs.

Enfin, je te conseille de mettre

When play begins: now the story viewpoint is second person plural.

Pour mettre au vous, en attendant que les verbes se conjuguent (en fait, il ne reste plus que ça à faire, quasiment, et la documentation).

bon, je viens de faire quelques tests…
j’ai adapté l’exemple fourni dans la précédente extension à la nouvelle, j’ai fait cela rapidement mais ça fonctionne. En comparant le transcript des deux versions, j’obtiens ceci, ce qui est plutôt encourageant, plus que je l’imaginais :

ifiction.free.fr/temp/i7_6L02.html

Ce qui est rayé est avec l’ancienne extension. Il y a donc encore des choses à corriger, et sans doute des erreurs qui ne sont pas prises en compte par ce test (il faudrait laisser plus de réponses par défaut pour juger), mais c’est déjà pas mal.

Eh, c’est pas mal ! Je viens de corriger les messages restés en anglais.
Certaines des différences, c’est parce que j’ai utilisé des points de suspension (…) plutôt que trois points à la suite (…)
Pour d’autres différences, je m’étais permis de modifier. J’espère que c’est mieux.

Le gros problème reste la conjugaison. Je pense qu’il faudra le faire nous même, si ça continue… :cry:

Est-ce que tu regardes le code source I6 intermédiaire produit par I7 ? C’est pratique pour voir les problèmes. J’en ai extrait les verbes : http://auraes.free.fr/tmp/verbes_I7.inf. Est-ce que c’est normal qu’il conserve la grammaire et les messages en anglais avec ceux en français ? (il doit falloir désactiver l’extension English Language, mais il veut pas !)

Dans ce que tu as donné, je vois pas de messages en anglais… Les seuls trucs en anglais, ce sont les noms des actions, mais on les actions ont toujours été nommées en anglais, ça se voit pas en jeu.

Mais les commandes en anglais sont encore comprises,

Je voulais les enlever car ça prenait de la mémoire (j’ai déjà un problème de mémoire insuffisante — mais facile à résoudre — à cause de ça), mais c’est vrai que pour l’instant il vaut mieux laisser.

il devrait être envisageable de pouvoir les rajouter ou désactiver via une extension ou une constante. De toute façon avec glulx la limite mémoire est plutôt haute.

Attention…
J’ai réussi à faire conjuguer les verbes !

En regardant les erreurs soulevées lors de la compilation, j’ai trouvé ces ceux lignes :

[code]# Error: No such constant as « AgreeAdjective_92 »

Error: No such constant as « AgreeAdjective_93 »[/code]

J’ai regardé un peu le code I6 généré, et j’ai aussi lancé le jeu compilé (car ça réussissait à compiler, malgré ce que I7 disait). Et ça marchait, même si le compilateur d’I7 crashait.

En fait, dans le code Preform, il y avait des « 3+* », ce qui signifie affiche le participe passé, et accorde-le selon les règles des adjectifs. Et c’est ça qui plantait (étant donné que les adjectifs ne fonctionnent pas, même en Italien). J’ai tout remplacé par des « 3 » et maintenant ça fonctionne.
Le défaut, c’est que maintenant, les participes passés ne s’accordent plus (ce qui n’est pas si grave, puisqu’ils ne s’accordent pas avec avoir dans la plupart des cas — et puis, qui écrit ses FI au passé composé ?).

J’ai commité, et je m’occupe de rendre les responses adaptatives.

Je passe juste pour vous féliciter et pour vous souhaiter du courage, c’est un travail super que vous faites :smiley:
Je ne sais pas si je peux aider, j’ai jeté un œil mais je ne sais pas par où commencer…

@Natrium : bravo. Aurais-tu un petit exemple fonctionnel de ce que ça donne ? J’ai changé la personne pour tester, mais comme la plupart des verbes des réponses sont codés en dur, je ne sais pas trop comment activer cela.

@ciseur68 : si tu as des projets de jeu, en l’utilisant et en envoyer des rapports de bogues, ça peut aider. Sinon, tu peux également étudier le code de l’extension si tu as des suggestions.

Merci :laughing:

Si tu utilise Inform 7, tu peux tester en essayant un de tes jeux avec la nouvelle extension. Otto à remis son exemple dans la doc de l’extension, si tu veux voir à quoi ça ressemble. Un peu plus haut dans la discussion, il y a des bouts de codes aussi.

Maintenant, on peut même écrire dans la source

Le Gaulois est un homme. Le Gaulois est dans la Gaule. Le Gaulois porte des braies.

et ça équivaudra à

The Gaulois is a man. The Gaulois is in Gaule. The Gaulois wears some braies.

Faudra reprendre des habitudes…

Sinon, tu peux attendre un peu, je suis en train de finaliser des choses.
Faudra écrire une doc complète pour utiliser l’extension.

@Otto

Je suis en train de refaire les responses.
Sinon, pour tester, on peut écrire

In French aller is a verb. When play begins, say "[Tu] [vas]."

Et cela avec n’importe quel verbe (il me semble qu’il y a des erreurs style « Ils buvent » plutôt que « Ils boivent », mais il n’y en a pas beaucoup, d’après ce que j’ai vu dans le code Preform).

Pour info, je connais bien I6 et ses librairies; mais bon…

Voilà ce que donne en I6 un simple Hello wold! en I7 :"Hello World" by "Anonymous" Include French Language by Natrium729. Earth is a room. The description of Earth is "Hello World!" When play begins: say "Bonjour tout le monde !"http://auraes.free.fr/tmp/HelloWorld.inf
C’est du lourd !

oui, c’est normal, Inform7 est un précompilateur pour Inform6, mais il ne faut pas compter obtenir un code i6 propre ou optimisé avec ça, car cela rajoute beaucoup de choses par rapport à ce que permettait I6 (texte indexé par exemple), et même si un « hello world » parait simple, il y a dans le code produit tout le canevas pour prendre en compte une multitude d’autres possibilités qui n’ont pas été exploité dans ce court exemple.

@auraes
Quand je disais depuis toujours, je parlais seulement d’I7. Moi-même je sais pas du tout écrire du I6 (même si j’arrive à peu près à comprendre quand je fouille dans un code source). Loin de moi l’idée de penser que tu n’y connaissais rien…

C’est juste que ce que tu montres est normal ; j’aurais dû expliquer davantage, comme l’a fait Otto.

Au fait, tu ne dois pas avoir la dernière version, parce que maintenant, il faut écrire

Include French Language by Nathanaël Marion.