Demosthene-OR commited on
Commit
74cb5f4
1 Parent(s): fd186d2

Change translator to deep-translator module

Browse files
app.py CHANGED
@@ -67,9 +67,13 @@ TABS = OrderedDict(
67
  ]
68
  )
69
 
 
 
 
70
 
71
- lang_tgt = ['fr','en','af','ak','sq','de','am','en','ar','hy','as','az','ba','bm','eu','bn','be','my','bs','bg','ks','ca','ny','zh','si','ko','co','ht','hr','da','dz','gd','es','eo','et','ee','fo','fj','fi','fr','fy','gl','cy','lg','ka','el','gn','gu','ha','he','hi','hu','ig','id','iu','ga','is','it','ja','kn','kk','km','ki','rw','ky','rn','ku','lo','la','lv','li','ln','lt','lb','mk','ms','ml','dv','mg','mt','mi','mr','mn','nl','ne','no','nb','nn','oc','or','ug','ur','uz','ps','pa','fa','pl','pt','ro','ru','sm','sg','sa','sc','sr','sn','sd','sk','sl','so','st','su','sv','sw','ss','tg','tl','ty','ta','tt','cs','te','th','bo','ti','to','ts','tn','tr','tk','tw','uk','vi','wo','xh','yi']
72
- label_lang = ['Français', 'Anglais / English','Afrikaans','Akan','Albanais','Allemand / Deutsch','Amharique','Anglais','Arabe','Arménien','Assamais','Azéri','Bachkir','Bambara','Basque','Bengali','Biélorusse','Birman','Bosnien','Bulgare','Cachemiri','Catalan','Chichewa','Chinois','Cingalais','Coréen','Corse','Créolehaïtien','Croate','Danois','Dzongkha','Écossais','Espagnol / Español','Espéranto','Estonien','Ewe','Féroïen','Fidjien','Finnois','Français','Frisonoccidental','Galicien','Gallois','Ganda','Géorgien','Grecmoderne','Guarani','Gujarati','Haoussa','Hébreu','Hindi','Hongrois','Igbo','Indonésien','Inuktitut','Irlandais','Islandais','Italien / Italiano','Japonais','Kannada','Kazakh','Khmer','Kikuyu','Kinyarwanda','Kirghiz','Kirundi','Kurde','Lao','Latin','Letton','Limbourgeois','Lingala','Lituanien','Luxembourgeois','Macédonien','Malais','Malayalam','Maldivien','Malgache','Maltais','MaorideNouvelle-Zélande','Marathi','Mongol','Néerlandais / Nederlands','Népalais','Norvégien','Norvégienbokmål','Norvégiennynorsk','Occitan','Oriya','Ouïghour','Ourdou','Ouzbek','Pachto','Pendjabi','Persan','Polonais','Portugais','Roumain','Russe','Samoan','Sango','Sanskrit','Sarde','Serbe','Shona','Sindhi','Slovaque','Slovène','Somali','SothoduSud','Soundanais','Suédois','Swahili','Swati','Tadjik','Tagalog','Tahitien','Tamoul','Tatar','Tchèque','Télougou','Thaï','Tibétain','Tigrigna','Tongien','Tsonga','Tswana','Turc','Turkmène','Twi','Ukrainien','Vietnamien','Wolof','Xhosa','Yiddish']
 
73
 
74
  @st.cache_data
75
  def find_lang_label(lang_sel):
 
67
  ]
68
  )
69
 
