From 42748ec9a55fb86a1d331e76f7bbe2a67f792995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Pav=C3=B3n=20Abi=C3=A1n?= Date: Sun, 3 Sep 2023 12:44:21 +0200 Subject: [PATCH 1/3] =?UTF-8?q?Modificado=20requirements.txt=20para=20arre?= =?UTF-8?q?glar=20un=20error=20que=20imped=C3=ADa=20hacer=20pip=20install?= =?UTF-8?q?=20-r=20requirements.txt.=20Convertido=20translator.py=20a=20un?= =?UTF-8?q?a=20clase=20python.=20AJustado=20el=20c=C3=B3digo=20para=20llam?= =?UTF-8?q?ar=20a=20esa=20clase.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VeTube.py | 9 ++++++++- ajustes.py | 5 +++-- requirements.txt | 2 +- translator.py | 20 +++++++++----------- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/VeTube.py b/VeTube.py index 25e0928..8d462f8 100644 --- a/VeTube.py +++ b/VeTube.py @@ -1,6 +1,6 @@ #!/usr/bin/python # -*- coding: -*- -import json,wx,wx.adv,threading,languageHandler,restart,translator,time,funciones,google_currency,fajustes,ajustes +import json,wx,wx.adv,threading,languageHandler,restart,time,funciones,google_currency,fajustes,ajustes from keyboard_handler.wx_handler import WXKeyboardHandler from playsound import playsound from TTS.lector import configurar_tts, detect_onnx_models @@ -12,6 +12,7 @@ from TikTokLive import TikTokLiveClient from TikTokLive.types.events import CommentEvent, GiftEvent, DisconnectEvent, ConnectEvent,LikeEvent,JoinEvent,FollowEvent,ShareEvent,ViewerUpdateEvent,EnvelopeEvent, EmoteEvent from menu_accesible import Accesible +from translator import TranslatorWrapper yt=0 # revisar la configuración primero, ya que necesitamos determinar el sistema TTS a través de ella. @@ -456,6 +457,7 @@ def historialItemsMenu(self, event): self.list_box_1.PopupMenu(menu) menu.Destroy() def traducirMenu(self, event): + translator = TranslatorWrapper() noti =wx.adv.NotificationMessage(_("Mensaje traducido"), _("el mensaje se ha traducido al idioma del programa y se a copiado en el portapapeles.")) noti.Show(timeout=10) copy(translator.translate(self.list_box_1.GetString(self.list_box_1.GetSelection()),target=languageHandler.curLang[:2])) @@ -577,6 +579,7 @@ def guardarLista(self, event): def guardar(self): global lista,config,leer rest=False + translator = TranslatorWrapper() config=ajustes.config config['categorias']=[] config['listasonidos']=[] @@ -733,6 +736,7 @@ def retornarMensaje(self): if self.list_box_1.GetCount()>0 and lista[yt][0]=='General': return self.list_box_1.GetString(self.list_box_1.GetSelection()) if lista[yt][0]!='General' and len(lista[yt])>0: return lista[yt][pos[yt]] def mostrarMensaje(self,event=None): + translator = TranslatorWrapper() idiomas_disponibles =[translator.LANGUAGES[k] for k in translator.LANGUAGES] if self.dentro and self.retornarMensaje(): my_dialog = wx.Dialog(self, wx.ID_ANY, _("mensaje")) @@ -755,6 +759,7 @@ def mostrarMensaje(self,event=None): my_dialog.ShowModal() def cambiarTraducir(self,event): self.traducir.SetLabel(_("&traducir el mensaje") if self.choice_idiomas.GetString(self.choice_idiomas.GetSelection()) != translator.LANGUAGES[languageHandler.curLang[:2]] else _("&Traducir mensaje al idioma del programa")) def traducirMensaje(self,event): + translator = TranslatorWrapper() for k in translator.LANGUAGES: if translator.LANGUAGES[k] == self.choice_idiomas.GetStringSelection(): self.text_message.SetValue(translator.translate(self.text_message.GetValue(),target=k)) @@ -818,6 +823,7 @@ def favoritoTeclas(self,event): if event.GetKeyCode() == 32: self.acceder(url=favorite[self.list_favorite.GetSelection()]['url']) def recibirYT(self): global lista + translator = TranslatorWrapper() for message in self.chat: if message['message']==None: message['message']='' if self.dst: message['message'] = translator.translate(text=message['message'], target=self.dst) @@ -1062,6 +1068,7 @@ def recibirTiktok(self): self.chat.add_listener("disconnect", self.on_disconnect) self.chat.run() def recibirTwich(self): + translator = TranslatorWrapper() for message in self.chat: if self.dst: message['message'] = translator.translate(text=message['message'], target=self.dst) if not message['author']['name'] in self.usuarios: diff --git a/ajustes.py b/ajustes.py index 5d20a48..99f2402 100644 --- a/ajustes.py +++ b/ajustes.py @@ -1,6 +1,6 @@ import wx,languageHandler,fajustes from google_currency import CODES -from translator import LANGUAGES +from translator import TranslatorWrapper from accessible_output2.outputs import sapi5 from TTS.lector import configurar_tts, detect_onnx_models from TTS.list_voices import piper_list_voices, install_piper_voice @@ -19,6 +19,7 @@ class configuracionDialog(wx.Dialog): def __init__(self, parent): global config, lista_voces, prueba_piper # idioma: + translator = TranslatorWrapper() languageHandler.setLanguage(config['idioma']) idiomas = languageHandler.getAvailableLanguages() langs = [] @@ -30,7 +31,7 @@ def __init__(self, parent): idiomas_disponibles = [""] monedas=[_('Por defecto')] for k in CODES: monedas.append(f'{CODES[k]}, ({k})') - for k in LANGUAGES: idiomas_disponibles.append(LANGUAGES[k]) + for k in translator.LANGUAGES: idiomas_disponibles.append(LANGUAGES[k]) # voces: if config['sistemaTTS'] == "piper": if not lista_voces_piper is None: diff --git a/requirements.txt b/requirements.txt index 61e0b0d..242273f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,6 +7,6 @@ git+https://github.com/metalalchemist/google-currency git+https://github.com/accessibleapps/accessible_output2 git+https://github.com/rmcpantoja/googletrans.git numpy -onnxruntime==1.14.1 +onnxruntime git+https://github.com/mush42/espeak-phonemizer-windows sounddevice \ No newline at end of file diff --git a/translator.py b/translator.py index 742e1b1..17bc76d 100644 --- a/translator.py +++ b/translator.py @@ -1,14 +1,12 @@ -# -*- coding: utf-8 -*- -from googletrans import Translator, LANGUAGES +from googletrans import Translator +class TranslatorWrapper: + def __init__(self): + self.translator = Translator() -# create a single translator instance -# see https://github.com/ssut/py-googletrans/issues/234 -t = None + def translate(self, text="", target="en"): + return self.translator.translate(text, dest=target).text -def translate(text="", target="en"): - global t - if t == None: - t = Translator() - vars = dict(text=text, dest=target) - return t.translate(**vars).text \ No newline at end of file + @property + def LANGUAGES(self): + return LANGUAGES From 568caeba59acc6a12a5e0e93cd34b1b07176c23c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Pav=C3=B3n=20Abi=C3=A1n?= Date: Mon, 4 Sep 2023 09:03:34 +0200 Subject: [PATCH 2/3] =?UTF-8?q?Arreglando=20problema=20de=20c=C3=B3digo=20?= =?UTF-8?q?roto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ajustes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ajustes.py b/ajustes.py index 99f2402..1407192 100644 --- a/ajustes.py +++ b/ajustes.py @@ -31,7 +31,7 @@ def __init__(self, parent): idiomas_disponibles = [""] monedas=[_('Por defecto')] for k in CODES: monedas.append(f'{CODES[k]}, ({k})') - for k in translator.LANGUAGES: idiomas_disponibles.append(LANGUAGES[k]) + for k in translator.LANGUAGES: idiomas_disponibles.append(translator.LANGUAGES[k]) # voces: if config['sistemaTTS'] == "piper": if not lista_voces_piper is None: From 80c33e07b7f8c34aa6e4ab44d967e64d10079b6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Pav=C3=B3n=20Abi=C3=A1n?= Date: Tue, 5 Sep 2023 09:04:48 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Arreglado=20un=20problema=20con=20la=20impo?= =?UTF-8?q?rtaci=C3=B3n.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- translator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translator.py b/translator.py index 17bc76d..36d4277 100644 --- a/translator.py +++ b/translator.py @@ -1,4 +1,4 @@ -from googletrans import Translator +from googletrans import Translator, LANGUAGES class TranslatorWrapper: def __init__(self):