[nvda-addons] Re: How to separate translations from code for addons?

  • From: Doug Lee <dgl@xxxxxxxx>
  • To: nvda-addons@xxxxxxxxxxxxx
  • Date: Wed, 10 Jun 2015 19:05:22 -0400

For now, I'll make my goal to write addons that can be translated
without modifying code, and post them on my site as I've done so far
for the TeamTalk addon (http://www.dlee.org/teamtalk/NVDA/) and the
Virtual Audio Cable addon (http://www.dlee.org/vac/NVDA/). Neither
addon is at that point yet, but I plan to get them that far. At this
time though, I don't plan to include other languages directly in what
I put up there. I of course don't mind if others translate my work and
post it somewhere, or if this community prefers to link to a version
that contains all languages supported to date. I think this approach
will let me update things as quickly as possible and also allow public
multi-language releases as quickly as possible no matter what happens
to me. :-)

On Wed, Jun 10, 2015 at 03:52:56PM -0700, Joseph Lee wrote:
Hi Doug,
We use Gettext for translations workflow. For add-ons, whenever we wish to
let translators translate messages, we enclose the string within Gettext
calls (_("str")). Once that's done and the add-on is released, we send it
out to translators, and once they do their work, we give it to you. This
applies to add-ons registered with the automation system - I don't know how
Rui and Mesar did things with Vocalizer messages. In your case, we could set
up a mirror repo which will gather translations and you can pull the new
translations as needed (it will be a Git repo).
I think we do need to think about integrating translations workflow with
add-ons where source code is not managed with a version control system.
Manual copying is tedious, but as it stands, that's one of the alternatives
to using VCS such as Git. You brought up a good point that we may need to
discuss this summer/winter.
Cheers,
Joseph

-----Original Message-----
From: nvda-addons-bounce@xxxxxxxxxxxxx
[mailto:nvda-addons-bounce@xxxxxxxxxxxxx] On Behalf Of Doug Lee
Sent: Wednesday, June 10, 2015 3:40 PM
To: nvda-addons@xxxxxxxxxxxxx
Subject: [nvda-addons] How to separate translations from code for addons?

My understanding is that, for NVDA and possibly for some if not all addons,
the coder ends up maintaining the translations even though others actually
do the translating. For various reasons, I strongly prefer to manage just
the English version and the foundation for translators but not the text in
each language. Is there a way to make this work for NVDA addons?

Details in case they help:

My approach to writing addons, scripts, etc., tends to be this:

- I write the code in English, including messages.
- I do what I can to make translation easy for those who do it.
For NVDA, this means _() and init code etc.
- If there's anything unusually complex about translation, I write a guide
explaining it.
- I let others translate and post their translated versions as they wish.

Primary reasons I avoid managing translated text:

- I've had cases where translations said things I wouldn't say, but
only knew because I was told later.
- If I manage the text, people have to wait on me when a new language
is added. Since I rarely get to work on NVDA addons, this could mean
long delays.

From what I'm seeing, it looks like NVDA's approach to localization requires
that an addon include all translations within it. I'm hoping there's another
way to do this or that I misunderstand how things normally work.


--
Doug Lee dgl@xxxxxxxx http://www.dlee.org
SSB BART Group doug.lee@xxxxxxxxxxxxxxxx
http://www.ssbbartgroup.com
"No person is your friend who demands your silence or denies your right to
grow." --unknown source
----------------------------------------------------------------
NVDA add-ons: A list to discuss add-on code enhancements and for reporting
bugs.

Community addons are available from: http://addons.nvda-project.org To send
a message to the list: nvda-addons@xxxxxxxxxxxxx To change your list
settings/unsubscribe: //www.freelists.org/list/nvda-addons
To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx

----------------------------------------------------------------
NVDA add-ons: A list to discuss add-on code enhancements and for reporting
bugs.

Community addons are available from: http://addons.nvda-project.org
To send a message to the list: nvda-addons@xxxxxxxxxxxxx
To change your list settings/unsubscribe:
//www.freelists.org/list/nvda-addons
To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx

--
Doug Lee dgl@xxxxxxxx http://www.dlee.org
SSB BART Group doug.lee@xxxxxxxxxxxxxxxx http://www.ssbbartgroup.com
"Never does the human soul appear so strong as when it foregoes
revenge, and dares forgive an injury." --E. H. Chapin
----------------------------------------------------------------
NVDA add-ons: A list to discuss add-on code enhancements and for reporting
bugs.

Community addons are available from: http://addons.nvda-project.org
To send a message to the list: nvda-addons@xxxxxxxxxxxxx
To change your list settings/unsubscribe:
//www.freelists.org/list/nvda-addons
To contact list moderators: nvda-addons-moderators@xxxxxxxxxxxxx

Other related posts: