Object-oriented system for the transparent translation among locales of locale-dependent application programs
Abstract
User interface objects are stored in a user interface object archive which is a database physically located in the shared library of an associated application program. In order to facilitate “localization”, or preparation of an application developed in one language for use in an “area” or a locale which uses another language, the user interface objects are stored in a hierarchical locale tree within the archive. All objects are stored in the base or root of the hierarchy, but only those objects which require a translation are stored in an area associated with a more specific locale. At runtime, a complete collection of objects is assembled by starting at the desired locale and proceeding up the hierarchy level-by-level. Translated objects at lower levels of the hierarchy “override” those at higher levels so that the most complete translations of each object are obtained during this search. The user interface objects which are stored in an archive are actually created via a predefined “constructor” program, and, in order to allow newly-created user interface objects to use the predesigned constructor program, each user interface object is contained in a special “escort” object that interfaces with the constructor program. Both the user interface object and the escort object are stored at the appropriate locale in the archive, but when an archived object is requested, the related escort object is queried and streams out the attributes of the enclosed UI object. The escort object itself remains in the archive.
Claims
exact text as granted — not AI-modifiedHaving thus described our invention, what we claim as new, and desire to secure by Letters Patent is:
1. A localized user interface object archive system for use in a computer system having a storage means for translating a first application program which includes language specific to a first locale to a second application program includes language specific to a second locale under control of a program developer, the archive system comprising:
means controlled by the developer for creating a hierarchical locale tree in the storage means, the locale tree having a root locale and at least one other locale level representing the second locale;
means controlled by the developer for creating, in the root locale, a first plurality of user interface objects, each of which includes language specific to the first locale;
means controlled by the developer for creating, in the root locale, a second plurality of user interface objects, each of which does not include language specific to the first locale;
means controlled by the developer for storing the second plurality of user interface objects in the other locale level; and
means controlled by the second application program for traversing the locale tree starting at the other locale level and proceeding to the root locale, the traversing means assembling a set of user interface objects from the user interface objects in the other locale level and user interface objects in the root locale that are not located in the other locale level.
2. A localized user interface object archive system according to claim 1 wherein the storage means comprises a shared library and the locale tree creation means comprises means for creating a hierarchical locale tree associated with the shared library.
3. A localized user interface object archive system according to claim 1 further including means controlled by the developer for creating an archive viewer object from a predefined object class template and the a shared library, the archive viewer object displaying the hierarchical locale tree stored in the shared library.
4. A localized user interface object archive system according to claim 1 wherein the traversing means operates during runtime of the second application program.
5. A localized user interface object archive system according to claim 1 wherein the traversing means comprises means for retrieving copies of user interface objects from the user interface objects stored in the other locale level and copies of user interface objects in the root locale that are not located in the other locale level.
6. A user interface object archive system for use in a computer system having a display and storage means for translating a first application program which generates screen displays on the display which include language specific to a first locale to a second application program which generates screen displays on the display which include language specific to a second locale, the archive system comprising:
means for creating a first plurality of user interface objects, each of which generates a screen display including language specific to the first locale on the display screen;
means for creating a second plurality of user interface objects, each of which generates a screen display which does not include language specific to the first locale on the display screen;
means for creating a hierarchical locale tree in the storage means, the locale tree having a root locale and at least one other locale level representing the second locale;
means for storing the first plurality of user interface objects in the root locale;
means for storing the second plurality of user interface objects in the root locale and in the other locale level; and
means for traversing the locale tree starting at the other locale level and proceeding to the root locale, the traversing means assembling a set of user interface objects from the user interface objects in the other locale level and user interface objects in the root locale that are not located in the other locale level.
7. A user interface object archive system according to claim 6 wherein the storage means comprises a shared library and the locale tree creation means comprises means for creating a hierarchical locale tree associated with the shared library.
8. A user interface object archive system according to claim 6 further including means for creating an archive viewer object from a predefined object class template and the a shared library, the archive viewer object displaying the hierarchical locale tree stored in the shared library.
9. A user interface object archive system according to claim 8 wherein the archive viewer object comprises means for displaying the hierarchical locale tree in a first format and means for displaying the hierarchical locale tree in a second format.
10. A user interface object archive system according to claim 6 wherein the traversing means operates during runtime of the second application program.
11. A user interface object archive system according to claim 6 wherein the traversing means comprises means for retrieving copies of user interface objects from the user interface objects stored in the other locale level and copies of user interface objects in the root locale that are not located in the other locale level.
12. A method for use in a computer system having a storage means for translating a first application program which includes language specific to a first locale to a second application program includes language specific to a second locale under control of a program developer, the method comprising the steps of:
A. creating a hierarchical locale tree in the storage means, the locale tree having a root locale and at least one other locale level representing the second locale;
B. creating, in the root locale, a first plurality of user interface objects, each of which includes language specific to the first locale;
C. creating, in the root locale, a second plurality of user interface objects, each of which does not include language specific to the first locale;
D. storing the second plurality of user interface objects in the other locale level; and
E. traversing the locale tree starting at the other locale level and proceeding to the root locale in order to assemble a set of user interface objects from the user interface objects in the other locale level and user interface objects in the root locale that are not located in the other locale level.
13. A method according to claim 12 wherein the storage means comprises a shared library and step A comprises the step of:
A1. creating a hierarchical locale tree associated with the shared library.
14. A method according to claim 12 further comprising the step of:
F. creating an archive viewer object from a predefined object class template and the shared library, the archive viewer object displaying the hierarchical locale tree stored in the shared library.
15. A method according to claim 12 wherein step D comprises the step of:
D1. operating the traversing means during runtime of the second application program.
16. A method according to claim 12 wherein step D comprises the steps of:
D2. retrieving copies of user interface objects from the user interface objects stored in the other locale level; and
D3. retrieving copies of user interface objects in the root locale that are not located in the other locale level.
17. A method for use in a computer system having a display and storage means for translating a first application program which generates screen displays on the display which include language specific to a first locale to a second application program which generates screen displays on the display which include language specific to a second locale, the method comprising the steps of:
A. creating a first plurality of user interface objects, each of which generates a screen display including language specific to the first locale on the display screen;
B. creating a second plurality of user interface objects, each of which generates a screen display which does not include language specific to the first locale on the display screen;
C. creating a hierarchical locale tree in the storage means, the locale tree having a root locale and at least one other locale level representing the second locale;
D. storing the first plurality of user interface objects in the root locale;
E. storing the second plurality of user interface objects in the root locale and in the other locale level; and
F. traversing the locale tree starting at the other locale level and proceeding to the root locale, the traversing means assembling a set of user interface objects from the user interface objects in the other locale level and user interface objects in the root locale that are not located in the other locale level.
18. A method according to claim 17 wherein the storage means comprises a shared library and wherein step C comprises the step of:
C1. creating a hierarchical locale tree associated with the shared library.
19. A method according to claim 17 further comprising the step of:
G. creating an archive viewer object from a predefined object class template and the shared library, the archive viewer object displaying the hierarchical locale tree stored associated with the shared library.
20. A method according to claim 19 wherein step G comprises the steps of:
G1. displaying the hierarchical locale tree in a first format; and
G2. displaying the hierarchical locale tree in a second format.
21. A method according to claim 17 wherein step F comprises the step of:
F1. operating the traversing means during runtime of the second application program.
22. A method according to claim 17 wherein step F comprises the steps of:
F2. retrieving copies of user interface objects from the user interface objects stored in the other locale level; and
F3. retrieving copies of user interface objects in the root locale that are not located in the other locale level.
23. A computer program product for enabling a computer system having a storage means to translate a first application program, which includes language specific to a first locale, into a second application program including language specific to a second locale, the computer program product including a computer- useable means for storing therein computer - readable code comprising:
program code for creating, in the storage means, a hierarchical locale tree having a root locale and another locale level representing the second locale;
program code for creating, in the root locale, a first plurality of user interface objects each including language specific to the first locale;
program code for creating, in the root locale, a second plurality of user interface objects each excluding language specific to the first locale;
program code for storing the second plurality of user interface objects in the other locale level; and
program code for traversing the hierarchical locale tree starting at the other locale level and proceeding to the root locale to assemble, from the user interface objects in the other locale level and those in the root locale, a set of user interface objects that are absent from the other locale level.
24. The computer program product of claim 23 wherein the storage means comprises a shared library, further comprising:
program code for creating a hierarchical locale tree associated with the shared library.
25. The computer program product of claim 23 further comprising:
program code for creating, from a predefined object class template and a shared library, an archive viewer object for displaying the hierarchical locale tree associated with the shared library.
26. The computer program product of claim 23 wherein:
the program code for traversing the hierarchical locale tree is executed during the second application program runtime.
27. The computer program product of claim 23 further comprising:
program code for retrieving, from the other locale level, copies of the user interface objects; and
program code for retrieving, from the root locale, copies of the user interface objects that are not located in the other locale level.
28. A computer program product for enabling a computer system having a display screen and storage means to translate a first application program that generates, on the display screen, images including language specific to a first locale, into a second application program that generates, on the display screen, images including language specific to a second locale, the computer program product including a computer- useable means for storing therein computer - readable code comprising:
program code for creating a first plurality of user interface objects each for generating, on the display screen, an image including language specific to the first locale;
program code for creating a second plurality of user interface objects each for generating, on the display screen, an image excluding language specific to the first locale;
program code for creating, in the storage means, a hierarchical locale tree having a root locale and another locale level representing the second locale;
program code for storing the first plurality of user interface objects in the root locale;
program code for storing the second plurality of user interface objects in the root locale and in the other locale level; and
program code for traversing the hierarchical locale tree starting at the other locale level and proceeding to the root locale to assemble, from the user interface objects in the other locale level and those in the root locale, a set of user interface objects that are absent from the other locale level.
29. The computer program product of claim 28 wherein the storage means comprises a shared library, further comprising:
program code for creating a hierarchical locale tree associated with the shared library.
30. The computer program product of claim 28 further comprising:
program code for creating, from a predefined object class template and a shared library, an archive viewer object for displaying the hierarchical locale tree associated with the shared library.
31. The computer program product of claim 30 further comprising:
program code for displaying the hierarchical locale tree in a first format; and
program code for displaying the hierarchical locale tree in a second format.
32. The computer program product of claim 28 wherein:
the program code for traversing the hierarchical locale tree is executed during the second application program runtime.
33. The computer program product of claim 28 further comprising:
program code for retrieving, from the other locale level, copies of the user interface objects; and
program code for retrieving, from the root locale, copies of the user interface objects that are not located in the other locale level.
34. A method for enabling application program translation among locales by a computer having memory, a display screen and an operating system, comprising the steps of:
( a ) providing class libraries for storage in the computer memory from which
( 1 ) a first user interface object may be instantiated to cause the display on the display screen of an image including language specific to a first locale, and
( 2 ) a second user interface object may be instantiated to cause the display on the display screen of an image including language specific to a second locale; and
( b ) providing a run - time environment to
( 1 ) support the instantiation of the first and second user interface objects,
( 2 ) support the creation of a hierarchical locale tree having a root locale and another locale level representing the second locale,
( 3 ) support the storing of a plurality of the first user interface objects in the root locale;
( 4 ) support the storing of a plurality of the second user interface objects in the root locale and in the other locale level; and
( 5 ) support the traverse of the hierarchical locale tree starting at the other locale level and proceeding to the root locale to assemble, from the user interface objects in the other locale level and those in the root locale, a set of user interface objects that are absent from the other locale level.
35. The method of claim 34 wherein the computer memory comprises a shared library, and the runtime environment further supports:
creating a hierarchical locale tree associated with the shared library.
36. The method of claim 34 wherein the class libraries further comprise:
an archive viewer class from which an archive viewer object may be instantiated for displaying the hierarchical locale tree associated with the shared library.
37. The method of claim 36 wherein the class libraries further comprise:
an archive viewer class from which a first archive viewer object may be instantiated for displaying the hierarchical locale tree in a first format; and
an archive viewer class from which a second archive viewer object may be instantiated for displaying the hierarchical locale tree in a second format.
38. The method of claim 34 wherein the runtime environment further supports:
traversing the hierarchical locale tree during the second application program runtime.
39. The method of claim 34 wherein the runtime environment further supports:
retrieving, from the other locale level, copies of the user interface objects; and
retrieving, from the root locale, copies of the user interface objects that are not located in the other locale level.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.