Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Object-oriented system for the transparent translation among locales of locale-dependent application programs

a technology of application programs and objects, applied in the field of computer systems, can solve the problems of difficult positioning of objects with respect to each other and composition, difficult to compose, and difficult to direct composition and edit files, etc., and achieve the effect of facilitating lo

Inactive Publication Date: 2002-05-28
APPLE INC
View PDF34 Cites 85 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

The foregoing problems are overcome and the foregoing objects are achieved in one illustrative embodiment of the invention in which 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. As the tree proceeds away from the root locale the locales become more-and-more specific as to language. 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.

Problems solved by technology

Simple applications may include only the main window, while complicated applications may use tens and ever hundreds of pop-up windows and dialog boxes.
Still more complicated display areas include edit areas which are rectangular areas that allow the user to edit text using predefined commands.
However, direct composition and editing of the file is extremely tedious since each interface object generally has many separate parameters, all of which must be included to properly render the object.
In addition it is often very difficult to position the objects with respect to each other and compose and entire screen display simply by looking at the parameter lists for each object.
While the resource editor approach works well with small to medium size projects, for large projects it becomes a bottleneck.
If a single resource file is used for the entire project, then the normal development cycle of compile, link, test and debug results in the resource file being compiled over and over or worse, results in developers having to wait for the file to be free.
Further, the resource file / editor approach is not flexible.
Consequently, the conventional resource editor approach is a poor choice in flexible development environments such as object-oriented development environments which are designed to be easily extensible.
In addition, the traditional resource file / editor approach is not easily adaptable to multi-lingual environments where the text appearing in the user interface must be translated into a local language to allow the program to work in foreign countries.
The string table approach suffers from the same problems as the resource file.
First, a single string table becomes a bottleneck during the normal development cycles.
In addition, although conventional string tables contain most of the text information for a development project, a significant amount of text still becomes embedded directly into the program.
Accordingly, the job of translating an application program into a new language still remains a tedious and time-consuming job.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Object-oriented system for the transparent translation among locales of locale-dependent application programs
  • Object-oriented system for the transparent translation among locales of locale-dependent application programs
  • Object-oriented system for the transparent translation among locales of locale-dependent application programs

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

The invention is preferably practiced in the context of an operating system resident on a personal computer such as the IBM PS / 2 or Apple Macintosh computer. A representative hardware environment is depicted in FIG. 1, which illustrates, in a highly schematic fashion, a typical hardware configuration of a computer system 100 on which constructor program and the user interface object archives (not shown) of the present invention reside. Computer system 100 is comprised of hardware components 112 which include random access memory 114 and central processing unit (CPU) 118. It should be noted that, although central processing unit 118 is shown as a single block representing a single processor, it may actually comprise multiple processors operating in parallel.

Computer system 100 also includes a number of input / output and peripheral devices illustrated along the bottom of the figure. These devices include a representative input device 122 which may comprise a keyboard, mouse, trackball,...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

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.

Description

Portions of this patent application contain materials that are subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document, or the patent disclosure, as it appears in the Patent and Trademark Office. All other rights are expressly reserved.FIELD OF THE INVENTIONThis invention relates generally to improvements in computer systems and, more particularly, to operating system software for managing user interface objects in a windows-oriented graphical user interface.BACKGROUND OF THE INVENTIONOne of the most important aspects of a modern computing system is the interface between the human user and the machine. The earliest and most popular type of interface was text based; a user communicated with the machine by typing text characters on a keyboard and the machine communicated with the user by displaying text characters on a display screen. More recently, graphic user interfaces have become popular in which the mac...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Patents(United States)
IPC IPC(8): G06F9/44
CPCG06F9/454
Inventor BURNARD, DAVID J.TAYLOR, THOMAS H.
Owner APPLE INC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products