tx3bas commited on
Commit
5c18485
·
verified ·
1 Parent(s): 7b54c20

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -39
app.py CHANGED
@@ -2,41 +2,10 @@ import streamlit as st
2
  from mtranslate import translate
3
  import re
4
 
5
- # Diccionario de idiomas y sus códigos
6
  lang_dict = {
7
- 'Español': 'es',
8
- 'English': 'en',
9
- 'Mandarín': 'zh',
10
- 'Hindi': 'hi',
11
- 'Árabe': 'ar',
12
- 'Portugués': 'pt',
13
- 'Bengalí': 'bn',
14
- 'Ruso': 'ru',
15
- 'Japonés': 'ja',
16
- 'Panyabí': 'pa',
17
- 'Alemán': 'de',
18
- 'Javanés': 'jw',
19
- 'Coreano': 'ko',
20
- 'Francés': 'fr',
21
- 'Vietnamita': 'vi',
22
- 'Turco': 'tr',
23
- 'Italiano': 'it',
24
- 'Ucraniano': 'uk',
25
- 'Tailandés': 'th',
26
- 'Guyaratí': 'gu',
27
- 'Polaco': 'pl',
28
- 'Griego': 'el',
29
- 'Neerlandés': 'nl',
30
- 'Sueco': 'sv',
31
- 'Rumano': 'ro',
32
- 'Checo': 'cs',
33
- 'Húngaro': 'hu',
34
- 'Hebreo': 'he',
35
- 'Indonesio': 'id',
36
- 'Nepalí': 'ne',
37
- 'Gallego': 'gl',
38
- 'Catalán': 'ca',
39
- 'Vasco': 'eu'
40
  }
41
 
42
  lang_list = list(lang_dict.keys())
@@ -56,27 +25,25 @@ def split_text(text, limit=4000):
56
  return chunks
57
 
58
  def translate_text(lang, text):
59
- lang_code = lang_dict[lang]
60
  chunks = split_text(text)
61
  translated_chunks = [translate(chunk, lang_code) for chunk in chunks]
62
  translated_text = ''.join(translated_chunks)
63
  return translated_text
64
 
65
  def main():
66
- st.markdown('<link href="https://cdn.jsdelivr.net/npm/flag-icons/css/flag-icons.min.css" rel="stylesheet">', unsafe_allow_html=True)
67
-
68
  st.title("Traducción sin límites")
69
 
70
  text = st.text_area("Texto a traducir", height=200)
71
 
72
- lang = st.selectbox("Idioma", lang_list, format_func=lambda x: f'<span class="fi fi-{lang_dict[x]}"></span> {x}', key='selectbox_lang')
73
 
74
  if st.button("Traducir"):
75
  translated_text = translate_text(lang, text)
76
 
77
  st.write("Texto traducido:")
78
  st.write(translated_text)
79
- st.write(f'<button onclick="navigator.clipboard.writeText(\'{translated_text}\')">Copiar al portapapeles</button>', unsafe_allow_html=True)
80
 
81
  if __name__ == "__main__":
82
  main()
 
2
  from mtranslate import translate
3
  import re
4
 
5
+ # Diccionario de idiomas, códigos y URLs de banderas
6
  lang_dict = {
7
+ 'Español': {'code': 'es', 'flag': 'https://flagicons.lipis.dev/flags/4x3/es.svg'},
8
+ 'English': {'code': 'en', 'flag': 'https://flagicons.lipis.dev/flags/4x3/es.svg'}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  }
10
 
11
  lang_list = list(lang_dict.keys())
 
25
  return chunks
26
 
27
  def translate_text(lang, text):
28
+ lang_code = lang_dict[lang]['code']
29
  chunks = split_text(text)
30
  translated_chunks = [translate(chunk, lang_code) for chunk in chunks]
31
  translated_text = ''.join(translated_chunks)
32
  return translated_text
33
 
34
  def main():
 
 
35
  st.title("Traducción sin límites")
36
 
37
  text = st.text_area("Texto a traducir", height=200)
38
 
39
+ lang = st.selectbox("Idioma", lang_list, format_func=lambda x: f'<img src="{lang_dict[x]["flag"]}" width="20"/> {x}')
40
 
41
  if st.button("Traducir"):
42
  translated_text = translate_text(lang, text)
43
 
44
  st.write("Texto traducido:")
45
  st.write(translated_text)
46
+ st.markdown(f'<button onclick="navigator.clipboard.writeText(`{translated_text}`)">Copiar al portapapeles</button>', unsafe_allow_html=True)
47
 
48
  if __name__ == "__main__":
49
  main()