Claims
- 1. A program product encoding a computer program for executing a process on an information processor, the process comprising:
receiving a request for a resource, the request including a module identifier identifying a resource module; in response to receiving the request, obtaining a language identifier from a source other than the request; selecting a localized resource from the resource module based on language identifier.
- 2. A program product as recited in claim 1, wherein the process further comprises constructing a path name having the module identification and the language identifier.
- 3. A program product as recited in claim 1, wherein the process further comprises locating a resource module in a subdirectory of a path of the requested resource.
- 4. A program product as recited in claim 1, wherein the process further comprises using a surrogate to identify a subdirectory containing the localized resource.
- 5. A program product as recited in claim 1, wherein the process further comprises using a surrogate to identify a subdirectory containing the localized resource, wherein the surrogate is locality preference information.
- 6. A program product as recited in claim 1, wherein the process further comprises:
storing a handle to the resource module in a table of alternative resource handles; receiving a subsequent request for the localized resource; using the handle to the resource module in the table of alternative resource handles to satisfy the subsequent request for the localized resource.
- 7. A method of providing resources, comprising:
receiving a request for a localized resource, wherein the request includes a module identification; in response to receiving the request, (a) selecting a resource module based on the module identification and on a language identifier that is obtained independently of the request and (b) providing the requested localized resource from the selected resource module.
- 8. A method as recited in claim 7, wherein the selecting step comprises selecting a resource module in accordance with the following languages, in descending order of priority:
the language indicated by the language identifier; the primary language of the language indicated by the language identifier; a system default language; the primary language of the system default language; English.
- 9. A method as recited in claim 7 wherein the selecting step comprises constructing a filename having the language identifier.
- 10. A method as recited in claim 7 wherein the selecting step comprises constructing a path name having the module identification and the language identifier.
- 11. A method as recited in claim 7 wherein the selecting step comprises locating a resource module in a subdirectory of a path of the requested resource.
- 12. A method as recited in claim 7 wherein the selecting step comprises using a surrogate to identify a subdirectory containing the localized resource.
- 13. A method as recited in claim 7 wherein the selecting step comprises using a surrogate to identify a subdirectory containing the localized resource, wherein the surrogate is locality preference information.
- 14. A method as recited in claim 7 wherein the selecting step comprises selecting an alternate resource module, the alternate resource module residing in a subdirectory of a directory in which the localized resource resides.
- 15. A method as recited in claim 7 wherein the selecting step comprises:
determining whether a module path having a path name comprising the module identification includes a subdirectory having an identifier that is equivalent to a current user language identifier; if the module path having a path name comprising the module identification does include a subdirectory having a name that is equivalent to a current user language identifier, selecting a resource module from the subdirectory having an identifier that is equivalent to a current user language identifier.
- 16. A method as recited in claim 15 further comprising:
if the module path having a path name comprising the module identification does not include a subdirectory having a name that is equivalent to a current user language identifier, determining whether the module path having a path name comprising the module identification includes a subdirectory having an identifier equivalent to a primary language identifier corresponding to the current user language identifier.
- 17. A method as recited in claim 16 further comprising:
if the module path having a path name comprising the module identification includes a subdirectory having an identifier equivalent to a primary language identifier corresponding to the current user language identifier, selecting a resource module from the subdirectory having an identifier equivalent to the primary language identifier corresponding to the current user language identifier.
- 18. A method as recited in claim 17, further comprising:
if the module path having a path name comprising the module identification does not include a subdirectory having an identifier equivalent to a primary language identifier corresponding to the current user language identifier, using a surrogate to identify a preferred language identifier; selecting a resource module corresponding to the preferred language identifier.
- 19. A method as recited in claim 7 wherein the selecting step comprises selecting a language-neutral resource module.
- 20. A method as recited in claim 7 further comprising:
storing a handle to the resource module in a table of alternative resource handles; receiving a subsequent request for the localized resource; using the handle to the resource module in the table of alternative resource handles to satisfy the subsequent request for the localized resource.
- 21. A system comprising:
a resource module including a plurality of resources, each resource corresponding to a natural language; a resource finder receiving a request for one of the plurality of resources and responsively selecting one of the plurality of resources based on a language identifier obtained independently of the request.
- 22. A system as recited in claim 21 further comprising an alternate module path module determining a path to one of the plurality of resources based on the language identifier.
- 23. A system as recited in claim 21 further comprising an alternate module path module constructing a path name including a name of the resource module and the language identifier.
- 24. A system as recited in claim 21 further comprising an alternate resource module table operable to store one or more handles, each handle referring to one of the plurality of resources.
- 25. A system as recited in claim 21 further comprising:
a memory in operable communication with the process; a resource loader receiving a handle referring to the selected one of the plurality of resources and loading the selected one of the plurality of resources into the memory.
- 26. A system as recited in claim 21 wherein the language identifier is equivalent to a current user language identifier.
- 27. A system as recited in claim 21 wherein the language identifier is equivalent to a primary language identifier corresponding to a current user identifier.
- 28. A system as recited in claim 21 wherein the language identifier is equivalent to a language identifier determined based on a surrogate, the surrogate being preference information related to locality of a user.
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent application Ser. No. 09/596,236, filed Jun. 13, 2000, entitled “Multilingual User Interface for an Operating System”, by inventors Edward S. Miller, Bjorn C. Rettig, Gregory Wilson, Shan Xu, Arul A. Menezes, Michael J. Thomson, Sharad Mathur, Roberto Cazzaro, and Michael Ginsberg, which is a continuation-in-part of a U.S. patent application Ser. No. 09/134,559, filed Aug. 14, 1998, entitled “Multilingual User Interface for an Operating System”, by inventors Edward S. Miller, Bjorn C. Rettig, Gregory Wilson, and Shan Xu, both of which applications are incorporated by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09596236 |
Jun 2000 |
US |
Child |
10766438 |
Jan 2004 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09134559 |
Aug 1998 |
US |
Child |
09596236 |
Jun 2000 |
US |