hxebolax / TranslateAdvanced

Traductor Avanzado para NVDA es un complemento que permite traducir textos usando Google Translate, DeepL, LibreTranslate y Microsoft Translator. Ofrece traducción simultánea, historial y gestión de claves API. Fácil de configurar y usar, con teclas rápidas y opciones personalizables en el menú de NVDA.
GNU General Public License v2.0
4 stars 5 forks source link

Intercambiar idiomas de origen y destino #5

Open javidominguez opened 2 months ago

javidominguez commented 2 months ago

Genial el complemento. Un par de cositas que me gustarían y que no he visto que las tenga.

  1. Un atajo para intercambiar los idiomas de origen y destino.
  2. Al traducir texto seleccionado, si dicho texto está en el idioma de destino intercambiarlos automáticamente. Es decir, si selecciono un texto en inglés que me lo traduzca al español pero si selecciono un texto en español que me lo traduzca al inglés. Ya he visto en #2 que la autodetección del idioma no está soportada en todos los módulos.No sé como se podría hacer. ¿Sería posible autodetectar el idioma con uno, con Google, por ejemplo, y traducirlo con otro?
hxebolax commented 2 months ago

Hola Javi.

Bien, entendamos que tanto en Google, DeepL y LibreTranslate no dejo al usuario elegir idioma origen ya que habría muchos aspectos más que contemplar y con auto me quito de muchos dolores de cabeza dejando solo elegir idioma destino.

En Microsoft si se puede, pero realmente ese traductor tiene el inconveniente que como abusemos un poco de el nos dará error de cuota y bueno tendremos que esperar.

Lo que se me ocurre es dejar al usuario tener unos idiomas favoritos, pongamos que tú pones como favoritos inglés, Frances e Italiano.

Y por defecto tu tienes el idioma español en destino.

Bien si traducimos un texto seleccionado que esta en inglés nos lo devolverá en español.

Si se puede poner un detector de idiomas con Google, aunque eso en conexiones rápidas no tendrá un perjuicio si puede en conexiones más limitadas, pero es bastante rápido.

Bien si detecta que el idioma es español y tu tienes en destino español que te ofrezca la lista de favoritos que tú tenias y hay tu eliges.

Si en favoritos solo tienes un idioma pues listo detecto que origen y destino son iguales pues como en favoritos hay uno solo traducimos al favorito.

Es lo que se me ocurre, pero creo que eso solo para texto seleccionado ya que en el resto de las funciones no le veo mucho sentido a no ser que me digas que si.

Lo del sentido también es por que no quiero abusar de las llamadas a Google para detectar el idioma y bueno creo que, si es posible seleccionar mucho texto y hay ya trabajar con el, pero para lo ultimo dicho por el sintetizador o lo que tenemos en el portapapeles creo que es abusar.

Pero abierto a debate.

Gracias.

javidominguez commented 2 months ago

Lo de los idiomas favoritos me parece una buena idea. En principio sí, sería para el texto seleccionado. Para el resto de funciones también sería conveniente, como dice @fastfinge en #2, por privacidad y por ahorrar traducciones innecesarias pero supongo que es más complicado. ¿Lo de hacer la detección del idioma de origen en local y la traducción online como lo ves? ¿Conoces algún modelo lo bastante ligero y rápido para hacer sólo la detección en local?

hxebolax commented 2 months ago

Buenas, pues de primero voy a ponerme con la selección y a darle una vuelta al tema y haber que sale.

En cuanto a la traducción simultanea, es una perdida como se ha hablado, pero si pusiera el detectar idioma en la simultanea hay si perderíamos fluidez ya que serian 2 llamadas una para detectar y otra para traducir y en algo que en ocasiones necesitamos rapidez.

Por eso entra el usuario el activar cuando lo necesite no cuando este en su propio idioma.

Bien ya comenté, que en todo lo posible pretendía que el complemento no llevara ninguna librería externa a NVDA ya que me da mucho más control y no tener que estar pendiente de si alguna librería cambia.

Por mala suerte hasta donde yo conozco, todas las librerías para detectar idiomas y que sean medianamente fiables aumentarían el peso del complemento considerablemente no bajando de los 80 megas aproximadamente.

Añadiendo que su fiabilidad tampoco es un 100% y habiendo trabajado con varias y en los proyectos que e tenido de traductores offline dejando muchas veces mucho que desear en textos fáciles dando cualquier resultado menos el que toca.

Lo más fiable, pero perdiendo ese tiempo casi inapreciable en conexiones buenas es el reconocimiento de Google.

En el texto seleccionado para no enviar todo el texto y que detecte que idioma es seria enviar la primera frase para que detectara y según lo devuelto actuar.

Voy a ponerme próximamente con ello.

Y si alguien conoce alguna librería que sea buena, pequeñita y rápida pues se podría valorar.