Num2words (Числа в слова)
- Автор: 'Mateo Cedillo
- Исходный код дополнения: Посетить Web-сайт num2words
Краткое описание
Дополнение Num2words числа в слова.
Это дополнение улучшает считывание чисел в словах для этих случаев, оно поддерживает большие числа до 27 чисел и, кроме того, python-библиотека num2Word поддерживает множество языков.
Основная информация
Название | Версия | Совместимость с API NVDA | Последняя протестированная версия NVDA | Минимальная версия NVDA | Дата загрузки в каталог | Размер | Лицензия |
---|---|---|---|---|---|---|---|
num2words | 0.5.1 | 2024.1 | 2024.1 | 2023.1 | 21-05-2024 16:38:08 | 360 Кб. | GPL v2 |
Информация о локализации на русский язык
🔝 Назад к оглавлениюСкачать
⬇ Перейти к истории версий 🔝 Назад к оглавлениюРазделы
🔝 Назад к оглавлениюСправка
Подробнее
Числа в слова
- Автор: Матео Седильо (Mateo Cedillo)
- Числа в слова для NVDA
Введение:
На создание этого небольшого дополнения меня вдохновило то, что некоторые люди используют синтезаторы речи типа ETI-Eloquence
, которые имеют некоторые недостатки, когда дело доходит до обработки чисел, даже если они разделены, и путают пользователя, говоря оба числа, разделенные пробелами, как если бы это была десятичная точка.
Это дополнение улучшает произношение чисел словами для этих случаев, оно поддерживает большие числа и, кроме того, библиотека поддерживает множество языков.
сравнение результатов между оригинальным и преобразованным речевым вводом
Эта сравнительная таблица демонстрирует различия между обработкой чисел на синтезаторе и обработкой num2words.
Следующее сравнение было проведено с использованием драйвера IBMTTS для NVDA.
Использование длинных чисел:
Язык | Исходный ввод | Вывод | Преобразованный ввод |
---|---|---|---|
Испанский | 921359131290481307233416326 | nueve dos ún tres cinco nueve ún tres ún dos nueve cero cuatro ocho ún tres cero siete dos tres tres cuatro ún seis tres dos seis | novecientos veintiuno cuatrillones trescientos cincuenta y nueve mil ciento treinta y uno trillones doscientos noventa mil cuatrocientos ochenta y uno billones trescientos siete mil doscientos treinta y tres millones cuatrocientos dieciséis mil trescientos veintiséis |
Английский | 921359131290481307233416326 | nine two one three five nine one three one two nine zero four eight one three zero seven two three three four one six three two six | nine hundred and twenty1 septillion, three hundred and fifty-nine sextillion, one hundred and thirty1 quintillion, two hundred and ninety quadrillion, four hundred and eightyone trillion, three hundred and seven billion, two hundred and thirty-three million, four hundred and sixteen thousand, three hundred and twenty-six |
Русский | 921359131290481307233416326 | [Window Title] |
Результаты преобразования
[Content] девятьсот двадцать один септиллион триста пятьдесят девять секстиллионов сто тридцать один квинтиллион двести девяносто квадриллионов четыреста восемьдесят один триллион триста семь миллиардов двести тридцать три миллиона четыреста шестнадцать тысяч триста двадцать шесть | [Window Title] Результаты преобразования
[Content] девятьсот двадцать один септиллион триста пятьдесят девять секстиллионов сто тридцать один квинтиллион двести девяностый квадриллионов четыреста восемьдесят один триллион триста семь миллиардов двести тридцать три миллиона четыреста шестнадцатый тысяч триста двадцать шестой |
Использование пробелов в качестве разделителей (только на испанском языке):
- Исходный текст: 12 499
- Выходные данные: doce mil cuatrocientos noventa y nueve
- Преобразованный ввод: doce cuatrocientos noventa y nueve
Использование:
В этом дополнении есть два способа преобразования чисел в слова:
-
Режим реального времени: пока NVDA разговаривает и в любом месте есть текст, содержащий цифры, результат преобразования будет отображаться и передаваться с помощью речи. Это относится к любому используемому вами синтезатору речи.
- Вы можете временно использовать эту функцию, добавив жест ввода (см. ниже). Поскольку это временная функция, она будет отключена при выходе из NVDA.
- Можно также настроить запуск этой функции при запуске NVDA. Для этого просто нажмите NVDA+N, перейдите в подменю Параметры,Настройки..., и выберите категорию Числа в слова. Там вы найдете соответствующий флажок.
-
Ручной режим: вы можете вводить цифры или текст и / или числовые значения одновременно, взаимодействуя для этого через диалоговое окно. Диалоговое окно имеет:
-
Флажок для преобразования в порядковый номер.
-
Если флажок порядковый номер не установлен, появится поле со списком для выбора режима преобразования. Существует шесть режимов преобразования, и они следующие:
- Условный номер, например: 1 = первый.
- Порядковый номер, например: 1 = первый (применяется тот же метод, что и условный параметр).
- Дата, например (формат dd/mm/aaaa): 23/07/2023 = 23 июля двадцать третьего года. В формате указываем день, месяц, год с разделителем слеш.
- Время, например: 12:30:15 = это двенадцать часов, тридцать минут и пятнадцать секунд.
- Год, например: 1980 = тысяча девятьсот восьмидесятый (не действует на многих языках).
- Валюта, например: 2.15 = два евро, пятнадцать центов.
- После выбора этой опции появится новое комбинированное окно для выбора валюты. В каждом языке, кроме евро, есть свои валюты, и список может меняться.
-
Поле ввода для ввода значения.
- Кнопка преобразования. При нажатии этой кнопки вам будет показано окно сообщения с окончательным результатом.
-
Кнопка отмены: завершает диалоговое окно преобразования.
-
Жесты ввода:
- Переключение чисел в слова (или в режиме реального времени): (пока не назначенный жест, чтобы избежать помех другим дополнениям).
- Открыть диалог для ручного преобразования чисел в слова (ручной режим): Alt+Shift+NVDA+N.
- Больше возможностей в ближайшее время!
Назначить или изменить сочетание клавиш, можно в жестах ввода: Подразделы Речь, Переключение чисел в слова. Подраздел Числа в слова, Открыть диалоговое окно преобразования чисел в слова.
Важные примечания:
- Поскольку библиотека поддерживает множество языков, имейте в виду, что конвертация будет производиться на языке вашего синтезатора речи. Это касается даже тех случаев, когда вы меняете язык синтезатора.
- При запуске NVDA проверяется язык синтезатора. Если он не поддерживается, вы получите уведомление.
- Библиотека num2words может преобразовывать до 27 последовательных чисел. Если текст длиннее 27 чисел, она сообщит вам об этом звуковым сигналом и речевым сообщением.
- В настоящее время не реализовано произнесение преобразованного числа с помощью курсора, в результате чего преобразованное число будет произноситься по буквам.
- Поддержка преобразования десятичных чисел в слова находится в стадии реализации, так как существуют конфликты с некоторыми родными библиотеками Python, установленными в NVDA.
- Эти конфликты устранены в последних альфа-версиях NVDA. Мы надеемся, что дополнение сможет работать лучше, когда выйдет стабильная версия NVDA.
Скомпилируйте это дополнение:
Примечание: это дополнение зависит от подмодуля, поэтому:
- cd к этому репозиторию:
cd num2words_nvda
- Введите "git submodule init" и "git submodule update" в консоли, чтобы клонировать хранилище библиотеки num2words, установленное в качестве модуля.
- Если ошибок нет, команда
scons
должна работать корректно.
Дополнения, на которые я был вдохновлен
Во время разработки этого дополнения меня вдохновило следующее, за что я благодарю каждого из авторов этих дополнений:
- Часы и календарь для NVDA потому что это дало мне базовое представление о том, как я мог бы реализовать преобразование даты и времени.
Контакт:
Если вы хотите помочь улучшить это
дополнение, вы можете отправить электронное письмо по адресу angelitomateocedillo@gmail.com
или внесите свой вклад в репозиторий GitHub.
Перевод
- Валентин Куприянов.
Примеры преобразования (число из 27 цифр):
12345678901234567890123456
Результаты преобразования (Условное)
Сто двадцать три септиллиона четыреста пятьдесят шесть секстиллионов семьсот восемьдесят девять квинтиллионов двенадцать квадриллионов триста сорок пять триллионов шестьсот семьдесят восемь миллиардов девятьсот один миллион двести тридцать четыре тысячи пятьсот шестьдесят семь
Результаты преобразования (Порядковое( Сто двадцать три септиллиона четыреста пятьдесят шесть секстиллионов семьсот восемьдесят девять квинтиллионов двенадцать квадриллионов триста сорок пять триллионов шестьсот семьдесят восемь миллиардов девятьсот один миллион двести тридцать четыре тысячи пятьсот шестьдесят седьмой
Список изменений:
0.5.1
- В этом патче исправлена ошибка с ручным режимом конвертации, связанная с последствиями организации кода.
0.5
- Добавлено: восстановлена поддержка NVDA 2024.1.
- Добавлена поддержка режима По требованию для переключения num2words в реальном времени.
- Добавлено: новые скрипты
- Преобразование чисел в слова на основе выделенного текста.
- Копирование последнего преобразованного результата, спасибо
mk360
.
- Исправлено: ошибки с недействительными десятичными дробями. Теперь, например, при включении num2words в режиме реального времени, NVDA не будет молчать или выводить ошибку в лог в таких случаях.
- Обновлено: библиотека num2words.
- В этом обновлении добавлены новые языки: испанский Коста-Рика, валлийский и чеченский.
- Улучшения кода, совместимость с python 3.12.
- Проведен рефакторинг кода всего дополнения. Таким образом, он стал более читабельным и организованным для тех, кто вносит свой вклад.
0.4.1
- В этом патче я сделал регрессию для последней протестированной версии NVDA. Хотя я хочу быть честным, и дело в том, что я тестировал это дополнение с 2024.1 альфа-версией, а 2024.1 еще не вышла, чтобы избежать проблем с публикацией в магазине дополнений, я с радостью вернусь к 2023.3 как последней проверенной версии.
- Кроме того, переменные в некоторых функциях в коде были уточнены для улучшения читабельности.
0.4
- Теперь при выборе режима конвертации по валюте добавлено комбинированное окно для выбора валюты для конвертации из списка валют, поддерживаемых выбранным языком и определяемых синтезатором.
- В панель настроек NVDA добавлена опция, позволяющая при запуске включить чтение чисел в слова в режиме реального времени.
- Добавлен украинский язык, благодаря
Георгій
иВолодимир Пиріг
. - Обновлен num2words до версии 0.5.13.
- Добавлена поддержка белорусского и словацкого языков.
- Обновления и рефакторинг кода для русского и украинского языков.
- Дополнение больше не проверяет, включена ли опция scratchpad в панели настроек `settings > advanced.
- Исправлена ошибка
string index out of range
при просмотре сайтов. Спасибо,Volodymyr
. - Исправлено: Конвертация в реальном времени и разделители речи NVDA. Теперь дополнение должно корректно разделять преобразованные слова.
- Исправлено: совместимость с NVDA 2024.1.
- Исправлено: некорректная обработка перевода при конвертации часов. Для корректной работы необходимо обновить новые записи.
- Упорядочен код для улучшения читаемости.
0.3
- Добавлен турецкий язык, благодаря "Умуту КОРКМАЗУ`.
- Добавлены преобразования даты и времени в графическом интерфейсе ручного преобразования.
0.2
- Теперь результат преобразования чисел в слова пишется с заглавной буквы.
- Обновлена библиотека num2words для фиксации
da48a319179f19b900d5b01ed394b304e94d31cf
. - Добавлены режимы преобразования, поддерживаемые библиотекой num2words в графическом интерфейсе ручного преобразования.
- Незначительные исправления в графическом интерфейсе ручного преобразования.
- Добавлена проверка языка синтезатора при запуске NVDA. Таким образом, в случае, если язык не поддерживается, часть этого дополнения будет отключена.
0.1
- Первоначальный выпуск. Вы можете обнаружить некоторые незначительные ошибки. Если да, пожалуйста, дайте мне знать.