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
5 stars 6 forks source link

Manual del Usuario: Traductor Avanzado para NVDA

Índice

1 - Introducción

El Traductor Avanzado para NVDA es un complemento que permite traducir textos utilizando diversos servicios de traducción en línea, como Google Translate, DeepL, LibreTranslate y Microsoft Translator. Este complemento ofrece funcionalidades avanzadas como traducción simultánea, historial de traducciones, traducción de lo seleccionado, soporte para múltiples lenguajes y más.

Volver al índice

1.1 - Requisitos

Volver al índice

1.2 - Limitaciones y advertencias

El complemento envía información a Internet a cada servicio correspondiente para realizar la traducción simultánea. Es importante tener en cuenta que la información que se está traduciendo puede incluir datos confidenciales y sensibles. El uso del complemento es responsabilidad exclusiva del usuario, quien debe evaluar la naturaleza de la información que se envía. El desarrollador del complemento no asume ninguna responsabilidad por los datos enviados a los servicios que el complemento utiliza.

Como desarrollador, declino toda responsabilidad por cualquier eventualidad que pueda surgir del uso del complemento. La responsabilidad completa recae en el usuario.

Además, el complemento requiere una conexión a Internet para su funcionamiento. La velocidad de respuesta del complemento depende de varios factores, tales como:

Es recomendable que los usuarios sean conscientes de estos aspectos y realicen las pruebas necesarias para asegurar que el complemento cumple con sus expectativas y requisitos de seguridad.

Volver al índice

1.3 - Información del autor

Información Técnica y Medidas de Seguridad del Complemento para NVDA

He trabajado arduamente para hacer el complemento lo más robusto posible, contemplando y manejando cualquier error potencial. Todos los errores son capturados y registrados en el log de NVDA, lo que facilita el seguimiento y la rápida resolución de inconvenientes.

Problemas con Certificados de Windows

Recientemente, he observado que los ordenadores recién instalados con Windows pueden presentar problemas con los certificados, lo cual puede ser frustrante. Por esta razón, he incorporado una comprobación al inicio del complemento. Si se detecta un fallo relacionado con los certificados, el complemento se encargará de regenerarlos automáticamente, asegurando un funcionamiento correcto tanto de Windows como del propio complemento.

Medidas de Seguridad

El complemento incluye varias medidas de seguridad:

En ocasiones, NVDA puede iniciarse más rápido que la conexión a la red Wi-Fi. En tales casos, será necesario reiniciar NVDA una vez establecida la conexión para poder utilizar el complemento correctamente.

Gestión de Claves API

El complemento genera un archivo JSON que almacena las claves API necesarias para aquellos servicios que las requieren. Este archivo, llamado apis.json, se aloja en la carpeta de usuario de Windows.

Consideraciones sobre el Archivo de Claves

Se ha decidido almacenar este archivo fuera del entorno del complemento para evitar que, al contener información sensible, pueda ser compartido inadvertidamente con una copia portátil de NVDA o en otras situaciones. Si el usuario decide dejar de utilizar el complemento, deberá eliminar manualmente este archivo.

Estas medidas aseguran una mejor gestión y seguridad del complemento, facilitando su uso y mantenimiento.

Volver al índice

2 - Descripción y configuración

2.1 - Descripción de servicios

En su primera versión, el complemento ofrece 7 servicios de traducción:

Google

4 Servicios de Google

DeepL

2 Servicios de DeepL

LibreTranslate

1 Servicio de LibreTranslate

Microsoft Translate

1 Servicio de Microsoft Translate

Estas opciones permiten a los usuarios elegir entre varios servicios de traducción, asegurando la disponibilidad y la flexibilidad del complemento según las necesidades y preferencias individuales.

Conforme el complemento reciba actualizaciones, pueden añadirse o eliminarse servicios. Se informará de los cambios en la sección de actualizaciones.

Volver al índice

2.2 - Configuración

Configuración del Complemento

En esta sección, se detalla cómo configurar cada uno de los servicios disponibles en el complemento, incluyendo cómo agregar claves API, modificar URL de servicios y otros ajustes necesarios para personalizar el uso del complemento según las necesidades del usuario.

En NVDA > Preferencias > Traductor Avanzado tenemos un menú que contiene lo siguiente:

Volver al índice

Teclas rápidas del complemento

En NVDA > Preferencias > Gestos de entrada... > Traductor Avanzado tenemos las siguientes teclas que podremos configurar.

Las teclas por defecto vienen sin asignar para que sea el usuario quien elija su mejor distribución. Son las siguientes:

Volver al índice

3 - Solución de Problemas

Problemas Comunes y Soluciones

Conexión a Internet

Errores de Certificados

Problemas de Rendimiento

Volver al índice

Cómo Consultar el Log de NVDA

  1. Abra NVDA.
  2. Vaya a NVDA > Herramientas > Ver registro.
  3. En la ventana del registro, busque cualquier error o mensaje relacionado con el Traductor Avanzado.

Volver al índice

4 - Agradecimientos

Agradecer a todos los programadores de NVDA por su excelente trabajo.

Y no quiero dejar de decir que el principio de este complemento es el complemento de Yannick PLASSIARD (TRANSLATE), del cual e aprendido y e usado alguna función.

También a Alexy Sadovoy aka Lex, ruslan, beqa, Mesar Hameed, Alberto Buffolino, and other NVDA contributors también por el complemento (Instant Translate) del cual se obtuvo uno de los métodos para Google y fue modificado para implementarlo en Traductor Avanzado.

Este complemento es el trabajo de varios años sacando versiones no oficiales y el estudio de usar traducciones sin conexión.

El aprendizaje es el resultado de este complemento teniendo en claro que a futuro traerá novedades sorprendentes.

Volver al índice

Traductores

Volver al índice

5 - Registro de Versiones

En este apartado se añadira un registro de versiones, donde se iran poniendo las novedades de cada versión.

El manual esta basado en la primera versión por lo que no se actualizara sirviendo como base.

Las novedades se agregarán en esta sección.

Volver al índice

Versión 2024.06.06

Volver al índice

Versión 2024.06.16

Se ha añadido una opción para copiar automáticamente al portapapeles el texto traducido cuando se selecciona esta función, evitando la necesidad de mostrar un cuadro de diálogo adicional.

Dicha opción se añadió en el diálogo de Configuración del complemento en el apartado de General.

Si dicha opción se marca, ya no mostrará el diálogo cuando traduzcamos un texto seleccionado, sino que lo copiará directamente al portapapeles.

Ahora es posible traducir directamente el contenido que se encuentra en el portapapeles, proporcionando una manera rápida y eficiente de traducir textos copiados.

Si no se traduce nada nos dirá que hay en el portapapeles o si no hay nada en el portapapeles nos notificara con un mensaje.

Se ha incorporado una funcionalidad que permite traducir la última frase o texto verbalizado por el sintetizador de voz, mejorando la accesibilidad y usabilidad del complemento.

Si no se puede traducir lo ultimo verbalizado nos dirá lo ultimo que se verbalizo en el idioma origen.

La nueva versión incluye soporte para mostrar las traducciones en dispositivos de línea braille, facilitando el acceso a las traducciones.

Solo funcionara en aquellos equipos que tengan configurada una línea braille.

Esta función esta en fase de pruebas.

Se ha implementado un actualizador que permite mantener los idiomas del complemento siempre actualizados, asegurando la disponibilidad de los idiomas más recientes y precisos.

Ahora en el menú de NVDA > Preferencias > Traductor Avanzado

Tendremos un nuevo item llamado Actualizar idiomas del complemento (Sin actualizaciones).

Dicho item puede que nos informe si existen actualizaciones, por ejemplo:

Actualizar idiomas del complemento (3 actualizaciones disponibles)

Si lo pulsamos nos saldrá un diálogo con los nuevos idiomas, con las actualizaciones o con alguna de las dos si no hay en ambas.

Podremos instalar o omitir.

Si damos a instalar se descargarán los idiomas e instalarán y NVDA se reiniciará.

El item del menú se actualiza cada 30 minutos comprobando si hay actualizaciones o en cada reinicio.

El gasto de datos de esta comprobación es irrisorio por aquellos lugares que tengan problemas de datos es menos de 1kb lo que tiene que comprobar.

Este actualizador facilitara el poder compartir con los usuarios las actualizaciones de los idiomas para el complemento de manera rápida conforme van llegando y sin necesidad de sacar una nueva versión con los nuevos idiomas.

Cada nueva versión del complemento vendrá con todos los idiomas nuevos y actualizados que hayan llegado.

Se ha corregido un problema que causaba errores en la lectura continua, mejorando la estabilidad y el rendimiento del complemento durante el uso prolongado.

A todas las nuevas funciones como traducir el portapapeles, traducir lo ultimo verbalizado por el sintetizador o comprobar actualizaciones de idioma, se le pueden asignar gestos.

