2020-07-09 01:43:24

Hi all,
I was wondering if there is a way to make app-specific NVDA speech dictionaries. At the moment, my reason for wanting these is a bit odd: I am mainly interested in using them to translate the important parts of games such as BK1 and BK2, or other non-English games, without needing an Internet connection to hook into Google Translate.

I started working on translations for the aforementioned games, and it was working pretty well. But the thing that always stopped me was that  I had to modify the default dictionary to do it, which I don't think is good practice. So I was hoping for app-specific translation dictionaries, as they would solve a major problem: hundreds of wasted online translations being performed when only one thing changes eg. a number or the player's name. For example, if you're navigating through items, you might hear something like "Rice ball (4) recovers 20 hp." But let's say you use one and go back in the menu, you then hear "rice ball (3) recovers 20 hp." Cached translations are obviously not going to help in this case, so the above example would require two translations, not one. In other words, new online translations have to be performed upon the slightest changes, which in a game like an RPG, can create excessive translation requests. In the above example, you only need to translate the item name and its description, and you can leave the number alone. I had great success doing this with the default dictionary when I tried, but an app-specific dictionary would really be the way to go for this.

I know most people would say "Just use online translation, you're safer." Thing is, in the NVDA translate add-on, you can hit a translation limit pretty quickly if you leave it on throughout the game, forcing you to wait until the limit resets. I can't speak for JGT, but as great as it may or may not be, it only works on Japanese games, not other languages. There are one or two non-Japanese games I would like to play with translation, so JGT isn't the best  solution either. Moreover, online translation has inherent lag and generates excessive traffic overall, so that alone is incentive to do it offline if possible.

Apart from that, ap-specific dictionaries would be great for general use too. Jaws has had such dictionaries for probably near 2 decades now? So it seems like a doable thing. Something so trivial that I'm surprised that NVDA has never had it. i'd be less surprised if I'm just missing something lol

Any thoughts on this?

Make more of less, that way you won't make less of more!
If you like what you're reading, please give a thumbs-up.

2020-07-09 04:05:47 (edited by Chris 2020-07-09 04:07:29)

As far as I can tell, the speech dictionaries are global except for the obvious exception of voice specific dictionaries. I tried creating a configuration profile to see if it would work, but it doesn't seem to be the case. This should be reported on the NVDA Github issues page. NVDA needs better support for profiles anyway. I'd like to have the option to put NVDA in sleep mode automatically when loading or switching to a specific application. It would also be nice to have the symbol pronunciation and Input Gestures dialogs utilized in configuration profiles. I'll go report that right now.

Grab my Adventure at C: stages Right here.

2020-07-09 07:25:31

Hi.

Try this add-on. Use NVDA+Shift+P to create the app specific dictionary.
https://github.com/RickLeon/application … nvda-addon

2020-07-09 20:47:08

Looks like you and I are on the same page in terms of what we want. My bad, I posted a similar question three hours after yours.

2020-07-10 08:30:51

@amerikranian, no worries!
@dongargon, this looks like exactly what I need, thanks so much!
Out of curiosity, where did you find this? Who develops it? I always like to learn about new add-ons.

Make more of less, that way you won't make less of more!
If you like what you're reading, please give a thumbs-up.

2020-07-10 10:51:08

@3. This looks pretty cool. I'll be keeping this around I think.
@OP, I'll definitely look forward to checking out your translations if you decide to publish them.

If you for whatever reason wish to contact me, the best way to do so is through Discord (Minionslayer#2980). You'll get the quickest response times, and by extension, a higher priority. I also sometimes post my thoughts (for the better or worse) over on Twitter at @Minionslayer2.

2020-07-10 11:53:56

Hi.

@5, Ricardo M. Leonarczyk on github. He also has a profile dictionary, that can create dictionaries based on the current profile (outside of the normal profile which uses the standard speech dictionary). The shortcut for this is the same, but can be changed in the input gestures dialog. Here is the link to the latest version:

https://github.com/RickLeon/profileDict … nvda-addon