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

Multilingual user interface for an operating system

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1998-08-14
•
Granted: 2001-06-26
•
Expires: 2018-08-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In an operating system, a function to address resources in executable files is modified to redirect calls for resources to language-specific resources responsively to a user-setting defining a selected language. The language-specific resources are contained in alternate language modules through a dynamic addressing scheme that allows the alternate language file suite to be expanded without modification to any central routing facility. The invention provides resource-handling components the capability for handling multiple-language resources without requiring any specific directions from the processes requesting the resources This allows the operating system to provide multilingual support while using existing resource and executable binary files without modification. A user is enabled to select a language for the user interface and the resource loader will automatically redirect calls for resources to the appropriate resources.

Inventors

  • 👤 Bjorn C. Rettig
  • 👤 Edward S. Miller
  • 👤 Gregory Wilson
  • 👤 Shan Xu

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 04:34
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/451; G06F9/454

Claims Analysis

Total Claims: 64
Claim 1
Independent Claim 141 words
In an operating system, a method for redirecting a call by a calling process for a first datum residing in a first binary file, said method comprising the steps of: storing in a variable independently of said calling process, a language identifier; when a second binary file, corresponding to said language identifier and also to an identifier of either said first datum or said first binary file, is found: dynamically generating a path to said second binary file responsively to said language identifier and said either said first datum or said first binary file; storing said path in a look-up table correlating a process module identifier identifying said first binary file and an alternate module identifier identifying said second binary file; and making an alternate datum in said second binary file accessible to said calling process instead of said first datum.
Claim 2
Dependent Claim 141 words
In an operating system, a method for redirecting a call by a calling process for a first datum residing in a first binary file, said method comprising the steps of: storing in a variable independently of said calling process, a language identifier; when a second binary file, corresponding to said language identifier and also to an identifier of either said first datum or said first binary file, is found: dynamically generating a path to said second binary file responsively to said language identifier and said either said first datum or said first binary file; storing said path in a look-up table correlating a process module identifier identifying said first binary file and an alternate module identifier identifying said second binary file; and making an alternate datum in said second binary file accessible to said calling process instead of said first datum.
Claim 3
Dependent Claim 25 words
A method as in claim 1 , wherein said step of making includes mapping said alternate datum into an address space of said calling process.
Claim 4
Dependent Claim 22 words
A method as in claim 2 , wherein said calling process is defined in a code portion of said first binary file.
Claim 5
Dependent Claim 22 words
A method as in claim 2 , wherein said step of dynamically generating includes generating a path that includes a language-specific subdirectory.
Claim 6
Dependent Claim 31 words
A method as in claim 2 , wherein said step of making includes generating a handle to said alternate datum for use by said calling process in accessing said alternate datum.
Claim 7
Dependent Claim 30 words
A method as in claim 2 , wherein said second binary file includes both code and resource data, said alternate datum being at least a portion of said resource data.
Claim 8
Dependent Claim 46 words
A method as in claim 2 , further comprising the step of, when a second binary file corresponding to said language identifier and also to either said first datum or said first binary file is not found, making said first datum accessible to said calling process.
Claim 9
Dependent Claim 44 words
A method as in claim 2 , wherein said first datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 10
Dependent Claim 22 words
A method as in claim 1 , wherein said step of dynamically generating includes generating a path that includes a language-specific subdirectory.
Claim 11
Dependent Claim 31 words
A method as in claim 9 , wherein said step of making includes generating a handle to said alternate datum for use by said calling process in accessing said alternate datum.
Claim 12
Dependent Claim 30 words
A method as in claim 9 , wherein said second binary file includes both code and resource data, said alternate datum being at least a portion of said resource data.
Claim 13
Dependent Claim 47 words
A method as in claim 9 , further comprising the step of, when a second binary file that corresponds to said language identifier and also to either said first datum or said first binary file is not found, making said first datum accessible to said calling process.
Claim 14
Dependent Claim 44 words
A method as in claim 9 , wherein said first datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 15
Dependent Claim 31 words
A method as in claim 1 , wherein said step of making includes generating a handle to said alternate datum for use by said calling process in accessing said alternate datum.
Claim 16
Dependent Claim 30 words
A method as in claim 14 , wherein said second binary file includes both code and resource data, said alternate datum being at least a portion of said resource data.
Claim 17
Dependent Claim 47 words
A method as in claim 14 , further comprising the step of, when a second binary file that corresponds to said language identifier and also to either said first datum or said first binary file is not found, making said first datum accessible to said calling process.
Claim 18
Dependent Claim 44 words
A method as in claim 14 , wherein said first datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 19
Dependent Claim 30 words
A method as in claim 1 , wherein said second binary file includes both code and resource data, said alternate datum being at least a portion of said resource data.
Claim 20
Dependent Claim 47 words
A method as in claim 18 , further comprising the step of, when a second binary file that corresponds to said language identifier and also to either said first datum or said first binary file is not found, making said first datum accessible to said calling process.
Claim 21
Dependent Claim 44 words
A method as in claim 18 , wherein said first datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 22
Dependent Claim 46 words
A method as in claim 1 , further comprising the step of, when a second binary file that does not correspond to said language identifier and also to either said first datum or said first binary file, making said first datum accessible to said calling process.
Claim 23
Dependent Claim 44 words
A method as in claim 21 , wherein said first datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 24
Dependent Claim 44 words
A method as in claim 1 , wherein said first datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 25
Dependent Claim 15 words
A method as in claim 1 , wherein said first datum is a resource datum.
Claim 26
Dependent Claim 22 words
A method as in claim 1 , wherein said calling process is defined in a code portion of said first binary file.
Claim 27
Dependent Claim 134 words
In an operating system, a method for redirecting a call by a calling process for a first resource datum residing in a first binary file containing both executable code defining said calling process and resource data, said calling process being defined in said code, said method comprising the steps of: storing in a variable independently of said calling process, a language identifier; when a second binary file, corresponding to said language identifier and also to either said first resource datum or said first binary file, is found: dynamically generating a path to said second binary file responsively to said language identifier and said either said first resource datum or said first binary file; making an alternate resource datum in said second binary file accessible to said calling process instead of said first resource datum.
Claim 28
Dependent Claim 134 words
In an operating system, a method for redirecting a call by a calling process for a first resource datum residing in a first binary file containing both executable code defining said calling process and resource data, said calling process being defined in said code, said method comprising the steps of: storing in a variable independently of said calling process, a language identifier; when a second binary file, corresponding to said language identifier and also to either said first resource datum or said first binary file, is found: dynamically generating a path to said second binary file responsively to said language identifier and said either said first resource datum or said first binary file; making an alternate resource datum in said second binary file accessible to said calling process instead of said first resource datum.
Claim 29
Dependent Claim 26 words
A method as in claim 26 , wherein said step of making includes mapping said alternate resource datum into an address space of said calling process.
Claim 30
Dependent Claim 22 words
A method as in claim 27 , wherein said step of dynamically generating includes generating a path that includes a language-specific subdirectory.
Claim 31
Dependent Claim 33 words
A method as in claim 27 , wherein said step of making includes generating a handle to said alternate resource datum for use by said calling process in accessing said alternate resource datum.
Claim 32
Dependent Claim 18 words
A method as in claim 27 , wherein said second binary file includes both code and resource data.
Claim 33
Dependent Claim 49 words
A method as in claim 27 , further comprising the step of when a second binary file that corresponds to said language identifier and also to either said first resource datum or said first binary file is not found, making said first resource datum accessible to said calling process.
Claim 34
Dependent Claim 45 words
A method as in claim 27 , wherein said first resource datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 35
Dependent Claim 22 words
A method as in claim 26 , wherein said step of dynamically generating includes generating a path that includes a language-specific subdirectory.
Claim 36
Dependent Claim 33 words
A method as in claim 33 , wherein said step of making includes generating a handle to said alternate resource datum for use by said calling process in accessing said alternate resource datum.
Claim 37
Dependent Claim 18 words
A method as in claim 33 , wherein said second binary file includes both code and resource data.
Claim 38
Dependent Claim 49 words
A method as in claim 33 , further comprising the step of, when a second binary file that corresponds to said language identifier and also to either said first resource datum or said first binary file is not found, making said first resource datum accessible to said calling process.
Claim 39
Dependent Claim 45 words
A method as in claim 33 , wherein said first resource datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 40
Dependent Claim 33 words
A method as in claim 26 , wherein said step of making includes generating a handle to said alternate resource datum for use by said calling process in accessing said alternate resource datum.
Claim 41
Dependent Claim 18 words
A method as in claim 38 , wherein said second binary file includes both code and resource data.
Claim 42
Dependent Claim 49 words
A method as in claim 38 , further comprising the step of, when a second binary file that corresponds to said language identifier and also to either said first resource datum or said first binary file is not found, making said first resource datum accessible to said calling process.
Claim 43
Dependent Claim 45 words
A method as in claim 38 , wherein said first resource datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 44
Dependent Claim 18 words
A method as in claim 26 , wherein said second binary file includes both code and resource data.
Claim 45
Dependent Claim 49 words
A method as in claim 42 , further comprising the step of, when a second binary file that corresponds to said language identifier and also to either said first resource datum or said first binary file is not found, making said first resource datum accessible to said calling process.
Claim 46
Dependent Claim 45 words
A method as in claim 42 , wherein said first resource datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 47
Dependent Claim 49 words
A method as in claim 26 , further comprising the step of, when a second binary file that corresponds to said language identifier and also to either said first resource datum or said first binary file is not found, making said first resource datum accessible to said calling process.
Claim 48
Dependent Claim 45 words
A method as in claim 45 , wherein said first resource datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 49
Dependent Claim 45 words
A method as in claim 26 , wherein said first resource datum is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.
Claim 50
Independent Claim 95 words
A method of adding multilingual capability to an operating system having functions to address first resource data in executable binary files, the method comprising the steps of: adding a selectable user-setting for storing a selected language identifier; adding at least one alternate language resource file containing resource data each corresponding to a respective one of said first resource data; and modifying a resource loader to redirect calls for each of said first resource data to a respective one of said alternate language resource data responsively to a selected language stored in said selected language identifier.
Claim 51
Independent Claim 95 words
A method of adding multilingual capability to an operating system having functions to address first resource data in executable binary files, the method comprising the steps of: adding a selectable user-setting for storing a selected language identifier; adding at least one alternate language resource file containing resource data each corresponding to a respective one of said first resource data; and modifying a resource loader to redirect calls for each of said first resource data to a respective one of said alternate language resource data responsively to a selected language stored in said selected language identifier.
Claim 52
Dependent Claim 128 words
In an operating system, a method of addressing data responsively to a call by a calling process for a first datum stored in a first binary file, comprising the steps of: determining an existence of an alternate language file corresponding to said first datum; when a result of said step of determining is an indication that said alternate language file exists dynamically generating a path to said alternate language file based on a language identifier and said first datum and returning to said calling process at least one datum from said alternate language file, rather than from said first binary file; when a result of said step of determining is an indication that said alternate language file does not exist, returning said first datum to said calling process.
Claim 53
Dependent Claim 128 words
In an operating system, a method of addressing data responsively to a call by a calling process for a first datum stored in a first binary file, comprising the steps of: determining an existence of an alternate language file corresponding to said first datum; when a result of said step of determining is an indication that said alternate language file exists dynamically generating a path to said alternate language file based on a language identifier and said first datum and returning to said calling process at least one datum from said alternate language file, rather than from said first binary file; when a result of said step of determining is an indication that said alternate language file does not exist, returning said first datum to said calling process.
Claim 54
Dependent Claim 143 words
In an operating system, a method for redirecting a call by a calling process for a first datum residing in a first binary file, said method comprising the steps of: storing in a variable independently of said calling process, a language identifier; responsively to a detection of a second binary file, corresponding to said language identifier and also to an identifier of either said first datum or said first binary file: dynamically generating a path to said second binary file responsively to said language identifier and said either said first datum or said first binary file; storing said path in a look-up table correlating a process module identifier identifying said first binary file and an alternate module identifier identifying said second binary file; and making an alternate datum in said second binary file accessible to said calling process instead of said first datum.
Claim 55
Dependent Claim 143 words
In an operating system, a method for redirecting a call by a calling process for a first datum residing in a first binary file, said method comprising the steps of: storing in a variable independently of said calling process, a language identifier; responsively to a detection of a second binary file, corresponding to said language identifier and also to an identifier of either said first datum or said first binary file: dynamically generating a path to said second binary file responsively to said language identifier and said either said first datum or said first binary file; storing said path in a look-up table correlating a process module identifier identifying said first binary file and an alternate module identifier identifying said second binary file; and making an alternate datum in said second binary file accessible to said calling process instead of said first datum.
Claim 56
Dependent Claim 126 words
In a computer operating system, a method of dynamically redirecting a call by a calling process for a default resource stored in a default binary file to an alternate resource stored in an alternate binary file, the method comprising the steps of: finding the alternate resource, wherein the alternate resource corresponds to both a previously stored user interface language identifier and an identifier of either the default resource or the default binary file; dynamically generating a path to the alternate binary file based on the user interface language identifier and either the default resource or the default binary file; dynamically redirecting the call for the default resource to the alternate resource by making the alternate resource, rather than the default resource, accessible to the calling process.
Claim 57
Dependent Claim 126 words
In a computer operating system, a method of dynamically redirecting a call by a calling process for a default resource stored in a default binary file to an alternate resource stored in an alternate binary file, the method comprising the steps of: finding the alternate resource, wherein the alternate resource corresponds to both a previously stored user interface language identifier and an identifier of either the default resource or the default binary file; dynamically generating a path to the alternate binary file based on the user interface language identifier and either the default resource or the default binary file; dynamically redirecting the call for the default resource to the alternate resource by making the alternate resource, rather than the default resource, accessible to the calling process.
Claim 58
Dependent Claim 55 words
The method of claim 51 further comprising the steps of: storing the dynamically generated path in a look-up table that correlates the default resource with the alternate resource to produce a stored dynamically generated path; and using the stored dynamically generated path to redirect to the alternate resource a subsequent call for the default resource.
Claim 59
Dependent Claim 36 words
The method of claim 51 wherein the alternate resource binary file is stored in a subdirectory of a directory in which the default binary file is stored, the subdirectory corresponding to the user interface language identifier.
Claim 60
Dependent Claim 54 words
The method of claim 51 , wherein the step of dynamically redirecting the call for the default resource to the alternate resource by making the alternate resource, rather than the default resource, accessible to the calling process further comprises the step of mapping the alternate resource into an address space of the calling process.
Claim 61
Dependent Claim 21 words
The method of claim 51 , wherein the calling process is defined in a code portion of the default binary file.
Claim 62
Dependent Claim 60 words
The method of claim 51 , wherein the step of dynamically redirecting the call for the default resource to the alternate resource by making the alternate resource, rather than the default resource, accessible to the calling process further comprises the step of generating a handle to the alternate resource for use by the calling process in accessing the alternate resource.
Claim 63
Dependent Claim 47 words
The method of claim 51 , further comprising the step of, when an alternate binary file corresponding to the user interface language identifier and also to either the default resource or the default binary file is not found, making the default resource accessible to the calling process.
Claim 64
Dependent Claim 43 words
The method of claim 51 , wherein the default resource is one of data defining an icon, a cursor, a menu, a dialog box, a bitmap, an enhanced metafile, a font, an accelerator table, a message-table entry, a string-table entry, or a version.

References Cited (Backward Citations)

EP0388148A2 Cited
US5416903A Cited
US5434776A Cited
EP0640913A2 Cited
US5499335A Cited
EP0660233A2 Cited
US5835768A Cited
WO1997029433A1 Cited
US5917484A Cited
US5900871A Cited
US6025836A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-06-25 2004-12-25 2005-06-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-06-25 2008-12-25 2009-06-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-06-25 2012-12-25 2013-06-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag