Translation Application Interface: Basic Operation

Rather than hard coding the commands of specific translation apps into VBLM, we opted to program a general purpose structure that you can fill in for as many apps as you want. The only limitation is that the 3rd party apps MUST BE ABLE TO TRANSLATE WHAT'S ON THE CLIPBOARD (If your 3rd party program cannot translate the clipboard, you still may be able to use it; see Importing & Exporting).

For VBLM to control an app, it needs to know:

1) How to start it, ie what is the full path and filename of the executable file?

2) How to activate it, ie what is the app's title as it appears on Window's Task List?

3) How to command clipboard translation, ie what keystrokes should be sent?

4) How to determine when the translation is complete (this is more involved and is discussed below).

5) How to shut it down, ie what keystrokes should be sent?

Most of these items are straightforward enough to require no explanation, but #4, how to tell when the translation is complete, is tricky. VBLM offers two possible methods.

1) If the app always pops up a specific titled window while translating and closes it when done, VBLM can wait for this window to appear and disappear. This is by far the superior method, because it verifies the translation and wastes no time.

2) If the app does not create and destroy such a window, you can tell VBLM how many seconds to wait after sending the clipboard translation keystrokes. This is a kluge, because it doesn't verify the translation and you need to set the delay for the longest possible translation, which will waste time. However, it does allow VBLM to control such an app.

We also discovered the need to accommodate a quirk that appears in at least one publisher's translation apps. The versions of Globalink's Language Assistant series that we tested eat memory over time and don't give it up; we discovered this during the automatic translation of a large table, when Windows slowed to a crawl and eventually locked up with a GPF. We found that we could avoid this problem simply by periodically shutting down and restarting the apps. Hence we added the "Exit Frequency" parameter to the interface definition. If you set this at 20, for example, VBLM will restart the app after every 20 translations.

Enough on basic operation. Check out How to Configure