Bonjour,

Je sais que je ne suis pas très loin, mais je n'y arrive pas! (je suis débutant en python )

Je traduis des lignes de textes et je voudrai remplacer le texte original par ce lui de la traduction. J'arrive à créer un autre fichier que le fichier original, mais je n'arrive pas à modifier exactement la balise text.

Voilà ce que j'obtiens... c'est pas très beau!
<string_table>

<string id="pri_monol_agent_task_desc0">Le monolithe de reconnaissance, a rapidement été blessé pendant notre sortie avec lui. L'artefact "Svetlyak" l'aidera à récupérer davantage.<text>Монолитовец-разведчик Быстрый получил ранение во время нашей с ним вылазки. Артефакт "Светляк" поможет ему скорее выздороветь.</text>
</string>
Voilà mon code modifié par rapport au résultat ci-dessus:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
import xml.etree.ElementTree as et
import translators as ts
 
my_tree = et.parse('classeur1_test.xml')
my_root = my_tree.getroot()
 
for string in my_root.findall('string'):
  texte = string.find('text').text
  texteT = ts.google(texte, from_language='ru', to_language='fr')
  text.text = str(texteT)
  print(texteT)
 
my_tree.write('output.xml')
et le message d'erreur correspondant à ce code:
C:\py4e>mapping3-xml.py
Using state Provence-Alpes-Côte d'Azur server backend.
Traceback (most recent call last):
File "C:\py4e\mapping3-xml.py", line 13, in <module>
text.text = str(texteT)
NameError: name 'text' is not defined. Did you mean: 'texte'?
Merci pour votre aide

Tremens