[I7] Extension française

[size=200]L’extension française est disponible ici.[/size]

L’extension est (presque) complète, mais totalement utilisable. Le message ci-dessous est gardé à titre d’archive.

Non non, l’équipe d’Inform n’a pas encore rendu publique la nouvelle extension française. D’ailleurs (et sans critiquer non plus, étant donné qu’il font quand même pas mal de boulot…), il ne semble pas trop s’en soucier, à en juger qu’ils ne répondent pas. Surtout que le fichier est prêt et que je pense que ça ne prends pas beaucoup de temps à uploader quelque chose…

Cependant, à en croire le changelog officielle :

En gros, ça dit que l’extension française est expérimentale, et qu’elle est incomplète car elle ne traduit pas les messages par défaut d’Inform (style « Vous ne pouvez pas voir cela. »).
Cependant, elle a déjà fait un gros travail, qui est la conjugaison automatique des verbes et le choix des pronoms en fonction du temps et de la personne.

Il se trouve que j’aurais besoin de certaines fonctionnalités de la nouvelle version. Je propose qu’on (c’est-à-dire moi, Otto, celui qui veut le faire et qui a le temps) traduise les « responses » (les messages par défaut) et certains trucs qui ont déjà fait par une vieux prototype d’extension française. Après tout, il ne s’agit que d’un copié-collé (à adapter) des textes de l’ancienne extension.

Je dis ça, car je pense que la plupart du monde n’a pas besoin de changer la personne ou le temps de l’histoire. On pourrait donc au moins créer des fictions interactives à la deuxième personne du pluriel présent (« Vous pouvez voir… ») avec la nouvelle version d’Inform, en attendant l’officielle. Ensuite on fusionnera les deux. Comme ça, l’extension finale sera disponible plus rapidement.

Il faudra par contre avertir de ce qu’on fait sur le forum officielle, pour qu’ils sache qu’on le fait.

Alors, serait-ce une bonne idée ?

oui, ça pourrait être une bonne idée, en attendant, ça permettrait également si on en parle sur le forum anglophone de faire remonter le sujet. D’autre part, il existe des extensions en espagnol et je crois aussi en italien qui pourront servir de modèle.

J’ai mis le code que m’avait envoyé Graham Nelson en 2011 ici :

bitbucket.org/farvardin/inform7-fr/src

(son email n’est plus valide, j’ai essayé de le contacter directement mais hélas ça n’a rien donné)

Oui, c’est ça que je pensais, regarder le vieux prototype en français et les extensions en espagnol et italien (même si je connais pas les deux langues).

De toutes façon, je veux juste qu’on reprenne les réponses de l’extension actuelle pour les copier vers la nouvelle extension, et traduire les déterminants, les nombres, l’heure, etc. pour qu’on puisse jouer et créer un jeu en français, en attendant la version définitive.

On pourra juste pas changer les temps et la personne, puisque c’est l’équipe d’Inform qui s’occupe de la conjugaison en Preform.

Mais ça, c’est pas grave, tant qu’on peut avoir un contenu en français.

Qui s’en charge ?

toi ? :wink:

sinon au niveau des temps et des modes, je dois dire que la plupart de mes jeux utilisent souvent autre chose que du présent à la seconde personne du pluriel, donc ça m’intéresse de pouvoir gérer ça. On va voir de toute façon si mon dernier message sur intfiction va avoir une réponse…

Le truc des temps, c’est que si on écrit

say "[Nous] [mangeons] la pomme."; [l'exemple classique pour qui a eu des cours de grammaire]

ça pourra donner

Je mange la pomme. Nous avons mangé la pomme. Vous mangeâtes la pomme. Ils mangerons la pomme. etc.
et que donc, le texte sera dynamique si on change le temps ou la personne au cours du jeu.
Si ça reste constant, tu peux directement écrit la personne et le temps que tu veux dans le texte, sans la substitution.

C’est juste que la conjugaison en Preform, pour le français, ça prend 2000 lignes apparemment, alors si c’est déjà fait par eux…

Sinon, je commence tout de suite les responses, si personne ne s’y oppose. Ce sera juste un long copier-coller. Tout ce que je veux, c’est quelque chose de jouable en attendant la version définitive.

P.-S. Moi aussi je préfère utiliser une autre personne. Aussi, je vais m’inscrire sur intfiction.org et sûrement répondre à ton message, pour dire que je commence à traduire. Mais peut-être pas tout de suite, finalement…

Pour les temps et les modes, je parlais par contre des réponses par défaut, qui va dire « vous prenez la pomme » ou « il prit la pomme », par des possibilités pour entrer les verbes, pour moi « prendre la pomme » est suffisant.

Oui, mais pour ces réponses par défauts, il faut leur partie, car on peut pas conjuguer les verbes automatiquement sinon (sauf si on code en dur les verbes utilisés dans les textes, un par un, en attendant).

Et pour mon exemple sur les pommes, c’était pas une commande qu’on entre, c’était un texte de description, ou n’importe quoi que toi tu écris dans ta source. Ce que je voulais dire, c’est que même si les responses ne sont pas adaptatifs, dans tes textes à toi, tu pourra quand même mettre la personne que tu veux, en attendant l’extension finale.

Attention, roulements de tambours… On peut maintenant écrire des fictions interactives avec la dernière version d’Inform 7 !

Tout d’abord, j’ai mis l’extension sous mon nom :sunglasses: tout en mentionnant que je me fonde sur un précédent travail d’un certain Éric Forgeot.
(ça c’est juste pour la frime, on pourra remettre Éric après…)

En fait, j’ai majoritairement fait du copié-collé, partie par partie, de la vieille extension prototype. J’ai ensuite fait un copié-collé des messages de l’ancienne extension. J’ai annoté tout ce que j’ai modifié, ajouté ou douté (sauf correction minimes genre coquille), il suffit pour cela de chercher « Natrium » dans le texte.
J’ai notamment remarqué que les actions faites par les PNJ ne donnait aucun message (ou un message en anglais) dans l’ancienne extension, ainsi que certaines action obscures ne produisaient pas de réponses (par exemple entrer dans une boite qui ne peut contenir qu’un seul objet, puis tenter de poser quelque chose ; l’action est bloquée, mais pas de réponse).

Bref, voici cependant les problèmes qu’il reste :
[]Les nombres s’affichent mal en lettres. Il manque des espaces quand il y a le mot « cent » dans le nombre. Aussi, 100 s’affiche « un cents », ce qui n’est pas correct. Comme c’est du code I6, je n’ai pas touché, même si ça ne semble pas compliqué à comprendre. Pareil avec « un mille ». EDIT : J’ai utilisé le code de l’extension précédente que j’ai modifié un peu, et ça semble marcher parfaitement.[/]
[]Pour l’heure, quand on l’écrit en mots, ça marque « une heures ». Aussi, elle n’est pas en format 24 heure (en français, on n’utilise pas AM et PM). EDIT2 : J’ai viens d’écrire du code I7 pour remplacer la routine en I6, et ça marche.[/]
[]Peut-être que tout le code I6 à la fin n’est plus utile maintenant, mais je ne suis pas sûr.[/]
[]Je n’ai pas réussi à traduire la bannière (il reste encore le « by Natrium729 »)[/]
[]Enfin, le plus gros problème : il n’y a que les pronoms qui sont adaptatifs. Les verbes ne peuvent pas se conjuguer tout seuls, ça fait planter le compilateur (pareil pour les adjectifs). Je pense que le code Preform est erroné. Mais pour corriger ça, il faut attendre la version de l’équipe d’Inform. Par conséquent, on ne peut pas écrire autrement qu’au « vous présent », sinon, on peut voir des phrases style "Je ne voyez rien de tel, ou bien c’est sans grande importance ».[/]

Pour tester, il faut mettre la bonne personne d’abord

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

Je pense faire une sorte d’exemple qui permettra de tester si tout les textes s’affichent comme il faut une fois que l’extension sera terminée. Il reste aussi la documentation à écrire.
Je vais poster un message plus tard sur intfiction.org, pour montrer qu’on n’attend plus qu’eux !

EDIT : j’ai réussi pour les nombres, voir ci-dessus.
EDIT2 : j’ai réussi pour les heures, voir ci-dessus.

Au fait, j’ai remarqué que dans l’ancienne extension, il y avait une grosse section qui servait à retirer les verbes en anglais, pour qu’ils ne soient plus compris par le parseur. Cependant, elle était commentée et ne faisait donc rien.

Je propose qu’on enlève véritablement les verbes en anglais.
En effet, une fois, j’ai essayé de rajouter les commande à l’impératif, pour que le jeu puisse comprendre « Bob, sors ». Cependant, il y avait trop de « Understand the command « patati » as « patata ». » et Inform atteignait une limite de mémoire qu’il fallait augmenter manuellement.

Pour pas que ça n’arrive et que le jeu ne prenne de la mémoire pour des verbes qui ne sont jamais utilisés, je pense qu’il faut les enlever.

Bien sûr, on garderait quand même des choses comme « save », « undo », et les autres verbes quand même susceptibles d’être taper en anglais.

salut,

tout d’abord, félicitation et merci pour ce gros travail !

Au niveau du nom de l’auteur de l’extension, je propose que l’on garde le tien, ça permettra de faire une différence entre les 2 « époques », vu la cassure qu’aura provoqué cette version 6L02. Par contre, les auteurs d’inform avaient demandé que l’on utilise un vrai nom, ou un nom qui sonne réel : Authors are asked to use real names rather than cryptic handles like « ifguy », and to use genteel, plausible pseudonyms like « Emily Short » rather than, say, « Drooling Zombie » or « Team Inform »..
Donc ton vrai patronyme, ou si tu préfères rester anonyme, un nom du style « Jean Natrium ».

Ensuite, ça serait pas mal qu’à terme tu regardes comment fonctionne un gestionnaire de version, car pour travailler à plusieurs sur du code, c’est le mieux (en plus on conserve l’historique des modifications). Je propose ce petit tuto : bitbucket.org/farvardin/la_vall … at=default

J’ai mis ton dernier code ici :
bitbucket.org/farvardin/inform7-fr/src/

J’ai donc mis à jour mon inform7, et ai essayé d’adapter un jeu à moi. J’ai vu que quelques verbes avaient disparu, mais on pourra éventuellement les rajouter à terme (par exemple « swim »).

Ça fonctionne pas mal, mais j’ai remarqué ceci pour le moment :

  • les mots marqués comme « female » restent au masculin dans les descriptions (« un lanière »), malgré ton code
  • le « et » dans les descriptions reste à « and » : « Vous pouvez voir un cadole and un chope de bière. »
  • dans la version d’avant, si je définis un objet nommé par exemple « laniere », si je tape « x lanière », ça comprends cela comme « laniere » et reconnaît l’objet en question. Plus maintenant.
  • des conditions ne fonctionnent plus comme avant, mais je soupçonne plutôt un problème dans le code d’inform. Ils ont modifié trop de choses qui allaient bien auparavant, ils auraient dû garder une version intermédiaire, une syntaxe plus permissive, ou au moins mettre des warnings, indiquer un peu mieux ce qui change lors de la compilation.

Pour les verbes anglais, j’ai mis le commentaire pour permettre de les retirer si nécessaire, mais jusqu’à présent ça n’a pas posé de problème de les garder. Un joueur anglophone, et un peu francophile aura plus de facilité si les verbes anglais sont toujours autorisés. Peut-être qu’avec le nouveau système de conjugaison ça prend plus de mémoire…

Pour l’auteur de l’extension, je savais qu’il fallait mettre un vrai nom, mais comme j’étais pas sûr qui on gardait comme auteur, j’avais mis ça en attendant. On peut mettre mon nom si vous voulez, mais j’ai juste fait du copier-coller…

J’ai remarqué le problème avec female. Mais, je comprends pas encore pourquoi ça ne marche pas.

Pour les accents, j’ai juste copié le code de l’ancienne extension. Peut-être que je vais plutôt utiliser celui-là à la place :

After reading a command: let T be "[the player's command]"; replace the text "é" in T with "e"; change the text of the player's command to T.
Et ainsi de suite. Le problème, c’est que ça ne cherche pas d’abord à comprendre si quelque chose correspond avant d’enlever l’accent : si on définit la chose « clé », on pourra jamais interagir avec si on ajoute pas « cle » en synonyme.

Pour les verbes en anglais, j’avoue que comme notre communauté est petite et que des Anglais jouent à nos jeux, il ne vaut mieux pas les enlever, finalement.
En parlant de verbe, je pense qu’il doit y avoir un moyen de se passer de DownGoing, InGoing, etc.
Il faudra aussi remettre les verbes comme « parler » et « nager », effectivement.

Enfin, pour le gestionnaire de version, même si je m’en suis jamais servi, j’y avais pensé, mais comme je faisais que du copié-collé, je m’était dit que c’était ok pour le moment. J’ai survolé le tuto, vous utilisez quoi comme gestionnaire de version ?

J’ai posté un message sur intfiction.org, à voir s’ils répondent.

On peut mettre mon nom si vous voulez, mais j’ai juste fait du copier-coller…

pas grave, j’ai fait pareil dans les premières versions de l’extension pour I7, j’ai copié et adapté le code initial d’Inform 6 (Il en reste encore d’ailleurs).

J’ai survolé le tuto, vous utilisez quoi comme gestionnaire de version ?

j’utilise souvent mercurial, sur le site bitbucket

J’ai remarqué le problème avec female. Mais, je comprends pas encore pourquoi ça ne marche pas.

je vais essayer de regarder à l’occasion.

J’ai posté un message sur intfiction.org, à voir s’ils répondent.

merci pour ça aussi

Je me demande si la solution la plus simple ne serait pas de traduire la saisie française en anglais (articles, pronoms, organisation de la phrase en fonction de la grammaire anglaise), laisser faire toute la mécanique I7 puis intercepter et retraduire les messages vers l’écran en français.

Je ne suis pas sûr de te comprendre, auraes.
Tu veux dire qu’on tape nos commande en français et qu’on les traduit en anglais avant qu’elles ne soient analysées, c’est ça ? Ensuite, Inform les traite comme d’habitude et envoie un message en anglais, que l’on traduit avant qu’il ne s’affiche ?

Ce ne serait pas une bonne solution (ni la plus simple) je pense : ça ralentirait le programme juste après une commande, puisque il faudrait qu’il travaille plus à ce moment là. Et pour les messages qui s’affichent à l’écran, c’est fait, tout est traduit, parce que la nouvelle version d’I7 a mis en place un système pour tout traduire facilement.
Et puis en plus, pour l’instant, ce qui a été fait fonctionne, alors…

@Otto J’ai vu que tu m’as mis en admin pour l’extension française sur ton compte bitbucket, mais j’avais déjà créé un compte et forké le projet (voir le 1er post).

J’ai importé ton dépôt dans le groupe : bitbucket.org/informfr/i7-french-language
Désolé, j’aurai dû y penser plus tôt, ça sera plus simple pour travailler à plusieurs. Il faudra donc faire un clone de l’adresse indiqué sur bitbucket.org/informfr/i7-french-language dans un nouveau dossier, et travailler dans celui-ci. Ne pas oublier de vérifier avant de travailler s’il n’y a pas eu des modifications avec un hg pull etc

pour en revenir au problème du féminin, j’ai testé des objets avec la commande « showme », et les objets « female » récupèrent bien l’attribut « feminine gender ».

Je pense donc que c’est un bogue d’inform, ou une limitation quelconque. Je ne sais pas trop ce qu’ils avaient en tête quand ils ont décidé de modifier autant la syntaxe sans tenir compte de l’existant.

Se sont-ils dit « ils n’auront qu’à tout réécrire » pour les anciens jeux ? Il n’est même pas possible de simplement automatiquement remplacer female par feminine gender, ça provoque une erreur si on écrit « the truc is a feminine gender in salon ».

J’ai essayé de créer une classe pour gérer ça, par exemple

[code]
A bidule is a kind of thing. The grammatical gender of a bidule is usually feminine gender.

The laniere is a bidule.[/code]

mais là aussi, ça ne fonctionne pas. J’ai l’impression que tout le reste de cette nouvelle mouture d’inform va être dans le même style, ça ne me motive pas trop pour convertir tous mes jeux ou écrire de nouveaux jeux avec car ça va provoquer des erreurs imprévues.

[edit] pour ce point, je crois avoir compris que le problème que ça reste à « un », c’est parce qu’en plus de feminine gender, la modification du genre garde l’attribut « neuter ».
Il faut donc rajouter ça : now every female object is not neuter.
Je le corrige et l’ajoute sur bitbucket.org/informfr/
je garde les commentaires sur les pb rencontrés, on les retirera si nécessaire plus tard.

En fait, pour le coup de female, il y a une solution plus simple. Merci à sarganar !

Si on écrit directement

La lampe is a thing.

au lieu de

The lampe is a thing.

Ça marche ! ça met automatiquement le gender et male/female, sans avoir à dire « an object can be male or female. » et tout le reste !

Pour des objets au pluriel, c’est

Des herbes (f) are a scenery.

Je suis en train de faire la modification, plus d’autres modifs, et je committe (on conjugue comme ça :question: ).

Par contre, si je fais des erreurs pour ce qui est du truc de gestion, excusez-moi, c’est la première fois.

ok, bien vu. C’est bon à savoir pour les jeux futurs, par contre pour les jeux existants, si c’est possible de les adapter, pour éviter de devoir trop modifier le code si on pouvait garder la transformation de female en feminine gender ça serait pas mal.

Après quelques commit, ne pas oublier de faire un push sur le serveur bitbucket.

Je trouve que c’est pas trop une bonne idée de garder le fix, parce que ça fait un peu bricolage, et que ça doit ralentir le jeu au début s’il contient beaucoup d’objets.

P.-S. J’ai changé le nom de l’auteur pour un nom plus réaliste (mais je ne vous dirai pas si c’est véritablement le mien :stuck_out_tongue: ), donc pour tester, il va falloir changer le nom dans la source.

P.P.-S. Qu’est-ce qui se passe si deux personnes vont des modifications en même temps, et pushent l’un après l’autre ? Ça fusionnent les deux ou bien ça garde uniquement les modifs du dernier ?

"test" by "toto" Include French language by Nathanaël Marion. test is a room. The description of test is "decription_test" L' orange is a thing. orange is in test. the description of orange is "decription_orange" When play begins: say "Test"

Je ne connais rien à I7, tu aurais un source de base pour faire des tests ?