Versión 1.0.0 para Tiresias. Basado en el complemento Traductor Avanzado Pro (TranslateAdvanced) de NVDA de Héctor J. Benítez Corredera, reescrito por completo con la API de Tiresias.
Traductor Avanzado Pro traduce textos a decenas de idiomas con varios servicios. Sus funciones principales son:
Instálalo desde la tienda de complementos de Tiresias o con «Complementos, Administrador de complementos, Instalar desde archivo». Después de instalarlo, reinicia Tiresias.
Todas las órdenes están en la categoría «Traductor Avanzado Pro» del diálogo Gestos de entrada, donde se les puede asignar cualquier tecla. Por defecto solo hay dos atajos globales (en NVDA eran NVDA+Mayúsculas+T y NVDA+Mayúsculas+I, pero en Tiresias esas combinaciones ya son de «IA: traducir el texto seleccionado» y «Lupa: invertir colores»):
| Tecla | Acción |
|---|---|
| Tiresias+Control+Mayúsculas+T | Activa la capa de órdenes del traductor (suena un aviso; vuelve a pulsarla para cerrarla) |
| Tiresias+Control+Mayúsculas+G | Detecta el idioma del texto seleccionado (Google; si no hay conexión, con el detector local) |
Pulsa Tiresias+Control+Mayúsculas+T y después una de estas letras. Cualquier otra tecla cierra la capa y funciona como siempre. Al abrir y cerrar la capa suenan dos avisos (se pueden desactivar en las opciones).
| Tecla | Acción |
|---|---|
| T | Activa o desactiva la traducción simultánea |
| S | Traduce el texto seleccionado |
| B | Traduce el contenido del portapapeles |
| L | Copia la última traducción al portapapeles |
| H | Muestra el historial de traducciones |
| D | Cambia el idioma de destino (lista con búsqueda) |
| O | Cambia el idioma de origen (lista con búsqueda) |
| C | Cambio rápido de servicio, modelo de IA e idiomas |
| A | Limpia toda la caché (fuera de la capa, la orden pide pulsar dos veces) |
| X | Limpia la caché de la aplicación actual (fuera de la capa, pulsar dos veces) |
| G | Activa o desactiva la caché |
| V | Traduce el último texto verbalizado por Tiresias |
| Z | Traduce el objeto navegador (su nombre o, si no tiene, su texto) |
| W | Abre la interfaz de traducción (con el texto seleccionado, si lo hay) |
| I | Detecta el idioma del texto seleccionado |
| J | Activa o desactiva el intercambio automático de idioma |
| K | Intercambia el idioma de destino y el alternativo |
| U | Comprueba si hay una versión nueva del complemento en la tienda de Tiresias |
| P | Abre la configuración (categoría del complemento en las Opciones de Tiresias) |
| R | Reconoce con OCR el objeto navegador y traduce el texto |
| E | Busca la palabra seleccionada en el diccionario |
| Escape | Cierra la capa |
| F1 | Muestra la ayuda de la capa |
Las órdenes que traducen avisan con «Hay una traducción en curso» si ya hay otra en marcha. Las de selección, portapapeles, último texto, objeto y OCR piden desactivar antes la traducción simultánea, como en el original.
Con la traducción simultánea activada (capa, T), todo lo que dice Tiresias pasa por el traductor mediante el punto de extensión de voz filter_speechSequence:
| Servicio | Clave | Notas |
|---|---|---|
| Google Translate (API Gratuita) | No | Servicio por defecto. Corta los textos largos en trozos. Si Google limita las peticiones, usa durante un rato el servicio alternativo de Google (el de la extensión del navegador). |
| DeepL (Gratuito) | No | El servicio de la extensión del navegador de DeepL. DeepL lo limita mucho: si responde «demasiadas solicitudes», hay que esperar o usar otro servicio. |
| DeepL API | Sí | API oficial. Las claves terminadas en «:fx» usan la API Free y las demás la Pro. Rota de clave si una no es válida o agota la cuota. Desde «Gestionar claves» se puede consultar el uso de caracteres. |
| Microsoft Translator (Gratuito) | No | Usa el token público del traductor de Edge y, si Microsoft no lo da, el traductor web de Bing (mismo motor). |
| LibreTranslate | Opcional | Código abierto. Puedes indicar tu propio servidor («URL del servidor») y una clave; sin servidor propio prueba los servidores públicos, que hoy suelen pedir clave. |
| OpenAI GPT | Sí | Modelo por defecto gpt-4o-mini. Admite cualquier API compatible con OpenAI indicando su URL. Adapta los parámetros a los modelos de razonamiento. |
| Claude (Anthropic) | Sí | Modelo por defecto claude-opus-5-5 con esfuerzo bajo (rápido para traducir). Con los modelos que lo admiten pide el modelo de respaldo automático si el principal rehúsa el texto. |
| Google Gemini | Sí | Modelo por defecto gemini-2.5-flash. |
| DeepSeek | Sí | Modelo por defecto deepseek-chat. |
Hay unos 90 idiomas en las listas. Cada servicio convierte el código al formato que espera (por ejemplo, el chino simplificado es «zh-CN» en Google, «zh-Hans» en Microsoft y «ZH» en DeepL).
En las Opciones de Tiresias, categoría «Traductor Avanzado Pro», grupo «Claves API», cada servicio que usa clave tiene:
{idioma_destino} y {texto}, y un botón para restablecer los prompts predeterminados.Las claves se guardan cifradas con la protección de datos de Windows (DPAPI): solo tu usuario, en este equipo, puede descifrarlas. Si copias la carpeta de datos a otro equipo tendrás que volver a escribirlas.
En los diálogos del complemento, Control+H muestra la ayuda del control con el foco.
Están en Tiresias, menú Preferencias, Opciones, categoría «Traductor Avanzado Pro» (también con la capa y P, o desde el menú Herramientas). Se guardan con la configuración de Tiresias (y con sus perfiles).
Con la capa y W (o desde el menú) se abre la interfaz de traducción, con el texto seleccionado si lo hay:
«Escuchar» descarga la traducción con la voz de Google (con una barra de progreso que se puede cancelar) y abre el reproductor:
| Tecla | Acción |
|---|---|
| F1 | Retroceder |
| F2 | Reproducir o pausar |
| F3 | Adelantar |
| F4 | Detener |
| F5 y F6 | Bajar y subir el volumen |
| F7 y F8 | Bajar y subir la velocidad (de 0,5 a 2) |
| F9 | Tiempo transcurrido y total |
| Mayúsculas+F10 o tecla Aplicaciones en Retroceder o Adelantar | Elegir el salto: 1, 5, 10, 15 o 30 segundos o 1 minuto |
«Guardar audio» guarda el audio como MP3. Volumen, velocidad y saltos se recuerdan.
Se guardan las 500 traducciones más recientes, también entre sesiones. El diálogo del historial (capa y H) tiene búsqueda, filtros por idioma de destino y por servicio, la lista de traducciones, el texto completo de la seleccionada y los botones Copiar original, Copiar traducción (o Intro en la lista), Eliminar, Exportar (CSV para hojas de cálculo o JSON), Estadísticas (total, caracteres, idioma y servicio más usados, y el estado de la caché) y Limpiar todo.
Las traducciones se guardan por aplicación e idioma de destino (como mucho 1000 por grupo; cuando se llena se descartan las menos usadas). Se busca primero en la caché de la aplicación con el foco y después en la general. La caché se guarda en disco cada pocas traducciones, al desactivar la traducción y al cerrar Tiresias. Con la capa: A limpia toda la caché, X la de la aplicación actual y G la activa o desactiva.
Los archivos .py que pongas en las carpetas traductores y plugins de la carpeta de datos del complemento se cargan al iniciar Tiresias (y no se pierden al actualizar). Un servicio hereda de TraductorBase:
from ..nucleo.gestor_traductores import TraductorBase class MiTraductor(TraductorBase): id = "mi_traductor" nombre = "Mi traductor personalizado" descripcion = "Descripción del servicio" requiere_api = True def traducir(self, texto, idioma_origen="auto", idioma_destino="es", **kwargs): # Devuelve la traducción, o None si falla (y pon el motivo en self.ultimo_error) return texto_traducido
Un plugin hereda de PluginBase (from ..nucleo.gestor_plugins import PluginBase, TipoPlugin), define id, nombre, descripcion y ejecutar(), y puede exponer comandos con obtener_comandos() y entradas para el submenú del complemento con obtener_elementos_menu() (lista de {"etiqueta": ..., "accion": ...}). Con self.plugin_principal accede al complemento (gestores de traductores, idiomas, caché e historial).
En el menú de Tiresias, Herramientas, Traductor Avanzado Pro: Configuración, Historial de traducciones, Interfaz de traducción, Cambio rápido de servicio e idiomas, Idioma de destino, Idioma de origen, Documentación (este documento) y Apoyar el proyecto.
En la carpeta de datos de Tiresias, addonsData\TraductorAvanzadoPro: apis.json (claves cifradas y ajustes de cada servicio), historial.json, cache (caché de traducciones), modelos (listas de modelos de las IA), temp (audio temporal del reproductor), y las carpetas traductores, plugins y sonidos para tus añadidos (un open.wav o close.wav propio sustituye a los sonidos de la capa). También se puede poner un idiomas.json para añadir o renombrar idiomas.
wx.media que trae Tiresias; no hacen falta las copias de wx.media para Python 3.11 y 3.13 del original.Autor: Héctor J. Benítez Corredera (xebolax@gmail.com). Proyecto original: https://github.com/hxebolax/TranslateAdvanced. Versión para Tiresias: reescritura del complemento para el lector de pantalla Tiresias.
Este complemento está cubierto por la Licencia Pública General de GNU (GPL), como el original. No incluye bibliotecas ni binarios de terceros: usa la biblioteca estándar de Python y lo que ya trae Tiresias. Los servicios de traducción, diccionario y voz pertenecen a sus empresas (Google, DeepL, Microsoft, LibreTranslate, OpenAI, Anthropic, DeepSeek, Free Dictionary API y Wikimedia) y están sujetos a sus condiciones de uso.
Si este complemento te resulta útil, puedes apoyar su desarrollo: https://paypal.me/hjbcdonaciones.
Primera versión para Tiresias: todas las funciones del Traductor Avanzado Pro de NVDA (versión 2025.12.28) reescritas con la API de Tiresias, más el servicio Claude, el historial persistente con exportación y estadísticas, el diccionario multilingüe con Wiktionary, los servicios de respaldo de Google y Microsoft y el cifrado de las claves.