Patent ID: 7113904

Claim:
A system for providing multiple language support for at least one application program, the system comprising: a plurality of language resource bundles comprising associations between language keys and displayable language-sensitive elements, each of said resource bundles corresponding to a different language, wherein at least one of said associations is specific to a particular application program and at least one of said associations is applicable to a plurality of different application programs; a language resource manager configured to receive a first language key from a first application program, locate a language resource bundle corresponding to a currently-selected language, identify a first language-sensitive element associated with the first language key and the first application program, and provide the first language-sensitive element to the first application program for display in a graphical user interface; and a language switching component configured, in response to a change in the currently-selected language, to send to the language resource manager the first language key corresponding to the first language-sensitive element displayed in the graphical user interface, receive from the language resource manager a second language-sensitive element, and replace the first language-sensitive element with the second language-sensitive element in the graphical user interface by preempting the first application program, saving a state of the first application program, discarding the graphical user interface being currently displayed, generating a new graphical user interface comprising the second language-sensitive element provided by the language resource manager, restoring the state of the first application program, and resuming execution of the first application program.