70
+ # Utilisation du module translate
71
+ # lang_tgt = ['fr','en','af','ak','sq','de','am','en','ar','hy','as','az','ba','bm','eu','bn','be','my','bs','bg','ks','ca','ny','zh','si','ko','co','ht','hr','da','dz','gd','es','eo','et','ee','fo','fj','fi','fr','fy','gl','cy','lg','ka','el','gn','gu','ha','he','hi','hu','ig','id','iu','ga','is','it','ja','kn','kk','km','ki','rw','ky','rn','ku','lo','la','lv','li','ln','lt','lb','mk','ms','ml','dv','mg','mt','mi','mr','mn','nl','ne','no','nb','nn','oc','or','ug','ur','uz','ps','pa','fa','pl','pt','ro','ru','sm','sg','sa','sc','sr','sn','sd','sk','sl','so','st','su','sv','sw','ss','tg','tl','ty','ta','tt','cs','te','th','bo','ti','to','ts','tn','tr','tk','tw','uk','vi','wo','xh','yi']
72
+ # label_lang = ['Français', 'Anglais / English','Afrikaans','Akan','Albanais','Allemand / Deutsch','Amharique','Anglais','Arabe','Arménien','Assamais','Azéri','Bachkir','Bambara','Basque','Bengali','Biélorusse','Birman','Bosnien','Bulgare','Cachemiri','Catalan','Chichewa','Chinois','Cingalais','Coréen','Corse','Créolehaïtien','Croate','Danois','Dzongkha','Écossais','Espagnol / Español','Espéranto','Estonien','Ewe','Féroïen','Fidjien','Finnois','Français','Frisonoccidental','Galicien','Gallois','Ganda','Géorgien','Grecmoderne','Guarani','Gujarati','Haoussa','Hébreu','Hindi','Hongrois','Igbo','Indonésien','Inuktitut','Irlandais','Islandais','Italien / Italiano','Japonais','Kannada','Kazakh','Khmer','Kikuyu','Kinyarwanda','Kirghiz','Kirundi','Kurde','Lao','Latin','Letton','Limbourgeois','Lingala','Lituanien','Luxembourgeois','Macédonien','Malais','Malayalam','Maldivien','Malgache','Maltais','MaorideNouvelle-Zélande','Marathi','Mongol','Néerlandais / Nederlands','Népalais','Norvégien','Norvégienbokmål','Norvégiennynorsk','Occitan','Oriya','Ouïghour','Ourdou','Ouzbek','Pachto','Pendjabi','Persan','Polonais','Portugais','Roumain','Russe','Samoan','Sango','Sanskrit','Sarde','Serbe','Shona','Sindhi','Slovaque','Slovène','Somali','SothoduSud','Soundanais','Suédois','Swahili','Swati','Tadjik','Tagalog','Tahitien','Tamoul','Tatar','Tchèque','Télougou','Thaï','Tibétain','Tigrigna','Tongien','Tsonga','Tswana','Turc','Turkmène','Twi','Ukrainien','Vietnamien','Wolof','Xhosa','Yiddish']
73
 
74
+ # Utilisation du module deep_translator
75
+ lang_tgt = ['fr', 'en', 'af', 'ak', 'sq', 'de', 'am', 'en', 'ar', 'hy', 'as', 'ay', 'az', 'bm', 'eu', 'bn', 'bho', 'be', 'my', 'bs', 'bg', 'ca', 'ceb', 'ny', 'zh-CN', 'zh-TW', 'si', 'ko', 'co', 'ht', 'hr', 'da', 'doi', 'gd', 'es', 'eo', 'et', 'ee', 'fi', 'fr', 'fy', 'gl', 'cy', 'lg', 'ka', 'el', 'gn', 'gu', 'ha', 'haw', 'iw', 'hi', 'hmn', 'hu', 'ig', 'ilo', 'id', 'ga', 'is', 'it', 'ja', 'jw', 'kn', 'kk', 'km', 'rw', 'ky', 'gom', 'kri', 'ku', 'ckb', 'lo', 'la', 'lv', 'ln', 'lt', 'lb', 'mk', 'mai', 'ms', 'ml', 'dv', 'mg', 'mt', 'mi', 'mr', 'mni-Mtei', 'lus', 'mn', 'nl', 'ne', 'no','or', 'om', 'ug', 'ur', 'uz', 'ps', 'pa', 'fa', 'pl', 'pt', 'qu', 'ro', 'ru', 'sm', 'sa', 'nso', 'sr', 'sn', 'sd', 'sk', 'sl', 'so', 'st', 'su', 'sv', 'sw', 'tg', 'tl', 'ta', 'tt', 'cs', 'te', 'th', 'ti', 'ts', 'tr', 'tk', 'uk', 'vi', 'xh', 'yi', 'yo', 'zu']
76
+ label_lang = ['Français', 'Anglais / English','Afrikaans','Akan','Albanais','Allemand / Deutsch','Amharique','Anglais','Arabe','Arménien','Assamais','Aymara','Azéri','Bambara','Basque','Bengali','Bhojpuri','Biélorusse','Birman','Bosnien','Bulgare','Catalan','Cebuano','Chichewa','Chinois (simplifié)','Chinois (traditionnel)','Cingalais','Coréen','Corse','Créole haïtien','Croate','Danois','Dogri','Écossais','Espagnol / Español','Espéranto','Estonien','Ewe','Finnois','Français','Frisonoccidental','Galicien','Gallois','Ganda','Géorgien','Grec moderne','Guarani','Gujarati','Haoussa','Hawaïen','Hébreu','Hindi','Hmong','Hongrois','Igbo','Ilocano','Indonésien','Irlandais','Islandais','Italien / Italiano','Japonais','Javanais','Kannada','Kazakh','Khmer','Kinyarwanda','Kirghiz','Konkani','Krio','Kurde','Kurde (Sorani)','Lao','Latin','Letton','Lingala','Lituanien','Luxembourgeois','Macédonien','Maithili','Malais','Malayalam','Maldivien','Malgache','Maltais','Maori de Nouvelle-Zélande','Marathi','Meiteilon (Manipuri)','Mizo','Mongol','Néerlandais / Nederlands','Népalais','Norvégien','Oriya','Oromo','Ouïghour','Ourdou','Ouzbek','Pachto','Pendjabi','Persan','Polonais','Portugais','Quechua','Roumain','Russe','Samoan','Sanskrit','Sepedi','Serbe','Shona','Sindhi','Slovaque','Slovène','Somali','Sotho du Sud','Soundanais','Suédois','Swahili','Tadjik','Tagalog','Tamoul','Tatar','Tchèque','Télougou','Thaï','Tigrigna','Tsonga','Turc','Turkmène','Ukrainien','Vietnamien','Xhosa','Yiddish','Yoruba','Zulu']
77
 
