Skip to content

Commit

Permalink
Add the documentation English files
Browse files Browse the repository at this point in the history
  • Loading branch information
ahmedthebest31 committed Sep 13, 2023
1 parent 07d2789 commit 0a02941
Show file tree
Hide file tree
Showing 136 changed files with 452 additions and 37 deletions.
13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# nav Sounds
This is an NVDA screen reader add-on that provides navigation sounds based on different roles when interacting with the screen reader.
This is an NVDA screen reader add-on that
providing navigation sounds and keyboard typing sounds.
You can hear different sounds based on the roles of the elements you interact with,
Also allow you to play different keyboard sound as you type.
with the ability to customize everything.


## About


Expand All @@ -11,8 +16,9 @@ This add-on is inspired by the abandoned "objsounds" add-on created by Tyler Spi

- Provides navigation sounds based on different roles.
- Toggle Functionality: Easily switch between enabling and disabling object sounds and toggling object type reading with a simple keyboard gesture.
- Customization: Access a settings page where you can choose from various navigation sound packages and configure additional options.
- Expandable: includes a selection of sound packages, and you can even create and add your custom packages.
- Play a different keyboard sounds as you type
- Customization: Access a settings page where you can choose from various navigation sound packages / keyboard typing sound effects and configure additional options.
- Expandable: includes a selection of sound packages / typing keyboard sound effects, and you can even create and add your custom packages.

- Compmpatibility: Designed to seamlessly work with modern NVDA versions, starting from 2019.3 and later.

Expand All @@ -36,6 +42,7 @@ For NVDA Portable Installation:
## Usage

- The navigation sounds will play based on the roles of objects as you interact with NVDA.
- Keyboard typing setting that will allow you to play a different keyboard sound as you type with NVDA, you can choose to play it in any time you press a button or while you focus on a text box.
- use the keybord shortcut (NVDA+alt+n) Pressing it once toggles between on and off object sounds, and Pressing twice it toggles between reading and disabling object types
- You can customize the keyboard shortcut as you prefer
open nvda menue Preferences subMenu / Input gestures
Expand Down
61 changes: 61 additions & 0 deletions navsounds/doc/en/readme.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>navSounds - help</title>
</head>
<body>

<h1 id="nav-sounds">nav Sounds</h1>
<p>This is an NVDA screen reader add-on that
providing navigation sounds and keyboard typing sounds.
You can hear different sounds based on the roles of the elements you interact with,
Also allow you to play different keyboard sound as you type.
with the ability to customize everything.</p>
<h2 id="about">About</h2>
<p>This add-on is inspired by the abandoned &quot;objsounds&quot; add-on created by Tyler Spivey. Since that add-on hasn&#39;t been updated for a long time, I decided to create this add-on to continue providing similar functionality while keeping up with the changes in the NVDA screen reader.</p>
<h2 id="features">Features</h2>
<ul>
<li><p>Provides navigation sounds based on different roles.</p>
</li>
<li><p>Toggle Functionality: Easily switch between enabling and disabling object sounds and toggling object type reading with a simple keyboard gesture.</p>
</li>
<li><p>Play a different keyboard sounds as you type</p>
</li>
<li><p>Customization: Access a settings page where you can choose from various navigation sound packages / keyboard typing sound effects and configure additional options.</p>
</li>
<li><p>Expandable: includes a selection of sound packages / typing keyboard sound effects, and you can even create and add your custom packages.</p>
</li>
<li><p>Compmpatibility: Designed to seamlessly work with modern NVDA versions, starting from 2019.3 and later.</p>
</li>
</ul>
<h2 id="installation">Installation</h2>
<p>For NVDA Installed Versions:</p>
<ol>
<li>Download the latest release from the <a href="https://github.com/ahmedthebest31/navsounds/releases/">Releases</a> section.</li>
<li>Double-click the downloaded add-on file and confirm the installation by clicking &quot;OK.&quot;</li>
<li>NVDA will automatically restart, and you&#39;re ready to use NavigationSounds.</li>
</ol>
<p>For NVDA Portable Installation:</p>
<ol>
<li>Download the latest release from the <a href="https://github.com/ahmedthebest31/navsounds/releases">Releases</a> section.</li>
<li>Open your NVDA screen reader.</li>
<li>Navigate to the NVDA menu: Tools -&gt; Manage add-ons.</li>
<li>Click the &quot;Install&quot; button and select the downloaded add-on file.</li>
<li>Restart NVDA to activate NavigationSounds.</li>
</ol>
<h2 id="usage">Usage</h2>
<ul>
<li>The navigation sounds will play based on the roles of objects as you interact with NVDA.</li>
<li>Keyboard typing setting that will allow you to play a different keyboard sound as you type with NVDA, you can choose to play it in any time you press a button or while you focus on a text box. </li>
<li>use the keybord shortcut (NVDA+alt+n) Pressing it once toggles between on and off object sounds, and Pressing twice it toggles between reading and disabling object types </li>
<li>You can customize the keyboard shortcut as you prefer<br>open nvda menue Preferences subMenu / Input gestures
navigation sounds</li>
</ul>
<h2 id="contributing">Contributing</h2>
<p>Contributions to this project are welcome! If you find a bug, have an idea for an improvement, or want to contribute in any other way, please feel free to open an issue or submit a pull request.</p>
<p>Special thanks to <a href="https://github.com/mesteranas/">mesteranas</a> for his wonderful Contributions in developing this add-on with me.</p>

