Tpycode, traducteur de code

Soyez le premier à donner votre avis sur cette source.

Vue 5 065 fois - Téléchargée 222 fois

Description

Bonjour à tous,
Ce programme ne sert pas à grand chose mais c'est mon premier donc pour un début, ça me convient.

Utilisation :

Au lieu d'écrire vos codes Python directement, écrivez les en français.

Exemple :

Au lieu d'écrire " print 'Bonjour'" , il faudra écrire "afficher 'bonjour'".

Ensuite, enregistrez votre fichier dans un .txt, .py, .pyw, et lancé l'application et sélectionnez votre fichier.

Votre fichier affichera désormais "print 'bonjour'" et non plus "afficher 'bonjour'".

Ensuite, vous n'aurez plus qu'a copié votre code dans un .py et l'exécuter.

Le programme n'est pas complètement terminer, il reste beaucoup de mots non traduits.

Voici la liste des mots pouvant être traduits (Faites bien attention à bien mettre les majuscules sur les mots de la liste) :

open : ouvrir
remplacer : replace
fermer : close
ecrire : write
lire : read
Et : and
Si : if
faux : False
vrai : True
afficher : print
texte : text
pour : for
dans : in
sinon : else
fichier : file
nom : name
Ou : or
attribuer : attribute
Cle : key
effacer : del
enfin : finally
titre : title
tant que : while
avec : with
essai : try
continuer : continue
Droite : RIGHT
Gauche : LEFT
Haut : TOP
Bas : BOTTOM
longueur : length
largeur : width
excepte : except
bouger : move
produit : yield
passer : pass
affirme : assert
zone : area
auto : self
aucun : None
distance : range
pause : break
Fin : end
hausse : raise
retour : return
En Tant Que : as
classe : class
filtre : filter
ou bien : elif
Non : not
chaîne : string

Désolé pour ma traduction pas super.

Source / Exemple :


import tkinter
import tkinter.filedialog
import tkinter.messagebox as Msg

racine=tkinter.Tk()
racine.geometry("220x150")

