rick commited on
Commit
52aa07f
·
unverified ·
1 Parent(s): 29e90a0

Correction de: Traduction multilingue simultanée

Browse files
Files changed (1) hide show
  1. app.py +10 -4
app.py CHANGED
@@ -157,7 +157,7 @@ def set_mode_translation(from_lang, dest_lang):
157
  SUPPORTED_LANGUAGES=["Afrikaans", "Arabic", "Armenian", "Azerbaijani", "Belarusian", "Bosnian", "Bulgarian", "Catalan", "Chinese", "Croatian", "Czech", "Danish", "Dutch", "English", "Estonian", "Finnish", "French", "Galician", "German", "Greek", "Hebrew", "Hindi", "Hungarian", "Icelandic", "Indonesian", "Italian", "Japanese", "Kannada", "Kazakh", "Korean", "Latvian", "Lithuanian", "Macedonian", "Malay", "Marathi", "Maori", "Nepali", "Norwegian", "Persian", "Polish", "Portuguese", "Romanian", "Russian", "Serbian", "Slovak", "Slovenian", "Spanish", "Swahili", "Swedish", "Tagalog", "Tamil", "Thai", "Turkish", "Ukrainian", "Urdu", "Vietnamese", "Welsh"]
158
 
159
  # Fonction pour convertir le nom d'une langue en code ISO 639-1
160
- def convert_language_name_to_iso6391(language_name):
161
  # Dictionnaire de correspondance entre les noms de langues et les codes ISO 639-1
162
  language_to_iso = {
163
  "Afrikaans": "af", "Arabic": "ar", "Armenian": "hy", "Azerbaijani": "az",
@@ -177,6 +177,12 @@ def convert_language_name_to_iso6391(language_name):
177
  "Welsh": "cy"
178
  }
179
 
 
 
 
 
 
 
180
  # Retourne le code ISO 639-1 correspondant au nom de la langue
181
  return language_to_iso.get(language_name, "en") # Par défaut, retourne 'en' si la langue n'est pas trouvée
182
 
@@ -227,7 +233,7 @@ def main():
227
 
228
  for cursor_selected_lang in st.session_state.selected_languages:
229
  # Mise à jour de la langue cible avec le code ISO 639-1 de la langue sélectionnée
230
- st.session_state.target_language = cursor_selected_lang["iso-639-1"]
231
 
232
  # Initialisation du mode de traitement pour la langue cible actuelle
233
  init_process_mode()
@@ -263,7 +269,7 @@ def main():
263
 
264
  for cursor_selected_lang in st.session_state.selected_languages:
265
  # Mise à jour de la langue cible avec le code ISO 639-1 de la langue sélectionnée
266
- st.session_state.target_language = cursor_selected_lang["iso-639-1"]
267
 
268
  # Initialisation du mode de traitement pour la langue cible actuelle
269
  init_process_mode()
@@ -287,7 +293,7 @@ def main():
287
  def on_languages_change():
288
  print(type(st.session_state.selected_languages))
289
  print(st.session_state.selected_languages)
290
- selected_languages = [ {"language": selected_language, "iso-639-1":convert_language_name_to_iso6391(selected_language) } for selected_language in st.session_state.selected_languages ]
291
  st.session_state.selected_languages = selected_languages
292
 
293
  with st.container(border=True):
 
157
  SUPPORTED_LANGUAGES=["Afrikaans", "Arabic", "Armenian", "Azerbaijani", "Belarusian", "Bosnian", "Bulgarian", "Catalan", "Chinese", "Croatian", "Czech", "Danish", "Dutch", "English", "Estonian", "Finnish", "French", "Galician", "German", "Greek", "Hebrew", "Hindi", "Hungarian", "Icelandic", "Indonesian", "Italian", "Japanese", "Kannada", "Kazakh", "Korean", "Latvian", "Lithuanian", "Macedonian", "Malay", "Marathi", "Maori", "Nepali", "Norwegian", "Persian", "Polish", "Portuguese", "Romanian", "Russian", "Serbian", "Slovak", "Slovenian", "Spanish", "Swahili", "Swedish", "Tagalog", "Tamil", "Thai", "Turkish", "Ukrainian", "Urdu", "Vietnamese", "Welsh"]
158
 
159
  # Fonction pour convertir le nom d'une langue en code ISO 639-1
160
+ def convert_language_name_to_iso6391(language_data):
161
  # Dictionnaire de correspondance entre les noms de langues et les codes ISO 639-1
162
  language_to_iso = {
163
  "Afrikaans": "af", "Arabic": "ar", "Armenian": "hy", "Azerbaijani": "az",
 
177
  "Welsh": "cy"
178
  }
179
 
180
+ # Vérifier si language_data est un dictionnaire
181
+ if isinstance(language_data, dict):
182
+ language_name = language_data.get('language')
183
+ else:
184
+ language_name = language_data
185
+
186
  # Retourne le code ISO 639-1 correspondant au nom de la langue
187
  return language_to_iso.get(language_name, "en") # Par défaut, retourne 'en' si la langue n'est pas trouvée
188
 
 
233
 
234
  for cursor_selected_lang in st.session_state.selected_languages:
235
  # Mise à jour de la langue cible avec le code ISO 639-1 de la langue sélectionnée
236
+ st.session_state.target_language = cursor_selected_lang
237
 
238
  # Initialisation du mode de traitement pour la langue cible actuelle
239
  init_process_mode()
 
269
 
270
  for cursor_selected_lang in st.session_state.selected_languages:
271
  # Mise à jour de la langue cible avec le code ISO 639-1 de la langue sélectionnée
272
+ st.session_state.target_language = cursor_selected_lang
273
 
274
  # Initialisation du mode de traitement pour la langue cible actuelle
275
  init_process_mode()
 
293
  def on_languages_change():
294
  print(type(st.session_state.selected_languages))
295
  print(st.session_state.selected_languages)
296
+ selected_languages = [ convert_language_name_to_iso6391(selected_language) for selected_language in st.session_state.selected_languages ]
297
  st.session_state.selected_languages = selected_languages
298
 
299
  with st.container(border=True):