Mi primer complemento para NVDA: num2words (números a palabras)

21 views
Skip to first unread message

angelitoma...@gmail.com

unread,
May 18, 2023, 12:32:37 PM5/18/23
to NVDA en español
Un cordial saludo a la comunidad de NVDA en español (NVDA.es),
Soy Mateo Cedillo, y es para mí un gusto aportar, de alguna u otra manera, al colectivo. Entonces ¡Qué mejor manera de hacer esto con un nuevo complemento!
Números a palabras surgió con el propósito de ayudar a mejorar la lectura de estos, ya que ciertos sintetizadores de voz poseen incidentes dentro de este pequeño pero importante campo (se puede observar en la tabla de comparación, leer más abajo). De esta manera, se puede eliminar los defectos del procesamiento de números del sintetizador de voz y reemplazarlo con una librería la cual hace conversiones de manera eficiente y en muchos idiomas; como resultado, nos ayudará a mejorar la experiencia de lectura dentro de este campo.
Para resumir la documentación, existen dos modos para usar este complemento, como lo son el modo en tiempo real (convertir mientras NVDA habla), o mediante una ventana de conversión de forma manual y más interactiva.
Desde ya, agradezco sus comentarios y sugerencias acerca de este complemento.
Asimismo, me gustaría destacar mis agradecimientos a los desarrolladores de complementos de la comunidad de NVDA en español, pues la guía traducida de desarrollo de complementos me ha dado pautas e inspiraciones de cómo partir a la realización de este.
Muchas gracias desde ya, y espero contar con el apoyo.
Documentación en español

Descargar complemento

angelitoma...@gmail.com

unread,
Jul 23, 2023, 1:08:41 PM7/23/23
to NVDA en español
¡Hola!

La versión 0.3 se acaba de lanzar. Entre las novedades se destacan dos modos de conversión (fecha y hora) y el idioma turco.

angelitoma...@gmail.com

unread,
Oct 22, 2023, 1:08:47 PM10/22/23
to NVDA en español
Hola,
La versión 0.4 se acaba de lanzar con muchas correcciones de errores. registro de cambios

mk360

unread,
Oct 22, 2023, 2:47:09 PM10/22/23
to nvd...@googlegroups.com

Este es un gran complemento. En lo personal, como abogado, si en el diálogo para pasar de números a palabras tuviera también un botón copiar resultado me volvería loco, pero mientras tanto el navegador de objetos, como siempre, es un fiel compañero.

Esto lo comento más bien para dejar en claro que puede ser muy útil no solo para lo que está pensado, a saber, lograr que el sintetizador lea bien números largos jeje.

Saludos,

mk.

--
Visita la web oficial de la comunidad de NVDA en español para acceder a recursos y descargas que desplegarán todo el potencial de tu lector de pantalla:
https://nvda.es
Visita la tienda de la web oficial de la comunidad para adquirir algunos productos, como materiales de formación o sintetizadores de voz, que mejorarán tu experiencia con NVDA: https://nvda.es/tienda/
Consulta las normas de esta lista siempre que quieras en la siguiente dirección:
https://nvda.es/documentacion/normas-de-convivencia-y-buen-comportamiento/normas-de-la-lista-de-correo-de-la-comunidad-de-nvda-en-espanol/
---
Has recibido este mensaje porque estás suscrito al grupo "NVDA en español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a nvda-es+u...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/nvda-es/e23a25ba-43d7-4329-bf0d-6e69ac02f1ffn%40googlegroups.com.

José Manuel Delicado Alcolea

unread,
Oct 23, 2023, 3:25:38 AM10/23/23
to nvd...@googlegroups.com

Cuenta más, que en uno de los mensajes de los commits Mateo decía que esta iba a ser la última versión del año, y a lo mejor resulta que no.

Un saludo.

Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/nvda-es/09ecd8dc-272d-1219-59c0-5bbf91fa0b81%40gmail.com.
--

José Manuel Delicado Alcolea
Equipo de gestión web y desarrollo
Experto certificado en NVDA