78
  @st.cache_data
79
  def find_lang_label(lang_sel):
requirements.txt CHANGED
@@ -44,4 +44,5 @@ https://files.pythonhosted.org/packages/cc/58/96aff0e5cb8b59c06232ea7e249ed902d0
44
  streamlit-option-menu
45
  plotly
46
  bokeh
47
- shap
 
 
44
  streamlit-option-menu
45
  plotly
46
  bokeh
47
+ shap
48
+ deep-translator
tabs/game_tab.py CHANGED
@@ -154,7 +154,7 @@ def run():
154
  t_previous_debut = t_debut
155
  t_debut = time.time()
156
 
157
- if st.button(label=tr("Valider"), type="primary"):
158
  st.cache_data.clear()
159
 
160
  nb_bonnes_reponses = 0
 
154
  t_previous_debut = t_debut
155
  t_debut = time.time()
156
 
157
+ if st.button(label=tr("Validez"), type="primary"):
158
  st.cache_data.clear()
159
 
160
  nb_bonnes_reponses = 0
tabs/id_lang_tab.py CHANGED
@@ -369,7 +369,7 @@ def run():
369
  custom_sentence= st.selectbox(tr("Selectionnez une phrases test à identifier")+":", sentence_test['sentence'] )
370
  else:
371
  custom_sentence = st.text_area(label=tr("Saisir le texte dont vous souhaitez identifier la langue:"))
372
- st.button(label=tr("Valider"), type="primary")
373
 
374
  if custom_sentence!='':
375
  st.write("## **"+tr("Résultats")+" :**\n")
 
369
  custom_sentence= st.selectbox(tr("Selectionnez une phrases test à identifier")+":", sentence_test['sentence'] )
370
  else:
371
  custom_sentence = st.text_area(label=tr("Saisir le texte dont vous souhaitez identifier la langue:"))
372
+ st.button(label=tr("Validez"), type="primary")
373
 
374
  if custom_sentence!='':
375
  st.write("## **"+tr("Résultats")+" :**\n")