Recomiendo que si alguna opción no vamos a usarla no se le agregue gesto de entrada para poder tenerla en otros complementos. Agreguemos aquellas que nos puedan servir.

Conforme se vayan añadiendo utilidades se necesitarán más gestos y puede que una utilidad no sirva a uno y puede que a otro si por lo que asignemos solo los que vayamos a usar.

Volver al índice

Versión 2024.06.23

Este nuevo modulo no necesita de clave API y es utilizado para la traducción simultanea

Volver al índice

Versión 2024.09.07

Interfaz de Traducción

La Interfaz de Traducción es el componente principal del complemento Traductor Avanzado para NVDA. Esta interfaz permite al usuario traducir texto entre distintos idiomas de manera eficiente, mostrando el texto original y el traducido, y brindando varias opciones de personalización.

Para invocarlo tendremos que asignar una combinación de teclas en el diálogo "Gestos de entrada" o desde el menú virtual (explicado más abajo).

Funcionalidades principales:
  1. Entrada de texto origen: Permite al usuario escribir o pegar el texto que desea traducir. Se puede acceder rápidamente con la combinación de teclas Alt+1.

  2. Texto destino (resultado): El área donde se muestra el texto traducido. Este campo es de solo lectura y se puede enfocar con Alt+2.

  3. Selección de idioma origen: Permite seleccionar el idioma del texto origen. El idioma por defecto es la opción "Auto Detectar", que permite al sistema detectar automáticamente el idioma del texto. Se accede con Alt+3.

  4. Selección de idioma destino: Permite seleccionar el idioma al cual se quiere traducir el texto. Se puede enfocar con Alt+4.

  5. Contador de caracteres: Muestra el número de caracteres en el campo de texto de origen. Es útil para conocer la cantidad de texto que será traducido. Se accede con Alt+5.

  6. Botones de acción:

    • Traducir: Inicia la traducción del texto ingresado.
    • Escuchar: Obtiene el audio de la traducción y permite reproducirlo a través de un reproductor integrado (ver sección más abajo).
    • Intercambiar: Intercambia el idioma de origen con el de destino, útil si deseas revertir los idiomas de traducción.
    • Limpiar: Limpia tanto el campo de texto de origen como el de destino.
    • Pegar al foco: Pega el texto traducido en la ventana o campo de texto activo detrás de la interfaz. También se puede activar con F3.
    • Cerrar: Cierra la ventana de traducción.
Atajos de teclado:
Comportamiento en caso de errores:
Funciones adicionales:

Reproductor de Audio

Cuando el usuario utiliza la opción Escuchar tras realizar una traducción, el complemento convierte el texto traducido en un archivo de audio y lo reproduce a través de un reproductor integrado. Este reproductor incluye controles básicos y avanzados para gestionar la reproducción de audio.

Funcionalidades del reproductor:
  1. Botones de control:

    • Atrasar (F1): Retrocede la reproducción de acuerdo con el tiempo seleccionado. El usuario puede configurar este tiempo.
    • Reproducir/Pausar (F2): Inicia o pausa la reproducción del archivo de audio.
    • Adelantar (F3): Adelanta la reproducción de acuerdo con el tiempo configurado por el usuario.
    • Detener (F4): Detiene la reproducción por completo.
  2. Volumen y velocidad:

    • Volumen (F5/F6): Ajusta el volumen de reproducción utilizando un control deslizante.
    • Velocidad (F7/F8): Cambia la velocidad de reproducción, con opciones desde 0.50x hasta 2.0x la velocidad normal.
  3. Texto asociado: Muestra el texto traducido en un cuadro de solo lectura, permitiendo al usuario visualizar lo que está siendo reproducido.

  4. Guardar: Permite guardar el archivo de audio generado en formato WAV en el sistema del usuario.

  5. Cerrar: Cierra el reproductor y libera los recursos asociados.

Atajos de teclado:
Funciones adicionales:

Menú virtual

Se a agregado un menú virtual el cual contiene todas las opciones que el complemento tiene.

Podremos invocar desde el menú virtual todas las opciones que podemos asignar en el diálogo de "Gestos de entrada", de esta manera desde el menú virtual el complemento puede ser usado totalmente sin necesidad de tener más teclas asignadas al complemento.

Esto ya queda a gusto del usuario.

Para poder invocar el menú virtual tendremos que asignarle una tecla en el diálogo de "Gestos de entrada".

El uso del menú virtual es sencillo, una vez invocado tendremos que pulsar la tecla correspondiente para la acción que deseemos ejecutar.

