Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -125,16 +125,17 @@ if doc_file and st.button("Lancer la traduction"):
|
|
| 125 |
english_text = block[4]
|
| 126 |
|
| 127 |
# Traduction du texte
|
| 128 |
-
translated_text = translator.translate(english_text)
|
| 129 |
-
|
|
|
|
| 130 |
# Remplacement du texte
|
| 131 |
-
page.draw_rect(bbox, color=None, fill=blanc, oc=ocg_xref)
|
| 132 |
|
| 133 |
# Correction : s'assurer que french est une chaîne de caractères
|
| 134 |
-
if isinstance(translated_text, list):
|
| 135 |
-
|
| 136 |
-
elif translated_text is None: # Gère le cas où la traduction est None
|
| 137 |
-
|
| 138 |
#page.insert_textbox(
|
| 139 |
# bbox,
|
| 140 |
# translated_text,
|
|
@@ -143,11 +144,25 @@ if doc_file and st.button("Lancer la traduction"):
|
|
| 143 |
# oc=ocg_xref,
|
| 144 |
#)
|
| 145 |
|
| 146 |
-
page.insert_htmlbox(
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
|
| 152 |
# Mise à jour de la barre de progression
|
| 153 |
progress_bar.progress((page_num + 1) / total_pages)
|
|
|
|
| 125 |
english_text = block[4]
|
| 126 |
|
| 127 |
# Traduction du texte
|
| 128 |
+
#translated_text = translator.translate(english_text)
|
| 129 |
+
# Découper le texte en segments de 500 caractères max
|
| 130 |
+
chunks = [english_text[i:i+500] for i in range(0, len(english_text), 500)]
|
| 131 |
# Remplacement du texte
|
| 132 |
+
#page.draw_rect(bbox, color=None, fill=blanc, oc=ocg_xref)
|
| 133 |
|
| 134 |
# Correction : s'assurer que french est une chaîne de caractères
|
| 135 |
+
#if isinstance(translated_text, list):
|
| 136 |
+
# translated_text = " ".join(translated_text) # Joint les éléments de la liste en une seule chaîne
|
| 137 |
+
#elif translated_text is None: # Gère le cas où la traduction est None
|
| 138 |
+
# translated_text = "" # Remplace par une chaîne vide
|
| 139 |
#page.insert_textbox(
|
| 140 |
# bbox,
|
| 141 |
# translated_text,
|
|
|
|
| 144 |
# oc=ocg_xref,
|
| 145 |
#)
|
| 146 |
|
| 147 |
+
#page.insert_htmlbox(
|
| 148 |
+
# bbox,
|
| 149 |
+
# translated_text,
|
| 150 |
+
# oc=ocg_xref,
|
| 151 |
+
#)
|
| 152 |
+
translated_text = ""
|
| 153 |
+
|
| 154 |
+
for chunk in chunks:
|
| 155 |
+
if chunk.strip(): # Ignorer les chunks vides
|
| 156 |
+
try:
|
| 157 |
+
translated_chunk = translator.translate(chunk)
|
| 158 |
+
translated_text += translated_chunk + " "
|
| 159 |
+
except Exception as e:
|
| 160 |
+
st.warning(f"Erreur sur un segment : {str(e)}")
|
| 161 |
+
translated_text += chunk + " " # Garde le texte original en cas d'échec
|
| 162 |
+
|
| 163 |
+
# Appliquer la traduction au PDF
|
| 164 |
+
page.draw_rect(bbox, color=None, fill=blanc, oc=ocg_xref)
|
| 165 |
+
page.insert_htmlbox(bbox, translated_text.strip(), oc=ocg_xref)
|
| 166 |
|
| 167 |
# Mise à jour de la barre de progression
|
| 168 |
progress_bar.progress((page_num + 1) / total_pages)
|