tabs/intro.py CHANGED
@@ -28,7 +28,7 @@ def run():
28
  st.markdown(tr(
29
  """
30
  Ce projet a été réalisé dans le cadre d’une formation de Data Scientist, entre juin et novembre 2023.
31
- <br>
32
  :red[**Démosthène**] est l'un des plus grands orateurs de l'Antiquité. Il savait s’exprimer, et se faire comprendre.
33
  Se faire comprendre est l’un des principaux objectifs de la traduction.
34
  """)
 
28
  st.markdown(tr(
29
  """
30
  Ce projet a été réalisé dans le cadre d’une formation de Data Scientist, entre juin et novembre 2023.
31
+ <br>
32
  :red[**Démosthène**] est l'un des plus grands orateurs de l'Antiquité. Il savait s’exprimer, et se faire comprendre.
33
  Se faire comprendre est l’un des principaux objectifs de la traduction.
34
  """)
tabs/modelisation_seq2seq_tab.py CHANGED
@@ -346,8 +346,10 @@ def run():
346
  """)
347
  , unsafe_allow_html=True)
348
 
 
349
  lang_tgt = ['en','fr','af','ak','sq','de','am','en','ar','hy','as','az','ba','bm','eu','bn','be','my','bs','bg','ks','ca','ny','zh','si','ko','co','ht','hr','da','dz','gd','es','eo','et','ee','fo','fj','fi','fr','fy','gl','cy','lg','ka','el','gn','gu','ha','he','hi','hu','ig','id','iu','ga','is','it','ja','kn','kk','km','ki','rw','ky','rn','ku','lo','la','lv','li','ln','lt','lb','mk','ms','ml','dv','mg','mt','mi','mr','mn','nl','ne','no','nb','nn','oc','or','ug','ur','uz','ps','pa','fa','pl','pt','ro','ru','sm','sg','sa','sc','sr','sn','sd','sk','sl','so','st','su','sv','sw','ss','tg','tl','ty','ta','tt','cs','te','th','bo','ti','to','ts','tn','tr','tk','tw','uk','vi','wo','xh','yi']
350
  label_lang = ['Anglais','Français','Afrikaans','Akan','Albanais','Allemand','Amharique','Anglais','Arabe','Arménien','Assamais','Azéri','Bachkir','Bambara','Basque','Bengali','Biélorusse','Birman','Bosnien','Bulgare','Cachemiri','Catalan','Chichewa','Chinois','Cingalais','Coréen','Corse','Créolehaïtien','Croate','Danois','Dzongkha','Écossais','Espagnol','Espéranto','Estonien','Ewe','Féroïen','Fidjien','Finnois','Français','Frisonoccidental','Galicien','Gallois','Ganda','Géorgien','Grecmoderne','Guarani','Gujarati','Haoussa','Hébreu','Hindi','Hongrois','Igbo','Indonésien','Inuktitut','Irlandais','Islandais','Italien','Japonais','Kannada','Kazakh','Khmer','Kikuyu','Kinyarwanda','Kirghiz','Kirundi','Kurde','Lao','Latin','Letton','Limbourgeois','Lingala','Lituanien','Luxembourgeois','Macédonien','Malais','Malayalam','Maldivien','Malgache','Maltais','MaorideNouvelle-Zélande','Marathi','Mongol','Néerlandais','Népalais','Norvégien','Norvégienbokmål','Norvégiennynorsk','Occitan','Oriya','Ouïghour','Ourdou','Ouzbek','Pachto','Pendjabi','Persan','Polonais','Portugais','Roumain','Russe','Samoan','Sango','Sanskrit','Sarde','Serbe','Shona','Sindhi','Slovaque','Slovène','Somali','SothoduSud','Soundanais','Suédois','Swahili','Swati','Tadjik','Tagalog','Tahitien','Tamoul','Tatar','Tchèque','Télougou','Thaï','Tibétain','Tigrigna','Tongien','Tsonga','Tswana','Turc','Turkmène','Twi','Ukrainien','Vietnamien','Wolof','Xhosa','Yiddish']
 
351
  lang_src = {'ar': 'arabic', 'bg': 'bulgarian', 'de': 'german', 'el':'modern greek', 'en': 'english', 'es': 'spanish', 'fr': 'french', \
352
  'hi': 'hindi', 'it': 'italian', 'ja': 'japanese', 'nl': 'dutch', 'pl': 'polish', 'pt': 'portuguese', 'ru': 'russian', 'sw': 'swahili', \
353
  'th': 'thai', 'tr': 'turkish', 'ur': 'urdu', 'vi': 'vietnamese', 'zh': 'chinese'}
@@ -357,7 +359,7 @@ def run():
357
  chosen_id = tab_bar(data=[
358
  TabBarItemData(id="tab1", title="small vocab", description=tr("avec Keras et un RNN")),
359
  TabBarItemData(id="tab2", title="small vocab", description=tr("avec Keras et un Transformer")),
360
- TabBarItemData(id="tab3", title=tr("Phrase personnelle"), description=tr("à saisir")),
361
  TabBarItemData(id="tab4", title=tr("Phrase personnelle"), description=tr("à dicter")),
362
  TabBarItemData(id="tab5", title=tr("Funny translation !"), description=tr("avec le Fine Tuning"))],
363
  default="tab1")
@@ -422,7 +424,7 @@ def run():
422
  st.write("## **"+tr("Paramètres")+" :**\n")
423
  custom_sentence = st.text_area(label=tr("Saisir le texte à traduire"))
424
  l_tgt = st.selectbox(tr("Choisir la langue cible pour Google Translate (uniquement)")+":",lang_tgt, format_func = find_lang_label )
425
- st.button(label=tr("Valider"), type="primary")
426
  if custom_sentence!="":
427
  st.write("## **"+tr("Résultats")+" :**\n")
428
  Lang_detected = lang_classifier (custom_sentence)[0]['label']
@@ -559,7 +561,7 @@ def run():
559
  st.write("")
560
  st.markdown(tr(
561
  """
562
- Ainsi **la data science devient :red[magique] et fait disparaitre certaines choses, pour en faire apparaitre d'autres..**
563
  Voici quelques illustrations :
564
  (*vous noterez que DataScientest a obtenu le monopole de l'enseignement de la data science*)
565
  """)
@@ -575,7 +577,7 @@ def run():
575
  st.write("## **"+tr("Paramètres")+" :**\n")
576
  st.write(tr("A vous d'essayer")+":")
577
  custom_sentence2 = st.text_area(label=tr("Saisissez le texte anglais à traduire"))
578
- but2 = st.button(label=tr("Valider"), type="primary")
579
  if custom_sentence2!="":
580
  st.write("## **"+tr("Résultats")+" :**\n")
581
  st.write("**fr :** "+finetuned_translation_en_fr(custom_sentence2, max_length=400)[0]['translation_text'])
 
346
  """)
347
  , unsafe_allow_html=True)
348
 
349
+ # Utilisation du module translate
350
  lang_tgt = ['en','fr','af','ak','sq','de','am','en','ar','hy','as','az','ba','bm','eu','bn','be','my','bs','bg','ks','ca','ny','zh','si','ko','co','ht','hr','da','dz','gd','es','eo','et','ee','fo','fj','fi','fr','fy','gl','cy','lg','ka','el','gn','gu','ha','he','hi','hu','ig','id','iu','ga','is','it','ja','kn','kk','km','ki','rw','ky','rn','ku','lo','la','lv','li','ln','lt','lb','mk','ms','ml','dv','mg','mt','mi','mr','mn','nl','ne','no','nb','nn','oc','or','ug','ur','uz','ps','pa','fa','pl','pt','ro','ru','sm','sg','sa','sc','sr','sn','sd','sk','sl','so','st','su','sv','sw','ss','tg','tl','ty','ta','tt','cs','te','th','bo','ti','to','ts','tn','tr','tk','tw','uk','vi','wo','xh','yi']
351
  label_lang = ['Anglais','Français','Afrikaans','Akan','Albanais','Allemand','Amharique','Anglais','Arabe','Arménien','Assamais','Azéri','Bachkir','Bambara','Basque','Bengali','Biélorusse','Birman','Bosnien','Bulgare','Cachemiri','Catalan','Chichewa','Chinois','Cingalais','Coréen','Corse','Créolehaïtien','Croate','Danois','Dzongkha','Écossais','Espagnol','Espéranto','Estonien','Ewe','Féroïen','Fidjien','Finnois','Français','Frisonoccidental','Galicien','Gallois','Ganda','Géorgien','Grecmoderne','Guarani','Gujarati','Haoussa','Hébreu','Hindi','Hongrois','Igbo','Indonésien','Inuktitut','Irlandais','Islandais','Italien','Japonais','Kannada','Kazakh','Khmer','Kikuyu','Kinyarwanda','Kirghiz','Kirundi','Kurde','Lao','Latin','Letton','Limbourgeois','Lingala','Lituanien','Luxembourgeois','Macédonien','Malais','Malayalam','Maldivien','Malgache','Maltais','MaorideNouvelle-Zélande','Marathi','Mongol','Néerlandais','Népalais','Norvégien','Norvégienbokmål','Norvégiennynorsk','Occitan','Oriya','Ouïghour','Ourdou','Ouzbek','Pachto','Pendjabi','Persan','Polonais','Portugais','Roumain','Russe','Samoan','Sango','Sanskrit','Sarde','Serbe','Shona','Sindhi','Slovaque','Slovène','Somali','SothoduSud','Soundanais','Suédois','Swahili','Swati','Tadjik','Tagalog','Tahitien','Tamoul','Tatar','Tchèque','Télougou','Thaï','Tibétain','Tigrigna','Tongien','Tsonga','Tswana','Turc','Turkmène','Twi','Ukrainien','Vietnamien','Wolof','Xhosa','Yiddish']
352
+
353
  lang_src = {'ar': 'arabic', 'bg': 'bulgarian', 'de': 'german', 'el':'modern greek', 'en': 'english', 'es': 'spanish', 'fr': 'french', \
354
  'hi': 'hindi', 'it': 'italian', 'ja': 'japanese', 'nl': 'dutch', 'pl': 'polish', 'pt': 'portuguese', 'ru': 'russian', 'sw': 'swahili', \
355
  'th': 'thai', 'tr': 'turkish', 'ur': 'urdu', 'vi': 'vietnamese', 'zh': 'chinese'}
 
359
  chosen_id = tab_bar(data=[
360
  TabBarItemData(id="tab1", title="small vocab", description=tr("avec Keras et un RNN")),
361
  TabBarItemData(id="tab2", title="small vocab", description=tr("avec Keras et un Transformer")),
362
+ TabBarItemData(id="tab3", title=tr("Phrase personnelle"), description=tr("à écrire")),
363
  TabBarItemData(id="tab4", title=tr("Phrase personnelle"), description=tr("à dicter")),
364
  TabBarItemData(id="tab5", title=tr("Funny translation !"), description=tr("avec le Fine Tuning"))],
365
  default="tab1")
 
424
  st.write("## **"+tr("Paramètres")+" :**\n")
425
  custom_sentence = st.text_area(label=tr("Saisir le texte à traduire"))
426
  l_tgt = st.selectbox(tr("Choisir la langue cible pour Google Translate (uniquement)")+":",lang_tgt, format_func = find_lang_label )
427
+ st.button(label=tr("Validez"), type="primary")
428
  if custom_sentence!="":
429
  st.write("## **"+tr("Résultats")+" :**\n")
430
  Lang_detected = lang_classifier (custom_sentence)[0]['label']
 
561
  st.write("")
562
  st.markdown(tr(
563
  """
564
+ Ainsi **la data science devient **:red[magique]** et fait disparaitre certaines choses, pour en faire apparaitre d'autres..**
565
  Voici quelques illustrations :
566
  (*vous noterez que DataScientest a obtenu le monopole de l'enseignement de la data science*)
567
  """)
 
577
  st.write("## **"+tr("Paramètres")+" :**\n")
578
  st.write(tr("A vous d'essayer")+":")
579
  custom_sentence2 = st.text_area(label=tr("Saisissez le texte anglais à traduire"))
580
+ but2 = st.button(label=tr("Validez"), type="primary")
581
  if custom_sentence2!="":
582
  st.write("## **"+tr("Résultats")+" :**\n")
583
  st.write("**fr :** "+finetuned_translation_en_fr(custom_sentence2, max_length=400)[0]['translation_text'])
translate_app.py CHANGED
@@ -1,11 +1,18 @@
1
  import streamlit as st
2
- from translate import Translator
 
3
 
4
- @st.cache_data(ttl="1d")
5
  def trad(message,l):
6
  try:
7
- translator = Translator(to_lang=l , from_lang="fr")
8
- translation = translator.translate(message)
 
 
 
 
 
 
9
  return translation
10
  except:
11
  return "Problème de traduction.."
@@ -16,3 +23,5 @@ def tr(message):
16
  if l == 'fr': return message
17
  else: message = message.replace(":red[**","").replace("**]","")
18
  return trad(message,l)
 
 
 
1
  import streamlit as st
2
+ # from translate import Translator
3
+ from deep_translator import GoogleTranslator
4
 
5
+ @st.cache_data(ttl="2d", show_spinner=False)
6
  def trad(message,l):
7
  try:
8
+ # Utilisation du module translate
9
+ # translator = Translator(to_lang=l , from_lang="fr")
10
+ # translation = translator.translate(message)
11
+
12
+ # Utilisation du module deep_translator
13
+ translation = GoogleTranslator(source='fr', target=l).translate(message.replace(" \n","§§§"))
14
+ translation = translation.replace("§§§"," \n") # .replace(" ","<br>")
15
+
16
  return translation
17
  except:
18
  return "Problème de traduction.."
 
23
  if l == 'fr': return message
24
  else: message = message.replace(":red[**","").replace("**]","")
25
  return trad(message,l)
26
+
27
+