Una vez pulsada se ejecutara y siempre se nos informara de lo realizado, si pulsamos una tecla que no esta asignada el menú virtual se cerrara y también podemos cerrarlo con escape.

Atajos de Teclado del Menú Virtual

El menú virtual del Traductor Avanzado te permite acceder rápidamente a las funciones más útiles del complemento. A continuación, te presentamos los atajos que puedes usar para realizar varias acciones:

Detecta el idioma seleccionado

Esta opción permite detectar automáticamente el idioma del texto que hayas seleccionado en cualquier aplicación. Para usar esta función:

  1. Selecciona el texto del cual deseas conocer el idioma.
  2. Utiliza el atajo de teclado configurado en el diálogo de "Gestos de entrada" (o el menú virtual) para activar la opción "Detecta el idioma seleccionado".
  3. El sistema detectará y te informará del idioma en el que está escrito el texto seleccionado. Esta función es útil cuando no estás seguro del idioma de un texto y necesitas saberlo antes de traducirlo o realizar alguna otra acción.

Intercambio Automático de Idiomas en Traductor Avanzado para NVDA

  1. Activa el intercambio automático presionando el atajo de teclado correspondiente o accediendo desde el menú virtual.
  2. Si el texto que seleccionas está en el mismo idioma que el idioma de destino, el sistema cambiará automáticamente el idioma de destino al idioma alternativo para evitar traducciones innecesarias.
  3. Puedes desactivar esta opción en cualquier momento utilizando el mismo atajo.
Configuración de Idiomas en el Complemento

Esta función es útil para evitar confusiones al traducir textos en los que el idioma de origen es igual al de destino, cambiando automáticamente a un idioma alternativo configurado.

Ayuda en Diálogos del Complemento

Se ha agregado la funcionalidad para mostrar ayuda contextual en los diálogos del complemento. Al presionar la combinación de teclas Ctrl+H, se mostrará una pequeña descripción de la función del widget que está actualmente enfocado.

En cualquier parte de los diálogos del complemento, si necesitas información sobre la función de un botón, cuadro de texto, deslizador u otro control, simplemente puedes pulsar Ctrl+H. Esto mostrará una breve descripción del widget enfocado, proporcionando una guía rápida sobre su uso.

Traduce texto del objeto del navegador

Esta funcionalidad permite traducir el texto de un objeto específico dentro del navegador o cualquier otra aplicación que NVDA esté utilizando. Se puede activar a través del menú virtual o mediante una combinación de teclas asignada en el diálogo de "Gestos de entrada" del complemento.

  1. Coloca el cursor sobre el objeto que deseas traducir (puede ser un botón, un cuadro de texto, etc.).
  2. Activa la funcionalidad presionando la combinación de teclas asignada o a través del menú virtual.
  3. El complemento traducirá el texto contenido en ese objeto y lo mostrará o verbalizará, dependiendo de la configuración.

Modulo de OpenAI

Se a agregado un nuevo modulo para traducir con OpenAI con el modelo chatGPT-4º-mini que es el más barato y rápido.

Este modulo esta en pruebas teniendo algunas veces un poco de lag, pero mejorara en futuras versiones.

Este modulo necesita que se asigne una clave API en el diálogo de "Configuración del complemento" en la pestaña "Módulos de traducción".

OpenAI es de pago por lo que es función del usuario comprobar su gasto.

En el siguiente enlace se puede mirar el gasto que llevamos:

https://platform.openai.com/usage

Mejora en el modulo de Microsoft

El modulo del traductor de Microsoft a sido escrito desde cero y mejorado la rapidez, estabilidad y el poder tener más tiempo de traducción hasta que bloqueen por uso y tengamos que esperar unos minutos para volver a traducir.

Ahora en las pruebas realizadas y traduciendo simultáneamente bastante texto más de un uso normal no e sufrido ninguna restricción.

Por lo que de momento funciona y se a mejorado respecto al modulo anterior.

Otros

Volver al índice

Versión 2024.09.19

Ahora siempre devolverá idiomas de código ISO 639-1 en la función obtenerLenguaje del manager de configuración.

Importación del módulo html: Se ha añadido import html para utilizar la función html.unescape(), la cual desescapa todas las entidades HTML, incluidas las numéricas como (').

Eliminación de código innecesario: Se han eliminado los métodos _load_html_entities y unescape, ya que ahora se utiliza html.unescape() en los módulos de Google web.

Volver al índice