Logotipo de la comunidad hispanohablante de NVDA
Asociación Comunidad Hispanohablante de NVDA
- Tel.: (+34) 910 05 33 25 ext. 2001
- jm.de...@nvda.es
- www.NVDA.es
- @nvda_es

***Este mensaje y sus adjuntos están dirigidos a su destinatario y pueden contener información exclusiva o confidencial. La utilización, copia o divulgación de los mismos por parte de alguien diferente a dicho destinatario no está permitida sin autorización. Si ha recibido este mensaje por error, le rogamos que lo comunique por esta misma vía y seguidamente lo destruya.***

angelitoma...@gmail.com

unread,
Oct 23, 2023, 12:25:07 PM10/23/23
to NVDA en español
Hola,
Gracias por tu sugerencia. Desconozco si se puede hacer algo con gui.messageBox aparte de los clásicos botones aceptar/cancelar (ya que solo están hechos con propósitos para mostrar información), pero seguro pueden haber otras formas de implementar esto, como hacerlo mediante un gesto de entrada.

angelitoma...@gmail.com

unread,
Oct 23, 2023, 12:33:48 PM10/23/23
to NVDA en español
Hola,
Sí, en efecto, aunque es provable que lo sea. No estaré disponiendo de mucho tiempo para mantenerlo con cosas nuevas por un período prolongado de tiempo (razón por la que transferí el repositorio a la asociación), salvo sea algo realmente importante. Aun así, estoy abierto a recibir y aceptar propuestas o pull requests en GitHub.

José Manuel Delicado Alcolea

unread,
Oct 23, 2023, 2:50:26 PM10/23/23
to nvd...@googlegroups.com

Hola.

Sí, gui.messageBox, y la función a la que llama en wx, ofrecen un montón de posibilidades. Botones aceptar, aceptar/cancelar, sí y no, sí / no / cancelar, Abortar y reintentar, y toda clase de iconos que van acompañados de sonidos: exclamación, pregunta, etc. La clave está en jugar con las constantes, que se pueden unir con una barra vertical. Sabiendo que es un messageBox, es un buen momento para recordar algo que casi todos hemos aprendido por casualidad: pulsar control+c en un cuadro de mensaje copia ese cuadro entero al portapapeles. Con título, icono, texto y etiquetas de los botones. El botón copiar no se puede añadir ahí, pero a lo mejor a MK le sirve el truco.

Un saludo.

mk360

unread,
Oct 23, 2023, 3:16:19 PM10/23/23
to nvd...@googlegroups.com

Sinceramente, no sé nada de python aparte de entender un poco el código, por lo que quizás lo que diré es una tontería, pero creo una alternativa entonces podría ser mostrar el resultado de la conversión en un cuadro de edición, así el usuario podría ponerse al inicio de la línea y luego pulsar shift fin para seleccionar todo.

En fin, solo ideas conceptuales jeje.

Saludos,

mk.

mk360

unread,
Oct 23, 2023, 3:17:57 PM10/23/23
to nvd...@googlegroups.com

Ea, tienes razón, ni se me había ocurrido... gracias por el truco :).

Mateo Cedillo

unread,
May 9, 2024, 10:37:04 AM5/9/24
to nvd...@googlegroups.com
Hola.
Aquí está la versión 0.5 para NVDA 2024.1 y aplicando la mayoría de las sugerencias que he ido reciviendo:

mk360

