Spaces:
Paused
Paused
rick
commited on
Correction de: Traduction multilingue simultanée
Browse files
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(
|
| 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
|
| 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
|
| 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 = [
|
| 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):
|