From 2e559e3c8238a8371e1aafba3b77e40e0100cc1c Mon Sep 17 00:00:00 2001 From: Danil <81031453+Kostenkov-2021@users.noreply.github.com> Date: Sun, 21 Sep 2025 11:06:33 +0300 Subject: [PATCH 1/7] Addition of Russian localization This commit adds Russian nvda.po file to Ru locale. --- addon/locale/ru/LC_MESSAGES/nvda.po | 178 ++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 addon/locale/ru/LC_MESSAGES/nvda.po diff --git a/addon/locale/ru/LC_MESSAGES/nvda.po b/addon/locale/ru/LC_MESSAGES/nvda.po new file mode 100644 index 0000000..dad48d3 --- /dev/null +++ b/addon/locale/ru/LC_MESSAGES/nvda.po @@ -0,0 +1,178 @@ +msgid "" +msgstr "" +"Project-Id-Version: AudioScreen\n" +"POT-Creation-Date: 2025-09-21 10:54+0300\n" +"PO-Revision-Date: 2025-09-21 10:59+0300\n" +"Last-Translator: nvda.ru\n" +"Language-Team: Russian translation team , Danil Kostenkov " +"\n" +"Language: ru_RU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 3.7\n" +"X-Poedit-Basepath: ../../../..\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPath-1: addon\n" +"X-Poedit-SearchPath-2: addon/globalPlugins/audioScreen\n" +"X-Poedit-SearchPath-3: addon/globalPlugins/audioScreen/libaudioverse\n" +"X-Poedit-SearchPath-4: addon/globalPlugins/audioScreen/libaudioverse64\n" + +#: addon/globalPlugins/audioScreen/__init__.py:29 +#: addon/globalPlugins/audioScreen/__init__.py:87 buildVars.py:21 +msgid "AudioScreen" +msgstr "AudioScreen (Звуковое представление экрана)" + +#: addon/globalPlugins/audioScreen/__init__.py:34 +msgid "General" +msgstr "Общие" + +#: addon/globalPlugins/audioScreen/__init__.py:36 +msgid "Mode" +msgstr "Режим" + +#: addon/globalPlugins/audioScreen/__init__.py:90 +msgid "Off" +msgstr "Выключено" + +#: addon/globalPlugins/audioScreen/__init__.py:91 +msgid "pitch stereo grey" +msgstr "высота стерео-звука серого тона" + +#: addon/globalPlugins/audioScreen/__init__.py:92 +msgid "Reverse brightness (useful for white on black)" +msgstr "Обратная яркость (полезно для белого на чёрном)" + +#: addon/globalPlugins/audioScreen/__init__.py:93 +msgid "Number of columns in stereo field" +msgstr "Количество столбцов в стереополе" + +#: addon/globalPlugins/audioScreen/__init__.py:94 +msgid "Number of rows (frequencies)" +msgstr "Количество строк (частот)" + +#: addon/globalPlugins/audioScreen/__init__.py:95 +msgid "Lowest frequency in HZ" +msgstr "Наименьшая частота (в герцах)" + +#: addon/globalPlugins/audioScreen/__init__.py:96 +msgid "highest frequency in HZ" +msgstr "наибольшая частота (в герцах)" + +#: addon/globalPlugins/audioScreen/__init__.py:97 +msgid "Initial stereo sweep Delay in seconds" +msgstr "Начальная задержка стерео сигнала в секундах" + +#: addon/globalPlugins/audioScreen/__init__.py:98 +msgid "Duration of stereo audio sweep in seconds" +msgstr "Длительность воспроизведения стерео сигнала в секундах" + +#: addon/globalPlugins/audioScreen/__init__.py:99 +msgid "Numver of stereo sweeps" +msgstr "Количество стерео сигналов" + +#: addon/globalPlugins/audioScreen/__init__.py:100 +msgid "" +"width (in pixels) of the rectangle at the point under your finger / the mouse" +msgstr "" +"ширина прямоугольника в точке под вашим пальцем или под указателем мыши (в " +"пикселях)" + +#: addon/globalPlugins/audioScreen/__init__.py:101 +msgid "" +"height (in pixels) of the rectangle at the point under your finger / the " +"mouse" +msgstr "" +"высота прямоугольника в точке под вашим пальцем или под указателем мыши (в " +"пикселях)" + +#: addon/globalPlugins/audioScreen/__init__.py:103 +msgid "HSV Color" +msgstr "Цвет HSV" + +#: addon/globalPlugins/audioScreen/__init__.py:104 +msgid "Horizontal length of capture area in pixels" +msgstr "Горизонтальная длина области захвата в пикселях" + +#: addon/globalPlugins/audioScreen/__init__.py:105 +msgid "Vertical length of capture area in pixels" +msgstr "Вертикальная длина области захвата в пикселях" + +#: addon/globalPlugins/audioScreen/__init__.py:106 +msgid "Lowest frequency (blue) in HZ" +msgstr "Наименьшая частота (синий) (в герцах)" + +#: addon/globalPlugins/audioScreen/__init__.py:107 +msgid "highest frequency (red) in HZ" +msgstr "наибольшая частота (красный) (в герцах)" + +#: addon/globalPlugins/audioScreen/__init__.py:167 +msgid "AudioScreen off" +msgstr "Звуковое представление экрана выключено" + +#: addon/globalPlugins/audioScreen/__init__.py:175 +msgid "touch input" +msgstr "сенсорный ввод" + +#: addon/globalPlugins/audioScreen/__init__.py:175 +msgid "mouse input" +msgstr "ввод мышью" + +#: addon/globalPlugins/audioScreen/__init__.py:176 +#, python-brace-format +msgid "AudioScreen mode {mode}, {inputType}" +msgstr "Режим звукового представления экрана: {mode}, {inputType}" + +#: addon/globalPlugins/audioScreen/__init__.py:180 +msgid "Toggles AudioScreen between several modes" +msgstr "Переключает аудиоэкран между несколькими режимами" + +#: addon/globalPlugins/audioScreen/__init__.py:187 +msgid "Toggles between light on dark, and dark on light" +msgstr "Переключает между светлым на тёмном и тёмным на светлом" + +#: addon/globalPlugins/audioScreen/__init__.py:191 +msgid "Audioscreen currently off" +msgstr "Сейчас звуковое представление экрана выключено" + +#: addon/globalPlugins/audioScreen/__init__.py:203 +msgid "Plays the image under your fingers" +msgstr "Воспроизводит изображение под вашими пальцами" + +#: addon/globalPlugins/audioScreen/__init__.py:230 +msgid "Stops audioScreen playback" +msgstr "Останавливает воспроизведение изображения" + +#: addon/globalPlugins/audioScreen/__init__.py:241 +msgid "Plays the image of the current navigator object" +msgstr "Воспроизводит изображение текущего объекта навигатора" + +#: addon/globalPlugins/audioScreen/__init__.py:246 +msgid "AudioScreen disabled" +msgstr "Звуковое представление экрана выключено" + +#: addon/globalPlugins/audioScreen/__init__.py:254 +msgid "Shows AudioScreen setttings" +msgstr "Открывает настройки звукового представления экрана" + +#: buildVars.py:24 +msgid "" +"Allows you to \"feel\" images with your ears, while moving your finger " +"around a touch screen on Windows 10 and above." +msgstr "" +"Это дополнение позволяет незрячим пользователям \"ощущать\" изображения " +"ушами. Используя сенсорный экран или мышь, можно водить пальцем по картинке " +"и слышать её контуры и цвета в реальном времени. Для работы дополнения " +"требуется Windows 10 или более поздняя версия." + +#: buildVars.py:29 +msgid "" +"* Improved compatibility with NVDA 2026.1, including compatibility with 64-" +"bit NVDA." +msgstr "" + +#~ msgid "&AudioScreen..." +#~ msgstr "Звуковое представление &экрана..." From b6f5de0b1670404536c85d5ed4c1368faa3c4162 Mon Sep 17 00:00:00 2001 From: Danil <81031453+Kostenkov-2021@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:04:58 +0300 Subject: [PATCH 2/7] Localization fixes This commit adds the missing string to Ru locale. --- addon/locale/ru/LC_MESSAGES/nvda.po | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addon/locale/ru/LC_MESSAGES/nvda.po b/addon/locale/ru/LC_MESSAGES/nvda.po index dad48d3..c9129d2 100644 --- a/addon/locale/ru/LC_MESSAGES/nvda.po +++ b/addon/locale/ru/LC_MESSAGES/nvda.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: AudioScreen\n" "POT-Creation-Date: 2025-09-21 10:54+0300\n" -"PO-Revision-Date: 2025-09-21 10:59+0300\n" +"PO-Revision-Date: 2025-09-21 13:02+0300\n" "Last-Translator: nvda.ru\n" "Language-Team: Russian translation team , Danil Kostenkov " "\n" @@ -173,6 +173,8 @@ msgid "" "* Improved compatibility with NVDA 2026.1, including compatibility with 64-" "bit NVDA." msgstr "" +"* Улучшена совместимость с NVDA 2026.1, включая совместимость с 64-разрядной " +"версией NVDA." #~ msgid "&AudioScreen..." #~ msgstr "Звуковое представление &экрана..." From 41ff647164f25fd83cef3358470e14184e4c3704 Mon Sep 17 00:00:00 2001 From: Danil <81031453+Kostenkov-2021@users.noreply.github.com> Date: Sat, 4 Oct 2025 16:13:28 +0300 Subject: [PATCH 3/7] Attempt of connecting localization In this commit I trying to initializing of localization at the main init.py file. --- addon/globalPlugins/audioScreen/__init__.py | 2 ++ addon/locale/ru/LC_MESSAGES/nvda.po | 32 ++++++++++++--------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/addon/globalPlugins/audioScreen/__init__.py b/addon/globalPlugins/audioScreen/__init__.py index 030edd8..7ce8e02 100644 --- a/addon/globalPlugins/audioScreen/__init__.py +++ b/addon/globalPlugins/audioScreen/__init__.py @@ -22,6 +22,8 @@ else: from . import libaudioverse +addonHandler.initTranslation() + class AudioScreenPanel(SettingsPanel): # Translators: This is the label for the AudioScreen settings panel. title = _("AudioScreen") diff --git a/addon/locale/ru/LC_MESSAGES/nvda.po b/addon/locale/ru/LC_MESSAGES/nvda.po index c9129d2..8484c88 100644 --- a/addon/locale/ru/LC_MESSAGES/nvda.po +++ b/addon/locale/ru/LC_MESSAGES/nvda.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: AudioScreen\n" -"POT-Creation-Date: 2025-09-21 10:54+0300\n" -"PO-Revision-Date: 2025-09-21 13:02+0300\n" +"POT-Creation-Date: 2025-10-04 16:00+0300\n" +"PO-Revision-Date: 2025-10-04 16:01+0300\n" "Last-Translator: nvda.ru\n" "Language-Team: Russian translation team , Danil Kostenkov " "\n" @@ -109,52 +109,52 @@ msgstr "Наименьшая частота (синий) (в герцах)" msgid "highest frequency (red) in HZ" msgstr "наибольшая частота (красный) (в герцах)" -#: addon/globalPlugins/audioScreen/__init__.py:167 +#: addon/globalPlugins/audioScreen/__init__.py:181 msgid "AudioScreen off" msgstr "Звуковое представление экрана выключено" -#: addon/globalPlugins/audioScreen/__init__.py:175 +#: addon/globalPlugins/audioScreen/__init__.py:189 msgid "touch input" msgstr "сенсорный ввод" -#: addon/globalPlugins/audioScreen/__init__.py:175 +#: addon/globalPlugins/audioScreen/__init__.py:189 msgid "mouse input" msgstr "ввод мышью" -#: addon/globalPlugins/audioScreen/__init__.py:176 +#: addon/globalPlugins/audioScreen/__init__.py:190 #, python-brace-format msgid "AudioScreen mode {mode}, {inputType}" msgstr "Режим звукового представления экрана: {mode}, {inputType}" -#: addon/globalPlugins/audioScreen/__init__.py:180 +#: addon/globalPlugins/audioScreen/__init__.py:194 msgid "Toggles AudioScreen between several modes" msgstr "Переключает аудиоэкран между несколькими режимами" -#: addon/globalPlugins/audioScreen/__init__.py:187 +#: addon/globalPlugins/audioScreen/__init__.py:201 msgid "Toggles between light on dark, and dark on light" msgstr "Переключает между светлым на тёмном и тёмным на светлом" -#: addon/globalPlugins/audioScreen/__init__.py:191 +#: addon/globalPlugins/audioScreen/__init__.py:205 msgid "Audioscreen currently off" msgstr "Сейчас звуковое представление экрана выключено" -#: addon/globalPlugins/audioScreen/__init__.py:203 +#: addon/globalPlugins/audioScreen/__init__.py:216 msgid "Plays the image under your fingers" msgstr "Воспроизводит изображение под вашими пальцами" -#: addon/globalPlugins/audioScreen/__init__.py:230 +#: addon/globalPlugins/audioScreen/__init__.py:243 msgid "Stops audioScreen playback" msgstr "Останавливает воспроизведение изображения" -#: addon/globalPlugins/audioScreen/__init__.py:241 +#: addon/globalPlugins/audioScreen/__init__.py:254 msgid "Plays the image of the current navigator object" msgstr "Воспроизводит изображение текущего объекта навигатора" -#: addon/globalPlugins/audioScreen/__init__.py:246 +#: addon/globalPlugins/audioScreen/__init__.py:259 msgid "AudioScreen disabled" msgstr "Звуковое представление экрана выключено" -#: addon/globalPlugins/audioScreen/__init__.py:254 +#: addon/globalPlugins/audioScreen/__init__.py:267 msgid "Shows AudioScreen setttings" msgstr "Открывает настройки звукового представления экрана" @@ -170,9 +170,13 @@ msgstr "" #: buildVars.py:29 msgid "" +"* Made the add-on code more robust with help from Pyright (a Python static " +"type checker).\n" "* Improved compatibility with NVDA 2026.1, including compatibility with 64-" "bit NVDA." msgstr "" +"Повышена надёжность кода дополнения с помощью средства проверки статических " +"типов на Python Pyright.\n" "* Улучшена совместимость с NVDA 2026.1, включая совместимость с 64-разрядной " "версией NVDA." From 03e453d3340d55109ca256ce31350a59a33551b9 Mon Sep 17 00:00:00 2001 From: Danil <81031453+Kostenkov-2021@users.noreply.github.com> Date: Sat, 4 Oct 2025 16:24:07 +0300 Subject: [PATCH 4/7] Addition the essential string for locale integration This commit adds the important string for localization integration at init.py file --- addon/globalPlugins/audioScreen/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addon/globalPlugins/audioScreen/__init__.py b/addon/globalPlugins/audioScreen/__init__.py index 7ce8e02..0acf742 100644 --- a/addon/globalPlugins/audioScreen/__init__.py +++ b/addon/globalPlugins/audioScreen/__init__.py @@ -11,6 +11,7 @@ import touchHandler import globalCommands import scriptHandler +import addonHandler import api import ui from NVDAObjects import NVDAObject From c83acf7f80302f7ee0718ad66104a7393b000de0 Mon Sep 17 00:00:00 2001 From: Danil <81031453+Kostenkov-2021@users.noreply.github.com> Date: Sat, 4 Oct 2025 16:50:11 +0300 Subject: [PATCH 5/7] Source string and localization fixes This commit fixes the string "Numver of stereo sweeps" at the source init.py file and updates the nvda.po file according to changes made. --- addon/globalPlugins/audioScreen/__init__.py | 2 +- addon/locale/ru/LC_MESSAGES/nvda.po | 74 ++++++++++----------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/addon/globalPlugins/audioScreen/__init__.py b/addon/globalPlugins/audioScreen/__init__.py index 0acf742..d673f71 100644 --- a/addon/globalPlugins/audioScreen/__init__.py +++ b/addon/globalPlugins/audioScreen/__init__.py @@ -97,7 +97,7 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin): ("highFreq","float",5000.0,_("highest frequency in HZ")), ("sweepDelay","float",0.5,_("Initial stereo sweep Delay in seconds")), ("sweepDuration","float",4.0,_("Duration of stereo audio sweep in seconds")), - ("sweepCount","integer",4,_("Numver of stereo sweeps")), + ("sweepCount","integer",4,_("Number of stereo sweeps")), ("captureWidth","integer",32,_("width (in pixels) of the rectangle at the point under your finger / the mouse")), ("captureHeight","integer",32,_("height (in pixels) of the rectangle at the point under your finger / the mouse")), ]), diff --git a/addon/locale/ru/LC_MESSAGES/nvda.po b/addon/locale/ru/LC_MESSAGES/nvda.po index 8484c88..73bf468 100644 --- a/addon/locale/ru/LC_MESSAGES/nvda.po +++ b/addon/locale/ru/LC_MESSAGES/nvda.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: AudioScreen\n" -"POT-Creation-Date: 2025-10-04 16:00+0300\n" -"PO-Revision-Date: 2025-10-04 16:01+0300\n" +"POT-Creation-Date: 2025-10-04 16:45+0300\n" +"PO-Revision-Date: 2025-10-04 16:45+0300\n" "Last-Translator: nvda.ru\n" "Language-Team: Russian translation team , Danil Kostenkov " "\n" @@ -21,67 +21,67 @@ msgstr "" "X-Poedit-SearchPath-3: addon/globalPlugins/audioScreen/libaudioverse\n" "X-Poedit-SearchPath-4: addon/globalPlugins/audioScreen/libaudioverse64\n" -#: addon/globalPlugins/audioScreen/__init__.py:29 -#: addon/globalPlugins/audioScreen/__init__.py:87 buildVars.py:21 +#: addon/globalPlugins/audioScreen/__init__.py:30 +#: addon/globalPlugins/audioScreen/__init__.py:88 buildVars.py:21 msgid "AudioScreen" msgstr "AudioScreen (Звуковое представление экрана)" -#: addon/globalPlugins/audioScreen/__init__.py:34 +#: addon/globalPlugins/audioScreen/__init__.py:35 msgid "General" msgstr "Общие" -#: addon/globalPlugins/audioScreen/__init__.py:36 +#: addon/globalPlugins/audioScreen/__init__.py:37 msgid "Mode" msgstr "Режим" -#: addon/globalPlugins/audioScreen/__init__.py:90 +#: addon/globalPlugins/audioScreen/__init__.py:91 msgid "Off" msgstr "Выключено" -#: addon/globalPlugins/audioScreen/__init__.py:91 +#: addon/globalPlugins/audioScreen/__init__.py:92 msgid "pitch stereo grey" msgstr "высота стерео-звука серого тона" -#: addon/globalPlugins/audioScreen/__init__.py:92 +#: addon/globalPlugins/audioScreen/__init__.py:93 msgid "Reverse brightness (useful for white on black)" msgstr "Обратная яркость (полезно для белого на чёрном)" -#: addon/globalPlugins/audioScreen/__init__.py:93 +#: addon/globalPlugins/audioScreen/__init__.py:94 msgid "Number of columns in stereo field" msgstr "Количество столбцов в стереополе" -#: addon/globalPlugins/audioScreen/__init__.py:94 +#: addon/globalPlugins/audioScreen/__init__.py:95 msgid "Number of rows (frequencies)" msgstr "Количество строк (частот)" -#: addon/globalPlugins/audioScreen/__init__.py:95 +#: addon/globalPlugins/audioScreen/__init__.py:96 msgid "Lowest frequency in HZ" msgstr "Наименьшая частота (в герцах)" -#: addon/globalPlugins/audioScreen/__init__.py:96 +#: addon/globalPlugins/audioScreen/__init__.py:97 msgid "highest frequency in HZ" msgstr "наибольшая частота (в герцах)" -#: addon/globalPlugins/audioScreen/__init__.py:97 +#: addon/globalPlugins/audioScreen/__init__.py:98 msgid "Initial stereo sweep Delay in seconds" msgstr "Начальная задержка стерео сигнала в секундах" -#: addon/globalPlugins/audioScreen/__init__.py:98 +#: addon/globalPlugins/audioScreen/__init__.py:99 msgid "Duration of stereo audio sweep in seconds" msgstr "Длительность воспроизведения стерео сигнала в секундах" -#: addon/globalPlugins/audioScreen/__init__.py:99 -msgid "Numver of stereo sweeps" +#: addon/globalPlugins/audioScreen/__init__.py:100 +msgid "Number of stereo sweeps" msgstr "Количество стерео сигналов" -#: addon/globalPlugins/audioScreen/__init__.py:100 +#: addon/globalPlugins/audioScreen/__init__.py:101 msgid "" "width (in pixels) of the rectangle at the point under your finger / the mouse" msgstr "" "ширина прямоугольника в точке под вашим пальцем или под указателем мыши (в " "пикселях)" -#: addon/globalPlugins/audioScreen/__init__.py:101 +#: addon/globalPlugins/audioScreen/__init__.py:102 msgid "" "height (in pixels) of the rectangle at the point under your finger / the " "mouse" @@ -89,72 +89,72 @@ msgstr "" "высота прямоугольника в точке под вашим пальцем или под указателем мыши (в " "пикселях)" -#: addon/globalPlugins/audioScreen/__init__.py:103 +#: addon/globalPlugins/audioScreen/__init__.py:104 msgid "HSV Color" msgstr "Цвет HSV" -#: addon/globalPlugins/audioScreen/__init__.py:104 +#: addon/globalPlugins/audioScreen/__init__.py:105 msgid "Horizontal length of capture area in pixels" msgstr "Горизонтальная длина области захвата в пикселях" -#: addon/globalPlugins/audioScreen/__init__.py:105 +#: addon/globalPlugins/audioScreen/__init__.py:106 msgid "Vertical length of capture area in pixels" msgstr "Вертикальная длина области захвата в пикселях" -#: addon/globalPlugins/audioScreen/__init__.py:106 +#: addon/globalPlugins/audioScreen/__init__.py:107 msgid "Lowest frequency (blue) in HZ" msgstr "Наименьшая частота (синий) (в герцах)" -#: addon/globalPlugins/audioScreen/__init__.py:107 +#: addon/globalPlugins/audioScreen/__init__.py:108 msgid "highest frequency (red) in HZ" msgstr "наибольшая частота (красный) (в герцах)" -#: addon/globalPlugins/audioScreen/__init__.py:181 +#: addon/globalPlugins/audioScreen/__init__.py:182 msgid "AudioScreen off" msgstr "Звуковое представление экрана выключено" -#: addon/globalPlugins/audioScreen/__init__.py:189 +#: addon/globalPlugins/audioScreen/__init__.py:190 msgid "touch input" msgstr "сенсорный ввод" -#: addon/globalPlugins/audioScreen/__init__.py:189 +#: addon/globalPlugins/audioScreen/__init__.py:190 msgid "mouse input" msgstr "ввод мышью" -#: addon/globalPlugins/audioScreen/__init__.py:190 +#: addon/globalPlugins/audioScreen/__init__.py:191 #, python-brace-format msgid "AudioScreen mode {mode}, {inputType}" msgstr "Режим звукового представления экрана: {mode}, {inputType}" -#: addon/globalPlugins/audioScreen/__init__.py:194 +#: addon/globalPlugins/audioScreen/__init__.py:195 msgid "Toggles AudioScreen between several modes" -msgstr "Переключает аудиоэкран между несколькими режимами" +msgstr "Переключает режимы звукового представления экрана" -#: addon/globalPlugins/audioScreen/__init__.py:201 +#: addon/globalPlugins/audioScreen/__init__.py:202 msgid "Toggles between light on dark, and dark on light" msgstr "Переключает между светлым на тёмном и тёмным на светлом" -#: addon/globalPlugins/audioScreen/__init__.py:205 +#: addon/globalPlugins/audioScreen/__init__.py:206 msgid "Audioscreen currently off" msgstr "Сейчас звуковое представление экрана выключено" -#: addon/globalPlugins/audioScreen/__init__.py:216 +#: addon/globalPlugins/audioScreen/__init__.py:217 msgid "Plays the image under your fingers" msgstr "Воспроизводит изображение под вашими пальцами" -#: addon/globalPlugins/audioScreen/__init__.py:243 +#: addon/globalPlugins/audioScreen/__init__.py:244 msgid "Stops audioScreen playback" msgstr "Останавливает воспроизведение изображения" -#: addon/globalPlugins/audioScreen/__init__.py:254 +#: addon/globalPlugins/audioScreen/__init__.py:255 msgid "Plays the image of the current navigator object" msgstr "Воспроизводит изображение текущего объекта навигатора" -#: addon/globalPlugins/audioScreen/__init__.py:259 +#: addon/globalPlugins/audioScreen/__init__.py:260 msgid "AudioScreen disabled" msgstr "Звуковое представление экрана выключено" -#: addon/globalPlugins/audioScreen/__init__.py:267 +#: addon/globalPlugins/audioScreen/__init__.py:268 msgid "Shows AudioScreen setttings" msgstr "Открывает настройки звукового представления экрана" From 040cc1dfc88e2b689613301bcd7b5c60a7b9b0ec Mon Sep 17 00:00:00 2001 From: Danil <81031453+Kostenkov-2021@users.noreply.github.com> Date: Mon, 20 Apr 2026 13:01:55 +0300 Subject: [PATCH 6/7] Update Russian translations for AudioScreen Refresh ru PO: update POT/PO dates and Poedit generator, adjust source references. Revise several Russian msgstrs for clarity and consistency (wording, capitalization, phrasing for stereo/pitch, brightness inversion, column/row labels, frequency labels, capture area dimensions, HSV label, and duration). Replace addon requirement string to "NVDA 2025.3.3 or later" and mark the previous changelog lines as obsolete (#~). --- addon/locale/ru/LC_MESSAGES/nvda.po | 113 ++++++++++++++-------------- 1 file changed, 58 insertions(+), 55 deletions(-) diff --git a/addon/locale/ru/LC_MESSAGES/nvda.po b/addon/locale/ru/LC_MESSAGES/nvda.po index 73bf468..7c5e82e 100644 --- a/addon/locale/ru/LC_MESSAGES/nvda.po +++ b/addon/locale/ru/LC_MESSAGES/nvda.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: AudioScreen\n" -"POT-Creation-Date: 2025-10-04 16:45+0300\n" -"PO-Revision-Date: 2025-10-04 16:45+0300\n" +"POT-Creation-Date: 2026-04-20 12:24+0300\n" +"PO-Revision-Date: 2026-04-20 12:58+0300\n" "Last-Translator: nvda.ru\n" "Language-Team: Russian translation team , Danil Kostenkov " "\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 3.7\n" +"X-Generator: Poedit 3.9\n" "X-Poedit-Basepath: ../../../..\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SearchPath-0: .\n" @@ -21,67 +21,67 @@ msgstr "" "X-Poedit-SearchPath-3: addon/globalPlugins/audioScreen/libaudioverse\n" "X-Poedit-SearchPath-4: addon/globalPlugins/audioScreen/libaudioverse64\n" -#: addon/globalPlugins/audioScreen/__init__.py:30 -#: addon/globalPlugins/audioScreen/__init__.py:88 buildVars.py:21 +#: addon/globalPlugins/audioScreen/__init__.py:37 +#: addon/globalPlugins/audioScreen/__init__.py:95 buildVars.py:21 msgid "AudioScreen" msgstr "AudioScreen (Звуковое представление экрана)" -#: addon/globalPlugins/audioScreen/__init__.py:35 +#: addon/globalPlugins/audioScreen/__init__.py:42 msgid "General" msgstr "Общие" -#: addon/globalPlugins/audioScreen/__init__.py:37 +#: addon/globalPlugins/audioScreen/__init__.py:44 msgid "Mode" msgstr "Режим" -#: addon/globalPlugins/audioScreen/__init__.py:91 +#: addon/globalPlugins/audioScreen/__init__.py:98 msgid "Off" msgstr "Выключено" -#: addon/globalPlugins/audioScreen/__init__.py:92 +#: addon/globalPlugins/audioScreen/__init__.py:99 msgid "pitch stereo grey" -msgstr "высота стерео-звука серого тона" +msgstr "серый в стерео с изменением высоты тона" -#: addon/globalPlugins/audioScreen/__init__.py:93 +#: addon/globalPlugins/audioScreen/__init__.py:100 msgid "Reverse brightness (useful for white on black)" -msgstr "Обратная яркость (полезно для белого на чёрном)" +msgstr "Инвертировать яркость (полезно для белого на чёрном)" -#: addon/globalPlugins/audioScreen/__init__.py:94 +#: addon/globalPlugins/audioScreen/__init__.py:101 msgid "Number of columns in stereo field" -msgstr "Количество столбцов в стереополе" +msgstr "Количество колонок в стереополе" -#: addon/globalPlugins/audioScreen/__init__.py:95 +#: addon/globalPlugins/audioScreen/__init__.py:102 msgid "Number of rows (frequencies)" msgstr "Количество строк (частот)" -#: addon/globalPlugins/audioScreen/__init__.py:96 +#: addon/globalPlugins/audioScreen/__init__.py:103 msgid "Lowest frequency in HZ" -msgstr "Наименьшая частота (в герцах)" +msgstr "Самая низкая частота (в герцах)" -#: addon/globalPlugins/audioScreen/__init__.py:97 +#: addon/globalPlugins/audioScreen/__init__.py:104 msgid "highest frequency in HZ" -msgstr "наибольшая частота (в герцах)" +msgstr "самая высокая частота (в герцах)" -#: addon/globalPlugins/audioScreen/__init__.py:98 +#: addon/globalPlugins/audioScreen/__init__.py:105 msgid "Initial stereo sweep Delay in seconds" msgstr "Начальная задержка стерео сигнала в секундах" -#: addon/globalPlugins/audioScreen/__init__.py:99 +#: addon/globalPlugins/audioScreen/__init__.py:106 msgid "Duration of stereo audio sweep in seconds" -msgstr "Длительность воспроизведения стерео сигнала в секундах" +msgstr "Длительность стерео сигнала в секундах" -#: addon/globalPlugins/audioScreen/__init__.py:100 +#: addon/globalPlugins/audioScreen/__init__.py:107 msgid "Number of stereo sweeps" msgstr "Количество стерео сигналов" -#: addon/globalPlugins/audioScreen/__init__.py:101 +#: addon/globalPlugins/audioScreen/__init__.py:108 msgid "" "width (in pixels) of the rectangle at the point under your finger / the mouse" msgstr "" "ширина прямоугольника в точке под вашим пальцем или под указателем мыши (в " "пикселях)" -#: addon/globalPlugins/audioScreen/__init__.py:102 +#: addon/globalPlugins/audioScreen/__init__.py:109 msgid "" "height (in pixels) of the rectangle at the point under your finger / the " "mouse" @@ -89,72 +89,72 @@ msgstr "" "высота прямоугольника в точке под вашим пальцем или под указателем мыши (в " "пикселях)" -#: addon/globalPlugins/audioScreen/__init__.py:104 +#: addon/globalPlugins/audioScreen/__init__.py:111 msgid "HSV Color" -msgstr "Цвет HSV" +msgstr "цвет HSV" -#: addon/globalPlugins/audioScreen/__init__.py:105 +#: addon/globalPlugins/audioScreen/__init__.py:112 msgid "Horizontal length of capture area in pixels" -msgstr "Горизонтальная длина области захвата в пикселях" +msgstr "Ширина области захвата в пикселях" -#: addon/globalPlugins/audioScreen/__init__.py:106 +#: addon/globalPlugins/audioScreen/__init__.py:113 msgid "Vertical length of capture area in pixels" -msgstr "Вертикальная длина области захвата в пикселях" +msgstr "Высота области захвата в пикселях" -#: addon/globalPlugins/audioScreen/__init__.py:107 +#: addon/globalPlugins/audioScreen/__init__.py:114 msgid "Lowest frequency (blue) in HZ" msgstr "Наименьшая частота (синий) (в герцах)" -#: addon/globalPlugins/audioScreen/__init__.py:108 +#: addon/globalPlugins/audioScreen/__init__.py:115 msgid "highest frequency (red) in HZ" msgstr "наибольшая частота (красный) (в герцах)" -#: addon/globalPlugins/audioScreen/__init__.py:182 +#: addon/globalPlugins/audioScreen/__init__.py:189 msgid "AudioScreen off" msgstr "Звуковое представление экрана выключено" -#: addon/globalPlugins/audioScreen/__init__.py:190 +#: addon/globalPlugins/audioScreen/__init__.py:197 msgid "touch input" msgstr "сенсорный ввод" -#: addon/globalPlugins/audioScreen/__init__.py:190 +#: addon/globalPlugins/audioScreen/__init__.py:197 msgid "mouse input" msgstr "ввод мышью" -#: addon/globalPlugins/audioScreen/__init__.py:191 +#: addon/globalPlugins/audioScreen/__init__.py:198 #, python-brace-format msgid "AudioScreen mode {mode}, {inputType}" msgstr "Режим звукового представления экрана: {mode}, {inputType}" -#: addon/globalPlugins/audioScreen/__init__.py:195 +#: addon/globalPlugins/audioScreen/__init__.py:202 msgid "Toggles AudioScreen between several modes" msgstr "Переключает режимы звукового представления экрана" -#: addon/globalPlugins/audioScreen/__init__.py:202 +#: addon/globalPlugins/audioScreen/__init__.py:209 msgid "Toggles between light on dark, and dark on light" msgstr "Переключает между светлым на тёмном и тёмным на светлом" -#: addon/globalPlugins/audioScreen/__init__.py:206 +#: addon/globalPlugins/audioScreen/__init__.py:213 msgid "Audioscreen currently off" msgstr "Сейчас звуковое представление экрана выключено" -#: addon/globalPlugins/audioScreen/__init__.py:217 +#: addon/globalPlugins/audioScreen/__init__.py:224 msgid "Plays the image under your fingers" msgstr "Воспроизводит изображение под вашими пальцами" -#: addon/globalPlugins/audioScreen/__init__.py:244 +#: addon/globalPlugins/audioScreen/__init__.py:251 msgid "Stops audioScreen playback" msgstr "Останавливает воспроизведение изображения" -#: addon/globalPlugins/audioScreen/__init__.py:255 +#: addon/globalPlugins/audioScreen/__init__.py:262 msgid "Plays the image of the current navigator object" msgstr "Воспроизводит изображение текущего объекта навигатора" -#: addon/globalPlugins/audioScreen/__init__.py:260 +#: addon/globalPlugins/audioScreen/__init__.py:267 msgid "AudioScreen disabled" msgstr "Звуковое представление экрана выключено" -#: addon/globalPlugins/audioScreen/__init__.py:268 +#: addon/globalPlugins/audioScreen/__init__.py:275 msgid "Shows AudioScreen setttings" msgstr "Открывает настройки звукового представления экрана" @@ -169,16 +169,19 @@ msgstr "" "требуется Windows 10 или более поздняя версия." #: buildVars.py:29 -msgid "" -"* Made the add-on code more robust with help from Pyright (a Python static " -"type checker).\n" -"* Improved compatibility with NVDA 2026.1, including compatibility with 64-" -"bit NVDA." -msgstr "" -"Повышена надёжность кода дополнения с помощью средства проверки статических " -"типов на Python Pyright.\n" -"* Улучшена совместимость с NVDA 2026.1, включая совместимость с 64-разрядной " -"версией NVDA." +msgid "* NVDA 2025.3.3 or later is required." +msgstr "* Требуется NVDA 2025.3.3 или более поздняя версия." + +#~ msgid "" +#~ "* Made the add-on code more robust with help from Pyright (a Python " +#~ "static type checker).\n" +#~ "* Improved compatibility with NVDA 2026.1, including compatibility with " +#~ "64-bit NVDA." +#~ msgstr "" +#~ "Повышена надёжность кода дополнения с помощью средства проверки " +#~ "статических типов на Python Pyright.\n" +#~ "* Улучшена совместимость с NVDA 2026.1, включая совместимость с 64-" +#~ "разрядной версией NVDA." #~ msgid "&AudioScreen..." #~ msgstr "Звуковое представление &экрана..." From 2dc7c844877e6a375380e28a8c175fe811868fce Mon Sep 17 00:00:00 2001 From: Danil <81031453+Kostenkov-2021@users.noreply.github.com> Date: Mon, 20 Apr 2026 13:03:15 +0300 Subject: [PATCH 7/7] Add Russian README for AudioScreen addon Add a new Russian translation of the AudioScreen README at addon/doc/ru/README.md. --- addon/doc/ru/README.md | 216 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 addon/doc/ru/README.md diff --git a/addon/doc/ru/README.md b/addon/doc/ru/README.md new file mode 100644 index 0000000..3dbdf9f --- /dev/null +++ b/addon/doc/ru/README.md @@ -0,0 +1,216 @@ +# AudioScreen: эксперимент по обеспечению доступности изображений для незрячих людей + +Авторы: Майкл Карран (Michael Curran), NV Access Limited; Джозеф Ли (Joseph Lee) + +## Введение + +AudioScreen — это дополнение для [программы экранного доступа NVDA](http://www.nvaccess.org/). AudioScreen позволяет незрячему человеку перемещать палец по сенсорному экрану с поддержкой Windows 8 и новее и слышать ту часть изображения, которая находится под пальцем. Если сенсорный экран недоступен, можно использовать мышь, хотя для пользователя это менее точно, так как движение мыши относительно. + +Здесь [демонстрация AudioScreen от Майкла Каррана [mp3 файл, 17 МБ]](http://www.nvaccess.org/audioScreen/audioScreenDemo20151129.mp3), где он демонстрирует различные режимы и исследует карту Австралии, радугу, Землю из космоса, мультяшный домик и закат. + +Поскольку для работы AudioScreen требуется NVDA, пользователь также будет получать речевую обратную связь, например, имя элемента управления или текст, находящиеся прямо под пальцем. + +AudioScreen можно рассматривать как экспериментальный альтернативный способ для незрячих людей просматривать простые изображения, такие как диаграммы и карты, когда другие тактильные форматы недоступны. + +У AudioScreen есть два режима вывода: «Серый в стерео с изменением высоты тона» для исследования линий и контуров изображений (полезно для карт, диаграмм и т.п.) и «Цвет HSV» для исследования цветового разнообразия изображений (полезно для фотографий). + +## Режим «Серый в стерео с изменением высоты тона» + +В этом режиме AudioScreen представляет изображение под вашим пальцем или мышью в виде нескольких тонов, различающихся по высоте, громкости и стереопозиции. Идея основана на системе визуально-слухового отображения vOICe Питера Мейера (www.seeingwithsound.com). + +AudioScreen стремится предоставить примерно ту же информацию, которую ваш палец получил бы при исследовании тактильных диаграмм. Вы можете определить, когда ваш палец или мышь проходят над линией, как по горизонтали, так и по вертикали. + +Например, если ваш палец пересекает горизонтальную линию при движении вниз по экрану, вы слышите, как линия движется вверх под вашим пальцем. Если ваш палец пересекает вертикальную линию при движении слева направо, вы слышите, как линия движется поперёк вашего пальца справа налево. + +Если вы оставите палец или мышь неподвижными в точке экрана более чем на полсекунды, AudioScreen начнёт выполнять проход звука слева направо, изолируя отдельные столбцы пикселей, обеспечивая гораздо более детальное представление изображения, чтобы помочь в обнаружении закономерностей и т.д. + +Если вы поместите на экран два или более пальцев одновременно, AudioScreen будет выполнять проход по изображению, ограниченному всеми вашими пальцами. Например, поместив один палец в верхний левый угол большого изображения, а другой — в нижний правый, AudioScreen выполнит проход по всему изображению. + +Помимо получения обратной связи от сенсорного ввода или мыши, вы также можете дать AudioScreen команду выполнить проход по всему изображению или элементу управления с помощью команды «Воспроизвести объект навигатора». Это выполнит несколько проходов в стиле vOICe по текущему объекту навигатора NVDA. + +## Режим «Цвет HSV» + +В этом режиме AudioScreen передаёт цвет (а именно тон, насыщенность и яркость) изображения под вашим пальцем. + +Тон (позиция в цветовом спектре) представлен тоном с определённой высотой. В настоящее время самая низкая высота тона соответствует синему цвету, затем она повышается через зелёный, жёлтый, оранжевый к красному (самая высокая высота тона). Поскольку спектр на самом деле является кругом, при переходе от красного через фиолетовый обратно к синему, верхний (красный) тон затухает, а нижний (синий) тон снова появляется. + +Насыщенность (насколько ярким является цвет) представлена коричневым шумом (низкочастотным случайным шумом). Когда цвет наиболее яркий (полная насыщенность), случайный шум отсутствует, и спектральный тон слышен полностью. По мере уменьшения насыщенности к серому (отсутствие насыщенности) спектральный тон становится тише, а случайный шум — громче, пока при нулевой насыщенности не останется только случайный шум. + +Яркость представлена общей громкостью звука в целом. + +Некоторые примеры: + +* Чёрный: тишина +* Белый: громкий случайный шум +* Яркий синий: очень низкий тон +* Яркий жёлтый: средне-высокий тон +* Бледный красный: очень высокий тон с некоторым случайным шумом +* Тёмно-зелёный: тихий низко-средний тон +* Тёмно-серый: тихий случайный шум + +## Системные требования + +* Установленная копия NVDA 2025.3.3 или более поздняя версия +* Windows 10 или 11 +* Сенсорный экран, совместимый с Windows 10/11, или мышь +* Визуальная обратная связь для сенсорного ввода должна быть отключена в Windows. Найдите параметр «Изменение параметров сенсорного ввода» на начальном экране и в этом диалоговом окне снимите флажок «Показывать визуальную обратную связь при касании экрана». + +## Загрузка + +* Загрузите AudioScreen из магазина дополнений. +* Скачайте [Примеры изображений [zip-файл]](http://www.nvaccess.org/audioScreen/audioScreenImages.zip). + +## Запуск AudioScreen + +После установки дополнения из магазина дополнений NVDA предложит перезапустить программу. + +Важно: Визуальная обратная связь для сенсорного ввода должна быть отключена в Windows. Найдите параметр «Изменение параметров сенсорного ввода» на начальном экране и в этом диалоговом окне снимите флажок «Показывать визуальную обратную связь при касании экрана». + +Пока NVDA запущена с установленным дополнением, откройте интересное изображение в полноэкранном режиме (например, используйте Microsoft Edge для отображения одного из примеров SVG-файлов, обязательно разверните его на весь экран и включите полноэкранный режим с помощью F11). + +AudioScreen по умолчанию выключен, поэтому включите его, переключившись на другой режим в настройках AudioScreen (Меню NVDA → Параметры → Параметры → AudioScreen). Это переключает режимы: «Серый в стерео с изменением высоты тона», «Цвет HSV» и «Выключено». + +Теперь двигайте палец или мышь по экрану и начинайте слушать изображение под вашим пальцем. + +Поскольку NVDA также может озвучивать элементы управления и текст под вашим пальцем, просмотр SVG-карты или диаграммы отлично работает, так как Internet Explorer позволяет NVDA озвучивать заголовок и/или описание для любой фигуры, по которой движется ваш палец, при условии, что заголовок и/или описание правильно определены с использованием тегов `title` и `desc` в SVG-файле. + +## Команды + +Вы можете добавить или изменить сочетания клавиш, перейдя в Меню NVDA → Параметры → Жесты ввода → категория AudioScreen. + +### Сменить режим AudioScreen (не назначено) + +Эта команда переключает режимы: + +* «Серый в стерео с изменением высоты тона»: для исследования линий и контуров изображений (полезно для карт, диаграмм и т.п.) +* «Цвет HSV»: для исследования цветового разнообразия изображений (полезно для фотографий) +* «Выключено» [по умолчанию]: полностью отключает AudioScreen. + +### Воспроизвести объект навигатора (NVDA+Alt+A) + +Эта команда воспроизводит текущий объект навигатора NVDA, выполняя несколько стереопроходов в стиле vOICe по нему. + +### Показать параметры (не назначено) + +Открывает категорию AudioScreen в диалоге параметров NVDA, что позволяет изменить различные настройки AudioScreen. Интерфейс настроек также можно запустить, выбрав категорию AudioScreen в меню NVDA → Параметры → Параметры. + +## Настройки + +### Режим AudioScreen + +Выберите желаемый режим: + +* «Серый в стерео с изменением высоты тона»: для исследования линий и контуров изображений (полезно для карт, диаграмм и т.п.) +* «Цвет HSV»: для исследования цветового разнообразия изображений (полезно для фотографий) +* «Выключено» [по умолчанию]: полностью отключает AudioScreen. + +### Настройки режима «Серый в стерео с изменением высоты тона» + +#### Инвертировать яркость + +Эта опция позволяет инвертировать яркость изображения, так что вместо того, чтобы светлому соответствовала громкость, а тёмному — тишина, тёмное будет громким, а светлое — тихим. Очень полезно при воспроизведении изображения, где объекты переднего плана темнее фона. + +#### Количество колонок в стереополе + +Ширина изображения в пикселях. При перемещении пальцем или мышью это буквально ширина захватываемого изображения. Для команды «Воспроизвести объект навигатора», хотя полное изображение и получается, оно сжимается или растягивается до этой ширины. + +#### Количество строк (частот) + +Высота изображения в пикселях. Каждая строка пикселей представлена определённой частотой. Частоты распределены логарифмически. При перемещении пальцем или мышью это буквально высота захватываемого изображения. Для команды «Воспроизвести объект навигатора», хотя полное изображение и получается, оно сжимается или растягивается до этой высоты. + +#### Самая низкая частота в Гц + +Частота (в герцах), используемая для самой нижней строки изображения. + +#### Самая высокая частота в Гц + +Частота (в герцах), используемая для самой верхней строки изображения. + +#### Начальная задержка стерео сигнала в секундах + +Время ожидания (в секундах) перед началом прохода по изображению после того, как палец или мышь переместились. + +#### Длительность стерео сигнала в секундах + +Продолжительность (в секундах) каждого прохода. + +#### Количество стерео сигналов + +Количество проходов, которое должно быть воспроизведено после перемещения пальца или мыши или после выполнения команды «Воспроизвести объект навигатора». + +#### Ширина (в пикселях) прямоугольника в точке под пальцем или указателем мыши + +Ширина области захвата при воспроизведении одной точки на экране. + +#### Высота (в пикселях) прямоугольника в точке под пальцем или указателем мыши + +Высота области захвата при воспроизведении одной точки на экране. + +### Настройки режима «Цвет HSV» + +#### Ширина области захвата в пикселях + +Ширина (в пикселях) области под пальцем или мышью, захватываемой для определения цвета. Цвет усредняется по этой области. Меньшие значения дадут более точные цвета, но могут привести к тому, что вы услышите больше деталей, чем видно визуально. + +#### Высота области захвата в пикселях + +Высота (в пикселях) области под пальцем или мышью, захватываемой для определения цвета. Цвет усредняется по этой области. Меньшие значения дадут более точные цвета, но могут привести к тому, что вы услышите больше деталей, чем видно визуально. + +#### Самая низкая частота (синий) в Гц + +Частота (в Гц), представляющая синий цвет. Частота повышается через голубой, зелёный, жёлтый, оранжевый до красного. Поскольку цветовой спектр замыкается от красного обратно к синему через фиолетовый, фиолетовые цвета представлены как низкой (синей), так и высокой (красной) частотами с разным соотношением громкости. Например, синеватый фиолетовый будет в основном низкой (синей) частотой с небольшим количеством высокой (красной) частоты. + +#### Самая высокая частота (красный) в Гц + +Частота (в Гц), представляющая красный цвет. Частота понижается через оранжевый, жёлтый, зелёный, голубой до синего. Поскольку цветовой спектр замыкается от синего обратно к красному через фиолетовый, фиолетовые цвета представлены как низкой (синей), так и высокой (красной) частотами с разным соотношением громкости. Например, красноватый фиолетовый будет в основном высокой (красной) частотой с небольшим количеством низкой (синей) частоты. + +## Разработка и сборка из исходного кода + +Клонируйте репозиторий AudioScreen командой: + +``` +git clone https://www.github.com/josephsl/audioScreen +``` + +Для сборки и разработки этого проекта требуется [Python 3.11](http://www.python.org/). Кроме того, необходимы следующие пакеты: + +* libaudioverse: AudioScreen зависит от [libaudioverse 0.9](https://www.github.com/camlorn/libaudioverse). Должны быть включены как 32-битная, так и 64-битная версии (64-битная версия называется «libaudioverse64» в дополнении). +* SCons 4.9.0 или новее +* Markdown 3.8 или новее +* Пакет GNU Gettext для генерации сообщений локализации + +### Сборка дополнения NVDA + +В каталоге дополнения: + +1. Установите необходимые зависимости, включая SCons, markdown и GNU Gettext. +2. Из командной строки выполните `scons` (без кавычек). + +### Внесение вклада + +Используйте репозиторий GitHub для создания сообщений о проблемах и/или предложений запросов на включение. Локализация в настоящее время не принимается. + +## Предыстория + +От Майкла Каррана + +Уже довольно давно я хотел найти способ, позволяющий незрячему человеку получать доступ к картам и простым диаграммам без хлопот, связанных с их созданием в тактильном формате. + +Хотя тактильные форматы, безусловно, очень полезны, когда они доступны, у них есть особые недостатки, такие как: + +* Медленное создание +* Требуются специальные материалы +* Иногда требуется специальная машина +* Довольно неэкологично из-за потери бумаги +* Громоздко носить с собой +* Можно включить только очень ограниченное количество подписей из-за ограниченного пространства + +Несколько лет назад я наткнулся на очень интересное программное обеспечение под названием The vOICe (www.seeingwithsound.com). Это программное обеспечение могло брать изображения или видео с веб-камеры и воспроизводить их незрячему человеку в виде звука, используя высоту тона, громкость и стереопанорамирование. Хотя программное обеспечение vOICe более пассивно в том смысле, что оно сканирует слева направо всё изображение, я увидел множество возможностей использования этой концепции преобразования изображения в звук более активным способом, с помощью сенсорного экрана. + +Я также должен отметить, что мне известны другие исследования по передаче изображений на сенсорных экранах с помощью звука, но ни одно из них, насколько я видел до сих пор, не решило попробовать использовать концепцию отображения vOICe. + +При передаче информации из одной сенсорной модальности в другую я считаю очень важным не терять информацию в процессе. Если вы можете обеспечить примерно такое же или лучшее разрешение во второй модальности, мозгу будет гораздо легче декодировать информацию. Я считаю, что такое отображение, как в vOICe, безусловно, позволяет приблизиться к этому вплотную. + +### Отображение цвета в звук + +Хотя доступ к простым диаграммам, таким как карты и другие рисунки на основе линий, имеет множество практических применений для незрячих, также можно утверждать, что доступ к цветным изображениям, например, в искусстве или красоте мира, имеет некоторое субъективное значение. Например, как меняются цвета в радуге или картина Земли из космоса. Эти вещи очень трудно описать словами. \ No newline at end of file