Geekitude

Pourquoi l’AS3 ne sera jamais en français.

C’est avec émotion que je rédige mon premier post sur ce blog :’) Amis de la subversion et des posts où on peut tout comprendre en une seule lecture (quoique..), bienvenue.

Qui n’a jamais fait de blague sur ses noms de variables.. ? Qui n’a jamais subi de regard dubitatif après une conversation au sujet de Strings avec un collègue codeur..?
Vous n’avez jamais pensé à ce que donnerait l’AS3 en français ?

Et bien, ne rêvez pas plus, nous l’avons fait pour vous.

Pour faire ma petite démo, je suis allée chercher un bout de code sur le Flash Enabled Blog, avec cet exemple de Drag and Drop.

Nous apprenons, entre autre, qu’un Sprite est un Farfadet.. (j’y peux rien moi..)

Le gros problème que ça soulève, si vraiment l’envie vous prend de tout traduire et de lancer un AS francophone (on s’amuse comme on peut), c’est la traduction du féminin/masculin.
Si on prend l’exemple d’un new Truc(), tout dépend de l’objet Truc().
Ca pourrait être nouveau Tableau, nouvelle Chaine, ou encore nouvel Objet.. Idem pour le privé ou privée.. Bref ça devient vite n’importe quoi.

L’exemple :

paquet {
 
     importer flash.afficher.Farfadet;
     importer flash.evenements.Evenement;
     importer flash.evenements.EvenementSouris;
     importer flash.texte.ChampsTexte;
 
     publique classe AnagrammeGlisserDeposer etends Farfadet{
 
          privee variable glisseeCible:Farfadet;
 
          publique fonction AnagrammeGlisserDeposer () {
                variable tableau:Farfadet= nouveau Farfadet();
                variable lettres:Tableau = nouveau Tableau("d","i","r","t","y","r","o","o","m")
                variable l:Chaine;
                variable xPos:entierNonSigne = 50
                variable yPos:entierNonSigne = 100
                pour chaque (l dans lettres) {
                      variable piece:Farfadet= nouveau Farfadet();
                      piece= creerPièceLettre(l comme Chaine) // taille, couleur, jaune
                      piece.x = xPos;
                      piece.y = yPos;
                      xPos += 50;
                      tableau.ajouterEnfant(piece);
                      piece.ajouterEcouteurEvènement(EvenementSouris.SOURIS_BAISSEE, glisserDemarreur, faux);
                      piece.ajouterEcouteurEvenement(EvenementSouris.SOURIS_LEVEE, glisserBouchon);
               }
               ajouterEnfant(tableau)
               variable instructions:ChampsTexte= nouveau ChampsTexte();
               instructions.texte = "Ré-organise des lettres pour former un autre mot"
               instructions.x = 20
               instructions.y = 20
               instructions.largeur = 300;
               ajouterEnfant(instructions)
         }
         privee fonction glisserDemarreur(evenement:EvenementSouris):vide{
               si (evenement.cible est Farfadet) {
                     glisserCible = evenement.cible comme Farfadet;
                     glisserCible.commencerGlisser();
               }
        }
 
        privee fonction glisserBouchon(evenement:EvenementSouris):vide{
               glisserCible.arreterGlisser();
        }
 
        privee fonction creerPieceLettre(txt:Chaine):Farfadet{
               variable s:Farfadet = nouvelle Farfadet ();
               variable lettre:ChampsTexte= nouveau ChampsTexte();
               variable pieceCouleurArrière:entierNonSigne  = 0xDBD9A6;
               variable pieceCouleurOmbre:entierNonSigne  = 0x676420;
               variable pieceCouleurBordure:entierNonSigne  = 0x000000;
 
               s.graphique.commenceRemplir(pieceCouleurOmbre);
               s.graphique.dessineRectangle(-2, 2, 40, 40);
               s.graphique.arretRemplir();
               s.graphique.commenceRemplir(pieceCouleurArriere);
               s.graphique.dessineRectangle(0, 0, 40, 40);
               s.graphique.arretRemplir();
               s.graphique.styleLigne(1, pieceCouleurBordure, 100);
               s.graphique.dessineRectangle(0, 0, 40, 40);
 
               lettre.texte = txt
               lettre.selectionnable = faux;
               lettre.x = 14
               lettre.y = 14
               lettre.largeur = 14
               lettre.hauteur = 16
               s.ajouterEnfant(lettre)
 
               retourner s;
        }
    }
}

