AMS - How it Works for Client / Server Applications
On this page:
Technical Presentation of the AMS Engine
Engine Extensions
The AMS Thesaurus
Technical Presentation of the AMS Engine
To allow the localisation of an existing application running natively on a client machine, AMS relies on a component called the AMS Engine.

The AMS Engine intercepts all the texts coming from the application before they are displayed and replaces them by their corresponding translations found in the AMS Thesaurus. The end-user sees a localised application although is it still the original unmodified application that is running beneath.
Here are the basic steps that occur when the AMS Engine is running:
- The application displays a text
- The AMS Engine intercepts the text before it is displayed and replaces it by the corresponding translation as found in the AMS Thesaurus (see below for a description of the AMS Thesaurus)
-
The end user sees a localised application
The AMS Engine is designed for performance and it is not possible for an end-user to detect its presence.
Native Windows applications
For native Windows applications (Win32), the AMS Engine is a set of DLLs that will intercept all Windows API / messages that are used to display texts. All 32-bit versions of Windows, from Windows 95 to Windows 7 are supported.
Java Applications
For Java applications, the AMS Engine is a set of Java classes that intercepts the calls to the AWT or Swing classes. The AMS Engine for Java is 100% Java-based and run on any Java virtual machine (1.1 or later).
The AMS Engine can optionally be integrated into the target application. A software development kit (SDK) is provided that lets the application controls the behaviour of the AMS Engine. For instance it is possible for the application to retrieve the list of all available languages as found in the AMS Thesaurus and to set the language to use for the user interface.
Engine Extensions
Some development tools come with custom controls that provide additional features compare the standard controls found in Windows. Although the AMS Engine should be able to intercept and translate the texts displayed by such custom controls, the result might not be what the end-users expect. For instance it is possible that the translated text is not aligned correctly (example: the original text was centered but the translated text is too much on the right side). Furthermore, advanced AMS features such as the possibility to resize controls might not be available. To overcome those limitations, the AMS Engine can be extended through some dedicated components called “extensions."
For example, Sybase PowerBuilder offers a powerful component called the DataWindow that is used heavily by PowerBuilder applications. The AMS Extension for PowerBuilder allows detecting each control inside the DataWindows and then resizing those controls. AMS Extensions are available for many environments including Embarcadero Delphi, Microsoft Visual Basic, Progress OpenEdge, SAP GUI, etc.
The AMS Thesaurus
The texts used to display the translations are stored in the AMS Thesaurus which is a high-performance, easy to administer multilingual database system. The AMS Thesaurus is optimised for fast retrieval of large quantity of multilingual texts. Once the project is complete, it is basically a file that can be copied for use by the AMS Engine. On top of translations, the AMS Thesaurus also stores configuration data. AMS Studio is used to create and manage the content of the thesaurus.
Learn more about Assima Multilingual Suite and its technology
|