diff --git a/XML_Moodle.py b/XML_Moodle.py
index 2adc0307bbb9d9cc3f63aedd97cc8ccd0ad01547..9e54dd6b87b61a2fcced172f87dec36ff7b93d08 100755
--- a/XML_Moodle.py
+++ b/XML_Moodle.py
@@ -58,7 +58,7 @@ class Question:
 		self.folder = f
 		self.q = strip_tags(mlang_2_multiling(xmlQ.find("questiontext/text").text), self.folder)
 		self.category = c
-		self.id = f"{c[c.rfind(':')+1:]}_{n}"
+		self.id = mlang_2_multiling(xmlQ.find("name/text").text,"en")+f":{n}"
 		self.env = "todo:"+xmlQ.attrib["type"]
 		self.max = float(xmlQ.find("defaultgrade").text)
 		self.parseImages(xmlQ.findall(".//file"))
@@ -178,7 +178,7 @@ class ShortAnswer(TF):
 		return res
 
 if __name__ == "__main__":
-	quizz = Quizz("data/quiz-GI-4-SID-S1-top-20201204-1620.xml", "data")
+	quizz = Quizz("data/quiz-GI-4-SID-S1-top-20201204-1620_corrigé.xml", "data")
 	#quizz = Quizz("data/quiz-GI-4.xml" , "data")
 	#print(quizz)
 	quizz.save()
diff --git a/utils.py b/utils.py
index 54a9e5fb068c4be07dd3e4e753b008c234170456..56beef04d21bdafeb8daa6cf3a1273908c207d89 100644
--- a/utils.py
+++ b/utils.py
@@ -34,8 +34,14 @@ def remove_moodle_cdata(txt, folder):
 def strip_tags(txt, folder):
 	return html_2_tex(sub(compile('<.*?>'), '',remove_moodle_cdata(unquote(txt), folder)))
 
-def mlang_2_multiling(txt):
-	return sub(r"\{mlang\s*en\}([^\{]*?)\{mlang\}\s*((\{mlang\s*other\})|(\{mlang\s*fr\})|(\{mlang\}))([^\{]*)\{mlang\}", r"\\multiling{\6}{\1}",txt)
+def mlang_2_multiling(txt, which = "both"):
+	if which == "fr":
+		res = sub(r"\{mlang\s*en\}([^\{]*?)\{mlang\}\s*((\{mlang\s*other\})|(\{mlang\s*fr\})|(\{mlang\}))([^\{]*)\{mlang\}", r"\6",txt)
+	elif which == "en":
+		res = sub(r"\{mlang\s*en\}([^\{]*?)\{mlang\}\s*((\{mlang\s*other\})|(\{mlang\s*fr\})|(\{mlang\}))([^\{]*)\{mlang\}",r"\1", txt)
+	else:
+		res = sub(r"\{mlang\s*en\}([^\{]*?)\{mlang\}\s*((\{mlang\s*other\})|(\{mlang\s*fr\})|(\{mlang\}))([^\{]*)\{mlang\}", r"\\multiling{\6}{\1}",txt)
+	return res
 
 def score_2_str(v):
 	if int(v)==float(v):