unread,
May 9, 2024, 10:52:59 AM5/9/24
to nvd...@googlegroups.com
Buenas,
Primero, gracias por continuar con el complemento.
Luego, he intentado usarlo, pero al darle a convertir no se muestra ningún resultado, aquí está el log:
IO - inputCore.executeGesture (10:46:34.610) - winInputHook (16624):
Input: kb(desktop):shift+NVDA+w
IO - speech.speech.speak (10:46:34.756) - MainThread (7548):
Speaking ['Convertir número a palabras', 'diálogo', CancellableSpeech (still valid)]
DEBUG - NVDAObjects.NVDAObject._get_placeholder (10:46:34.763) - MainThread (7548):
Potential unimplemented child class: <NVDAObjects.Dynamic_IAccessibleEditWindowNVDAObject object at 0x08C22E70>
IO - speech.speech.speak (10:46:34.763) - MainThread (7548):
Speaking ['Escribe algo aquí, por ejemplo: 3 tiros libres', 'edición', 'Alt+', CharacterModeCommand(True), 'e', CharacterModeCommand(False), CancellableSpeech (still valid), 'en blanco']
IO - inputCore.executeGesture (10:46:38.874) - winInputHook (16624):
Input: kb(desktop):1
DEBUG - config.featureFlag._validateConfig_featureFlag (10:46:38.881) - Dummy-5 (2608):
Validating feature flag: DEFAULT, optionsEnum: WindowsTerminalStrategyFlag, behaviorOfDefault: DIFFING
IO - inputCore.executeGesture (10:46:39.106) - winInputHook (16624):
Input: kb(desktop):2
IO - inputCore.executeGesture (10:46:39.323) - winInputHook (16624):
Input: kb(desktop):3
IO - inputCore.executeGesture (10:46:40.553) - winInputHook (16624):
Input: kb(desktop):shift+tab
IO - speech.speech.speak (10:46:40.565) - MainThread (7548):
Speaking ['Selecciona el modo de conversión:', 'cuadro combinado', 'Ninguno', 'contraído', 'Alt+', CharacterModeCommand(True), 'm', CharacterModeCommand(False), CancellableSpeech (still valid)]
IO - inputCore.executeGesture (10:46:42.849) - winInputHook (16624):
Input: kb(desktop):downArrow
IO - speech.speech.speak (10:46:42.870) - MainThread (7548):
Speaking ['cardenal']
IO - inputCore.executeGesture (10:46:46.392) - winInputHook (16624):
Input: kb(desktop):shift+tab
IO - speech.speech.speak (10:46:46.402) - MainThread (7548):
Speaking ['Modo ordinal', 'casilla de verificación', 'sin marcar', CancellableSpeech (still valid)]
IO - inputCore.executeGesture (10:46:47.553) - winInputHook (16624):
Input: kb(desktop):shift+tab
IO - speech.speech.speak (10:46:47.561) - MainThread (7548):
Speaking ['Cancelar', 'botón', CancellableSpeech (still valid)]
IO - inputCore.executeGesture (10:46:47.921) - winInputHook (16624):
Input: kb(desktop):shift+tab
IO - speech.speech.speak (10:46:47.930) - MainThread (7548):
Speaking ['Convertir', 'botón', 'Alt+', CharacterModeCommand(True), 'c', CharacterModeCommand(False), CancellableSpeech (still valid)]
IO - inputCore.executeGesture (10:46:48.761) - winInputHook (16624):
Input: kb(desktop):space
IO - speech.speech.speak (10:46:48.784) - MainThread (7548):
Speaking ['pulsado']
ERROR - unhandled exception (10:46:48.874) - MainThread (7548):
Traceback (most recent call last):
  File "C:\Users\nicolas.garay\AppData\Roaming\nvda\addons\num2words\globalPlugins\n2w\conversion_UI.py", line 208, in onConvert
    words = convert_num_to_words(
            ^^^^^^^^^^^^^^^^^^^^
NameError: name 'convert_num_to_words' is not defined
IO - inputCore.executeGesture (10:47:01.906) - winInputHook (16624):
Input: kb(desktop):escape

Mateo Cedillo

unread,
May 9, 2024, 11:41:56 AM5/9/24
to nvd...@googlegroups.com
Hola,
gracias por los hallazgos. Dado a que se hicieron cambios en el código en esta versión, faltó incluir la función de conversión en la nueva estructura de código. Publicaré un commit
solucionándolo, y la 0.5.1 con las correcciones de este y otro error que se pueda enviar a partir de estos días. Me disculpo por el error.
Todo lo demás funciona para mí, pero estaré abierto a que el complemento sea accesible para todos.

Mateo Cedillo

unread,
May 18, 2024, 11:52:31 PM5/18/24
to nvd...@googlegroups.com
Hola,
Versión 0.5.1 con la corrección del error comentado. Pronto se subirán las nuevas versiones a la tienda.
Reply all
Reply to author
Forward
0 new messages