Browse Prior Art Database

Multilingual User Interface switching automation

IP.com Disclosure Number: IPCOM000016163D
Original Publication Date: 2002-Aug-16
Included in the Prior Art Database: 2003-Jun-21
Document File: 4 page(s) / 72K

Publishing Venue

IBM

Abstract

A method is disclosed that can be used with software application to enable the feature of Multi Lingual User Interface with minimum modifications to the application that needs this feature. An application saves its user interface as resources, these resources can be text messages, icons, bitmaps, dialogs, menus, fonts, ...etc. and when these applications get shipped in various countries the user interface will be translated to the various languages and the product will ship to each of the desired countries in its native language. The application can have the resources located in one of two ways: As part of the product DLLs (Dynamic Linked Libraries) and EXEs (Executable programs) that contain the code. This means that when this application is localised into other languages the DLLs and EXEs that contain the code of the product may need to be amended to replace English resources with other languages resources. This can cause the following problems:-

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 47% of the total text.

Page 1 of 4

Multilingual User Interface switching automation

A method is disclosed that can be used with software application to enable the feature of Multi Lingual User Interface with minimum modifications to the application that needs this feature.

     An application saves its user interface as resources, these resources can be text messages, icons, bitmaps, dialogs, menus, fonts, ...etc. and when these applications get shipped in various countries the user interface will be translated to the various languages and the product will ship to each of the desired countries in its native language.

   The application can have the resources located in one of two ways: As part of the product DLLs (Dynamic Linked Libraries) and EXEs (Executable programs) that contain the code.

This means that when this application is localised into other languages the DLLs and EXEs that contain the code of the product may need to be amended to replace English resources with other languages resources. This can cause the following problems:-
1. Since the executable has been modified it will be necessary to test the functionality of the product as well as the translation of the product to make sure nothing is broken.
2. Large International customers who have branches in several countries that speak several languages might complain that they have to test several versions of an application (one for every language they use) in order to make the decision of deploying the application to their branches.
3. Some customers have several people who speak several languages and share the same machine, this meant everyone needed to install the application in his/her own language, instead of installing one version that works with several User Interface Languages. This was causing complications during upgrades, where each of these versions need to be upgraded when they get a new version rather than upgrading every machine only once.
4. If the application has resources in the same DLLs and EXEs as the code, then these resources will be referenced from a large number of places in the application and to change all these places will take a lot of time and effort. In separate DLLs that only contains the resources which the code loads when needed. This means that when application islocalised, it is necessary to translate the resources that is contained in those resource only DLLs, but in the case where there are multiple users speaking different languages and using the same machine, they will still have to install complete versions of the product that contains code DLLs/EXE and resource DLLs and these versions will have to be tested, installed and upgraded separately. Alternatively, the parent application would need to be modified to understand to take an input language and load the resources for that language.

The following technique has been devised to overcome these disadvantages:
1. A tool is provided that goes around the executable and DLLs in an application that

1

Page 2 of 4

has resources and ex...