Patent US6092037A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6092037A Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic multi-lingual software translation system

Assignee: Dell USA LP
•
Filing: 1999-05-06
•
Granted: 2000-07-18
•
Expires: 2019-05-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A software system facilitates the translation of text strings into multiple languages. The software system includes a macro which substitutes for a text string and a message collection and source update utility which scans the source code, locates the macro in the source code, derives a key relating to the text string and updates a database with the text string and key. The macro is included into a source code.

Inventors

  • 👤 Roderick W. Stone
  • 👤 Richard W. Finch
  • 👤 Robert W. McReynolds

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 14:25
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/451; G06F9/454; G06F40/00; G06F40/40; G06F40/55; G06F40/58

Claims Analysis

Total Claims: 36
Claim 1
Independent Claim 168 words
A computer system comprising: a processor; a storage coupled to the processor, the storage being capable of storing an executable code; and an executable code for translating messages in a database from a first language to a second language, the executable code including: a display routine which displays messages in the first language for translation; an interactive input routine which inputs a message in the second language corresponding to a translated message in the first language; and a database build routine which builds a second language database from a plurality of input messages in the second language, the second language database being separate from a first language database, the database build routine including: a macro which substitutes for a text string, the macro for inclusion into a source code; and a message collection and source update utility which scans the source code, locates the macro in the source code, derives a key relating to the text string and updates the second database with the text string and key.
Claim 2
Dependent Claim 168 words
A computer system comprising: a processor; a storage coupled to the processor, the storage being capable of storing an executable code; and an executable code for translating messages in a database from a first language to a second language, the executable code including: a display routine which displays messages in the first language for translation; an interactive input routine which inputs a message in the second language corresponding to a translated message in the first language; and a database build routine which builds a second language database from a plurality of input messages in the second language, the second language database being separate from a first language database, the database build routine including: a macro which substitutes for a text string, the macro for inclusion into a source code; and a message collection and source update utility which scans the source code, locates the macro in the source code, derives a key relating to the text string and updates the second database with the text string and key.
Claim 3
Dependent Claim 42 words
A computer system according to claim 1 wherein the macro includes: an option instructing the macro to embed text corresponding to the macro at the position of the macro in the source code or to insert a key representing the text string.
Claim 4
Dependent Claim 35 words
A computer system according to claim 1 wherein the message collection and source update utility further includes: a utility for verifying the format of the key and message with respect to a source code type.
Claim 5
Dependent Claim 27 words
A computer system according to claim 1 wherein the message collection and source update utility includes a routine for deriving the key based on the text string.
Claim 6
Dependent Claim 36 words
A computer system according to claim 1 wherein the message collection and source update utility includes a routine for deriving the key based on a cyclic redundancy check error checking procedure applied to the text string.
Claim 7
Dependent Claim 66 words
A computer system according to claim 1 wherein the message collection and source update utility further includes: a utility for reconciling the text string and the key with an existing language database and adding the text string/key pair to the database so that one text string corresponds singularly and uniquely with one key and a single text string/key pair is included in the database without duplication.
Claim 8
Dependent Claim 32 words
A computer system according to claim 1 further comprising: a message translation utility including a routine for displaying messages to be translated and a routine for writing translated messages to the database.
Claim 9
Dependent Claim 38 words
A computer system according to claim 1 further comprising: a module load utility including a routine for selecting languages to be included in a software module, a routine for extracting translations of the selected languages from the database.
Claim 10
Dependent Claim 81 words
A computer system according to claim 1 further comprising: a dynamic message selection routine including a routine for designating a language to be expressed by a software module, a routine for loading text for the selected language from the database, a routine operational at execution of the software module for locating a message in the selected language within the loaded text, and a routine for passing the located message to formatting and print routines operational during execution of the software module.
Claim 11
Dependent Claim 162 words
A computer program product comprising: a computer usable medium having computable readable code embodied therein implementing an executable code for translating messages in a database from a first language to a second language, the executable code including a display routine which displays messages in the first language for translation; an interactive input routine which inputs a message in the second language corresponding to a translated message in the first language; and a database build routine which builds a second language database from a plurality of input messages in the second language, the second language database being separate from a first language database, the database build routine including: a macro which substitutes for a text string, the macro for inclusion into a source code; and a message collection and source update utility which scans the source code, locates the macro in the source code, derives a key relating to the text string and updates the second database with the text string and key.
Claim 12
Dependent Claim 162 words
A computer program product comprising: a computer usable medium having computable readable code embodied therein implementing an executable code for translating messages in a database from a first language to a second language, the executable code including a display routine which displays messages in the first language for translation; an interactive input routine which inputs a message in the second language corresponding to a translated message in the first language; and a database build routine which builds a second language database from a plurality of input messages in the second language, the second language database being separate from a first language database, the database build routine including: a macro which substitutes for a text string, the macro for inclusion into a source code; and a message collection and source update utility which scans the source code, locates the macro in the source code, derives a key relating to the text string and updates the second database with the text string and key.
Claim 13
Dependent Claim 205 words
A computer system comprising: a processor; a storage coupled to the processor, the storage being capable of storing an executable code; and an executable code for translating messages in a database from a first language to a second language, the executable code including: a display routine that presents a text string in the first language for translation to the second language; a database build routine that detects second language messages in a source code and collects the second language messages in a database, the database build routine including: a source code scanning routine which scans a source code to locate a message token within the source code, the message token being associated with a text string; a key derivation routine for deriving a message key based on the text string; and a reconciliation routine for reconciling the message key and the text string with the database, the reconciliation routine including: a routine operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and a routine operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 14
Dependent Claim 205 words
A computer system comprising: a processor; a storage coupled to the processor, the storage being capable of storing an executable code; and an executable code for translating messages in a database from a first language to a second language, the executable code including: a display routine that presents a text string in the first language for translation to the second language; a database build routine that detects second language messages in a source code and collects the second language messages in a database, the database build routine including: a source code scanning routine which scans a source code to locate a message token within the source code, the message token being associated with a text string; a key derivation routine for deriving a message key based on the text string; and a reconciliation routine for reconciling the message key and the text string with the database, the reconciliation routine including: a routine operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and a routine operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 15
Dependent Claim 199 words
A computer program product comprising: a computer usable medium having computable readable code embodied therein implementing an executable code for translating messages in a database from a first language to a second language, the executable code including: a display routine that presents a text string in the first language for translation to the second language; a database build routine that detects second language messages in a source code and collects the second language messages in a database, the database build routine including: a source code scanning routine which scans a source code to locate a message token within the source code, the message token being associated with a text string; a key derivation routine for deriving a message key based on the text string; and a reconciliation routine for reconciling the message key and the text string with the database, the reconciliation routine including: a routine operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and a routine operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 16
Dependent Claim 199 words
A computer program product comprising: a computer usable medium having computable readable code embodied therein implementing an executable code for translating messages in a database from a first language to a second language, the executable code including: a display routine that presents a text string in the first language for translation to the second language; a database build routine that detects second language messages in a source code and collects the second language messages in a database, the database build routine including: a source code scanning routine which scans a source code to locate a message token within the source code, the message token being associated with a text string; a key derivation routine for deriving a message key based on the text string; and a reconciliation routine for reconciling the message key and the text string with the database, the reconciliation routine including: a routine operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and a routine operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 17
Dependent Claim 209 words
A computer system comprising: a processor; a storage coupled to the processor, the storage being capable of storing an executable code; and an executable code for building a database of messages in a second language for translating messages from a first language to the second language, the executable code including: a database construction routine for detecting messages in a load module and collecting the messages in the database, the database construction routine including: a load module opening routine for opening the load module, locating and verifying a header of the load module; a load module reading routine for reading a plurality of records in the load module including a key list, an index table and a plurality of text strings for a first language; and a reconciliation routine for reconciling a message key in the key list and a text string of the plurality of text strings with the database, the reconciliation routine including: a routine operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and a routine operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 18
Dependent Claim 209 words
A computer system comprising: a processor; a storage coupled to the processor, the storage being capable of storing an executable code; and an executable code for building a database of messages in a second language for translating messages from a first language to the second language, the executable code including: a database construction routine for detecting messages in a load module and collecting the messages in the database, the database construction routine including: a load module opening routine for opening the load module, locating and verifying a header of the load module; a load module reading routine for reading a plurality of records in the load module including a key list, an index table and a plurality of text strings for a first language; and a reconciliation routine for reconciling a message key in the key list and a text string of the plurality of text strings with the database, the reconciliation routine including: a routine operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and a routine operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 19
Dependent Claim 203 words
A computer program product comprising: a computer usable medium having computable readable code embodied therein implementing an executable code for building a database of messages in a second language for translating messages from a first language to the second language, the executable code including: a database construction routine for detecting messages in a load module and collecting the messages in the database, the database construction routine including: a load module opening routine for opening the load module locating and verifying a header of the load module; a load module reading routine for reading a plurality of records in the load module including a key list, an index table and a plurality of text strings for a first language; and a reconciliation routine for reconciling a message key in the key list and a text string of the plurality of text strings with the database, the reconciliation routine including: a routine operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and a routine operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 20
Dependent Claim 203 words
A computer program product comprising: a computer usable medium having computable readable code embodied therein implementing an executable code for building a database of messages in a second language for translating messages from a first language to the second language, the executable code including: a database construction routine for detecting messages in a load module and collecting the messages in the database, the database construction routine including: a load module opening routine for opening the load module locating and verifying a header of the load module; a load module reading routine for reading a plurality of records in the load module including a key list, an index table and a plurality of text strings for a first language; and a reconciliation routine for reconciling a message key in the key list and a text string of the plurality of text strings with the database, the reconciliation routine including: a routine operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and a routine operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 21
Dependent Claim 154 words
A computer system comprising: means for processing data; means for storing data coupled to the data processing means, and an executable means for translating messages in a database from a first language to a second language, the executable means including: means for displaying messages in the first language for translation; means for inputting a message in the second language corresponding to a translated message in the first language; and means for building a second language database from a plurality of input messages in the second language, the second language database being separate from a first language database, the database building means including: a macro means for substituting for a text string, the macro means for inclusion into a source code; and means for scanning the source code, locating the macro means in the source code, deriving a key relating to the text string, and updating the second database with the text string and key.
Claim 22
Dependent Claim 154 words
A computer system comprising: means for processing data; means for storing data coupled to the data processing means, and an executable means for translating messages in a database from a first language to a second language, the executable means including: means for displaying messages in the first language for translation; means for inputting a message in the second language corresponding to a translated message in the first language; and means for building a second language database from a plurality of input messages in the second language, the second language database being separate from a first language database, the database building means including: a macro means for substituting for a text string, the macro means for inclusion into a source code; and means for scanning the source code, locating the macro means in the source code, deriving a key relating to the text string, and updating the second database with the text string and key.
Claim 23
Dependent Claim 182 words
A computer system comprising: means for processing data; means for storing data coupled to the data processing means, and an executable means for translating messages in a database from a first language to a second language, the executable means including: means for displaying a text string in the first language for translation to the second language; means for detecting second language messages in a source code and collecting the second language messages in a database including: means for scanning a source code to locate a message token within the source code, the message token being associated with a text string; means for deriving a message key based on the text string; and means for reconciling the message key and the text string with the database, the reconciling means including: means operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and means operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 24
Dependent Claim 182 words
A computer system comprising: means for processing data; means for storing data coupled to the data processing means, and an executable means for translating messages in a database from a first language to a second language, the executable means including: means for displaying a text string in the first language for translation to the second language; means for detecting second language messages in a source code and collecting the second language messages in a database including: means for scanning a source code to locate a message token within the source code, the message token being associated with a text string; means for deriving a message key based on the text string; and means for reconciling the message key and the text string with the database, the reconciling means including: means operative when the key already exists in the database for verifying that the text string matches the text string in the database corresponding to the existing key; and means operative when the key does not already exist in the database for adding the key and the corresponding text string to the database.
Claim 25
Dependent Claim 119 words
A computer-executable method of translating messages from a first language to a second language comprising: displaying messages in the first language for translation; inputting a message in the second language corresponding to a translated message in the first language; and building a second language database from a plurality of input messages in the second language, the second language database being separate from a first language database, the act of building the second database including: suitably positioning a macro in a source code; substituting the macro for a text string; scanning the source code; locating the macro in the source code; deriving a key relating to the text string; and updating the second database with the text string and key.
Claim 26
Dependent Claim 119 words
A computer-executable method of translating messages from a first language to a second language comprising: displaying messages in the first language for translation; inputting a message in the second language corresponding to a translated message in the first language; and building a second language database from a plurality of input messages in the second language, the second language database being separate from a first language database, the act of building the second database including: suitably positioning a macro in a source code; substituting the macro for a text string; scanning the source code; locating the macro in the source code; deriving a key relating to the text string; and updating the second database with the text string and key.
Claim 27
Dependent Claim 39 words
A method according to claim 17 further comprising: optionally instructing the macro to embed the text corresponding to the macro at the position of the macro in the source code or alternatively inserting a key representing the text string.
Claim 28
Dependent Claim 23 words
A method according to claim 17 further comprising: verifying the format of the key and message with respect to a source code type.
Claim 29
Dependent Claim 16 words
A method according to claim 17 further comprising: deriving the key based on the text string.
Claim 30
Dependent Claim 25 words
A method according to claim 17 further comprising: deriving the key based on a cyclic redundancy check error checking procedure applied to the text string.
Claim 31
Dependent Claim 54 words
A method according to claim 17 further comprising: reconciling the text string and the key with an existing language database and adding the text string/key pair to the database so that one text string corresponds singularly and uniquely with one key and a single text string/key pair is included in the database without duplication.
Claim 32
Dependent Claim 24 words
A method according to claim 17 further comprising: translating a message including: displaying messages to be translated; and writing translated messages to the database.
Claim 33
Dependent Claim 30 words
A method according to claim 17 further comprising: loading a module including: selecting languages to be included in a software module; extracting translations of the selected languages from the database.
Claim 34
Dependent Claim 64 words
A method according to claim 17 further comprising: dynamically selecting messages including: designating a language to be expressed by a software module; loading text for the selected language from the database; at execution of the software module, locating a message in the selected language within the loaded text; passing the located message to formatting and print routines operational during execution of the software module.
Claim 35
Dependent Claim 138 words
A computer-executable method of translating messages from a first language to a second language comprising: displaying a text string in the first language for translation to the second language; detecting second language messages in a source code and collecting the second languages messages in a database including: scanning a source code to locate a message token within the source code, the message token being associated with a text string; deriving a message key based on the text string; and reconciling the message key and the text string with the database including: when the key already exists in the database, verifying that the text string matches the text string in the database corresponding to the existing key; and when the key does not already exist in the database, adding the key and the corresponding text string to the database.
Claim 36
Dependent Claim 138 words
A computer-executable method of translating messages from a first language to a second language comprising: displaying a text string in the first language for translation to the second language; detecting second language messages in a source code and collecting the second languages messages in a database including: scanning a source code to locate a message token within the source code, the message token being associated with a text string; deriving a message key based on the text string; and reconciling the message key and the text string with the database including: when the key already exists in the database, verifying that the text string matches the text string in the database corresponding to the existing key; and when the key does not already exist in the database, adding the key and the corresponding text string to the database.

References Cited (Backward Citations)

US4553205A Cited
US5291602A Cited
US5583781A Cited
US5579223A Cited
US5664206A Cited
US5644775A Cited
US5678039A Cited
US5701487A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-07-18 2004-01-17 2004-07-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-07-18 2008-01-17 2008-07-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-07-18 2012-01-17 2012-07-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag