61. A data processing system providing interaction in multiple natural languages between a user and application programs, wherein an application program requests one of a plurality of messages from the user, comprising: a processor for executing the application programs; a memory for storing the application programs and data, the data in the memory including: a plurality of message files, each message file including messages for one application program and one natural language, different message files being provided for different application programs and different natural languages; and a link table for storing a plurality of links between the application programs and the message files, wherein a link stores values indicative of an application program, a natural language, and a location of a message file associated with the application program and the natural language; the processor including: means, external to the application program, for retrieving a message from the message file, including means for searching the link table to find the link indicative of the location of the message file referenced by the application program and the selected natural language; means, within the data processing system external to the application program, for determining whether the message and a user input match; and means, operative in response to a determination that the message and the user input match, for providing the message to the application program.
63. A data processing system as set forth in claim 61, wherein the processor may execute a plurality of nested application programs, and further including: means for storing language information for the nested application programs; and means, operative in response to the invoking of a second nested application program by a first nested application program, for saving a current interaction language in the means for storing nested language information, and for setting a new current interaction language to a desired interaction language.