Update app.py
Browse files
app.py
CHANGED
|
@@ -59,20 +59,31 @@ def split_text(text, limit=4000):
|
|
| 59 |
return chunks
|
| 60 |
|
| 61 |
def translate_html_content(text, source_lang, target_lang):
|
| 62 |
-
|
| 63 |
-
|
| 64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
translated_parts = []
|
| 66 |
-
for
|
| 67 |
-
if
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
-
return
|
| 76 |
|
| 77 |
def main(Texto, source_lang, target_lang):
|
| 78 |
source_code = lang_dict[source_lang]
|
|
|
|
| 59 |
return chunks
|
| 60 |
|
| 61 |
def translate_html_content(text, source_lang, target_lang):
|
| 62 |
+
# Patrón para identificar etiquetas HTML completas
|
| 63 |
+
html_tag_pattern = re.compile(r'<[^>]+>')
|
| 64 |
|
| 65 |
+
# Separar el texto en partes (texto y etiquetas)
|
| 66 |
+
parts = html_tag_pattern.split(text)
|
| 67 |
+
tags = html_tag_pattern.findall(text)
|
| 68 |
+
|
| 69 |
+
# Traducir solo las partes que no son etiquetas HTML
|
| 70 |
translated_parts = []
|
| 71 |
+
for part in parts:
|
| 72 |
+
if part.strip(): # Traducir solo si hay texto no vacío
|
| 73 |
+
chunks = split_text(part)
|
| 74 |
+
translated_chunks = [translate(chunk, target_lang, source_lang) for chunk in chunks]
|
| 75 |
+
translated_parts.append(''.join(translated_chunks))
|
| 76 |
+
else:
|
| 77 |
+
translated_parts.append(part) # Mantener partes vacías o de solo espacios
|
| 78 |
+
|
| 79 |
+
# Reconstruir el texto combinando partes traducidas y etiquetas originales
|
| 80 |
+
translated_text = ''
|
| 81 |
+
for i in range(len(parts)):
|
| 82 |
+
translated_text += translated_parts[i]
|
| 83 |
+
if i < len(tags): # Añadir la etiqueta correspondiente si existe
|
| 84 |
+
translated_text += tags[i]
|
| 85 |
|
| 86 |
+
return translated_text
|
| 87 |
|
| 88 |
def main(Texto, source_lang, target_lang):
|
| 89 |
source_code = lang_dict[source_lang]
|