tx3bas commited on
Commit
d87bf4a
·
1 Parent(s): 4855525

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -7
app.py CHANGED
@@ -1,24 +1,59 @@
1
  import gradio as gr
2
  from mtranslate import translate
3
 
4
- # Lista de idiomas admitidos. El idioma predeterminado es "es", seguido de "en".
5
- langs = "es,en,fr,de,it,zh,ru,ja,ar"
6
- lang_list = langs.split(',')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  def translate_text(lang, text):
 
 
 
9
  # Comprobar si el texto supera el límite de 4000 caracteres.
10
  if len(text) > 4000:
11
  chunks = [text[i:i + 4000] for i in range(0, len(text), 4000)]
12
- translated_chunks = [translate(chunk, lang) for chunk in chunks]
13
  translated_text = ''.join(translated_chunks)
14
  else:
15
- translated_text = translate(text, lang)
16
  return translated_text
17
 
18
  with gr.Blocks(analytics_enabled=False) as app:
19
 
20
  Source = gr.Textbox(label="Source")
21
- Language = gr.Dropdown(lang_list, label="Language", default="es")
22
  Translate = gr.Button("Translate")
23
  Result = gr.Textbox(label="Result")
24
 
@@ -30,4 +65,3 @@ with gr.Blocks(analytics_enabled=False) as app:
30
  )
31
 
32
  app.launch(inline=True)
33
- # Omitido el bloque.queue ya que no estaba claro su uso en su ejemplo
 
1
  import gradio as gr
2
  from mtranslate import translate
3
 
4
+ # Diccionario de idiomas, sus códigos y emojis de banderas
5
+ lang_dict = {
6
+ 'Español 🇪🇸': 'es',
7
+ 'English 🇬🇧': 'en',
8
+ '普通话 (Mandarín) 🇨🇳': 'zh',
9
+ 'हिंदी (Hindi) 🇮🇳': 'hi',
10
+ 'العربية (Árabe) 🇸🇦': 'ar',
11
+ 'Português 🇵🇹': 'pt',
12
+ 'বাংলা (Bengalí) 🇧🇩': 'bn',
13
+ 'Русский (Ruso) 🇷🇺': 'ru',
14
+ '日本語 (Japonés) 🇯🇵': 'ja',
15
+ 'ਪੰਜਾਬੀ (Panyabí) 🇮🇳': 'pa',
16
+ 'Deutsch 🇩🇪': 'de',
17
+ 'Jawa 🇮🇩': 'jw',
18
+ '한국어 (Coreano) 🇰🇷': 'ko',
19
+ 'Français 🇫🇷': 'fr',
20
+ 'Tiếng Việt 🇻🇳': 'vi',
21
+ 'Türkçe 🇹🇷': 'tr',
22
+ 'Italiano 🇮🇹': 'it',
23
+ 'Українська (Ucraniano) 🇺🇦': 'uk',
24
+ 'ไทย (Tailandés) 🇹🇭': 'th',
25
+ 'ગુજરાતી (Guyaratí) 🇮🇳': 'gu',
26
+ 'Polski 🇵🇱': 'pl',
27
+ 'Ελληνικά (Griego) 🇬🇷': 'el',
28
+ 'Nederlands 🇳🇱': 'nl',
29
+ 'Svenska (Sueco) 🇸🇪': 'sv',
30
+ 'Română 🇷🇴': 'ro',
31
+ 'Čeština 🇨🇿': 'cs',
32
+ 'Magyar (Húngaro) 🇭🇺': 'hu',
33
+ 'हैज़ (Hebreo) 🇮🇱': 'he',
34
+ 'Bahasa Indonesia 🇮🇩': 'id',
35
+ 'नेपाली (Nepalí) 🇳🇵': 'ne'
36
+ }
37
+
38
+ lang_list = list(lang_dict.keys())
39
 
40
  def translate_text(lang, text):
41
+ # Obtener el código del idioma
42
+ lang_code = lang_dict[lang]
43
+
44
  # Comprobar si el texto supera el límite de 4000 caracteres.
45
  if len(text) > 4000:
46
  chunks = [text[i:i + 4000] for i in range(0, len(text), 4000)]
47
+ translated_chunks = [translate(chunk, lang_code) for chunk in chunks]
48
  translated_text = ''.join(translated_chunks)
49
  else:
50
+ translated_text = translate(text, lang_code)
51
  return translated_text
52
 
53
  with gr.Blocks(analytics_enabled=False) as app:
54
 
55
  Source = gr.Textbox(label="Source")
56
+ Language = gr.Dropdown(lang_list, label="Language", default="Español 🇪🇸")
57
  Translate = gr.Button("Translate")
58
  Result = gr.Textbox(label="Result")
59
 
 
65
  )
66
 
67
  app.launch(inline=True)