def traduire():
    chfichier =tkinter.filedialog.askopenfilename(parent=racine,title='Choisissez un fichier' ,filetypes = [("Fichiers","*.py;*.pyw;*.txt")])

    f=open(chfichier,'r')
    chaine1=f.read().replace('ouvrir','open')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine1)
    f.close()
    
    f=open(chfichier,'r')
    chaine2=f.read().replace('remplacer','replace')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine2)
    f.close()
    
    f=open(chfichier,'r')
    chaine3=f.read().replace('fermer','close')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine3)
    f.close()
    
    f=open(chfichier,'r')
    chaine4=f.read().replace('ecrire','write')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine4)
    f.close()
    
    f=open(chfichier,'r')
    chaine5=f.read().replace('lire','read')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine5)
    f.close()
    
    f=open(chfichier,'r')
    chaine6=f.read().replace('Et','and')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine6)
    f.close()
    
    f=open(chfichier,'r')
    chaine7=f.read().replace('Si','if')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine7)
    f.close()
    
    f=open(chfichier,'r')
    chaine8=f.read().replace('faux','False')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine8)
    f.close()
    
    f=open(chfichier,'r')
    chaine9=f.read().replace('vrai','True')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine9)
    f.close()
    
    f=open(chfichier,'r')
    chaine10=f.read().replace('afficher','print')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine10)
    f.close()
    
    f=open(chfichier,'r')
    chaine11=f.read().replace('texte','text')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine11)
    f.close()
    
    f=open(chfichier,'r')
    chaine12=f.read().replace('pour','for')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine12)
    f.close()
    
    f=open(chfichier,'r')
    chaine13=f.read().replace('dans','in')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine13)
    f.close()
    
    f=open(chfichier,'r')
    chaine14=f.read().replace('sinon','else')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine14)
    f.close()
    
    f=open(chfichier,'r')
    chaine15=f.read().replace('fichier','file')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine15)
    f.close()
    
    f=open(chfichier,'r')
    chaine16=f.read().replace('Nom','name')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine16)
    f.close()
    
    f=open(chfichier,'r')
    chaine17=f.read().replace('Ou','or')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine17)
    f.close()
    
    f=open(chfichier,'r')
    chaine18=f.read().replace('attribuer','attribute')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine18)
    f.close()
    
    f=open(chfichier,'r')
    chaine19=f.read().replace('Cle','key')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine19)
    f.close()

    f=open(chfichier,'r')
    chaine20=f.read().replace('effacer','del')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine20)
    f.close()
    
    f=open(chfichier,'r')
    chaine21=f.read().replace('enfin','finally')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine21)
    f.close()
    
    f=open(chfichier,'r')
    chaine22=f.read().replace('titre','title')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine22)
    f.close()
    
    f=open(chfichier,'r')
    chaine23=f.read().replace('tant que','while')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine23)
    f.close()
    
    f=open(chfichier,'r')
    chaine24=f.read().replace('avec','with')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine24)
    f.close()
    
    f=open(chfichier,'r')
    chaine25=f.read().replace('essai','try')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine25)
    f.close()
    
    f=open(chfichier,'r')
    chaine26=f.read().replace('continuer','continue')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine26)
    f.close()
    
    f=open(chfichier,'r')
    chaine27=f.read().replace('Droite','RIGHT')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine27)
    f.close()
    
    f=open(chfichier,'r')
    chaine28=f.read().replace('Gauche','LEFT')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine28)
    f.close()
    
    f=open(chfichier,'r')
    chaine29=f.read().replace('Haut','TOP')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine29)
    f.close()

    f=open(chfichier,'r')
    chaine30=f.read().replace('longueur','length')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine30)
    f.close()

    f=open(chfichier,'r')
    chaine31=f.read().replace('largeur','width')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine31)
    f.close()

    f=open(chfichier,'r')
    chaine32=f.read().replace('Bas','BOTTOM')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine32)
    f.close()

    f=open(chfichier,'r')
    chaine33=f.read().replace('excepte','except')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine33)
    f.close()

    f=open(chfichier,'r')
    chaine34=f.read().replace('bouger','move')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine34)
    f.close()

    f=open(chfichier,'r')
    chaine35=f.read().replace('produit','yield')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine35)
    f.close()

    f=open(chfichier,'r')
    chaine36=f.read().replace('passer','pass')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine36)
    f.close()

    f=open(chfichier,'r')
    chaine37=f.read().replace('affirme','assert')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine37)
    f.close()

    f=open(chfichier,'r')
    chaine38=f.read().replace('zone','area')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine38)
    f.close()

    f=open(chfichier,'r')
    chaine39=f.read().replace('auto','self')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine39)
    f.close()

    f=open(chfichier,'r')
    chaine40=f.read().replace('aucun','None')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine40)
    f.close()

    f=open(chfichier,'r')
    chaine41=f.read().replace('distance','range')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine41)
    f.close()

    f=open(chfichier,'r')
    chaine42=f.read().replace('pause','break')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine42)
    f.close()

    f=open(chfichier,'r')
    chaine43=f.read().replace('Fin','end')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine43)
    f.close()

    f=open(chfichier,'r')
    chaine44=f.read().replace('hausse','raise')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine44)
    f.close()

    f=open(chfichier,'r')
    chaine45=f.read().replace('retour','return')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine45)
    f.close()

    f=open(chfichier,'r')
    chaine46=f.read().replace('En Tant Que','as')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine46)
    f.close()

    f=open(chfichier,'r')
    chaine47=f.read().replace('classe','class')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine47)
    f.close()

    f=open(chfichier,'r')
    chaine48=f.read().replace('filtre','filter')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine48)
    f.close()

    f=open(chfichier,'r')
    chaine49=f.read().replace('ou bien','elif')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine49)
    f.close()

    f=open(chfichier,'r')
    chaine50=f.read().replace('Non','not')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine50)
    f.close()

    f=open(chfichier,'r')
    chaine51=f.read().replace('chaîne','string')
    f.close()
    f=open(chfichier,'w')
    f.write(chaine51)
    f.close()

    Msg.showinfo(message="Vous avez traduit :"+ chfichier)

bouton=tkinter.Button(racine, text="Quitter", command=racine.quit)
bouton.pack(side=tkinter.BOTTOM,ipady=10,ipadx=10)
bouton2=tkinter.Button(racine, text="Traduire", command=traduire)
bouton2.pack(side=tkinter.BOTTOM,ipady=10,ipadx=7)
texte=tkinter.Label(racine, text="Cliquez sur traduire pour traduire un fichier", fg="black", height=20)
texte.pack()

racine.mainloop()

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

GeroXXXX
Messages postés
12
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
9 février 2012
-
Plus de 300 lignes pour ça ! o_O
Moi j'aurais plus fais comme ça :
# Tous les mots clefs et leur traduction dans le dictionnaire trad
trad = {"string":"chaine", "class":"classe", "if":"si", "else":"sinon"} # etc...
# Ouverture du fichier, lecture et fermeture
f=open(chfichier,'r')
chaine51=f.read()
f.close()
# Pour tous les mots dans trad, remplace les mots
for anglais, francais in trad.items():
chaine51.replace(francais,anglais)
# Réouverture du fichier, écriture et fermeture.
f=open(chfichier,'w')
f.write(chaine51)
f.close()

Tu économises à peu près 300 lignes de code, tu n'ouvres/fermes pas le fichier 50 fois mais plus qu'une seule pour la lecture et une pour la fermeture.

Reste plus qu'a modifier la boucle avec des conditions pour ne pas traduire les mots contenus entre "" par exemple, pour ne pas modifier les chaines de caratères, etc... Sinon ça peut être gênant :)

Have fun :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.