</body>
</html>
55 changes: 55 additions & 0 deletions navsounds/doc/en/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# nav Sounds
This is an NVDA screen reader add-on that
providing navigation sounds and keyboard typing sounds.
You can hear different sounds based on the roles of the elements you interact with,
Also allow you to play different keyboard sound as you type.
with the ability to customize everything.


## About


This add-on is inspired by the abandoned "objsounds" add-on created by Tyler Spivey. Since that add-on hasn't been updated for a long time, I decided to create this add-on to continue providing similar functionality while keeping up with the changes in the NVDA screen reader.


## Features

- Provides navigation sounds based on different roles.
- Toggle Functionality: Easily switch between enabling and disabling object sounds and toggling object type reading with a simple keyboard gesture.
- Play a different keyboard sounds as you type
- Customization: Access a settings page where you can choose from various navigation sound packages / keyboard typing sound effects and configure additional options.
- Expandable: includes a selection of sound packages / typing keyboard sound effects, and you can even create and add your custom packages.

- Compmpatibility: Designed to seamlessly work with modern NVDA versions, starting from 2019.3 and later.


## Installation
For NVDA Installed Versions:
1. Download the latest release from the [Releases](https://github.com/ahmedthebest31/navsounds/releases/) section.
2. Double-click the downloaded add-on file and confirm the installation by clicking "OK."
3. NVDA will automatically restart, and you're ready to use NavigationSounds.


For NVDA Portable Installation:

1. Download the latest release from the [Releases](https://github.com/ahmedthebest31/navsounds/releases) section.
2. Open your NVDA screen reader.
3. Navigate to the NVDA menu: Tools -> Manage add-ons.
4. Click the "Install" button and select the downloaded add-on file.
5. Restart NVDA to activate NavigationSounds.


## Usage

- The navigation sounds will play based on the roles of objects as you interact with NVDA.
- Keyboard typing setting that will allow you to play a different keyboard sound as you type with NVDA, you can choose to play it in any time you press a button or while you focus on a text box.
- use the keybord shortcut (NVDA+alt+n) Pressing it once toggles between on and off object sounds, and Pressing twice it toggles between reading and disabling object types
- You can customize the keyboard shortcut as you prefer
open nvda menue Preferences subMenu / Input gestures
navigation sounds

## Contributing

Contributions to this project are welcome! If you find a bug, have an idea for an improvement, or want to contribute in any other way, please feel free to open an issue or submit a pull request.

Special thanks to [mesteranas](https://github.com/mesteranas/) for his wonderful Contributions in developing this add-on with me.
44 changes: 40 additions & 4 deletions navsounds/globalPlugins/NavigationSounds/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# -*- coding: UTF-8 -*-
from random import choice
import globalPluginHandler
from winsound import PlaySound
import controlTypes, ui, os, speech, NVDAObjects
Expand All @@ -14,12 +15,19 @@
confspec = {
"sayRoles": "boolean(default=false)",
"soundType": "string(default=sound1)",
"rolesSounds": "boolean(default=true)"}
"rolesSounds": "boolean(default=true)",
"typing": "boolean(default=true)",
"type": "string(default=k1)",
"edit": "boolean(default=false)"}

config.conf.spec[roleSECTION] = confspec
rolesSounds= config.conf[roleSECTION]["rolesSounds"]
sayRoles= config.conf[roleSECTION]["sayRoles"]
def loc():
return os.path.join(os.path.abspath(os.path.dirname(__file__)), "effects",config.conf[roleSECTION]["soundType"])
return os.path.join(os.path.abspath(os.path.dirname(__file__)), "effects","navsounds",config.conf[roleSECTION]["soundType"])
def loc1():
return os.path.join(os.path.abspath(os.path.dirname(__file__)),"effects","typingsound",config.conf[roleSECTION]["type"])

#Add all the roles, looking for name.wav.
def sounds():
sounds1 = {}
Expand Down Expand Up @@ -47,7 +55,20 @@ def __init__(self, *args, **kwargs):
NVDASettingsDialog.categoryClasses.append(NavSettingsPanel)
global old
old = speech.speech.getPropertiesSpeech
def play1(self,l):
if os.path.exists(os.path.join(loc1(),os.listdir(loc1())[0])) and config.conf[roleSECTION]["typing"]:
PlaySound(os.path.join(loc1(),choice(os.listdir(loc1()))),1)
def editable(self, object):
controls = (8, 52, 82)
return (object.role in controls or controlTypes .STATE_EDITABLE in object.states) and not controlTypes .STATE_READONLY in object.states

def event_typedCharacter(self, obj, nextHandler, ch):
if config.conf[roleSECTION]["edit"]:
if self.editable(obj):
self.play1(ch)
else:
self.play1(ch)
nextHandler()
def event_gainFocus(self, obj, nextHandler):
if rolesSounds == True:
speech.speech.getPropertiesSpeech = getSpeechTextForProperties2
Expand Down Expand Up @@ -82,18 +103,33 @@ def makeSettings(self, settingsSizer):
sHelper = guiHelper.BoxSizerHelper(self, sizer=settingsSizer)
self.tlable = sHelper.addItem(wx.StaticText(self, label=_("select sound"), name="ts"))
self.sou= sHelper.addItem(wx.Choice(self, name="ts"))
self.sou.Set(os.listdir(os.path.join(os.path.abspath(os.path.dirname(__file__)), "effects")))
self.sou.Set(os.listdir(os.path.join(os.path.abspath(os.path.dirname(__file__)), "effects","navsounds")))
self.sou.SetStringSelection(config.conf[roleSECTION]["soundType"])
self.nas=sHelper.addItem(wx.CheckBox(self,label=_("say roles")))
self.nas.SetValue(config.conf[roleSECTION]["sayRoles"])
self.nab=sHelper.addItem(wx.CheckBox(self,label=_("navigation sounds")))
self.nab.SetValue(config.conf[roleSECTION]["rolesSounds"])
self.ts=sHelper.addItem(wx.CheckBox(self,label=_("keyboard typing sound")))
self.ts.SetValue(config.conf[roleSECTION]["typing"])
self.edit=sHelper.addItem(wx.CheckBox(self,label=_("enable typing sound in text boxes only")))
self.edit.SetValue(config.conf[roleSECTION]["edit"])
self.tlable1 = sHelper.addItem(wx.StaticText(self, label=_("select typing sound"), name="tt"))
self.sou1= sHelper.addItem(wx.Choice(self, name="tt"))
self.sou1.Set(os.listdir(os.path.join(os.path.abspath(os.path.dirname(__file__)), "effects","typingsound")))
self.sou1.SetStringSelection(config.conf[roleSECTION]["type"])
b=sHelper.addItem(wx.Button(self,label=_("open sounds folder")))
b.Bind(wx.EVT_BUTTON,self.onopen)
def postInit(self):
self.sou.SetFocus()
def onopen(self,event):
os.startfile(os.path.join(os.path.abspath(os.path.dirname(__file__)), "effects"))
def onSave(self):
global sayRoles,rolesSounds
config.conf[roleSECTION]["soundType"]=self.sou.GetStringSelection()
config.conf[roleSECTION]["sayRoles"]=self.nas.GetValue()
sayRoles=config.conf[roleSECTION]["sayRoles"]
config.conf[roleSECTION]["rolesSounds"]=self.nab.GetValue()
rolesSounds=config.conf[roleSECTION]["rolesSounds"]
rolesSounds=config.conf[roleSECTION]["rolesSounds"]
config.conf[roleSECTION]["typing"]=self.ts.GetValue()
config.conf[roleSECTION]["edit"]=self.edit.GetValue()
config.conf[roleSECTION]["type"]=self.sou1.GetStringSelection()
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified navsounds/locale/ar/LC_MESSAGES/nvda.mo
Binary file not shown.
44 changes: 30 additions & 14 deletions navsounds/locale/ar/LC_MESSAGES/nvda.po
Original file line number Diff line number Diff line change
Expand Up @@ -5,53 +5,69 @@
msgid ""
msgstr ""
"Project-Id-Version: navigation sounds 1.0\n"
"POT-Creation-Date: 2023-09-02 13:56+0300\n"
"PO-Revision-Date: 2023-09-02 13:58+0300\n"
"POT-Creation-Date: 2023-09-11 09:51+0300\n"
"PO-Revision-Date: 2023-09-12 12:39+0300\n"
"Last-Translator: \n"
"Language-Team: mesteranas\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : "
"n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
"Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.3.2\n"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:49
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:85
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:94
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:52
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:101
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:110
msgid "navigation sounds"
msgstr "أصوات التنقل"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:69
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:85
msgid "Disable navigation sounds"
msgstr "تعطيل أصوات التنقل"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:71
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:87
msgid "Enable navigation sounds"
msgstr "تفعيل أصوات التنقل"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:75
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:91
msgid "Disable sayRoles"
msgstr "تعطيل نطق أنواع ألكائنات"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:77
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:93
msgid "Enable sayRoles"
msgstr "تفعيل نطق أنواع ألكائنات"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:80
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:96
msgid ""
"Pressing it once toggles between on and off object sounds, and Pressing "
"twice it toggles between reading and disabling object types."
msgstr ""
"يؤدي الضغط عليه مرة واحدة إلى التبديل بين تشغيل وإيقاف أصوات الكائنات، "
"والضغط عليه مرتين يؤدي إلى التبديل بين قراءة أنواع الكائنات وتعطيلها."

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:88
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:104
msgid "select sound"
msgstr "اختيار الصوت"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:92
#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:108
msgid "say roles"
msgstr "نطق أنواع الكائنات"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:112
msgid "keyboard typing sound"
msgstr "أصوات كتابة لوحة المفاتيح"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:114
msgid "enable typing sound in text boxes only"
msgstr "تشغيل أصوات الكتابة في مربعات التعديل فقت"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:116
msgid "select typing sound"
msgstr "إختيار صوت الكتابة"

#: C:\Users\Mesteranas1\AppData\Roaming\nvda\addons\NavigationSounds\globalPlugins\NavigationSounds\__init__.py:120
msgid "open sounds folder"
msgstr "فتح مجلد الأصوات"
Binary file added navsounds/locale/es/LC_MESSAGES/nvda.mo
Binary file not shown.
Loading

0 comments on commit 0a02941

Please sign in to comment.