Alors, vous en pensez quoi ?
Et comme te dirais Maître Capello dans le debugger, si erreur dans ton code il y a..

Le 20 mai 2008 par Wahiba

Tags = ["", "", ""];

13 commentaires pour “Pourquoi l’AS3 ne sera jamais en français.”

  1. xac dit :

    Pour ceux qui ne connaissent pas , le langage 4D est complètement en français … c’est assez déroutant.

    http://xac-zone.com/upload/2008-05-20_4dprog.png

  2. matthieu dit :

    Aha très bonne idée !
    Ca enlève quand même le côté sexy que toute développeuse ou développeur aime.
    Tu as oublié les :void, un beau “nul” c’est quand même pas mal ;)

  3. Philippe dit :

    Oui alors merci Wahiba, je crois que c’est une bonne démonstration : pas de français dans le code, svp :)

  4. ken dit :

    Muahhah voleuse de trip de midi.

    Pour Void je metterai vide.
    Et pour flash dans l’import des package je metterais éclair.

  5. .W. dit :

    Le vide pour void est bien présent (fonction glisserDemarreur et glisserBouchon)

    A très vite pour un autre topic inutile.

  6. kikko dit :

    Ouais et puis [ la ficelle dans le tableau ] c’est tout de suite beaucoup moins fun :D

  7. _Stef dit :

    Excellent trip :)

    il y a une erreur là

    privee fonction creerPieceLettre(txt:Chaine):Farfadet{
    variable s:Farfadet = nouvelle Farfadet ();
    C’est nouve

  8. _Stef dit :

    Re, désolé pour le commentaire pourri .. :)

    Je ne pensais pas qu’il était posté …

  9. PRASS dit :

    Excellent ! :D
    Les dev’ quebecquois sont sauvés ^^

  10. nicoptere dit :

    je découvre ce blog légendaire.
    topic débile s’il en est, bravo.

    il y a deux, trois erreurs:

    déja : flash => eclair ( à renommer partout ^^)

    puis:
    importer eclair.texte.ChampTexte; (champ singulier)
    extends > etend ( 3e pers singulier )
    creerPièceLettre > creerPieceLettre
    ajouterEcouteurEvènement > ajouterEcouteurEvenement

    s.graphique.commenceRemplir > se mettre d’accord si c’est un verbe transitif direct ou le substantif qu’on utilise :
    debutRemplir | commencementRemplir
    ou
    debuterRemplir | commencerRemplir
    ce qui déterminera la forme de stopFill:
    arretRemplir ou arreterRemplir

    en tou cas c’est prodigieusement inutile bravo !

  11. sly dit :

    Aaah c’est délicieusement horrible ^^
    D’un côté, c’est juste une affaire de compilo. Si tu veux pouvoir utiliser nouvelle et nouveau, il suffit de modifier une ligne de grammaire et c’est bon !

    Si vous faites un script qui traduit vers AS3 puis compilation normale, OK, c’est dur. Mais si vous reprenez les sources de MTASC, vous devriez vous en sortir facilement.

    En plus ça permettrait d’inverser le sens des déclarations, et dire proprement “classe publique” et “fonction privée” :)

    Et au passage, changer la notation objet : “sur”, “au”, “du”, “de” remplacent avantageusement les points, par exemple ça donnerait

    s.graphique.dessineRectangle(0, 0, 40, 40);

    dessineRectangle(0, 0, 40, 40) sur graphique de s

    Enfin, ici comme dans ‘nouveau/nouvelle’, le but n’est pas que l’écriture du développeur soit du bon français, c’est que le compilo accepte tout ce qu’on lui passe qui ressemble à du français correct ;)

  12. stef dit :

    Excellent ! Ca faisait un moment que ca me trottait dans la tete cette idée ;-) D’accord avec sly, ecrire “classe publique x” rendrait la chose encore plus conforme aux exigences de Maitre Capello… En tous cas je viens de découvrir ton blog, et j’aime beaucoup ! Bonne continuation

  13. vymdiesel dit :

    Vraiment sympa ta vision de l’as3

    Bonne continuation :D

Laisser un commentaire