commit/controlUsageAssistant: 2 new changesets

  • From: commits-noreply@xxxxxxxxxxxxx
  • To: nvda-addons-commits@xxxxxxxxxxxxx
  • Date: Wed, 02 Oct 2013 23:03:44 -0000

2 new commits in controlUsageAssistant:

https://bitbucket.org/nvdaaddonteam/controlusageassistant/commits/bc99d6ece94b/
Changeset:   bc99d6ece94b
Branch:      master
User:        josephsl
Date:        2013-10-03 01:00:18
Summary:     init: use Help script category for easier gesture reassignment. 
Requires NvDA 2013.3 or later for this to work.

Affected #:  1 file

diff --git a/addon/globalPlugins/controlUsageAssistant/__init__.py 
b/addon/globalPlugins/controlUsageAssistant/__init__.py
index 76f03ef..0ab2f82 100755
--- a/addon/globalPlugins/controlUsageAssistant/__init__.py
+++ b/addon/globalPlugins/controlUsageAssistant/__init__.py
@@ -14,15 +14,20 @@ import controlTypes # The heart of this module.
 import ctrltypelist # The control types and help messages dictionary.
 from virtualBuffers import VirtualBuffer # Virtual buffer handling.
 import appModuleHandler # Apps.
-#from appModules import powerpnt # (commented out) App modules with special 
personalities such as Powerpoint where one needs to differentiate between 
slides and slide shows.
+from appModules import powerpnt # App modules with special personalities such 
as Powerpoint where one needs to differentiate between slides and slide shows.
 import addonHandler # Addon basics.
 addonHandler.initTranslation() # Internationalization.
-# import tones # For debugging.
+import tones # For debugging.
+from baseObject import ScriptableObject # Input Gestures categories.
 
 # Init:
 class GlobalPlugin(globalPluginHandler.GlobalPlugin):
        
-               # NVDA+H: Obtain usage help on a particular control.
+       # Script category.
+       # Translators: Input gesture category for Control Usage Assistant 
add-on.
+       scrcat_conHelp = _("Help")
+       
+       # NVDA+H: Obtain usage help on a particular control.
        # Depending on the type of control and its state(s), lookup a 
dictionary of control types and help messages.
        # If the control is used differently in apps, then lookup the app entry 
and give the customized message.
        def script_obtainControlHelp(self, gesture):
@@ -31,6 +36,7 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin):
                ui.message(_(self.getHelpMessage(obj)))
        # Translators: Input help message for obtain control help command.
        script_obtainControlHelp.__doc__=_("Presents a short message on how to 
interact with the focused control.")
+       script_obtainControlHelp.category = scrcat_conHelp
                
        # GetMessageOffset: Obtain message offset based on appModule and/or 
processes list.
        # Return value: positive = appModule, negative = processes, 0 = default.
@@ -57,21 +63,21 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin):
                # Present help messages based on role constant, state(s) and 
focused app.
                msg = "" # A string (initially empty) to hold the message; 
needed to work better with braille.
                offset = self.getMessageOffset(curObj) # offset = lookup 
offset, the base for our lookup index.
-               # Assign positive or negative lookup offset depending on the 
return value from offset method above.
-               index = offset + curObj.role if offset >= 0 else offset - 
curObj.role
+               if offset >= 0: # We found an appModule. In case of 0, check 
object state(s).
+                       index = offset + curObj.role
+               else: # No appModule, so work with processes.
+                       index = offset - curObj.role
                # In case offset is zero, then test for state(s).
                curState = curObj._get_states()
                # Let the index lookup begin.
-               if (offset >= 300 or offset <= -300) and index in 
ctrltypelist.helpMessages:
-                       # General case: if we do have an entry for the 
appModule/process.
-                       import appModules # Import this now for performance 
reasons, as the user would be dealing with default controls for most of the 
time.
-                       # Even then, a number of specific cases follows:
-                       # PowerPoint: differentiate between slide list and 
slide show.
-                       if curObj.appModule.appName == "powerpnt" and 
isinstance(curObj, appModules.powerpnt.SlideShowWindow):
-                               msg = ctrltypelist.helpMessages[403.1]  
-                       else: # For now, Powerpoint is the only special case; 
the optimal way is to build a dictionary of apps which has duplicate controls 
for different locations.
-                               msg= ctrltypelist.helpMessages[index]
-                       # Clean the above code later (before beta). Let's 
continue with the show.
+               # A number of specific cases follows:
+               # PowerPoint: differentiate between slide list and slide show.
+               if isinstance(curObj, powerpnt.SlideShowWindow):
+                       msg = ctrltypelist.helpMessages[403.1]  
+               # General case: if we do have an entry for the 
appModule/process.
+               elif (offset >= 300 or offset <= -300) and index in 
ctrltypelist.helpMessages:
+                       msg= ctrltypelist.helpMessages[index]
+                       # Clean the above code later.
                elif (offset == 200 or offset == -200):
                        # In case we're dealing with virtual buffer, call the 
below method.
                        msg = self.VBufHelp(curObj, index)
@@ -98,9 +104,9 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin):
        def VBufHelp(self, obj, i): # i = index.
                if i in self.VBufForms:
                        if not obj.treeInterceptor.passThrough:
-                               VBufmsg = _(ctrltypelist.helpMessages[i])
+                               VBufmsg = ctrltypelist.helpMessages[i]
                        else:
-                               VBufmsg = _(ctrltypelist.helpMessages[obj.role])
+                               VBufmsg = ctrltypelist.helpMessages[obj.role]
                                # Translators: Additional message when working 
with forms in focus mode.
                                VBufmsg += _(". To switch to browse mode, press 
NVDA+SPACE or escape key")
                elif i == 252:
@@ -109,11 +115,8 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin):
                        else:
                                # Translators: Help message for reading a 
webpage while in focus mode.
                                VBufmsg = _("To use browse mode and quick 
navigation keys to read the webpage, switch to browse mode by pressing 
NVDA+SPACE")
-               elif obj.role in ctrltypelist.helpMessages:
-                       # In an event that we do have something such as a link.
+               else:
                        VBufmsg = ctrltypelist.helpMessages[obj.role]
-               else: # Nothing, so present the above error message as before.
-                       VBufmsg = _("No help for this control")
                return VBufmsg
        
        


https://bitbucket.org/nvdaaddonteam/controlusageassistant/commits/c813320a0ea2/
Changeset:   c813320a0ea2
Branch:      dev
User:        josephsl
Date:        2013-10-03 01:01:15
Summary:     Merge branch 'master' into dev

Affected #:  17 files

diff --git a/.gitignore b/.gitignore
index 3a59e11..6d124be 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,7 @@
+addon/doc/*.css
+addon/doc/en/
+*_docHandler.py
+*.html
 *.ini
 *.mo
 *.pot

diff --git a/README.md b/README.md
index 66df741..4a46142 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,17 @@
-[[!meta title="controlUsageAssistant"]]
+[[!meta title="Control Usage Assistant"]]
 
 * Author: Joseph Lee
-* Download: [version 1.0][1]
+* Download: [version 2.0][1]
 
 Use this add-on to find out how to interact with the focused control.
 Press NvDA+H to obtain a short help message on interacting with the focused 
control, such as checkboxes, edit fields and so on.
 
-## 2.0-dev ##
+## 2.0 ##
 
 * Help messages for more controls added, including terminal windows.
 * Added help messages for working in some areas of applications, such as 
Microsoft Excel and Powerpoint and Windows 8 start screen.
 * Added help messages for working with forms in both browse and focus modes in 
virtual buffer documents (Internet Explorer, Adobe Reader, Mozilla Firefox, 
etc.).
+* New language: Danish.
 
 
 ## 1.0 ##

diff --git a/addon/globalPlugins/controlUsageAssistant/__init__.py 
b/addon/globalPlugins/controlUsageAssistant/__init__.py
index b3aa122..0ab2f82 100644
--- a/addon/globalPlugins/controlUsageAssistant/__init__.py
+++ b/addon/globalPlugins/controlUsageAssistant/__init__.py
@@ -17,12 +17,17 @@ import appModuleHandler # Apps.
 from appModules import powerpnt # App modules with special personalities such 
as Powerpoint where one needs to differentiate between slides and slide shows.
 import addonHandler # Addon basics.
 addonHandler.initTranslation() # Internationalization.
-# import tones # For debugging.
+import tones # For debugging.
+from baseObject import ScriptableObject # Input Gestures categories.
 
 # Init:
 class GlobalPlugin(globalPluginHandler.GlobalPlugin):
        
-               # NVDA+H: Obtain usage help on a particular control.
+       # Script category.
+       # Translators: Input gesture category for Control Usage Assistant 
add-on.
+       scrcat_conHelp = _("Help")
+       
+       # NVDA+H: Obtain usage help on a particular control.
        # Depending on the type of control and its state(s), lookup a 
dictionary of control types and help messages.
        # If the control is used differently in apps, then lookup the app entry 
and give the customized message.
        def script_obtainControlHelp(self, gesture):
@@ -31,6 +36,7 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin):
                ui.message(_(self.getHelpMessage(obj)))
        # Translators: Input help message for obtain control help command.
        script_obtainControlHelp.__doc__=_("Presents a short message on how to 
interact with the focused control.")
+       script_obtainControlHelp.category = scrcat_conHelp
                
        # GetMessageOffset: Obtain message offset based on appModule and/or 
processes list.
        # Return value: positive = appModule, negative = processes, 0 = default.
@@ -57,8 +63,10 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin):
                # Present help messages based on role constant, state(s) and 
focused app.
                msg = "" # A string (initially empty) to hold the message; 
needed to work better with braille.
                offset = self.getMessageOffset(curObj) # offset = lookup 
offset, the base for our lookup index.
-               # Assign positive or negative lookup offset depending on the 
return value from offset method above.
-               index = offset + curObj.role if offset >= 0 else offset - 
curObj.role
+               if offset >= 0: # We found an appModule. In case of 0, check 
object state(s).
+                       index = offset + curObj.role
+               else: # No appModule, so work with processes.
+                       index = offset - curObj.role
                # In case offset is zero, then test for state(s).
                curState = curObj._get_states()
                # Let the index lookup begin.
@@ -69,7 +77,7 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin):
                # General case: if we do have an entry for the 
appModule/process.
                elif (offset >= 300 or offset <= -300) and index in 
ctrltypelist.helpMessages:
                        msg= ctrltypelist.helpMessages[index]
-                       # Clean the above code later (before beta).
+                       # Clean the above code later.
                elif (offset == 200 or offset == -200):
                        # In case we're dealing with virtual buffer, call the 
below method.
                        msg = self.VBufHelp(curObj, index)
@@ -96,9 +104,9 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin):
        def VBufHelp(self, obj, i): # i = index.
                if i in self.VBufForms:
                        if not obj.treeInterceptor.passThrough:
-                               VBufmsg = _(ctrltypelist.helpMessages[i])
+                               VBufmsg = ctrltypelist.helpMessages[i]
                        else:
-                               VBufmsg = _(ctrltypelist.helpMessages[obj.role])
+                               VBufmsg = ctrltypelist.helpMessages[obj.role]
                                # Translators: Additional message when working 
with forms in focus mode.
                                VBufmsg += _(". To switch to browse mode, press 
NVDA+SPACE or escape key")
                elif i == 252:
@@ -107,11 +115,8 @@ class GlobalPlugin(globalPluginHandler.GlobalPlugin):
                        else:
                                # Translators: Help message for reading a 
webpage while in focus mode.
                                VBufmsg = _("To use browse mode and quick 
navigation keys to read the webpage, switch to browse mode by pressing 
NVDA+SPACE")
-               elif obj.role in ctrltypelist.helpMessages:
-                       # In an event that we do have something such as a link.
+               else:
                        VBufmsg = ctrltypelist.helpMessages[obj.role]
-               else: # Nothing, so present the above error message as before.
-                       VBufmsg = _("No help for this control")
                return VBufmsg
        
        

diff --git a/addon/locale/da/LC_MESSAGES/nvda.po 
b/addon/locale/da/LC_MESSAGES/nvda.po
new file mode 100755
index 0000000..bf91573
--- /dev/null
+++ b/addon/locale/da/LC_MESSAGES/nvda.po
@@ -0,0 +1,258 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: controlUsageAssistant 2.0-dev\n"
+"Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
+"POT-Creation-Date: 2013-07-07 09:00+0200\n"
+"PO-Revision-Date: 2013-07-11 19:13+0100\n"
+"Last-Translator: Bue Vester-Andersen\n"
+"Language-Team: LANGUAGE <LL@xxxxxx>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.6\n"
+
+#. Translators: Input help message for obtain control help command.
+#: addon/globalPlugins/controlUsageAssistant/__init__.py:33
+msgid "Presents a short message on how to interact with the focused control."
+msgstr "Giver en kort beskrivelse af, hvordan man bruger feltet i fokus"
+
+#. Translators: Message presented when there is no help message for the 
focused control.
+#: addon/globalPlugins/controlUsageAssistant/__init__.py:88
+msgid "No help for this control"
+msgstr "Ingen hjælp til dette felt"
+
+#. Translators: Additional message when working with forms in focus mode.
+#: addon/globalPlugins/controlUsageAssistant/__init__.py:105
+msgid ". To switch to browse mode, press NVDA+SPACE or escape key"
+msgstr ""
+"For at skifte til browse-tilstand, tryk på NVDA+Mellemrum eller Escape-tasten"
+
+#. Translators: Help message for reading a webpage while in focus mode.
+#: addon/globalPlugins/controlUsageAssistant/__init__.py:111
+msgid ""
+"To use browse mode and quick navigation keys to read the webpage, switch to "
+"browse mode by pressing NVDA+SPACE"
+msgstr ""
+"For at bruge browse-tilstand til at læse web-siden, skift til browse-"
+"tilstand ved at trykke NVDA+Mellemrum"
+
+#. Default: universal across apps and states.
+#. Translators: Help message for a checkbox.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:15
+msgid "Press space to check or uncheck the checkbox"
+msgstr "Tryk Mellemrum for at markere eller afmarkere afkrydsningsfeltet"
+
+#. Translators: Help message for working with radio buttons.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:17
+msgid "Use the arrow keys to choose a radio button"
+msgstr "Brug piletasterne for at vælge en radioknap"
+
+#. Translators: Help message for a list box.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:19
+msgid "Use the arrow keys to read this box"
+msgstr "Brug piletasterne til at navigere i denne liste"
+
+#. Translators: Help message for an edit field.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:21
+msgid "Type text here"
+msgstr "Skriv tekst her"
+
+#. Translators: Help message for a read-only control.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:23
+msgid "Use the text navigation commands to read text"
+msgstr "Brug tekstnavigeringskommandoer for at læse denne tekst"
+
+#. Translators: Help message for a button.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:25
+msgid "Press SPACE or ENTER to activate this button"
+msgstr "Tryk på Mellemrum eller Enter for at aktivere denne knap"
+
+#. Translators: Help message for menu items.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:27
+msgid "Use the arrow keys to move between the menu items"
+msgstr "Brug piletasterne for at flytte mellem menupunkterne"
+
+#. Translators: Help message for pop-up menu (so-called context menu, 
activated by presing Applications key).
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:29
+msgid "Use up and down arrow keys to move through options in the pop-up menu"
+msgstr ""
+"Brug Pil-op og Pil-ned for at flytte gennem valgmulighederne i popup-menuen"
+
+#. Translators: Help message for a combo box.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:31
+msgid ""
+"Use the arrow keys to move among choices in the combo box until the desired "
+"option is found"
+msgstr ""
+"Brug piletasterne til at flytte mellem valgene i comboboksen, indtil den "
+"ønskede mulighed er fundet"
+
+#. Translators: Help message for a list view.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:33
+msgid "Use the arrow keys to move to the next or previous item in this list"
+msgstr ""
+"Brug piletasterne til at flytte til det forrige eller næste valg i denne "
+"liste"
+
+#. Translators: Help message for activating links.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:35
+msgid "Press SPACE or ENTER to activate this link"
+msgstr "Tryk Mellemrum eller Enter for at aktivere dette link"
+
+#. Translators: Help message for working with tree view items.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:37
+msgid ""
+"Use the up and down arrow keys to select the items. Use left arrow to "
+"collapse and right arrow to expand"
+msgstr ""
+"Brug Pil-op og Pil-ned for at vælge et emne. Brug højre-pil for at folde ud "
+"og venstre-pil for at folde sammen"
+
+#. Translators: Help message for navigating tabs, such as various property 
tabs for drive properties in My Computer.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:39
+msgid ""
+"Use the left and right arrow keys to move between tabs, or press control+tab "
+"for next tab and control+shift+tab for previous tab"
+msgstr ""
+"Brug Venstre- og Højre-pil til at flytte mellem faneblade, eller tryk Kontrol"
+"+Tab for at flytte til det næste faneblad og Skift+Kontrol+Tab for at flytte "
+"til det forrige"
+
+#. Translators: Help message for working with slider controls such as volume 
mixer in Windows 7.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:41
+msgid ""
+"Use the left and down arrow keys to decrease and up and right arrow keys to "
+"increase the value in this slider. Use page up and page down to increase or "
+"decrease in larger values, and press home and end keys to select maximum and "
+"minimum value"
+msgstr ""
+"Brug Venstre-pil eller Pil-ned for at formindske og Højre-pil eller Pil-op "
+"for at forøge værdien i denne skydeknap. Brug Side-op og Side-ned til at "
+"forøge eller formindske i større spring, og tryk Hjem og Slut for at vælge "
+"maximum eller minimum"
+
+#. Translators: Help message for navigating tables.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:43
+msgid ""
+"Press control, alt and arrow keys together to move between rows and columns"
+msgstr ""
+"Tryk på Kontrol, Alt og piletaster samtidig for at flytte mellem rækker og "
+"kolonner"
+
+#. Translators: Help message for navigating table cells.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:45
+msgid "Press control, alt and arrow keys together to move between table cells"
+msgstr ""
+"Tryk på Kontrol, alt og piletaster samtidig for at flytte mellem tabelceller"
+
+#. Translators: Help message for reading documents (mostly encountered in 
Internet Explorer windows).
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:47
+msgid ""
+"Use the arrow keys or object navigation commands to move through the document"
+msgstr ""
+"Brug piletaster eller objektnavigeringskommandoer for at flytte gennem "
+"dokumentet"
+
+#. Translators: Help message for terminal windows such as command prompt.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:49
+msgid ""
+"Type commands in the terminal window and use review cursor commands to read "
+"the output"
+msgstr ""
+"Skriv kommandoer i terminalvinduet og brug kommandoer til gennemsynsmarkøren "
+"for at læse resultatet"
+
+#. 200: Virtual Buffer.
+#. Translators: Help message for radio buttons while in browse mode.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:53
+msgid ""
+"To select a radio button, switch to focus mode by pressing NVDA+SPACE or "
+"ENTER key"
+msgstr ""
+"For at vælge en radioknap, skift til fokustilstand ved at trykke på NVDA"
+"+Mellemrum eller Enter\v"
+
+#. Translators: Help message for edit fields while in browse mode.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:55
+msgid ""
+"To type text into this edit field, switch to focus mode by pressing NVDA"
+"+SPACE or ENTER key"
+msgstr ""
+"For at skrive tekst i dette redigeringsfelt, skift til fokustilstand ved at "
+"trykke NVDA+Mellemrum eller Enter\v"
+
+#. Translators: Help message for combo boxes in browse mode.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:57
+msgid ""
+"To select an item in the combo box, switch to focus mode by pressing NVDA"
+"+SPACE or ENTER key"
+msgstr ""
+"For at vælge et emne i comboboksen, skift til fokustilstand ved at trykke på "
+"NVDA+Mellemrum eller Enter\v"
+
+#. Translators: Help message for reading webpages.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:59
+msgid ""
+"Use the browse mode and quick navigation commands to read through the webpage"
+msgstr "Brug Browse-tilstand og hurtignavigationstaster til at læse web-siden"
+
+#. App-specific case 1: AppeModule for app is present.
+#. 300: Explorer (to deal with specific cases.
+#. Translators: Message for moving between Windows 8 start screen tiles 
(Windows 8 only).
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:65
+msgid "Use the arrow keys to move between start screen tiles"
+msgstr "Brug piletasterne for at flytte mellem fliser på startskærmen\v"
+
+#. 400: Microsoft powerpoint (powerpnt):
+#. Translators: Message for moving between slides in slide view (a list of 
slides for a Powerpoint presentation).
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:69
+msgid "Use up and down arrow keys to move between slides"
+msgstr "Brug Pil-op og Pil-ned for at flytte mellem dias\v"
+
+#. Translators: Help message for working with slide shows.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:71
+msgid ""
+"Press SPACE or BACKSPACE to move between slides in the slide show. To end "
+"the slide show, press escape"
+msgstr ""
+"Tryk på Mellemrum eller Backspace for at flytte mellem dias i dias-showet. "
+"for at afslutte dias-showet,tryk på Escape."
+
+#. App-specific case 2: AppeModule for app is not present (use processes).
+#. -300: Excel.
+#. Translators: Help message for moving between Excel spreadsheet cells.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:77
+msgid "Use the arrow keys to move between spreadsheet cells"
+msgstr "Brug piletasterne for at flytte mellem celler i regnearket\v"
+
+#. Add-on description
+#. TRANSLATORS: Summary for this add-on to be shown on installation and add-on 
information.
+#: buildVars.py:13
+msgid ""
+"Control Usage Assistant - get brief help on interacting with the focused "
+"control"
+msgstr ""
+"Control Usage Assistant - Få en kort hjælpemeddelelse om, hvordan du bruger "
+"det felt, der er i fokus"
+
+#. Add-on description
+#. Translators: Long description to be shown for this add-on on installation 
and add-on information
+#: buildVars.py:16
+msgid ""
+"Allows you to find out how to interact with the focused control, useful for "
+"new computer users new to Windows and to NvDA.\n"
+"\tPress NvDA+H to get a short help message on using the focused control, "
+"such as moving through tables, checkboxes and so on."
+msgstr ""
+"Giver dig mulighed for at finde ud af, hvordan du kan bruge det felt, der er "
+"i fokus. Nyttig for nye computerbrugere eller nye brugere af Windows eller "
+"NVDA\n"
+"\tTryk NVDA+h for at få en kort hjælpemeddelelse om, hvordan du bruger "
+"feltet, som er i fokus, f.eks. flytter gennem tabeller, markerer en "
+"checkboks o.s.v."

diff --git a/addon/locale/de/LC_MESSAGES/nvda.po 
b/addon/locale/de/LC_MESSAGES/nvda.po
index 77272ba..0980447 100644
--- a/addon/locale/de/LC_MESSAGES/nvda.po
+++ b/addon/locale/de/LC_MESSAGES/nvda.po
@@ -8,10 +8,9 @@ msgstr ""
 "Project-Id-Version: 'controlUsageAssistant' '1.0-devMilestone2'\n"
 "Report-Msgid-Bugs-To: 'nvda-translations@xxxxxxxxxxxxx'\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2013-06-10 12:28+0100\n"
+"PO-Revision-Date: 2013-07-10 09:26+0100\n"
 "Last-Translator: david Parduhn <xkill85@xxxxxxx>\n"
 "Language-Team: LANGUAGE <LL@xxxxxx>\n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -156,6 +155,8 @@ msgid ""
 "Type commands in the terminal window and use review cursor commands to read "
 "the output"
 msgstr ""
+"Geben sie Befehle in das Terminalfenster ein oder verwenden Sie den NVDA-"
+"Cursor, um die Ausgaben zu lesen."
 
 #. 200: Virtual Buffer.
 #. Translators: Help message for radio buttons while in browse mode.
@@ -193,18 +194,16 @@ msgstr ""
 #. App-specific case 1: AppeModule for app is present.
 #. 300: Explorer (to deal with specific cases.
 #. Translators: Message for moving between Windows 8 start screen tiles 
(Windows 8 only).
-#, fuzzy
 msgid "Use the arrow keys to move between start screen tiles"
 msgstr ""
-"Verwenden Sie die Pfeiltasten um zwischen den Einträgen des Menüs zu "
-"navigieren."
+"Verwenden Sie die Pfeiltasten um zwischen den Kacheln des Startbildschirms "
+"zu navigieren."
 
 #. 400: Microsoft powerpoint (powerpnt):
 #. Translators: Message for moving between slides in slide view (a list of 
slides for a Powerpoint presentation).
-#, fuzzy
 msgid "Use up and down arrow keys to move between slides"
 msgstr ""
-"Verwenden Sie die Pfeiltasten um zwischen den Einträgen des Menüs zu "
+"Verwenden Sie die Pfeiltasten auf und ab, um zwischen den Folien zu "
 "navigieren."
 
 #. Translators: Help message for working with slide shows.
@@ -212,6 +211,8 @@ msgid ""
 "Press SPACE or BACKSPACE to move between slides in the slide show. To end "
 "the slide show, press escape"
 msgstr ""
+"Drücken Sie die Leertaste oder die Rücktaste, um zwischen den Folien zu "
+"wechseln. Drücken Sie ESC, um die Präsentation zu beenden."
 
 #. App-specific case 2: AppeModule for app is not present (use processes).
 #. -300: Excel.

diff --git a/addon/locale/fi/LC_MESSAGES/nvda.po 
b/addon/locale/fi/LC_MESSAGES/nvda.po
index a65720f..4da215d 100644
--- a/addon/locale/fi/LC_MESSAGES/nvda.po
+++ b/addon/locale/fi/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: 'controlUsageAssistant' '1.0-devMilestone2'\n"
 "Report-Msgid-Bugs-To: 'nvda-translations@xxxxxxxxxxxxx'\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2013-06-11 10:20+0200\n"
+"PO-Revision-Date: 2013-06-18 15:07+0200\n"
 "Last-Translator: Jani Kinnunen\n"
 "Language-Team: LANGUAGE <LL@xxxxxx>\n"
 "MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
 #. Translators: Input help message for obtain control help command.
 msgid "Presents a short message on how to interact with the focused control."
 msgstr ""
-"Näyttää lyhyen ohjeviestin siitä, miten aktiivisen säätimen kanssa ollaan "
+"Lukee lyhyen ohjeen siitä, miten aktiivisen säätimen kanssa ollaan "
 "vuorovaikutuksessa."
 
 #. Translators: Message presented when there is no help message for the 
focused control.

diff --git a/addon/locale/hu/LC_MESSAGES/nvda.po 
b/addon/locale/hu/LC_MESSAGES/nvda.po
index 55024e6..f504807 100644
--- a/addon/locale/hu/LC_MESSAGES/nvda.po
+++ b/addon/locale/hu/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: 'controlUsageAssistant' '1.0-devMilestone2'\n"
 "Report-Msgid-Bugs-To: 'nvda-translations@xxxxxxxxxxxxx'\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2013-05-20 00:12+0100\n"
+"PO-Revision-Date: 2013-08-06 11:46+0100\n"
 "Last-Translator:  <oaron@xxxxxxx>\n"
 "Language-Team: LANGUAGE <LL@xxxxxx>\n"
 "MIME-Version: 1.0\n"
@@ -16,7 +16,6 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.4\n"
 
-#. The actual function is below.
 #. Translators: Input help message for obtain control help command.
 msgid "Presents a short message on how to interact with the focused control."
 msgstr ""
@@ -26,6 +25,20 @@ msgstr ""
 msgid "No help for this control"
 msgstr "Nem tartozik súgó ehhez az elemhez"
 
+#. Translators: Additional message when working with forms in focus mode.
+msgid ". To switch to browse mode, press NVDA+SPACE or escape key"
+msgstr ""
+"Böngészőmódba váltáshoz nyomja meg az NVDA+szóköz, vagy az escape billentyűt."
+
+#. Translators: Help message for reading a webpage while in focus mode.
+msgid ""
+"To use browse mode and quick navigation keys to read the webpage, switch to "
+"browse mode by pressing NVDA+SPACE"
+msgstr ""
+"A böngészőmód és a gyors navigációs gombok használatához nyomja meg az NVDA"
+"+szóköz billentyűparancsot"
+
+#. Default: universal across apps and states.
 #. Translators: Help message for a checkbox.
 msgid "Press space to check or uncheck the checkbox"
 msgstr "Nyomja meg a szóközt a jelölőnégyzet be/kikapcsolásához"
@@ -123,6 +136,71 @@ msgid ""
 msgstr ""
 "A nyilak vagy az áttekintő parancsok segítségével mozoghat a dokumentumban"
 
+#. Translators: Help message for terminal windows such as command prompt.
+msgid ""
+"Type commands in the terminal window and use review cursor commands to read "
+"the output"
+msgstr ""
+"Gépelje be a parancsokat a terminál ablakba, majd használja az áttekintő "
+"kurzort a visszaolvasáshoz."
+
+#. 200: Virtual Buffer.
+#. Translators: Help message for radio buttons while in browse mode.
+msgid ""
+"To select a radio button, switch to focus mode by pressing NVDA+SPACE or "
+"ENTER key"
+msgstr ""
+"Egy választógomb kiválasztásához váltson interaktív módba, vagy nyomja le az "
+"enter billentyűt"
+
+#. Translators: Help message for edit fields while in browse mode.
+msgid ""
+"To type text into this edit field, switch to focus mode by pressing NVDA"
+"+SPACE or ENTER key"
+msgstr ""
+"A szöveg begépeléséhez váltson át interaktív módra az NVDA+szóköz, vagy az "
+"enter billentyű lenyomásával."
+
+#. Translators: Help message for combo boxes in browse mode.
+msgid ""
+"To select an item in the combo box, switch to focus mode by pressing NVDA"
+"+SPACE or ENTER key"
+msgstr ""
+"Egy elem kiválasztásához a kombinált listában váltson át interaktív módra az "
+"NVDA+szóköz, vagy az enter billentyű lenyomásával."
+
+#. Translators: Help message for reading webpages.
+msgid ""
+"Use the browse mode and quick navigation commands to read through the webpage"
+msgstr ""
+"Használja böngészőmódban a gyors navigációs parancsokkat a weboldal "
+"áttekintéséhez."
+
+#. App-specific case 1: AppeModule for app is present.
+#. 300: Explorer (to deal with specific cases.
+#. Translators: Message for moving between Windows 8 start screen tiles 
(Windows 8 only).
+msgid "Use the arrow keys to move between start screen tiles"
+msgstr "Használja a nyíl billentyűket a képernyő csempéken való mozgáshoz."
+
+#. 400: Microsoft powerpoint (powerpnt):
+#. Translators: Message for moving between slides in slide view (a list of 
slides for a Powerpoint presentation).
+msgid "Use up and down arrow keys to move between slides"
+msgstr "Használja a nyíl billentyűket a diák között való mozgáshoz"
+
+#. Translators: Help message for working with slide shows.
+msgid ""
+"Press SPACE or BACKSPACE to move between slides in the slide show. To end "
+"the slide show, press escape"
+msgstr ""
+"Nyomja meg a szóközt vagy a backspace-t a diák közötti mozgáshoz, a "
+"diavetítés bezárását az escape billentyűvel teheti meg."
+
+#. App-specific case 2: AppeModule for app is not present (use processes).
+#. -300: Excel.
+#. Translators: Help message for moving between Excel spreadsheet cells.
+msgid "Use the arrow keys to move between spreadsheet cells"
+msgstr "Használja a nyíl billentyűket a táblázat cellák közötti mozgáshoz"
+
 #. Add-on description
 #. TRANSLATORS: Summary for this add-on to be shown on installation and add-on 
information.
 msgid ""

diff --git a/addon/locale/ja/LC_MESSAGES/nvda.po 
b/addon/locale/ja/LC_MESSAGES/nvda.po
index e868194..53dda9b 100644
--- a/addon/locale/ja/LC_MESSAGES/nvda.po
+++ b/addon/locale/ja/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: 'controlUsageAssistant' '1.0-devMilestone2'\n"
 "Report-Msgid-Bugs-To: 'nvda-translations@xxxxxxxxxxxxx'\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2013-06-03 15:47+0900\n"
+"PO-Revision-Date: 2013-06-17 15:45+0900\n"
 "Last-Translator: Takuya Nishimoto\n"
 "Language-Team: ja\n"
 "Language: \n"
@@ -128,7 +128,7 @@ msgstr ""
 msgid ""
 "Type commands in the terminal window and use review cursor commands to read "
 "the output"
-msgstr ""
+msgstr "ウィンドウにコマンドを入力してください。レビューカーソルで出力を読み上げます"
 
 #. 200: Virtual Buffer.
 #. Translators: Help message for radio buttons while in browse mode.
@@ -165,21 +165,19 @@ msgstr ""
 #. App-specific case 1: AppeModule for app is present.
 #. 300: Explorer (to deal with specific cases.
 #. Translators: Message for moving between Windows 8 start screen tiles 
(Windows 8 only).
-#, fuzzy
 msgid "Use the arrow keys to move between start screen tiles"
-msgstr "矢印キーでメニュー項目を移動します"
+msgstr "矢印キーでタイルを移動します"
 
 #. 400: Microsoft powerpoint (powerpnt):
 #. Translators: Message for moving between slides in slide view (a list of 
slides for a Powerpoint presentation).
-#, fuzzy
 msgid "Use up and down arrow keys to move between slides"
-msgstr "矢印キーでメニュー項目を移動します"
+msgstr "矢印キーでスライドを移動します"
 
 #. Translators: Help message for working with slide shows.
 msgid ""
 "Press SPACE or BACKSPACE to move between slides in the slide show. To end "
 "the slide show, press escape"
-msgstr ""
+msgstr "スライドショーのスライドをスペースまたはバックペースで移動します。スライドショーを終了するにはエスケープを押します"
 
 #. App-specific case 2: AppeModule for app is not present (use processes).
 #. -300: Excel.

diff --git a/addon/locale/ko/LC_MESSAGES/nvda.po 
b/addon/locale/ko/LC_MESSAGES/nvda.po
index b23de44..2951240 100644
--- a/addon/locale/ko/LC_MESSAGES/nvda.po
+++ b/addon/locale/ko/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: 'controlUsageAssistant' '0.2codeReview'\n"
 "Report-Msgid-Bugs-To: 'nvda-translations@xxxxxxxxxxxxx'\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2013-06-15 12:45-0800\n"
+"PO-Revision-Date: 2013-07-25 14:02-0800\n"
 "Last-Translator: Joseph Lee <joseph.lee22590@xxxxxxxxx>\n"
 "Language-Team: LANGUAGE <LL@xxxxxx>\n"
 "MIME-Version: 1.0\n"
@@ -128,7 +128,7 @@ msgstr "방향키나 객체 탐색 명령을 사용하여 문서를 읽으십시
 msgid ""
 "Type commands in the terminal window and use review cursor commands to read "
 "the output"
-msgstr ""
+msgstr "터미널 창에 명령을 입력한 후 리뷰 명령으로 텍스트를 읽으십시오"
 
 #. 200: Virtual Buffer.
 #. Translators: Help message for radio buttons while in browse mode.
@@ -176,6 +176,8 @@ msgid ""
 "Press SPACE or BACKSPACE to move between slides in the slide show. To end "
 "the slide show, press escape"
 msgstr ""
+"SPACE나 BACKSPACE를 눌러 슬라이드쇼 슬라이드를 이동하십시오. 슬라이드쇼를 종"
+"료하려면 escape 키를 누르십시오"
 
 #. App-specific case 2: AppeModule for app is not present (use processes).
 #. -300: Excel.

diff --git a/addon/locale/ne/LC_MESSAGES/nvda.po 
b/addon/locale/ne/LC_MESSAGES/nvda.po
index a5de127..07f15cd 100644
--- a/addon/locale/ne/LC_MESSAGES/nvda.po
+++ b/addon/locale/ne/LC_MESSAGES/nvda.po
@@ -8,10 +8,9 @@ msgstr ""
 "Project-Id-Version: 'controlUsageAssistant' '0.2codeReview'\n"
 "Report-Msgid-Bugs-To: 'nvda-translations@xxxxxxxxxxxxx'\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2013-05-13 16:59+0545\n"
+"PO-Revision-Date: 2013-06-27 12:13+0545\n"
 "Last-Translator: \n"
-"Language-Team: LANGUAGE <LL@xxxxxx>\n"
-"Language: \n"
+"Language-Team: Nepali <drishtibachak@xxxxxxxxx>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -27,13 +26,15 @@ msgstr "यो नियन्त्रक सम्बन्धि कुनै
 
 #. Translators: Additional message when working with forms in focus mode.
 msgid ". To switch to browse mode, press NVDA+SPACE or escape key"
-msgstr ""
+msgstr ". To switch to browse mode, press NVDA+SPACE or escape key"
 
 #. Translators: Help message for reading a webpage while in focus mode.
 msgid ""
 "To use browse mode and quick navigation keys to read the webpage, switch to "
 "browse mode by pressing NVDA+SPACE"
 msgstr ""
+"ऊघार्ने मुद्राको प्रयोग र  वेभ पृष्ठमा विचरण गर्न, नेत्रवाणी +SPACE लाई दबाएर 
उघार्ने "
+"मुद्रामा जानु होस् ।"
 
 #. Default: universal across apps and states.
 #. Translators: Help message for a checkbox.
@@ -131,6 +132,8 @@ msgid ""
 "Type commands in the terminal window and use review cursor commands to read "
 "the output"
 msgstr ""
+"प्रतिफल पड्नका लागि विश्राम सञ्झ्यालमा आदेसलाई टङ्कण गरी समीक्षा कर्सर आदेसको 
प्रयोग "
+"गर्नु होस् ।"
 
 #. 200: Virtual Buffer.
 #. Translators: Help message for radio buttons while in browse mode.
@@ -138,51 +141,54 @@ msgid ""
 "To select a radio button, switch to focus mode by pressing NVDA+SPACE or "
 "ENTER key"
 msgstr ""
+"रेडियो टाँकलाई चयन गर्न, नेत्रवाणी +SPACE अथवा इन्टर कुञ्जीलाई दबाएर  
केन्द्रीत् मुद्रामा "
+"जानु होस् ।"
 
 #. Translators: Help message for edit fields while in browse mode.
 msgid ""
 "To type text into this edit field, switch to focus mode by pressing NVDA"
 "+SPACE or ENTER key"
 msgstr ""
+"यो सम्पादन कोठामा टङ्कण गर्न, नेत्रवाणी +SPACE अथवा इन्टर कुञ्जीलाई दबाएर  
केन्द्रीत् "
+"मुद्रामा जानु होस् ।"
 
 #. Translators: Help message for combo boxes in browse mode.
 msgid ""
 "To select an item in the combo box, switch to focus mode by pressing NVDA"
 "+SPACE or ENTER key"
 msgstr ""
+"कम्बोबाकसबाट सामाग्रीको चयन गर्न, नेत्रवाणी +SPACE अथवा इन्टर कुञ्जीलाई दबाएर 
 "
+"केन्द्रीत् मुद्रामा जानु होस् ।"
 
 #. Translators: Help message for reading webpages.
-#, fuzzy
 msgid ""
 "Use the browse mode and quick navigation commands to read through the webpage"
-msgstr ""
-"पाठ भुमी, कागजात विचरण गर्न  वाण कुञ्जीहरूको अथवा वस्तु विचरण आदेशको प्रयोग 
गरिन्छ ।"
+msgstr "वेभ पृष्ठमा पड्न,  उघार्ने मुद्राको र छरितो विचरण आदेसको प्रयोग गर्नु 
होस् । "
 
 #. App-specific case 1: AppeModule for app is present.
 #. 300: Explorer (to deal with specific cases.
 #. Translators: Message for moving between Windows 8 start screen tiles 
(Windows 8 only).
-#, fuzzy
 msgid "Use the arrow keys to move between start screen tiles"
-msgstr "मेनु सामाग्री, विचरण गर्न वाण कुञ्जीको प्रयोग गरिन्छ।"
+msgstr "सुरुवात पर्दामा विचरण गर्न वाण कुञ्जीको प्रयोग गर्नु होस् ।"
 
 #. 400: Microsoft powerpoint (powerpnt):
 #. Translators: Message for moving between slides in slide view (a list of 
slides for a Powerpoint presentation).
-#, fuzzy
 msgid "Use up and down arrow keys to move between slides"
-msgstr "मेनु सामाग्री, विचरण गर्न वाण कुञ्जीको प्रयोग गरिन्छ।"
+msgstr "प्रस्तुती-पत्रहरू बीच विचरण गर्न तल-माथि वाणको प्रयोग गर्नु होस् ।"
 
 #. Translators: Help message for working with slide shows.
 msgid ""
 "Press SPACE or BACKSPACE to move between slides in the slide show. To end "
 "the slide show, press escape"
 msgstr ""
+"प्रस्तुती-पत्र दृश्य मुद्रामा हुँदा SPACE अथवा BACKSPACE लाइ दबाएर 
प्रस्तुति-पत्रमा विचरण "
+"गर्नु होस् ।प्रस्तुती-पत्र दृश्यलाई हटाउन, escape दबाउनु होस् ।"
 
 #. App-specific case 2: AppeModule for app is not present (use processes).
 #. -300: Excel.
 #. Translators: Help message for moving between Excel spreadsheet cells.
-#, fuzzy
 msgid "Use the arrow keys to move between spreadsheet cells"
-msgstr "मेनु सामाग्री, विचरण गर्न वाण कुञ्जीको प्रयोग गरिन्छ।"
+msgstr "शिटका कोशिकाहरूमा विचरण गर्न वाण कुञ्जीहरूको प्रयोग गर्नु होस् ।"
 
 #. Add-on description
 #. TRANSLATORS: Summary for this add-on to be shown on installation and add-on 
information.

diff --git a/addon/locale/ru/LC_MESSAGES/nvda.po 
b/addon/locale/ru/LC_MESSAGES/nvda.po
index f9df440..e3ae3d3 100644
--- a/addon/locale/ru/LC_MESSAGES/nvda.po
+++ b/addon/locale/ru/LC_MESSAGES/nvda.po
@@ -17,7 +17,6 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.5\n"
 
-#. The actual function is below.
 #. Translators: Input help message for obtain control help command.
 msgid "Presents a short message on how to interact with the focused control."
 msgstr ""
@@ -26,6 +25,17 @@ msgstr ""
 msgid "No help for this control"
 msgstr ""
 
+#. Translators: Additional message when working with forms in focus mode.
+msgid ". To switch to browse mode, press NVDA+SPACE or escape key"
+msgstr ""
+
+#. Translators: Help message for reading a webpage while in focus mode.
+msgid ""
+"To use browse mode and quick navigation keys to read the webpage, switch to "
+"browse mode by pressing NVDA+SPACE"
+msgstr ""
+
+#. Default: universal across apps and states.
 #. Translators: Help message for a checkbox.
 msgid "Press space to check or uncheck the checkbox"
 msgstr ""
@@ -106,6 +116,59 @@ msgid ""
 "Use the arrow keys or object navigation commands to move through the document"
 msgstr ""
 
+#. Translators: Help message for terminal windows such as command prompt.
+msgid ""
+"Type commands in the terminal window and use review cursor commands to read "
+"the output"
+msgstr ""
+
+#. 200: Virtual Buffer.
+#. Translators: Help message for radio buttons while in browse mode.
+msgid ""
+"To select a radio button, switch to focus mode by pressing NVDA+SPACE or "
+"ENTER key"
+msgstr ""
+
+#. Translators: Help message for edit fields while in browse mode.
+msgid ""
+"To type text into this edit field, switch to focus mode by pressing NVDA"
+"+SPACE or ENTER key"
+msgstr ""
+
+#. Translators: Help message for combo boxes in browse mode.
+msgid ""
+"To select an item in the combo box, switch to focus mode by pressing NVDA"
+"+SPACE or ENTER key"
+msgstr ""
+
+#. Translators: Help message for reading webpages.
+msgid ""
+"Use the browse mode and quick navigation commands to read through the webpage"
+msgstr ""
+
+#. App-specific case 1: AppeModule for app is present.
+#. 300: Explorer (to deal with specific cases.
+#. Translators: Message for moving between Windows 8 start screen tiles 
(Windows 8 only).
+msgid "Use the arrow keys to move between start screen tiles"
+msgstr ""
+
+#. 400: Microsoft powerpoint (powerpnt):
+#. Translators: Message for moving between slides in slide view (a list of 
slides for a Powerpoint presentation).
+msgid "Use up and down arrow keys to move between slides"
+msgstr ""
+
+#. Translators: Help message for working with slide shows.
+msgid ""
+"Press SPACE or BACKSPACE to move between slides in the slide show. To end "
+"the slide show, press escape"
+msgstr ""
+
+#. App-specific case 2: AppeModule for app is not present (use processes).
+#. -300: Excel.
+#. Translators: Help message for moving between Excel spreadsheet cells.
+msgid "Use the arrow keys to move between spreadsheet cells"
+msgstr ""
+
 #. Add-on description
 #. TRANSLATORS: Summary for this add-on to be shown on installation and add-on 
information.
 msgid ""

diff --git a/addon/locale/ta/LC_MESSAGES/nvda.po 
b/addon/locale/ta/LC_MESSAGES/nvda.po
index 3e973d3..c5e0743 100644
--- a/addon/locale/ta/LC_MESSAGES/nvda.po
+++ b/addon/locale/ta/LC_MESSAGES/nvda.po
@@ -6,9 +6,9 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: 'controlUsageAssistant' '1.0-devMilestone2'\n"
-"Report-Msgid-Bugs-To: 'nvda-translations@xxxxxxxxxxxxx'\n"
-"POT-Creation-Date: 2013-05-08 22:27-0700\n"
-"PO-Revision-Date: 2013-05-11 17:11+0530\n"
+"Report-Msgid-Bugs-To: nvda-translations@xxxxxxxxxxxxx\n"
+"POT-Creation-Date: 2013-07-23 10:25+0200\n"
+"PO-Revision-Date: 2013-07-24 20:31+0530\n"
 "Last-Translator: DINAKAR T.D. <td.dinkar@xxxxxxxxx>\n"
 "Language-Team: DINAKAR T.D. <td.dinkar@xxxxxxxxx>\n"
 "Language: \n"
@@ -18,102 +18,165 @@ msgstr ""
 "X-Poedit-Language: Tamil\n"
 "X-Poedit-Country: India\n"
 
-#. The actual function is below.
 #. Translators: Input help message for obtain control help command.
-#: addon\globalPlugins\controlUsageAssistant\__init__.py:28
+#: addon/globalPlugins/controlUsageAssistant/__init__.py:33
 msgid "Presents a short message on how to interact with the focused control."
 msgstr "குவிமையத்தில் இருக்கும் கட்டுப்பாடுடன் எவ்வாறு அளவளாவ வேண்டும் என்று 
ஒரு குறுஞ்செய்தி அறிவிக்கும்."
 
 #. Translators: Message presented when there is no help message for the 
focused control.
-#: addon\globalPlugins\controlUsageAssistant\__init__.py:35
+#. Nothing, so present the above error message as before.
+#: addon/globalPlugins/controlUsageAssistant/__init__.py:86
+#: addon/globalPlugins/controlUsageAssistant/__init__.py:114
 msgid "No help for this control"
 msgstr "இக்கட்டுப்பாட்டிற்கு உதவி இல்லை"
 
+#. Translators: Additional message when working with forms in focus mode.
+#: addon/globalPlugins/controlUsageAssistant/__init__.py:103
+msgid ". To switch to browse mode, press NVDA+SPACE or escape key"
+msgstr "உலாவும் நிலைக்கு மாற, என்விடிஏ+இடைவெளிப்பட்டை, அல்லது விடுபடு விசையை 
அழுத்தவும்"
+
+#. Translators: Help message for reading a webpage while in focus mode.
+#: addon/globalPlugins/controlUsageAssistant/__init__.py:109
+msgid "To use browse mode and quick navigation keys to read the webpage, 
switch to browse mode by pressing NVDA+SPACE"
+msgstr "உலாவும் நிலைக்கு மாறவும், விரைவு வழிநடத்தல் கட்டளைகளைப் 
பயன்படுத்தவும், என்விடிஏ+இடைவெளிப்பட்டை, அல்லது விடுபடு விசையை அழுத்தவும்"
+
+#. Default: universal across apps and states.
 #. Translators: Help message for a checkbox.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:12
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:15
 msgid "Press space to check or uncheck the checkbox"
 msgstr "இத்தேர்வுப் பெட்டியை தேர்வு செய்ய, அல்லது தேர்வினை நீக்க, இடைவெளிப் 
பட்டையை அழுத்தவும்"
 
 #. Translators: Help message for working with radio buttons.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:14
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:17
 msgid "Use the arrow keys to choose a radio button"
 msgstr "ஒரு வானொலிப் பொத்தானை தேர்வு செய்ய, அம்பு விசைகளைப் பயன்படுத்தவும் "
 
 #. Translators: Help message for a list box.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:16
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:19
 msgid "Use the arrow keys to read this box"
 msgstr "இப்பெட்டியை படிக்க, அம்பு விசைகளை பயன்படுத்தவும்"
 
 #. Translators: Help message for an edit field.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:18
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:21
 msgid "Type text here"
 msgstr "இங்கு உரையை தட்டச்சிடலாம்"
 
 #. Translators: Help message for a read-only control.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:20
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:23
 msgid "Use the text navigation commands to read text"
 msgstr "உரையை படிக்க, உரை வழிகாட்டிக் கட்டளைகளை பயன்படுத்தவும்"
 
 #. Translators: Help message for a button.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:22
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:25
 msgid "Press SPACE or ENTER to activate this button"
 msgstr "இப்பொத்தானை அழுத்த, இடைவெளிப் பட்டை, அல்லது உள்ளிடு விசையை அழுத்தவும்"
 
 #. Translators: Help message for menu items.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:24
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:27
 msgid "Use the arrow keys to move between the menu items"
 msgstr "இப்பட்டியலின் உருப்படிகளுக்கிடையே நகர, அம்பு விசைகளைப் பயன்படுத்தவும்; 
தெரிவாகியிருக்கும் உருப்படியை இயக்க, உள்ளிடு விசையை அழுத்தவும்"
 
 #. Translators: Help message for pop-up menu (so-called context menu, 
activated by presing Applications key).
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:26
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:29
 msgid "Use up and down arrow keys to move through options in the pop-up menu"
 msgstr "இப்பட்டியலில் இருக்கும் விருப்பத் தேர்வுகளுக்கிடையே நகர, மேலம்பு, 
அல்லது கீழம்பு விசைகளைப் பயன்படுத்தவும்; தெரிவாகியிருக்கும் உருப்படியை இயக்க, 
உள்ளிடு விசையை அழுத்தவும்"
 
 #. Translators: Help message for a combo box.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:28
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:31
 msgid "Use the arrow keys to move among choices in the combo box until the 
desired option is found"
 msgstr "இந்த சேர்க்கை பெட்டியில், தேவைப்படும் விருப்பத் தேர்வினை அடையும் வரை, 
அம்பு விசைகளைக் கொண்டு உருப்படிகளுக்கிடையே நகரவும்"
 
 #. Translators: Help message for a list view.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:30
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:33
 msgid "Use the arrow keys to move to the next or previous item in this list"
 msgstr "இப்பட்டியலில் இருக்கும் உருப்படிகளுக்கிடையே நகர, அம்பு விசைகளை 
பயன்படுத்தவும்; தெரிவாகியிருக்கும் உருப்படியை இயக்க, உள்ளிடு விசையை அழுத்தவும்"
 
 #. Translators: Help message for activating links.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:32
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:35
 msgid "Press SPACE or ENTER to activate this link"
 msgstr "இத்தொடுப்பினை இயக்க, இடைவெளிப் பட்டை, அல்லது உள்ளிடு விசையை அழுத்தவும்"
 
 #. Translators: Help message for working with tree view items.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:34
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:37
 msgid "Use the up and down arrow keys to select the items. Use left arrow to 
collapse and right arrow to expand"
 msgstr "இக்கிளைத் தோற்ற உருப்படிகளுக்கிடையே நகர, மேலம்பு, அல்லது கீழம்பு 
விசைகளை பயன்படுத்தவும். கிளைத் தோற்றத்தை விரிவாக்க, அல்லது குறுக்க, வலதம்பு, 
அல்லதுஇடதம்பு விசைகளை பயன்படுத்தவும்"
 
 #. Translators: Help message for navigating tabs, such as various property 
tabs for drive properties in My Computer.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:36
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:39
 msgid "Use the left and right arrow keys to move between tabs, or press 
control+tab for next tab and control+shift+tab for previous tab"
 msgstr "கீற்றுகளுக்கிடையே நகர, இடதம்பு, அல்லது வலதம்பு விசைகளை பயன்படுத்தவும். 
அடுத்த கீற்றுக்கு நகர, கட்டுப்பாடு+தத்தல் விசையை அழுத்தவும். முந்தைய கீற்றுக்கு 
நகர, கட்டுப்பாடு+மாற்றழுத்தி+தத்தல் விசையை அழுத்தவும்"
 
 #. Translators: Help message for working with slider controls such as volume 
mixer in Windows 7.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:38
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:41
 msgid "Use the left and down arrow keys to decrease and up and right arrow 
keys to increase the value in this slider. Use page up and page down to 
increase or decrease in larger values, and press home and end keys to select 
maximum and minimum value"
 msgstr "இவ்வழுக்கியில் மதிப்பைக் கூட்ட, மேலம்பு, அல்லது வலதம்பு விசைகளை 
அழுத்தவும்; மதிப்பைக் குறைக்க, கீழம்பு, அல்லது இடதம்பு விசைகளை அழுத்தவும். 
மதிப்பை பெருமளவுகளில் கூட்ட, அல்லது குறைக்க, பக்கம் மேல், அல்லது பக்கம் கீழ் 
விசைகளை அழுத்தவும். உட்சபட்ச, அல்லது குறைந்தபட்ச அளவிற்கு நகர, தொடக்கம், அல்லது 
முடிவு விசைகளை அழுத்தவும். "
 
 #. Translators: Help message for navigating tables.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:40
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:43
 msgid "Press control, alt and arrow keys together to move between rows and 
columns"
 msgstr "கிடைவரிசை, செங்குத்து வரிசைகளுக்கிடையே நகர, கட்டுப்பாடு, நிலைமாற்றி, 
அம்பு விசைகளை ஒருசேர அழுத்தவும்"
 
 #. Translators: Help message for navigating table cells.
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:42
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:45
 msgid "Press control, alt and arrow keys together to move between table cells"
 msgstr "அட்டவணையின் சிறுகட்டங்களுக்கிடையே நகர, கட்டுப்பாடு, நிலைமாற்றி, அம்பு 
விசைகளை ஒருசேர அழுத்தவும்"
 
 #. Translators: Help message for reading documents (mostly encountered in 
Internet Explorer windows).
-#: addon\globalPlugins\controlUsageAssistant\ctrltypelist.py:44
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:47
 msgid "Use the arrow keys or object navigation commands to move through the 
document"
 msgstr "ஆவணத்தினூடே நகர, அம்பு விசைகள், அல்லது பொருள் வழிகாட்டி கட்டளைகளைப் 
பயன்படுத்தவும்"
 
+#. Translators: Help message for terminal windows such as command prompt.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:49
+msgid "Type commands in the terminal window and use review cursor commands to 
read the output"
+msgstr "இந்த முனைய சாளரத்தில் தட்டச்சிடவும்; வெளியீட்டைப் படிக்க, 
மறுபரிசீலனைச் சுட்டியைப் பயன்படுத்தவும்"
+
+#. 200: Virtual Buffer.
+#. Translators: Help message for radio buttons while in browse mode.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:53
+msgid "To select a radio button, switch to focus mode by pressing NVDA+SPACE 
or ENTER key"
+msgstr "ஒரு வானொலிப் பொத்தானை தெரிவு செய்ய, என்விடிஏ+இடைவெளிப்பட்டை, அல்லது 
இடைவெளிப்பட்டை, அல்லது உள்ளிடு விசையை அழுத்தவும்"
+
+#. Translators: Help message for edit fields while in browse mode.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:55
+msgid "To type text into this edit field, switch to focus mode by pressing 
NVDA+SPACE or ENTER key"
+msgstr "இத்தொகு களத்தில் உரையைத் தட்டச்சிட, என்விடிஏ+இடைவெளிப்பட்டை, அல்லது 
உள்ளிடு விசையை அழுத்தி குவிமைய நிலைக்கு மாறவும்"
+
+#. Translators: Help message for combo boxes in browse mode.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:57
+msgid "To select an item in the combo box, switch to focus mode by pressing 
NVDA+SPACE or ENTER key"
+msgstr "சேர்க்கைப் பெட்டியில் ஒரு உருப்படியைத் தெரிவு செய்ய, 
என்விடிஏ+இடைவெளிப்பட்டை, அல்லது உள்ளிடு விசையை அழுத்தி குவிமைய நிலைக்கு மாறவும்"
+
+#. Translators: Help message for reading webpages.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:59
+msgid "Use the browse mode and quick navigation commands to read through the 
webpage"
+msgstr "இணையப் பக்கத்தைப் படிக்க, உலாவும் நிலை, விரைவு வழிநடத்தல் கட்டளைகள் 
ஆகியவைகளைப் பயன்படுத்தவும்"
+
+#. App-specific case 1: AppeModule for app is present.
+#. 300: Explorer (to deal with specific cases.
+#. Translators: Message for moving between Windows 8 start screen tiles 
(Windows 8 only).
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:65
+msgid "Use the arrow keys to move between start screen tiles"
+msgstr "துவக்கத் திரை வில்லைகளுக்கிடையே நகர, அம்பு விசைகளைப் பயன்படுத்தவும்"
+
+#. 400: Microsoft powerpoint (powerpnt):
+#. Translators: Message for moving between slides in slide view (a list of 
slides for a Powerpoint presentation).
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:69
+msgid "Use up and down arrow keys to move between slides"
+msgstr "படவில்லைகளுக்கிடையே நகர, மேலம்பு மற்றும் கீழம்பு விசைகளைப் 
பயன்படுத்தவும்"
+
+#. Translators: Help message for working with slide shows.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:71
+msgid "Press SPACE or BACKSPACE to move between slides in the slide show. To 
end the slide show, press escape"
+msgstr "படவில்லைக் காட்சியில், படவில்லைகளுக்கிடையே நகர, இடைவெளிப்பட்டை, அல்லது 
பின்நகர் விசையை அழுத்தவும்; படவில்லைக் காட்சியை நிறைவு செய்ய, விடுபடு விசையை 
அழுத்தவும்"
+
+#. App-specific case 2: AppeModule for app is not present (use processes).
+#. -300: Excel.
+#. Translators: Help message for moving between Excel spreadsheet cells.
+#: addon/globalPlugins/controlUsageAssistant/ctrltypelist.py:77
+msgid "Use the arrow keys to move between spreadsheet cells"
+msgstr "விரிதாளின் சிறுகட்டங்களுக்கிடையே நகர, அம்பு விசைகளைப் பயன்படுத்தவும்"
+
 #. Add-on description
 #. TRANSLATORS: Summary for this add-on to be shown on installation and add-on 
information.
 #: buildVars.py:13
@@ -125,6 +188,6 @@ msgstr "கட்டுப்பாடு பயன்படுத்து உ
 #: buildVars.py:16
 msgid ""
 "Allows you to find out how to interact with the focused control, useful for 
new computer users new to Windows and to NvDA.\n"
-"Press NvDA+H to get a short help message on using the focused control, such 
as moving through tables, checkboxes and so on."
+"\tPress NvDA+H to get a short help message on using the focused control, such 
as moving through tables, checkboxes and so on."
 msgstr "சேர்க்கைப் பெட்டி, கிளைத் தோற்றம் போன்ற குவிமையத்தில் இருக்கும் 
கட்டுப்பாடுகளுடன் எவ்வாறு அளவளாவுவது என்றறிய இது உதவுகிறது. கணினி, அல்லது 
விண்டோஸ்/என்விடிஏவின் துவக்க நிலை பயனர்களுக்கு இது பயன்படும். கட்டுப்பாடு 
குறித்த சிற்றுதவிக் குறிப்பைப் பெற, என்விடிஏ+h விசையை அழுத்தவும் "
 

diff --git a/addon/locale/tr/LC_MESSAGES/nvda.po 
b/addon/locale/tr/LC_MESSAGES/nvda.po
index 332951b..8719f9b 100644
--- a/addon/locale/tr/LC_MESSAGES/nvda.po
+++ b/addon/locale/tr/LC_MESSAGES/nvda.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: 'controlUsageAssistant' '1.0-devMilestone2'\n"
 "Report-Msgid-Bugs-To: 'nvda-translations@xxxxxxxxxxxxx'\n"
 "POT-Creation-Date: \n"
-"PO-Revision-Date: 2013-06-04 23:25+0200\n"
+"PO-Revision-Date: 2013-06-18 21:25+0200\n"
 "Last-Translator: Çağrı Doğan <cagrid@xxxxxxxxxxx>\n"
 "Language-Team: tr <cagrid@xxxxxxxxxxx>\n"
 "Language: tr\n"
@@ -150,6 +150,8 @@ msgid ""
 "Type commands in the terminal window and use review cursor commands to read "
 "the output"
 msgstr ""
+"Komutları terminal penceresinde yazın ve sonucu incelemek için metin "
+"inceleme komutlarını kullanın"
 
 #. 200: Virtual Buffer.
 #. Translators: Help message for radio buttons while in browse mode.
@@ -186,21 +188,22 @@ msgstr ""
 #. App-specific case 1: AppeModule for app is present.
 #. 300: Explorer (to deal with specific cases.
 #. Translators: Message for moving between Windows 8 start screen tiles 
(Windows 8 only).
-#, fuzzy
 msgid "Use the arrow keys to move between start screen tiles"
-msgstr "Menü ögeleri arasında dolaşmak için yön tuşlarını kullanın"
+msgstr ""
+"Başlat ekranındaki bölümler arasında dolaşmak için yön tuşlarını kullanın"
 
 #. 400: Microsoft powerpoint (powerpnt):
 #. Translators: Message for moving between slides in slide view (a list of 
slides for a Powerpoint presentation).
-#, fuzzy
 msgid "Use up and down arrow keys to move between slides"
-msgstr "Menü ögeleri arasında dolaşmak için yön tuşlarını kullanın"
+msgstr "Slaytlar arasında dolaşmak için yön tuşlarını kullanın"
 
 #. Translators: Help message for working with slide shows.
 msgid ""
 "Press SPACE or BACKSPACE to move between slides in the slide show. To end "
 "the slide show, press escape"
 msgstr ""
+"Slayt gösterisindeki slaytlar arasında dolaşmak için aralık ve geri sil "
+"tuşlarını kullanın. Slayt gösterisini sonlandırmak için escape tuşuna basın"
 
 #. App-specific case 2: AppeModule for app is not present (use processes).
 #. -300: Excel.

diff --git a/buildVars.py b/buildVars.py
index c5a483d..cdecd81 100644
--- a/buildVars.py
+++ b/buildVars.py
@@ -16,7 +16,7 @@ addon_info = {
        "addon-description" : _("""Allows you to find out how to interact with 
the focused control, useful for new computer users new to Windows and to NvDA.
        Press NvDA+H to get a short help message on using the focused control, 
such as moving through tables, checkboxes and so on."""),
        # version
-       "addon-version" : "2.0-dev",
+       "addon-version" : "2.0",
        # Author(s)
        "addon-author" : "Joseph Lee <joseph.lee22590@xxxxxxxxx>",
        # URL for the add-on documentation support
@@ -31,7 +31,7 @@ import os.path
 pythonSources = [os.path.join("addon", "globalPlugins", 
"controlUsageAssistant", "*.py")]
 
 # Files that contain strings for translation. Usually your python sources
-i18nSources = pythonSources + ["buildVars.py"]
+i18nSources = pythonSources + ["buildVars.py"]#, "docHandler.py"]
 
 # Files that will be ignored when building the nvda-addon file
 # Paths are relative to the addon directory, not to the root directory of your 
addon sources.

diff --git a/docHandler.py b/docHandler.py
new file mode 100644
index 0000000..c142e42
--- /dev/null
+++ b/docHandler.py
@@ -0,0 +1,68 @@
+# -*- coding: UTF-8 -*-
+
+# docHandler: module for managing addons documentation
+# See: http://community.nvda-project.org/ticket/2694
+
+import os
+import languageHandler
+import addonHandler
+import globalPluginHandler
+import gui
+import wx
+
+addonHandler.initTranslation()
+
+_addonDir = os.path.join(os.path.dirname(__file__), "..") # The root of an 
addon folder
+_docFileName = "readme.html" # The name of an addon documentation file
+_curAddon = addonHandler.Addon(_addonDir) # Addon instance
+_addonSummary = _curAddon.manifest['summary']
+_addonVersion = _curAddon.manifest['version']
+_addonName = _curAddon.manifest['name']
+
+def getDocFolder(addonDir=_addonDir):
+       langs = [languageHandler.getLanguage(), "en"]
+       for lang in langs:
+               docFolder = os.path.join(addonDir, "doc", lang)
+               if os.path.isdir(docFolder):
+                       return docFolder
+               if "_" in lang:
+                       tryLang = lang.split("_")[0]
+                       docFolder = os.path.join(addonDir, "doc", tryLang)
+                       if os.path.isdir(docFolder):
+                               return docFolder
+                       if tryLang == "en":
+                               break
+               if lang == "en":
+                       break
+       return None
+
+def getDocPath(docFileName=_docFileName):
+       docPath = getDocFolder()
+       if docPath is not None:
+               docFile = os.path.join(docPath, docFileName)
+               if os.path.isfile(docFile):
+                       docPath = docFile
+       return docPath
+
+def openDocPath():
+       try:
+               os.startfile(getDocPath())
+       except WindowsError:
+               pass
+
+class GlobalPlugin(globalPluginHandler.GlobalPlugin):
+
+       def __init__(self):
+               super(globalPluginHandler.GlobalPlugin, self).__init__()
+               self.help = gui.mainFrame.sysTrayIcon.helpMenu
+               self.helpItem = self.help.Append(wx.ID_ANY, u"{summary} 
{version}".format(summary=_addonSummary, version=_addonVersion), _addonName)
+               gui.mainFrame.sysTrayIcon.Bind(wx.EVT_MENU, self.onHelp, 
self.helpItem)
+
+       def onHelp(self, evt):
+               openDocPath()
+
+       def terminate(self):
+               try:
+                       self.help.RemoveItem(self.helpItem)
+               except wx.PyDeadObjectError:
+                       pass

diff --git a/sconstruct b/sconstruct
index 4366cca..9754cf5 100644
--- a/sconstruct
+++ b/sconstruct
@@ -5,6 +5,7 @@
 
 import codecs
 import gettext
+import os
 import os.path
 import zipfile
 import configobj
@@ -12,7 +13,46 @@ import configobj
 import buildVars
 
 
-env = Environment(ENV=os.environ)
+def md2html(source, dest):
+       import markdown
+       lang = os.path.basename(os.path.dirname(source)).replace('_', '-')
+       title="{addonSummary} 
{addonVersion}".format(addonSummary=buildVars.addon_info["addon-summary"], 
addonVersion=buildVars.addon_info["addon-version"])
+       headerDic = {
+               "[[!meta title=\"": "# ",
+               "\"]]": " #",
+       }
+       with codecs.open(source, "r", "utf-8") as f:
+               mdText = f.read()
+               for k, v in headerDic.iteritems():
+                       mdText = mdText.replace(k, v, 1)
+               htmlText = markdown.markdown(mdText)
+       with codecs.open(dest, "w", "utf-8") as f:
+               f.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+                       "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 
Strict//EN\"\n" +
+                       "    
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\";>\n" +
+                       "<html xmlns=\"http://www.w3.org/1999/xhtml\"; 
xml:lang=\"%s\" lang=\"%s\">\n" % (lang, lang) +
+                       "<head>\n" +
+                       "<meta http-equiv=\"Content-Type\" content=\"text/html; 
charset=UTF-8\"/>\n" +
+                       "<link rel=\"stylesheet\" type=\"text/css\" 
href=\"../style.css\" media=\"screen\"/>\n" +
+                       "<title>%s</title>\n" % title +
+                       "</head>\n<body>\n"
+               )
+               f.write(htmlText)
+               f.write("\n</body>\n</html>")
+
+def mdTool(env):
+       mdAction=env.Action(
+               lambda target,source,env: md2html(source[0].path, 
target[0].path),
+               lambda target,source,env: 'Generating %s'%target[0],
+       )
+       mdBuilder=env.Builder(
+               action=mdAction,
+               suffix='.html',
+               src_suffix='.md',
+       )
+       env['BUILDERS']['markdown']=mdBuilder
+
+env = Environment(ENV=os.environ, tools=[mdTool])
 
 
 addonFile = 
env.File("{addon-name}-{addon-version}.nvda-addon".format(**buildVars.addon_info))
@@ -56,8 +96,28 @@ env['BUILDERS']['gettextMergePotFile']=env.Builder(
        ], lambda t, s, e : "Generating pot file %s" % t[0]),
        suffix=".pot")
 
+def createAddonHelp(dir):
+       if not os.path.isfile("docHandler.py"):
+               return
+       plugindir = os.path.join(dir, "globalPlugins")
+       docFilename = 
"{addonName}_docHandler.py".format(addonName=buildVars.addon_info["addon-name"])
+       docPath = os.path.join(plugindir, docFilename)
+       docFileTarget = env.Command(docPath, "docHandler.py", Copy("$TARGET", 
"$SOURCE"))
+       env.Depends(addon, docFileTarget)
+       docsDir = os.path.join(dir, "doc")
+       if os.path.isfile("style.css"):
+               cssPath = os.path.join(docsDir, "style.css")
+               cssTarget = env.Command(cssPath, "style.css", Copy("$TARGET", 
"$SOURCE"))
+               env.Depends(addon, cssTarget)
+       if os.path.isfile("README.md"):
+               readmePath = os.path.join(docsDir, "en", "README.md")
+               readmeTarget = env.Command(readmePath, "README.md", 
Copy("$TARGET", "$SOURCE"))
+               env.Depends(addon, readmeTarget)
+
+
+
 def createAddonBundleFromPath(path, dest):
-       """ Creates a bundle from a directory that contains a a addon manifest 
file."""
+       """ Creates a bundle from a directory that contains an addon manifest 
file."""
        basedir = os.path.abspath(path)
        with zipfile.ZipFile(dest, 'w', zipfile.ZIP_DEFLATED) as z:
                # FIXME: the include/exclude feature may or may not be useful. 
Also python files can be pre-compiled.
@@ -100,12 +160,20 @@ for dir in langDirs:
        moFile=env.gettextMoFile(poFile)
        env.Depends(moFile, poFile)
        translatedManifest = 
env.NVDATranslatedManifest(dir.File("manifest.ini"), [moFile, 
os.path.join("manifest-translated.ini.tpl")])
+       env.Depends(translatedManifest, ["buildVars.py"])
        env.Depends(addon, [translatedManifest, moFile])
 
 pythonFiles = expandGlobs(buildVars.pythonSources)
 for file in pythonFiles:
        env.Depends(addon, file)
 
+#Convert markdown files to html
+createAddonHelp("addon") # We need at least doc in English and should append 
an item to Help menu
+for mdFile in env.Glob(os.path.join('addon', 'doc', '*', '*.md')):
+       htmlFile = env.markdown(mdFile)
+       env.Depends(htmlFile, mdFile)
+       env.Depends(addon, htmlFile)
+
 # Pot target
 i18nFiles = expandGlobs(buildVars.i18nSources)
 pot = env.gettextPotFile("%s.pot" % 
"{addon-name}".format(**buildVars.addon_info), i18nFiles)

diff --git a/style.css b/style.css
new file mode 100644
index 0000000..373283f
--- /dev/null
+++ b/style.css
@@ -0,0 +1,30 @@
+@charset "utf-8";
+body { 
+font-family : Verdana, Arial, Helvetica, Sans-serif;
+color : #FFFFFF;
+background-color : #000000;
+line-height: 1.2em;
+} 
+h1, h2 {text-align: center}
+dt { 
+font-weight : bold; 
+float : left; 
+width: 10%;
+clear: left
+} 
+dd { 
+margin : 0 0 0.4em 0; 
+float : left;
+width: 90%;
+display: block;
+} 
+p { clear : both; 
+} 
+a { text-decoration : underline; 
+} 
+:active { 
+text-decoration : none; 
+}
+a:focus, a:hover {outline: solid}
+:link {color: #0000FF;
+background-color: #FFFFFF}

Repository URL: https://bitbucket.org/nvdaaddonteam/controlusageassistant/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.

Other related posts: