I want to stress that given how much I use these two Dragon commands (and other related Dragon commands), the time spent coding them was well worth it. After battling with Studio, it is a luxury to be able to dictate into Word.
Given the length of the bug list, I don't see Studio becoming Dragon-friendly in the foreseeable future, if ever.
I also want to stress that I do not use the Dragon commands just for "relatively short segments".
I use these commands most of the time when I have long sections of text to translate and don't want to fuss around with Studio, which is a real pain when it comes to Dragon.
I just want to dictate one sentence after another and correct things easily, which is possible in Word. When I am translating this way, I don't focus on the segments in Studio. I create a PDF version of the source file and display it on another screen. (One screen at the left for Studio so I can keep track of where I am, one screen in the center for the PDF source file, and one screen at the right for the Word file I am translating into. I am planning on adding another video card and at least one other screen for dictionary searches, Internet searches, displaying reference/glossary files, etc.)
So I first pre-translate a file, go through all of the draft segments created by the pre-translation (I have a Dragon command that uses the Ctr-G (go to next) Studio command to go to the next segment with a status of "Draft"). Once I have confirmed all of the pre-translated segments, I spellcheck them, verify them and then lock them so that they are not included in any future analyses, spellchecks, verifies, etc.
Then I start at the top of the (PDF) file and start dictating into Word. I keep an eye on Studio to see where the next confirmed segments are and dictate an "insert skip" when needed (a Dragon command to insert a new line, followed by "<>" and another new line, signalling that the "paste list" command should skip down to the next unconfirmed segment). If I need to check terminology or how I translated a certain phrase before, I switch to Studio and check the termbase, or highlight the text in the source segment, and do a concordance search.
When I have dictated a section of text and feel like reviewing what I have done, I do a "copy list", "paste list" and then start reviewing and confirming the draft segments one after another in Studio.
In my view, this review is an essential step when working with Dragon. There is a good chance that Dragon misunderstood something you dictated (by the way, the likelihood of Studio misunderstanding is higher in Studio than it is in Word), and this review is your chance to catch Dragon's mistakes before you confirm the segments. Everyone who works with Dragon does this review at some time. By doing it later in Studio, I don't have to concentrate so carefully on what I am dictating into Word. I can focus fully on the flow of the text I am translating, knowing that I will be reviewing everything later. If you dictate into Studio and review each segment immediately after dictating it, then your attention and the flow of the text is interrupted at each and every segment.
I also periodically run analyses of the file in Studio and if there are a significant number of good matches I will run another pre-translation to handle those segments before I start dictating batches again.
So I basically use Studio (1) to periodically find good matches in the TM and then handle them with pre-translation, and (2) as a terminology reference using termbases and concordance searches. I find Studio very good at handling these two things, but find that it interrupts the flow of translation when I have large sections of text to handle.
I will dictate directly into Studio if I have a file that only has scattered segments to translate (cursing all the while about the problems with working with Dragon in Studio).
With regard to limitations on storing strings in the registry, according to Microsoft (see "Registry Element Size Limits"), the size limit on values in the registry is "Available memory (latest format) / 1 MB (standard format)".
So it looks like strings can be at least 1 MB long, which would be quite a few characters. I generally translate batches of 300 to 1000 words, which is nowhere near this limit.
Using the registry seemed the fastest, easiest way to communicate between Dragon commands. (I did not want to fuss around with opening and closing, reading and writing to a file... and the timing for accessing the registry is probably more reliable than accessing a file. Getting the timing right with "Wait" statements is important when writing Dragon commands.) The restriction to ASCII characters only came to light later, when I noticed special characters changing when transferred from Word to Studio. My first attempt to convert each Unicode character to ASCII characters ran into the null ASCII character being interpreted as the end of string in the registry, so I figured out an easy way to break a Unicode character into three ASCII characters, making sure there was a "1" bit at the start of each one, so I never ended up with a null character.
If there is another (quick, easy and reliable) way to pass information from one Dragon command to another, please let me know. It could come in handy in the future.
And one final comment: If you use Dragon with Studio, and find Dragon suddenly slowing to a crawl for no apparent reason, check the Windows Task Manager for an "EXCEL.EXE" process (in the Details tab in Windows 10). If you are using Excel, then close it. If you are not using Excel, or the Excel process keeps on running, then terminate it. This will hopefully allow Dragon to speed up again.
ASAP Language Services