Re: A few questions


You can use Sphinx to build documentation - looks like we need to update that part of the NVDA readme in the near future.

-----Original Message-----
From: <> On Behalf Of Noelia Ruiz
Sent: Tuesday, December 22, 2020 7:47 AM
Subject: Re: [nvda-addons] A few questions

Hello: 1. I use the log viewer of NVDA (NVDA+f1 or from the tools menu.

2 According to the current readme of NVDA, developer documentation cannot be built at this moment

Quote from :
To generate the NVDA developer guide, type:
scons developerGuide
The developer guide will be placed in the devDocs folder in the output directory. Note that the Python 3 sources of NVDA currently do not support building NVDA developer documentation using the scons devDocs command.

3. About translating add-ons, you can see the NVDA's developer guide:
4.4.2. Locale-specific Messages
Each language directory can also contain gettext information, which is the system used to translate the rest of NVDA's user interface and reported messages. As with the rest of NVDA, an compiled gettext database file should be placed in the LC_MESSAGES directory within this directory. to allow plugins in your add-on to access gettext message information via calls to _(), you must initialize translations at the top of each Python module by calling addonHandler.initTranslation(). For more information about gettext and NVDA translation in general, please read

You may create the pot file for translating add-ons locally, but if you send add-ons to the system managed by NV Access, translators will receive the appropriate po files and will provide translations for your add-on if you fulfill the mentioned requirements, trat is:

1. Use Call addonHandler.initTranslation().
2. For each translatable message, use
# Translators: This is a cool message.
_("This is a translatable message")

For ease of management, we use the add-on template hosted at:

This template may require installed softwar not present in your system. In this case (such as mine too), you may use GitHub Actions even to build the pot file, lint your add-on on github and even create an Nvda's log to inspect artifacts. I have worked in different projects which require different environments and my computer is quite old and small, so I use GitHub Actions for this. You can see clipContentsDesigner add-on maintained by me at
There you will find a .github/workflows with yaml files corresponding to GitHub actions used by me at this moment.

Hope this helps

2020-12-22 9:33 GMT+01:00, Meisam Amini <>:

I have just finished the NVDA add-on development guide and have a few
questions that I would really appreciate some help with.

1. How do you troubleshoot an add-on? Right now when there is a
problem with my add-on I press NVDA + f1 to open the NVDA log, and
since it doesn't have a find feature I copy the whole text, paste it
in Notepad and then search for the name of my global plugin or app
module. Is there a more elegant way of doing this?

2. Are there documentations for NVDA modules? I used git to clone the
NVDA source code and then tried to use pydoc to generate HTML
documentations for some of the modules, but encountered an error.

The help function in NVDA console is fine, but I prefer to have an
HTML or plaintext documentation if possible.

3. How the localization thing works? I wasn't able to find any
documentation showing how to do it. A glance at a few add-ons showed
me that they generally use addonHandler.initTranslation() at the
beginning of the file and then put all the strings in _() function. Is
that all? And how do you generate the template file for Poedit?

Thanks in advanced.

Join to automatically receive all group messages.