Parler et verbes de communication dans la lib francophone

C’est aussi mon avis, et si personne n’est contre je vais ajouter cela à ma version de développement pour qu’on puisse le tester.

J’ai mis à jour la lib pour le verbe saluer, dans la branche « refonteParler », et j’ai modifié mon jeu ascenseur en fonction, si ça vous dit de tester : ifiction.free.fr/telechargement/ … censeur.z8

Juste une remarque : attention au mélange français-anglais dans les noms d’action, à moins d’envisager de traduire plus tard toutes les actions, ou plutôt de les refondre globalement, vu qu’elles n’ont pas toujours une correspondance évidente en français. Dans l’immédiat, les verbes d’action actuels ont l’avantage d’être documentés dans le manuel en anglais.

Tiens, JL ! Si tu as un moment tu pourras nous dire ce que tu penses des modifications apportées ces derniers temps ?

Pour les noms des actions, ce que je pense c’est qu’on laisse les actions en anglais quand elles viennent tout droit de la lib standard inform (des noms d’actions comme ##Ask sont codées ‹ en dur › dans parserm.h par exemple, ça me semble difficile de les remplacer), et en français quand ce sont des ajouts de notre part. Mais on peut aussi choisir une autre solution et tout mettre en anglais.

je préfère aussi que tout ce qui est un ajout de notre part reste en français, comme cela on voit bien les différences. De toute façon je doute que la bibl. Inform 6 évolue beaucoup en anglais. Ce qui manque de la part de l’équipe d’inform, c’est plus de précision pour savoir ce que tout cela va devenir

Tout traduire est sans doute faisable (ça avait été fait en espagnol), mais c’est sûr qu’ ensuite il est difficile de savoir où cela va mener (sans doute trop loin, sans parler des incertitudes par rapport à l’évolution d’Inform). Pour le reste je regarderai sur SVN.

Oui, et garder les verbes de base avec la syntaxe en anglais est quand préférable lorsque l’on voudra traduire des fictions anglaises vers le français et réciproquement.
Avoir le specificités en francais permet aussi de ce souvenir qu’il y a un concept différent.

J’ai fusionné ma branche de développement temporaire avec la branche principale (trunk), mes modifications sont donc en piste pour la future 2.3 de la lib.
Vous êtes tous encouragés à la tester afin de dénicher les derniers bugs qui pourraient se tapir.
(remarque : je n’ai pas répercuté les modifications sur la version 1PSP).

Note : vous connaissez sûrement la fameuse syntaxe :

    print "Vous saluez ", (the) noun, ".";

qui écrira : vous saluez (le/la/l’/les) (nom affiché de l’objet)

Il n’existait pas de telle astuce pour afficher (à le/à la/aux/au) (nom affiché de l’objet).
Ainsi, si on essayait de prendre un objet à un « mec », on obtenait « Cela semble appartenir à le mec ».

Après trois bonnes heures d’essais et erreurs (et encore, en partant du code d’une fonction que j’avais déjà faite il y a longtemps mais qui était imparfaite), je suis parvenu à une solution, et on peut maintenant écrire :

    print "Cela semble appartenir ", (to_the) noun, ".";

Pour les curieux, voici le code de la fonction, on pourra comprendre pourquoi j’ai mis du temps :

! (Stormi) Cette fonction permet d'afficher correctement "à la" "à l'" "au" ou "aux"
! selon le contexte.
[ to_the obj;
    if (obj has pluralname) {
        print "aux ", (name) obj;
    }
    else if (obj has proper) {
        print "à ", (name) obj;
    }
    else {
        ! Les lignes qui suivent sont copiées de la fonction PrefaceByArticle de parserm.h
        ! afin de connaître la valeur de LanguageContraction pour le nom affiché de l'objet
        ! Je suis le seul à trouver cela atrocement compliqué ?
        StorageForShortName-->0 = 160;
        @output_stream 3 StorageForShortName;
        print (PSN__) noun;
        @output_stream -3;
        if (obj has male && LanguageContraction(StorageForShortName + 2)==0) {
             print "au ", (name) obj;
        }
        else {
            print "à ", (the) obj;
        }
    }
];

bien joué, par contre je pense que cela ne fonctionne toujours pas si par exemple on veut faire :

(avec mon jeu ça donne ça, et je ne trouve pas où on pourrait modifier cela dans les bibl.) À la rigueur, si on peut faire comme pour l’autre coup, et mettre une flèche → à la place, cela sera tout aussi parlant. La langue française est tordue !

Sinon ça n’a rien à voir mais j’ai rajouté une petite fonction qui permet de savoir quelle version de la bibliothèque a été utilisée dans un jeu, en rajoutant une constante

Constant LibReleaseFR      "2.2.1";

et un verbe : version fr ou vf.

À voir si on ne nomme pas plutôt 2.2.1svn jusqu’à ce qu’on décide de la figer dans un tags.

Je vais regarder ce qu’on peut y faire, si ça ne touche pas trop profondément à la lib de base.

Pour le numéro de version, j’ai changé pour 2.3dev, considérant que la quantité des modifications apportées peut mériter une version 2.3, mais cela se discute. Je ne sais pas quelle était la politique jusqu’à maintenant pour les numéros de version.

J’ai pris la solution de facilité, j’ai mis la flèche →

En fait inform prend automatiquement la première préposition de la liste, et j’ignore si ce comportement peut être modifié.

Bonjour à tous,

Au cours de la programmation de mon premier jeu sous Inform 7, je me suis rapidement vu confronté aux affres du verbe « dire » (j’ai modifié i7 avec le code d’Eric Forgeot).

Je suis parti à la recherche d’un forum, et hier je suis tombé sur celui-ci. J’ai ajouté le code de stormi (dans FrenchGN11.h), remplaçant l’ancien, et je dois avouer que ça a grandement amélioré les possibilités au niveau des dialogues. Mais il reste des ombres.

Par exemple, je voulais simplement que l’on puisse « dire bonjour à la femme ».

Après l’injection du code de stormi, j’ai tenté un :

Instead of asking Conducteur about "bonjour", say "La femme dit merci"; Instead of telling Conducteur about "bonjour", say "La femme dit merci";

J’ai ensuite lancé le jeu, et j’ai tapé : « dire bonjour à la femme », comme suit :

>dire bonjour à la femme You must name an object.

Ca ne fonctionne pas, essayons avec le verbe Demander :

>demander bonjour à la femme La femme dit merci

Donc, ça marche avec demander. Mais est-ce que ça marche avec « ! bonjour à la femme » ?

>! bonjour à la femme La femme dit merci

Donc, « ! » ne fonctionne pas comme « dire ». Ainsi je me plonge dans le code de stormi, et je regarde la différence entre « ! » et « dire ». Et je vois que le premier appelle « Tell reverse » et le seconde « Answer reverse ». Mais je n’ose pas toucher au code de stormi…

Avez-vous une idée ?
P.S. je suis sur le channel IRC en permanence.

Je ne maîtrise pas bien inform 7, mais ce que je sais c’est que lorsqu’on parle avec les personnages, les actions suivantes sont possibles :

Ask
Answer
Tell
(ainsi que AskTo et AskFor mais là ils n’interviennent pas).

Il semble que tu interceptes les actions Ask et Tell mais pas l’action Answer (pour leurs différences, en inform 6 au moins : https://forum.fiction-interactive.fr/t/parler-et-verbes-de-communication-dans-la-lib-francophone/379/1 )

Par ailleurs, où as-tu pris le code que j’avais modifié ? Sur ce sujet ou sur le dépôt subversion où une version certainement plus à jour est disponible ?
Son adresse pour l’instant :
svn.tuxfamily.org/viewvc.cgi/inf … r_informfr

Par ailleurs si tu connais Inform 6 tu peux regarder comment mes personnages gèrent le « bonjour » dans le code de mon tout petit jeu « ascenseur » : ifiction.free.fr/telechargement/ … enseur.inf

Je laisse la parole à Eric pour la suite :slight_smile:

Problème résolu en discutant sur IRC.

  • intercepter l’action answer dans le jeu : Instead of answering Conducteur that « bonjour », say « Bonjour monsieur ! »
  • dans FrenchGN11.h modifié, inverser « Answer » et « Answer reverse » car l’ordre des paramètres pour cette action a apparemment changé.

Bienvenue sur le forum, Lempika !! :smiley: Et je suis ravi de voir que nous avons un nouvel auteur de jeux IF francophones :wink: .

J’aimerais savoir comment tu as connu les jeux IF et Inform ? (Tu peux éventuellement répondre sur ce sujet du forum.)