DE4325096C2 - A data processing system that enables a user dialog in several natural languages - Google Patents
A data processing system that enables a user dialog in several natural languagesInfo
- Publication number
- DE4325096C2 DE4325096C2 DE4325096A DE4325096A DE4325096C2 DE 4325096 C2 DE4325096 C2 DE 4325096C2 DE 4325096 A DE4325096 A DE 4325096A DE 4325096 A DE4325096 A DE 4325096A DE 4325096 C2 DE4325096 C2 DE 4325096C2
- Authority
- DE
- Germany
- Prior art keywords
- language
- application program
- user
- dialog
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000012545 processing Methods 0.000 title description 41
- 230000015654 memory Effects 0.000 claims description 87
- 238000000034 method Methods 0.000 claims description 83
- 230000004044 response Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 57
- 238000010586 diagram Methods 0.000 description 25
- 238000012546 transfer Methods 0.000 description 7
- 238000013475 authorization Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000001343 mnemonic effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000007787 long-term memory Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229940036310 program Drugs 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
- Digital Computer Display Output (AREA)
Description
Die Erfindung betrifft ein Verfahren zum Bereitstellen eines Benutzerdialogs über eine Text-Schnittstelle in mehreren na türlichen Sprachen in einem Computersystem mit einem Zen tralrechner, der mit einer Vielzahl von Benutzerstationen über Kommunikationsverbindungen verbunden ist, mit einem Prozessor zum Ausführen einer Mehrzahl von Anwendungspro grammen, die gleichzeitig von einer Vielzahl von Benutzern in Anspruch genommen werden und einem Speicher, der mit dem Prozessor verbunden ist, um mindestens eine Nachrichtendatei zu speichern, wobei eine Nachrichtendatei Textinformationen einer natürlichen Sprache für eines der Anwendungsprogramme beinhaltet, wobei unterschiedliche Textinformationen für un terschiedliche Anwendungsprogramme bereitgestellt sind.The invention relates to a method for providing a User dialog via a text interface in several na natural languages in a computer system with a Zen central computer with a variety of user stations is connected via communication links with a Processor for executing a plurality of application pro gram by a large number of users at the same time be used and a memory that with the Processor is connected to at least one message file to save, with a message file text information a natural language for one of the application programs includes, with different text information for un Different application programs are provided.
Die meisten Datenverarbeitungs- und Computersysteme ermögli chen einem Benutzer den Dialog nur in einer natürlichen Sprache, wie englisch, französisch oder deutsch. Derartige natürliche Sprachen sind solche, die Personen zum Sprechen verwenden und unterscheiden sich von Computer- oder Program miersprachen. Aufgrund der internationalen Entwicklung, in der immer häufiger Computer verwendet werden, ist ein Bedarf an Datenverarbeitungssystemen entstanden, die mit dem Benut zer in einer von mehreren natürlichen Sprachen, den "Dialog- Sprachen" kommunizieren.Most data processing and computer systems possible user dialog only in a natural way Language, such as English, French or German. Such natural languages are those that make people speak use and differ from computer or program foreign languages. Due to international development, in the increasing use of computers is a need on data processing systems that came with the user zer in one of several natural languages, the "dialog Languages ".
In den meisten Datenverarbeitungssystemen beinhaltet der Dialog mit einem Benutzer das Senden und Empfangen von Nach richten zwischen dem Benutzer und dem Datenverarbeitungssy stem. Um solch ein Senden und Empfangen von Nachrichten durchzuführen, hat ein Datenverarbeitungssystem normalerwei se Standardbefehle zum Senden von Ausgabenachrichten zum Be nutzer und ebenso Standardbefehle zum Übersetzen der vom Be nutzer empfangenen Nachrichten. Ein Anwendungsprogrammierer verwendet diese Befehle in einem Anwendungsprogramm um einen Dialog zwischen einem Benutzer und dem Datenverarbeitungssy stem zu ermöglichen, wenn das Programm läuft, d. h. wenn das System durch das Programm konfiguriert ist und durch das Programm beschriebene Verfahren durch das konfigurierte Sy stem ausgeführt werden.In most data processing systems, the Dialogue with a user sending and receiving messages aim between the user and the data processing system stem. To send and receive such messages a data processing system normally has to perform Standard commands to send output messages for loading users and also standard commands for translating the data from the Be user received messages. An application programmer uses these commands in an application program by one Dialogue between a user and the data processing system enable stem when the program is running, d. H. if that System is configured by the program and by the Program described procedure by the configured Sy stem are executed.
Eine bekannte Technik zum Senden und Empfangen von Nachrich ten beinhaltet Daten von Ausgabe- und Eingabenachrichten für ein Anwendungsprogramm in einer Datei oder an einer vom An wendungsprogramm getrennten Stelle. Solche Nachrichten wer den durch das Anwendungsprogramm mit Kodes oder Indizes ver sehen. Diese Technik ist als "Veräußerlichung" bekannt. Ge legentlich erhalten die Anwendungsprogramme Nachrichten, d. h. wenn sie nicht veräußerlicht sind, beispielsweise zur Verwendung als Standardnachrichten. Manchmal werden diese Nachrichten auch als "Hart-kodiert" bezeichnet.A known technique for sending and receiving messages ten includes data from output and input messages for an application program in a file or on one of the To application program separate point. Such news who ver by the application program with codes or indexes see. This technique is known as "externalization". Ge the application programs occasionally receive messages, d. H. if they are not for sale, for example for Use as standard messages. Sometimes these Messages also referred to as "hard-coded".
Wenn ein Anwendungsprogramm und dazu korrespondierende, ver äußerlichte Nachrichtendateien in einem System eingesetzt werden, dann wird während der Laufzeit eine Verbindung zwi schen dem Anwendungsprogramm und der Nachrichtendatei ge schaffen. Diese Verbindung spezifiziert, daß die Nachrich tendatei in Verbindung mit dem Anwendungsprogramm zu verwen den ist um Ausgabe und Eingabenachrichten für das Programm bereitzustellen. In gegenwärtigen Systemen muß entweder der Benutzer oder der Anwendungsprogrammierer die Nachrich tendatei, die mit dem Anwendungsprogramm verwendet werden soll, explizit spezifizieren. Somit ist die Verbindung für den Programmierer nicht ersichtlich und sowohl der Anwen dungsprogrammierer als auch der Benutzer muß die Namen von verfügbaren Nachrichtendateien kennen. In einem System, wel ches mehrere Dialog-Sprachen unterstützt, werden mehrere Nachrichtendateien benötigt, so daß die auf dem Programmie rer und dem Benutzer liegende Last vergrößert wird.If an application program and corresponding, ver external message files used in a system then a connection between between the application program and the message file create. This connection specifies that the message Use the file in conjunction with the application program that's about output and input messages for the program to provide. In current systems either the user or the application programmer sends the message trend file used with the application program should explicitly specify. So the connection is for not visible to the programmer and both the user programmer as well as the user must use the names of know the available message files. In a system which If several dialog languages are supported, several will be Message files needed so that on the program load and the load on the user is increased.
Ein gegenwärtiges, mehrsprachiges System, welches auf einer "Veräußerlichung" beruht, ist das Native Language System (NLS). NLS ist eine von X/OPEN entwickelte Systemschnitt stelle. X/OPEN ist eine Gemeinschaftsinitiative von Mitglie dern der Wirtschaftsgemeinschaft um entwickelte Standards in einer gemeinsamen, vorteilhaften und weiterführenden Strate gie zu integrieren. Die Systemschnittstelle ist eine Gruppe von Befehlen, die zur Verwendung in Anwendungsprogrammen er hältlich sind, um ein Datenverarbeitungssystem zu konfigu rieren und zu manipulieren. Es existieren viele Verwirkli chungen zur Unterstützung der NLS-Schnittstelle, aber alle Verwirklichungen beruhen auf der von X/OPEN in ihren Porta bility guide, 1989, (siehe besonders Band 2) definierten Funktionalität.A current multilingual system based on one "Externalization" is the Native Language System (NLS). NLS is a system interface developed by X / OPEN Job. X / OPEN is a community initiative by members of the economic community for developed standards in a common, advantageous and continuing strate to integrate. The system interface is a group of commands for use in application programs are available to configure a data processing system and manipulate. There are many confusions to support the NLS interface, but all Realizations are based on that of X / OPEN in their porta bility guide, 1989, (see especially volume 2) Functionality.
Im NLS ist jede veräußerlichte Nachrichtendatei eines Anwen dungsprogrammes, die Ausgabe- und Eingabenachrichten in ei ner Dialogsprache enthält, gekennzeichnet durch einen als "Katalog-Descriptor" bekannten verketteten Namen. Mit dem NLS muß ein Anwendungsprogrammierer den Katalog-Descriptor für eine Nachrichtendatei kennen, um diese Nachrichtendatei in den Speicher zu laden und um Nachrichten daraus abzuru fen. Der Katalog-Descriptor kann aus einem Standardwort, wie einem systemweiten Standard oder einem pro-Benutzer-Standard gebildet sein. Im NLS überschreibt das Benutzer-Standardwort den Systemstandard und kann auch benutzt werden um den Stan dard für ein Anwendungsprogramm zu überschreiben. Eine Fä higkeit zur Verschachtelung ist nicht geschaffen. Wenn eine Nachrichtendatei in einer gewünschten Sprache für ein Anwen dungsprogramm nicht verfügbar ist, dann erhält der Benutzer normalerweise hart-kodierte Nachrichten des Anwendungspro grammes. Weil der Anwendungsprogrammierer den Namen der Nachrichtendatei in dem Anwendungsprogramm verwendet und weil er auch das Öffnen und Schließen von Nachrichtendateien durchführt, entstehen Probleme in der Entwicklung von Anwen dungsprogrammen.In the NLS, every salable message file is a user program, the output and input messages in egg contains a dialog language, identified by an as "Catalog descriptor" well-known concatenated name. With the NLS requires an application programmer to use the catalog descriptor know for a message file to this message file into memory and to retrieve messages from it fen. The catalog descriptor can consist of a standard word, such as a system-wide standard or a per-user standard be educated. The user default word overwrites in the NLS the system standard and can also be used for the standard overwrite dard for an application program. A fa The ability to nest is not created. When a Message file in a desired language for a user program is not available, then the user receives normally hard-coded messages from the application pro grammes. Because the application programmer got the name of the Message file used in the application program and because he's also opening and closing message files carries out problems in the development of users programs.
Ein erstes Problem mit dem NLS-System besteht in der erfor derlichen Beteiligung des Anwendungsprogrammierers in der Handhabung von Nachrichtendateien. Nachrichtendateien für ein Anwendungsprogramm werden regelmäßig modifiziert oder neue Nachrichtendateien werden zur Verwendung durch das An wendungsprogramm hinzugefügt. Derartige Modifikationen und Hinzufügungen können Änderungen in Anwendungsprogrammen, die die modifizierten oder hinzugefügten Nachrichtendateien be treffen, erforderlich machen. Daraus ergibt sich, daß wenn solche Nachrichtendateien einem Kunden zur Verfügung ge stellt werden, daß auch das Anwendungsprogramm aktuallisiert werden muß, so daß sowohl die Herstellungskosten des Anwen dungsprogramms als auch die Materialkosten des Kunden stei gen.A first problem with the NLS system is the expl the involvement of the application programmer in the Handling of message files. Message files for an application program are regularly modified or new message files are used by the To application program added. Such modifications and Additions can make changes in application programs that the modified or added message files meet, make necessary. It follows that if such message files are available to a customer that the application program is also updated must be so that both the manufacturing cost of the user program as well as the material costs of the customer gene.
Eine zweite Schwierigkeit des NLS-Systemes ist, daß es einen Anwendungsprogrammierer erfordert, um ein Programm zu Hand habungszwecken für den Fall zu entwickeln, daß eine Nach richtendatei während des Versuches, eine Datei zu öffnen oder eine Nachricht aus einer Datei abzurufen, nicht gefun den wird. Solch ein Programm stellt typischerweise eine hart-kodierte Standardnachricht zur Verwendung bereit, wenn eine Nachricht oder eine Nachrichtendatei nicht gefunden wird. Jedoch werden derartige Standardnachrichten lediglich dem Anwendungsprogrammierer bereitgestellt. Somit können An wendungsprogramme, die durch verschiedene Anwendungsprogram mierer hergestellt wurden, unter Umständen keinen einheitli chen Standardmechanismus aufweisen. Daher entsprechen solche Anwendungsprogramme nicht den diesbezüglichen Anforderungen.A second difficulty of the NLS system is that it has one Application programmer requires to have a program on hand to develop purposes in the event that a night Straighten file while trying to open a file or retrieve a message from a file, not found that will. Such a program typically provides one standard hard-coded message ready to use when a message or message file not found becomes. However, such standard messages are only provided to the application programmer. So An application programs through various application programs were manufactured, possibly not uniform Chen standard mechanism. Therefore, such correspond Application programs do not meet the relevant requirements.
Schließlich sind diese Systeme, teilweise aufgrund des Man gels an Durchsichtigkeit und Verläßlichkeit, nicht in der Lage von der "Verschachtelungs"-Fähigkeit eines Systems Ge brauch zu machen. D. h. wenn ein Anwendungsprogramm ein ande res Anwendungsprogramm betreibt (d. h. es macht einen "ver schachtelten" Aufruf), dann wird die Information über die Dialogsprache nicht "verschachtelt". Ein Benutzer ist also nicht in der Lage verschiedene Sprachen für verschiedene Programmebenen zu spezifizieren.After all, these systems are partly due to the man because of transparency and reliability, not in the Location of the "nesting" ability of a system Ge need to do. That is, if one application program is another res application program (i.e. it makes a "ver nested "call), then the information about the Dialog language not "nested". So is a user unable different languages for different To specify program levels.
Anwendungswörterbücher werden üblicherweise in großen Mehr fach-Benutzer-Systemen verwendet und enthalten übliche Un terprogramme, auf die eine Vielzahl von Anwendungsprogrammen zugreifen. Der Zugriff auf diese Anwendungswörterbücher be inhaltet oft eine Art von verschachteltem Aufruf. Ohne die Schaffung einer mehrsprachigen Unterstützung für verschach telte Anwendungsprogramme oder Wörterbücher kann die Nach richtenhandhabung für Anwendungswörterbücher unverläßlich oder sogar unvorhersehbar sein.Application dictionaries are usually used in large numbers specialist user systems used and contain common Un ter programs to which a variety of application programs access. Access to these application dictionaries be often contains a kind of nested call. Without that Creating multilingual support for chess Subsequent application programs or dictionaries can be used Directional handling for application dictionaries is unreliable or even be unpredictable.
Daher liegt der Erfindung die Aufgabe zugrunde, ein Verfah ren zu schaffen, welches eine Nachrichtendatei mit einem An wendungsprogramm oder mit einer Bibliothek ohne einen Bedie ner-Dialog verbindet. The invention is therefore based on the object of a method to create a message file with a user application program or with a library without an operator ner dialogue connects.
Die Aufgabe der Erfindung wird durch ein Verfahren gekenn
zeichnet durch die folgenden Schritte gelöst:
Bereitstellen einer Verbindungstabelle mit einer Mehrzahl
von Verbindungen zwischen den Anwendungsprogrammen und Nach
richtendateien, wobei eine Verbindung Werte speichert, die
auf ein Anwendungsprogramm, eine natürliche Sprache und eine
Speicherstelle für eine Nachrichtendatei, die dem Anwen
dungsprogramm und der natürlichen Sprache in dem Speicher
zugeordnet ist, hinweisen;
Auswählen einer natürlichen Sprache durch das Anwendungspro
gramm;
Zugreifen auf die Verbindungstabelle zum Auswählen des der
Nachrichtendatei für das Anwendungsprogramm in der gewählten
natürlichen Sprache zugeordneten Speicherplatzes;
Abrufen der Textinformationen von der Nachrichtendatei; und
Ausgabe der zutreffenden Textinformation an den Benutzer.The object of the invention is characterized by a method characterized by the following steps:
Providing a connection table with a plurality of connections between the application programs and message files, a connection storing values related to an application program, a natural language and a storage location for a message file associated with the application program and the natural language in the memory, Clues;
Selecting a natural language through the application program;
Accessing the connection table to select the space allocated to the application program message file in the selected natural language;
Retrieving the text information from the message file; and
Output of the relevant text information to the user.
Damit ist ein Verfahren zum Betrieb eines Datenverarbei tungssystems ist damit geschaffen worden, welches Anwen dungsprogramme ausführt und welches den Dialog mit einem Be nutzer in mehreren, natürlichen Sprachen durchführt. Ein Be nutzer kann mit einem Programm in einer Sprache und mit ei nem anderen Programm in einer anderen Sprache kommunizieren. Andere Benutzer können mit demselben Programm in noch weite ren, verschiedenen Sprachen kommunizieren. Jedes Anwendungs programm hat wenigstens eine korrespondierende Nachrichten datei, die Nachrichten in einer natürlichen Sprache enthält. Das Datenverarbeitungssystem speichert Anwendungsprogramme und korrespondierende Nachrichtendateien und führt die Ver arbeitungsschritte der gespeicherten Anwendungsprogramme aus. Ein Anwendungsprogramm kann Nachrichten von einem sei ner korrespondierenden Nachrichtendateien in einer ausge wählten natürlichen Sprache abrufen. Um die Nachricht abzu rufen, speichert das Datenverarbeitungssystem Verbindungen in einer Verbindungstabelle, in welcher jede Verbindung ei nes Anwendungsprogrammes oder eine Wörterbuches die Lage der korrespondierenden Nachrichtendatei bereithält, die die Nachrichten in der für das Anwendungsprogramm oder das Wör terbuch gegebenen natürlichen Sprache enthält. Für ein An wendungsprogramm oder ein Wörterbuch können in dem Datenver arbeitungssystem nebeneinander mehrere natürliche Sprachen, vorzugsweise durch das Betriebssystem, bereit gehalten wer den. Eine Verbindung in der Verbindungstabelle wird vorzugs weise durch den Prozeß des Ladens einer Nachrichtendatei ei nes Anwendungsprogrammes in den Speicher erstellt. Die Ver bindungstabelle wird abgesucht, um die Nachrichtendatei für eine ausgewählte, natürliche Sprache herauszufinden und an schließend wird die gewünschte Nachricht in der durch die Verbindung angezeigten Nachrichtendatei gefunden. Die ausge wählte, natürliche Sprache wird zumindest aus der momentan verwendeten Dialogsprache eines gegebenen Anwendungsprogram mes und einer Standardsprache ausgewählt. Das System spei chert vorzugsweise sowohl die momentane Dialogsprache als auch die Standardsprache. Üblicherweise wird die Standard sprache initialisiert, wenn ein Benutzer beginnt, das Daten verarbeitungssystem zu benutzen. Die momentane Dialogsprache wird bestimmt, wenn ein Anwendungsprogramm aktiviert wird.This is a method of operating data processing system has been created, which application programs and which the dialogue with a Be users in multiple natural languages. A Be Users can use a program in one language and with an egg communicate with another program in another language. Other users can still work with the same program different languages. Any application program has at least one corresponding message file containing messages in a natural language. The data processing system stores application programs and corresponding message files and maintains the ver steps of the stored application programs out. An application program can be messages from one ner corresponding message files in one out chose to retrieve natural language. To get the message off call, the data processing system stores connections in a connection table in which each connection egg nes application program or a dictionary the location of the Corresponding message file that the Messages in the for the application program or the word contains given natural language. For an arrival Application program or a dictionary can in the data work system side by side several natural languages, preferably by the operating system, who is available the. A connection in the connection table is preferred wise through the process of loading a message file nes application program created in the memory. The Ver Loyalty table is scanned to the message file for find out and select a natural language the desired message is then closed by the Connection displayed message file found. The out chosen, natural language is at least from the moment used dialog language of a given application program mes and a standard language selected. Save the system preferably saves both the current dialog language and also the standard language. Usually the standard Language initializes when a user starts the data processing system to use. The current dialog language is determined when an application program is activated.
Bei der Abrufung von Nachrichten wird eine Dialogsprache ausgewählt aus zumindest einer momentanen Dialogsprache und der Standarddialogsprache. Dann wird eine Nachricht unter Verwendung der ausgewählten Dialogsprache aufgerufen.A dialog language is used when retrieving messages selected from at least one current dialog language and the standard dialog language. Then a message will appear below Called using the selected dialog language.
Sobald das Datenverarbeitungssystem angewiesen worden ist, ein Anwendungsprogramm auszuführen, wird die momentane Dia logsprache in einer dem Anwendungsprogramm und dem Benutzer ersichtlichen Weise initialisiert. Die momentane Dialogspra che wird normalerweise als Standardsprache bestimmt; jedoch kann eine gewünschte Dialogsprache bestimmt werden, wenn das Programm aufgerufen ist. Sobald eine Dialogsprache bestimmt ist, wird die momentane Dialogsprache als die gewünschte Dialogsprache gesetzt, falls sie verfügbar ist.Once the data processing system has been instructed, executing an application program, the current slide Log language in one of the application program and the user initialized obviously. The current dialogue language che is usually set as the default language; however a desired dialog language can be determined if the Program is called. As soon as a dialog language is determined is the current dialog language as the desired one Dialog language set, if it is available.
Weiterhin speichert das System vorzugsweise verschachtelte Sprachinformationen zur Verwendung in Verbindung mit ver schachtelten Anwendungsprogrammen oder geschichteten Verfah rensschritten. Wenn ein Anwendungsprogramm ein anderes An wendungsprogramm oder eine Wörterbuch aufruft, dann wird die momentane Dialogsprache als die verschachtelte Sprachinfor mation abgespeichert. Diese verschachtelte Sprachinformation ist vorzugsweise ein Stapelregister oder eine verbundene Li ste. Dann wird die momentane Dialogsprache als zumindest ei ne der folgenden Sprachen gesetzt: eine angezeigte, ge wünschte Dialogsprache, die vorhergehende momentane Dialog sprache oder eine Standardsprache. Wenn ein geschachteltes Anwendungsprogramm beendet ist, wird das vorhergehende An wendungsprogramm wieder abgespeichert und für das vorherge hende Anwendungsprogramm wird die momentane Dialogsprache zurückgesetzt zu der vorhergehenden Dialogsprache. Die vor hergehende Dialogsprache und die verschachtelte Sprachinfor mation für das wieder abgespeicherte Anwendungsprogramm kann dann von den Mitteln zur Speicherung verschachtelter Sprach informationen zurückgeholt werden.The system also preferably stores nested ones Language information for use in connection with ver nested application programs or layered procedures steps. If an application program is another type application program or a dictionary, then the current dialog language as the nested language information mation saved. This nested speech information is preferably a stack register or a connected Li ste. Then the current dialog language is at least egg set one of the following languages: a displayed, ge desired dialogue language, the previous current dialogue language or a standard language. If a nested Application program is finished, the previous to application program saved again and for the previous Application program becomes the current dialog language reset to the previous dialog language. The before outgoing dialog language and the nested language information mation for the saved application program then the means for storing nested speech information can be retrieved.
Durch die Verwendung von Standardsprachen werden Anwendungswörterbücher mit mehrsprachigen Eingabe und Ausga befähigkeiten versehen. Unterprogrammaufrufe an Anwendungs wörterbüchern können in ähnlicher Weise wie verschachtelte Anwendungsprogramme behandelt werden. By using standard languages Application dictionaries with multilingual input and output skills. Subroutine calls to applications dictionaries can be nested in a similar way Application programs are treated.
In der bevorzugten Ausführungsform der Erfindung verarbeitet das Betriebssystem mehrsprachige Dialoge. Ein Anwendungspro gramm instruiert das Betriebssystem, eine Nachrichtendatei zu laden und Nachrichten davon aufzurufen.Processed in the preferred embodiment of the invention the operating system multilingual dialogs. An application pro grams instructs the operating system, a message file to load and retrieve messages from it.
Ein Ausführungsbeispiel der Erfindung ist in den Figuren dargestellt.An embodiment of the invention is in the figures shown.
Es zeigen:Show it:
Fig. 1 ein Blockdiagramm eines zur Durchführung der Er findung geeigneten Datenverarbeitungssystemes zeigt; Figure 1 shows a block diagram of a data processing system suitable for carrying out the invention;
Fig. 2 eine dreidimensionale Ansicht einer typischen Be nutzerstation des Datenverarbeitungssystemes ge mäß Fig. 1 zeigt; FIG. 2 shows a three-dimensional view of a typical user station of the data processing system according to FIG. 1;
Fig. 3 ein Blockdiagramm die Struktur des Zentralrech ners gemäß Fig. 1 zeigt; FIG. 3 shows a block diagram of the structure of the central computer according to FIG. 1;
Fig. 4 eine schematische Darstellung der Aufteilung des Speichers gemäß Fig. 3 in private und gemeinsame Abschnitte zeigt; Fig. 4 shows a schematic representation of the division of the memory according to Fig. 3 into private and common sections;
Fig. 5 ein Diagramm einer Datenstruktur einer Verbin dungstabelle zur Speicherung von Verbindungen zwischen Ausgabe-Nachrichtendateien und Anwen dungsprogrammen und Wörterbüchern zeigt; Fig. 5 shows a diagram of a data structure of a connection table for storing connections between output message files and application programs and dictionaries;
Fig. 6 ein Diagramm einer Datenstruktur einer System-In formations-Tabelle zur Speicherung von Informa tionen über den momentanen Status der Dialogkapa zitäten zeigt; Fig. 6 is a diagram of a data structure of a system-in formations table for storing Informa tion shows capacities of the current status of the Dialogkapa;
Fig. 7 ein Diagramm einer Datenstruktur einer System- Sprach-Tabelle zur Speicherung von Sprachnamen und korrespondierender Sprachkodes zeigt; Fig. 7 is a diagram of a data structure of a voice system table shows for storing voice names and corresponding language code;
Fig. 8 ein Diagramm einer Datenstruktur einer System- Freigabe-Tabelle zur Speicherung von Informatio nen über die Freigabe der Dialog-Kapazitäten zeigt; Fig. 8 is a diagram of a data structure of a system enable table for storing INFORMATIO on releasing the dialogue shows capacities;
Fig. 9 ein Diagramm einer Datenstruktur zur Speicherung der Sprachkode für die Benutzer-Standardsprache zeigt; Fig. 9 shows a diagram of a data structure for storing the language code for the user standard language;
Fig. 10 ein Diagramm einer Datenstruktur eines durch den Benutzer verschlüsselten Sprach-Stapelregisters zur Speicherung von Dialog-Sprachinformationen für verschachtelte Programme zeigt; Fig. 10 shows a diagram of a data structure of a user-encrypted language stack for storing dialog language information for nested programs;
Fig. 11 ein Diagramm einer Datenstruktur einer Benutzer- Sprach-Tabelle zur Speicherung von Informationen über die von einem speziellen Benutzer benutzten Dialog-Sprachen zeigt; FIG. 11 is a diagram of a data structure of a user speech table shows for storing information about the use of a particular user dialog languages;
Fig. 12 ein Diagramm einer Datenstruktur einer Benutzer- Sprach-Korrespondenztabelle zur Speicherung von Dialog-Sprachnamen und Kodes eines Benutzers und korrespondierenden Systemkodes zeigt; FIG. 12 is a user language correspondence table for storing dialog-language names and codes is a diagram showing a data structure of a user and corresponding Systemkodes;
Fig. 13 ein Diagramm einer Datenstruktur einer Benutzer- Informations-Tabelle zur Speicherung von Informa tionen über die momentanen Dialogkapazitäten ei nes Benutzers zeigt; FIG. 13 is a diagram of a data structure of a user information table for storing Informa tion about the current dialog capacity ei shows nes user;
Fig. 14 ein Fließdiagramm zeigt, welches beschreibt, wie das Datenverarbeitungssystem gemäß Fig. 1 konfi guriert werden kann, um vollständig freigegeben zu werden, um in mehreren Sprachen zu kommunizie ren; Figure 14 shows a flow diagram describing how the data processing system of Figure 1 can be configured to be fully enabled to communicate in multiple languages;
Fig. 15 ein Fließdiagramm zeigt, welches beschreibt, wie das Datenverarbeitungssystem gemäß Fig. 1 konfi guriert werden kann, um in einer vorgegebenen An zahl von Sprachen zu kommunizieren; FIG. 15 shows a flow diagram which describes how the data processing system according to FIG. 1 can be configured to communicate in a predetermined number of languages;
Fig. 16 ein Fließdiagramm zeigt, welches beschreibt, wie eine Betriebssystem-Standardsprache geändert wer den kann; Figure 16 shows a flowchart describing how an operating system default language can be changed;
Fig. 17 ein Fließdiagramm zeigt, welches beschreibt, wie eine Nachrichtendatei einer Dialog-Sprache für ein gemeinsames Anwendungsprogramm geladen werden kann; Fig. 17 shows a flowchart describing how a dialog language message file can be loaded for a common application program;
Fig. 18 ein Fließdiagramm zeigt, welches beschreibt, wie ein gemeinsames Anwendungsprogramm in den Spei cher geladen werden kann; Fig. 18 shows a flowchart describing how a common application program can be loaded into the memory;
Fig. 19 ein Fließdiagramm zeigt, welches beschreibt, wie das Datenverarbeitungssystem konfiguriert werden kann und wie es privat zum Dialog in mehreren Sprachen für ausschließlich private Anwendungs programme freigegeben werden kann; Fig. 19 shows a flow chart which describes how the data processing system may be configured and how it can be released private programs dialog in different languages for exclusively private application;
Fig. 20 ein Fließdiagramm zeigt, welches beschreibt, wie mehrsprachige Dialoge für einen Benutzer über ei ne erste Verwendung von dem Datenverarbeitungs system initialisiert werden kann; Fig. 20 shows a flow chart which describes how multi-language dialogues to a user via ei ne first use of the data processing system can be initialized;
Fig. 21 ein Fließdiagramm zeigt, welches beschreibt, wie die Benutzer-Standardsprache geändert werden kann; Figure 21 shows a flow diagram describing how the user default language can be changed;
Fig. 22 ein Fließdiagramm zeigt, welches beschreibt, wie ein Anwendungsprogramm für einen mehrsprachigen Gebrauch aufgerufen werden kann; Figure 22 shows a flowchart describing how an application program can be called for multilingual use;
Fig. 23A bis Fig. 23B zeigen Fließdiagramme, die die Schritte zur Auf findung einer Nachrichtendatei und die Ladung der Nachrichtendatei in den Speicher zeigt; . FIG. 23A to 23B are flow charts showing the steps of the invention on a message file and the charge of the message file into the memory;
Fig. 24 ein Fließdiagramm zeigt, welches beschreibt, wie eine Nachrichtendatei eines Anwendungsprogrammes in einen Pro-Benutzer-Speicher überführt werden kann; Fig. 24 shows a flowchart describing how an application program message file can be transferred to per-user memory;
Fig. 25 ein Fließdiagramm zeigt, welches beschreibt, wie eine Anwender-Sprach-Tabelle erweitert werden kann; Figure 25 shows a flow diagram describing how a user speech table can be expanded;
Fig. 26 ein Fließdiagramm zeigt, welches die Schritte zur Auffindung einer Nachricht für eine Standard-Auf gabe-Funktion zeigt; Fig. 26 is a flowchart showing the steps of finding a message for a standard task function;
Fig. 27 ein Fließdiagramm zeigt, welches die Schritte zur Auffindung einer Nachricht für ein gemeinsames Anwendungsprogramm zeigt; Fig. 27 shows a flow diagram showing the steps for finding a message for a common application program;
Fig. 28 ein Fließdiagramm zeigt, welches die Schritte zur Auffindung einer Nachricht für ein privates An wendungsprogramm zeigt; Fig. 28 is a flowchart showing the steps of finding a message for a private application program;
Fig. 29 ein Fließdiagramm zeigt, welches beschreibt, wie eine Eingabe eines Benutzers in einer natürlichen Sprache durch das Datenverarbeitungssystem ver standen werden kann; Fig. 29 shows a flow diagram that describes how a user's input in a natural language by the data processing system can be stood ver;
Fig. 30 ein Fließdiagramm zeigt, welches beschreibt, wie ein Anwendungsprogramm oder ein Wörterbuch und seine Nachrichtendateien aus dem Speicher oder dem Gebrauch zurückgebracht werden können; Figure 30 shows a flow diagram describing how an application program or dictionary and its message files can be returned from memory or use;
Fig. 31 ein Fließdiagramm zeigt, welches beschreibt, wie eine Anwendungsprogramm-Ebene nach der Beendigung eines verschachtelten Aufrufes wieder abgespei chert werden kann; Fig. 31 shows a flow chart describing how an application program level after the termination of a call can be nested chert abgespei again;
Fig. 32 ein Fließdiagramm zeigt, welches beschreibt, wie eine Liste von bestehenden Dialog-Sprachen eines Anwendungsprogrammes bereitgestellt werden kann; und Fig. 32 shows a flow diagram describing how a list of existing dialog languages of an application program can be provided; and
Fig. 33 ein Fließdiagramm zeigt, welches beschreibt, wie eine Liste von verfügbaren Dialog-Sprachen be reitgestellt werden kann. Fig. 33 shows a flow diagram describing how a list of available dialog languages can be provided.
Die Fig. 1 bis 4 stellen die Struktur eines Datenverarbei tungssystemes 38 zur Durchführung der Erfindung dar. Das Da tenverarbeitungssystem 38 enthält wenigstens einen Zentral rechner 40, der mit wenigstens einer Benutzerstation 42 durch eine Kommunikationsverbindung 44, wie einem Kabel oder einem Kommunikationsbus, welchselseitig verbunden ist. Zu sätzlich können der Zentralrechner 40 und die Benutzersta tionen 42 wechselseitig mit dem System in einer ähnlichen Weise verbunden sein. Fig. 1 zeigt K mit dem Zentralrechner verbundene Benutzerstationen 42. Jede Benutzerstation ist mit Index n gekennzeichnet, wobei n = 1... K sein kann. Jede Benutzerstation 42 erlaubt es einem Benutzer, mit dem Zentralrechner 40 wechselseitig zu kommunizieren; sodaß meh rere Benutzerstationen 42 es mehr als einem Benutzer ermög lichen, das System gleichzeitig zu benutzen. Ebenso kann mehr als ein Benutzer eine Benutzerstation verwenden. Die Benutzerstation 42 (Fig. 2) kann eine Tastatur 46, einen Mo nitor 48 und andere Vorrichtungen enthalten, die den Benut zer in die Lage versetzen, Nachrichten in einer natürlichen Sprache zu empfangen und zu übermitteln. Figs. 1 to 4 illustrate the structure of a data-processing system 38 for carrying out the invention. The Since tenverarbeitungssystem 38 includes at least one central computer 40, which is connected to at least one user station 42 by a communications link 44, such as a cable or a communication bus welchselseitig is. In addition, the central computer 40 and the user stations 42 can be mutually connected to the system in a similar manner. Fig. 1 shows K with the central computer connected user stations 42. Each user station is identified with index n, where n = 1 ... K can be. Each user station 42 allows a user to reciprocally communicate with the central computer 40 ; so that multiple user stations 42 allow more than one user to use the system simultaneously. Likewise, more than one user can use a user station. User station 42 ( FIG. 2) may include a keyboard 46 , monitor 48, and other devices that enable the user to receive and transmit messages in a natural language.
Wie in Fig. 3 gezeigt ist, kann der Zentralrechner 40, eine Datenverarbeitungseinheit 50, einen Speicher 52, nämlich ei nen Direktzugriffsspeicher und einen Langzeitspeicher 53, nämlich einen Platten-Speichermechanismus enthalten. Die Da tenverarbeitungseinheit 50 hat einen Lese- und Schreibzu griff sowohl zu dem Speicher 52 als auch zu dem Langzeit speicher 53. Der Speicher 52 kann eine Kopie eines Anwen dungsprogrammes zu dessen Ausführung durch die Datenverar beitungseinheit 50 aufnehmen. Der Speicher 52 kann ferner eine Nachrichtendatei für das Anwendungsprogramm aufnehmen. Die Datenverarbeitungseinheit 50 ist durch Kommunikations verbindungen 44 mit den jeweiligen Benutzerstationen 42 ver bunden.As shown in FIG. 3, the host computer 40 may include a data processing unit 50 , a memory 52 , namely a random access memory, and a long-term memory 53 , namely a disk storage mechanism. The data processing unit 50 has a read and write access to both the memory 52 and the long-term memory 53 . The memory 52 can receive a copy of an application program for its execution by the data processing unit 50 . Memory 52 may also hold a message file for the application program. The data processing unit 50 is connected via communication connections 44 to the respective user stations 42 .
Der Speicher 52 ist, wie in Fig. 4 schematisch dargestellt ist, vorzugsweise derart in logische Abschnitte unterteilt, daß ein Benutzer sowohl exklusiven Lese- und Schreibzugriff zu einem Privatabschnitt (Privatspeicher) 54 des Speichers hat, als auch Lesezugriff zu einem Gemeinschaftsabschnitt (Gemeinschaftsspeicher) 56, den der Benutzer mit anderen Be nutzern teilt, hat. Der Gemeinschaftsspeicher 56 nimmt Anwen dungsprogramme und Nachrichtendateien auf, die von mehreren Benutzers verwendet werden können. Der Privatspeicher 54 kann privat angelegte Anwendungsprogramme und Nachrichtenda teien aufnehmen. Fig. 4 zeigt drei Privatspeicherabschnitte (gekennzeichnet Benutzer/1, Benutzer/2 und Benutzer/K) und den Gemeinschaftsspeicher (gekennzeichnet "alle Benutzer"). The memory 52 , as shown schematically in FIG. 4, is preferably divided into logical sections such that a user has both exclusive read and write access to a private section (private memory) 54 of the memory and read access to a shared section (shared memory). 56 , which the user shares with other users. The shared storage 56 houses application programs and message files that can be used by multiple users. The private memory 54 can hold private application programs and message files. Figure 4 shows three private storage sections (labeled user / 1 , user / 2 and user / K ) and the shared storage (labeled "all users").
Benutzer/1 kann Lese- und Schreibzugriff nur zu dem mit Be nutzer/1 korrespondierenden Privatspeicher 54 und Lesezu griff zu dem Gemeinschaftsspeicher 56 haben. In gleicher Weise kann Benutzer/K Lese- und Schreibzugriff nur zu dem zu Benutzer/K korrespondierenden Privatspeicher 54 und Lesezu griff zu dem Gemeinschaftsspeicher 56 haben. Schreibzugriff zu dem Gemeinschaftsspeicher wird nur in besonderen Umstän den geschaffen, nämlich für einen Systemverwalter.User / 1 can read and write access corresponding only to the user with Be / 1 private memory 54 and Lesezu handle to the shared memory 56 have. In the same way, user / K can have read and write access only to the private memory 54 corresponding to user / K and read access to the shared memory 56 . Write access to the shared memory is only created in special circumstances, namely for a system administrator.
Ein geeignetes Datenverarbeitungssystem 38 ist die durch die Firma Prime Computer of National, Massachusetts, vertriebene Prime 50 Computerserie. zu Darstellungszwecken konzentriert sich die nachfolgende Beschreibung auf eine Verwirklichung unter Verwendung dieses Systems. Solch eine Prime 50 Daten verarbeitungsanlage kann unter Verwendung der Programmier sprache "SPL" (die dem PL/I ähnlich ist) konfiguriert werden um die Datenstrukturen und die weiter unten beschriebenen Prozesse zu implementieren. Die Speicherstruktur hat vor zugsweise eine ringförmige Architektur, aber andere Stan dardspeicherstrukturen können auch geeignet sein. Die obige Beschreibung in Verbindung mit den Fig. 1-4 hat rein beschreibenden Charakter. Andere, einen Gemeinschafts- und Privatspeicher aufweisende Mehrfachbenutzer-Computersysteme sind ebenso zur Ausführung der Erfindung geeignet. Basierend auf dieser technischen Lehre weiß der Durchschnittsfachmann, wie er die hierin beschriebenen Datenstrukturen und Flies diagramme abändern muß um sie auf andere Architekturen oder andere Systeme einsetzen zu können.A suitable data processing system 38 is the Prime 50 computer series marketed by Prime Computer of National, Massachusetts. for purposes of illustration, the following description focuses on implementation using this system. Such a Prime 50 data processing system can be configured using the programming language "SPL" (which is similar to the PL / I) to implement the data structures and the processes described below. The memory structure preferably has an annular architecture, but other standard memory structures may also be suitable. The above description in connection with FIGS. 1-4 is purely descriptive. Other shared and private storage multi-user computer systems are also suitable for practicing the invention. Based on this technical teaching, the average person skilled in the art knows how to change the data structures and flow diagrams described here in order to be able to use them on other architectures or other systems.
Um mehrsprachige Dialoge mit auf einem oben beschriebenen System laufenden Anwendungsprogrammen durchführen zu können, hat ein Anwendungsprogramm zumindest einen korrespondieren den Nachrichtenteil. Eine Nachrichtendatei enthält Eingabe- und Ausgabenachrichten für ein Anwendungsprogramm in einer natürlichen Sprache. Nachrichtendateien, die Nachrichten in verschiedenen natürlichen Sprachen bereithalten, werden vor zugsweise separat gespeichert. Eine Nachrichtendatei sollte so bezeichnet werden, daß der Name einer Nachrichtendatei von dem Anwendungsprogramm und der Sprache einfach bestimmt werden kann. Ein geeignetes Format ist "<Anwendungsname<. <Sprache<. msg". Der Fachmann kennt auch andere geeignete Formate. Das ausgewählte Format hängt oft von dem Rechner ab, auf dem das System verwirklicht ist.To multilingual dialogues with on one described above To be able to execute system-running application programs, an application program has to correspond to at least one the news section. A message file contains input and output messages for an application program in one natural language. Message files that contain messages in different natural languages are available preferably stored separately. A message file should to be referred to as the name of a message file simply determined by the application program and the language can be. A suitable format is "<application name <. <Language <. msg ". The person skilled in the art also knows other suitable ones Formats. The format chosen often depends on the computer on which the system is implemented.
Eine geeignete Nachrichtendatei, nämlich "Beispiel. eng lisch. msg" enthält zwei Nachrichten:A suitable message file, namely "example. Eng lish. msg "contains two messages:
Max-Benutzer-überschritten "Das System erlaubt keine Benut zer in diesem Moment".Max user exceeded "The system does not allow users zer at this moment ".
Nicht-erreichbar "Ihr ursprüngliches Verzeichnis kann momen tan nicht erreicht werden".Unavailable "Your original directory may be missing tan cannot be reached ".
Derartige Nachrichtendateien können von einer Nachrichten quelldatei entwickelt werden, die die Nachrichten für alle Sprachen enthalten. Die Quelldatei kann compiliert werden um verschiedene Nachrichtendateien zu erzeugen. Eine Quelldatei hilft die Genauigkeit von Übersetzungen einer Nachricht da durch zu gewährleisten, daß sie diese in einer gemeinsamen Datei plaziert, so daß ein Benutzer sie gleichzeitig be trachten kann. Eine derartige Quelldatei ist in Tabelle I gezeigt.Such message files can be from a message Source file to be developed that the news for everyone Languages included. The source file can be compiled around to generate different message files. A source file helps the accuracy of translations of a message by ensuring that they share this in one File placed so that a user can be can try. Such a source file is in Table I shown.
Wenn die Nachrichten-Quelldatei kompeliert ist, dann kann eine Überführung von Mnemoniken (wie "Max-Benutzer-über schritten") in Nummern ebenso durchgeführt werden um Spei cherplatz zu sparen. Die in der Nachrichten-Quelldatei ver wendeten Sprachnamen und die Namen der Nachrichtendateien können andere Kennzeichen des Sprachennamens sein und müssen nicht dem korrekten Namen, zum Beispiel englisch, entspre chen. Diese anderen Kennzeichnungen können Abkürzungskodes, wie den ISO-Standard 639 oder den Länderkode enthalten.If the message source file is compiled, then can a transfer of mnemonics (like "max-user-about steps ") in numbers are also carried out to save save space. The ver. In the message source file used language names and the names of the message files can and must be other characteristics of the language name does not correspond to the correct name, for example English chen. These other labels can be abbreviation codes, like the ISO standard 639 or the country code.
LANGUAGES
0'English'
1'francais'
2'Deutsch'
max users exceeded
0'System not admitting users at this time'
1'Nombre maximum d'usagers depasse.
2'Maximale Benutzer-Anzahl wird überschritten.'
unable to at or
0'Unable to attach to your initial directory.'
1'Incapable de vous relier a votre boite initiale.'
2'Ihr ursprüngliches Verzeichnis kann nicht erreicht werden'.LANGUAGES
0'English '
1'francais'
2'German '
max users exceeded
0'System not admitting users at this time '
1'Nombre maximum d'usagers depasse.
2'Maximum number of users is exceeded. '
unable to at or
0'Unable to attach to your initial directory. '
1'Incapable de vous relier a votre boite initiale. '
2'Your original directory cannot be reached '.
Wenn ein Anwendungsprogramm (oder ein Wörterbuch) in den Speicher geladen ist, dann muß auch eine Nachrichtendatei für das Programm in den Speicher geladen werden. Um das An wendungsprogramm, die Nachrichtendatei und den Benutzer mit einander zu verbinden, so daß das Anwendungsprogramm in die Lage versetzt wird Nachrichten von einer Nachrichtendatei abzurufen, muß eine Verbindung zwischen dem Anwendungspro gramm und seiner Nachrichtendatei aufgebaut werden. Für ei nen Benutzer speichert eine Verbindungstabelle 60 (Fig. 5) Verbindungen für von dem Benutzer geladene Programme.If an application program (or a dictionary) is loaded into memory, then a message file for the program must also be loaded into memory. In order to connect the application program, the message file and the user to one another so that the application program is able to retrieve messages from a message file, a connection must be established between the application program and its message file. For a user, a connection table 60 ( FIG. 5) stores connections for programs loaded by the user.
In dem Privatspeicher 54 steht für jeden Benutzer für priva te Anwendungsprogramme die Verbindungstabelle 60 bereit. Der Gemeinschaftsspeicher 56 (Fig. 3) enthält ebenso eine Ver bindungstabelle 60 für Gemeinschafts-Anwendungsprogramme.The connection table 60 is available in the private memory 54 for each user for private application programs. The shared memory 56 ( FIG. 3) also contains a connection table 60 for shared application programs.
Eine zusätzliche Verbindungstabelle 60 für das Betriebssy stem, die sich von der Verbindungstabelle des Gemein schalftsspeichers unterscheidet, kann auch bereitgestellt werden. Aus Darstellungsgründen wird für die nachfolgende Beschreibung der Arbeitsweise des Systems angenommen, daß eine separate Verbindungstabelle für das Betriebssystem be reitsgestellt ist.An additional connection table 60 for the operating system, which differs from the connection table of the shared memory, can also be provided. For the sake of illustration, the following description of the operation of the system assumes that a separate connection table for the operating system is provided.
Eine Verbindung 65 einer Verbindungstabelle 60 enthält eine Kennzeichnung des Anwendungsprogrammes, der Sprache für eine Nachrichtendatei und der Speicherstelle der Nachrichtendatei im Speicher. Eine bevorzugte Form einer Verbindung enthält ein Programmfeld 62, ein Sprachfeld 68 und einer Zeigerfeld 66. Ein Programmfeld 62 identifiziert ein Anwendungspro gramm, welches den Namen des Anwendungsprogramms oder alter nativ den Bereich der Speicherstelle seines Verfahrenskodes im Speicher verwendet. Ein Sprachfeld 68 kennzeichnet die natürlichen Sprachen, in denen die Nachrichten der geladenen Nachrichtendateien geschrieben sind. Ein Sprachfeld 68 kann den Namen der Sprache, eine Nummer oder alternativ einen Mnemonikkode speichern und hat eine Größe, die von der Im plementierung abhängt. Ein Zeigerfeld 66 enthält einen Zei ger zu der Speicherstelle im Speicher, an welcher die Nach richtendatei geladen ist.A connection 65 of a connection table 60 contains an identifier of the application program, the language for a message file and the storage location of the message file in the memory. A preferred form of connection includes a program field 62 , a voice field 68, and a pointer field 66 . A program field 62 identifies an application program which uses the name of the application program or alternatively the area of the memory location of its method code in the memory. A language field 68 identifies the natural languages in which the messages of the loaded message files are written. A speech field 68 can store the name of the language, a number or, alternatively, a mnemonic code and has a size that depends on the implementation. A pointer field 66 contains a pointer to the location in memory where the message file is loaded.
In einer Verbindungstabelle 60 ist eine Verbindung aufge baut, wenn eine Nachrichtendatei für ein Anwendungsprogramm in einem Gemeinschaftsspeicher 56 oder Privatspeicher 54 ge laden ist. Die durch eine aufgebaute Verbindung angezeigte Sprache ist "installiert" für das Anwendungsprogramm. Die Installation von Sprachen und anderen Betriebsweisen des Sy stems wird weiter unten ausführlich beschrieben werden.A connection is established in a connection table 60 when a message file for an application program is loaded in a shared memory 56 or private memory 54 . The language indicated by an established connection is "installed" for the application program. The installation of languages and other modes of operation of the system will be described in detail below.
Die Fig. 6-8 sind Diagramme von Datenstrukturen, wie sie im Gemeinschaftsspeicher 56 des Datenverarbeitungs systemes 38 vorkommen. Diese Strukturen stellen die Grundun terstützung zum Betreiben des Systems im mehrsprachigen Dia log für Gemeinschaftsanwendungen zur Verfügung. Diese Struk turen enthalten eine System-Informations-Tabelle 70 (Fig. 6), eine System-Sprach-Tabelle 76 (Fig. 7) und eine System- Freigabe-Tabelle 90 (Fig. 8). Die System-Informations-Tabel le 70 (Fig. 6) hält Informationen bezüglich des Status der mehrsprachigen Dialog-Kapazitäten bereit. Die System-Sprach- Tabelle 76 (Fig. 7) wird zum Abgleich von Sprachnamen mit Sprachkodes verwendet. Die System-Freigabe-Tabelle 90 (Fig. 8) hält Informationen bezüglich des Status der Freigabe des Systems bereit. Figs. 6-8 are diagrams of data structures, such as the data processing systemes occur in shared memory 56 38. These structures provide basic support for operating the system in the multilingual dialog for community applications. These structures include a system information table 70 ( FIG. 6), a system language table 76 ( FIG. 7) and a system release table 90 ( FIG. 8). The system information table 70 ( FIG. 6) contains information regarding the status of the multilingual dialog capacities. The system language table 76 ( Fig. 7) is used to match language names with language codes. The system release table 90 ( FIG. 8) provides information regarding the status of the release of the system.
Die System-Informations-Tabelle 70 (Fig. 6) wird nun aus führlich beschrieben. Die System-Informations-Tabelle 70 enthält ein Feld 72, welches die maximale Anzahl von Spra chen anzeigt, die in dem System installiert werden kann. Die System-Informations-Tabelle 70 enthält ebenso ein instal liertes Sprachfeld 74, welches die Anzahl der natürlichen Sprachen anzeigt, die momentan auf dem System installiert sind. Sowohl das Feld 72 als auch das Feld 74 haben die Grö ße eine Bytes. Der Wert des installierten Sprachfeldes 74 ist durch den Wert des maximalen Sprachfeldes 72 begrenzt. Eine System-Sprach-Tabelle 76, wie sie weiter unten in Ver bindung mit Fig. 7 beschrieben wird, kann ebenso in der Sy stem-Informations-Tabelle 70 enthalten sein.The system information table 70 ( FIG. 6) will now be described in detail. The system information table 70 includes a field 72 that indicates the maximum number of languages that can be installed in the system. The system information table 70 also contains an installed language field 74 which indicates the number of natural languages currently installed on the system. Both field 72 and field 74 are one byte in size. The value of the installed speech field 74 is limited by the value of the maximum speech field 72 . A system language table 76 , as described below in connection with FIG. 7, may also be included in the system information table 70 .
Die System-Informations-Tabelle 70 enthält weiterhin ein Zeigerfeld 78, welches verwendet wird um die Speicherstelle der Verbindungstabelle 60 für das Betriebssystem im Speicher 52 zu kennzeichnen. In der System-Informations-Tabelle 70 wird ebenso ein Zeigerfeld 79 geschaffen um die Speicher stellen der Verbindungs-Tabelle 60 für den Gemeinschafts speicher (Fig. 5) im Speicher 52 (Fig. 3) zu kennzeichnen. Obwohl es für beide Zeigerfelder 78 und 79 möglich ist, durch die aktuelle Verbindungstabelle 60 zu der sie zeigen versetzt zu werden, ist es aus zwei Gründen vorteilhaft, die Verbindungstabellen 60 von der System-Informations-Tabelle 70 zu trennen. Diese Trennung erlaubt es der Verbindungsta belle 60 dynamisch zugeordnet zu werden, während sie der Sy stem-Informations-Tabelle 70 erlaubt, statisch zugeordnet zu werden. Weil die System-Informations-Tabelle 70 eine feste Größe hat, ist für diese Tabelle eine dynamische Zuordnung nicht erforderlich. Durch das Vorhandensein von verschiede nen Verbindungstabellen für das Betriebssystem und für Ge meinschaftsprogramme wird der Zugriff zu der Verbindungsta belle 60 für das Betriebssystem durch das System einge schränkt, so daß eine größere Sicherheit für das Betriebssy stem geschaffen wird.The system information table 70 further contains a pointer field 78 , which is used to identify the location of the connection table 60 for the operating system in the memory 52 . In the system information table 70 , a pointer field 79 is also created in order to identify the locations of the connection table 60 for the shared memory ( FIG. 5) in the memory 52 ( FIG. 3). Although it is possible for both pointer fields 78 and 79 to be moved by the current connection table 60 to which they point, it is advantageous to separate the connection tables 60 from the system information table 70 for two reasons. This separation allows the connection table 60 to be assigned dynamically, while allowing the system information table 70 to be assigned statically. Because the system information table 70 has a fixed size, dynamic allocation is not required for this table. Due to the presence of various connection tables for the operating system and for community programs, access to the connection table 60 for the operating system is restricted by the system, so that greater security is created for the operating system.
Die System-Sprach-Tabelle 76, dargestellt in Fig. 7, hat Einträge 80, die einen Sprachkode 82 und einen korrespondie renden Sprachnamen 84 enthalten. Ein Beispiel für einen Sprachnamen 84 ist "englisch".The system language table 76 , shown in FIG. 7, has entries 80 which contain a language code 82 and a corresponding language name 84 . An example of a language name 84 is "English".
Der Sprachkode 82 ist vorzugsweise ein numerischer Kode, aber auch andere Kodes, wie Mnemonikcodes, wie "ENG" oder Zahlen können auch verwendet werden. Die Größe des Sprachko des 82 ist vorzugsweise ein Byte. Auf Eintragungen in der System-Sprach-Tabelle 76 kann entweder der Eintrag des Sprachkodes 82 oder der Eintrag des Sprachnamens 84 zugrei fen. Das Feld des Sprachnamens 84 ist aus 10 dynamisch zuge ordneten Zeichen gemacht.Speech code 82 is preferably a numeric code, but other codes such as mnemonic codes such as "ENG" or numbers can also be used. The size of the Sprachko des 82 is preferably one byte. Entries in the system language table 76 can be accessed either by the entry of the language code 82 or by the entry of the language name 84 . The field of the language name 84 is made up of 10 dynamically assigned characters.
Der System-Sprach-Tabelle 76 ist genug Speicherplatz zuge ordnet um die maximale Anzahl von Einträge 80 zu speichern, die der maximal spezifizierten Anzahl von Sprachfeldern 74 entspricht. Somit hat die System-Informations-Tabelle 70 ei ne feste, vorbestimmte Größe. Feld 72 wird während der In itialisierung des Systems auf einen vorbestimmten Wert, zum Beispiel "16" gesetzt.The system language table 76 is allocated enough storage space to store the maximum number of entries 80 , which corresponds to the maximum specified number of language fields 74 . Thus, the system information table 70 has a fixed, predetermined size. Field 72 is set to a predetermined value, for example "16", during system initialization.
Die System-Freigabe-Tabelle 90 (Fig. 8) ist geschaffen um den Status der Freigabe der Dialog-Kapazität des Systems an zuzeigen, wie oben bereits beschrieben wurde. Der Status des Dialoges kann entweder "private Freigabe" oder "volle Frei gabe" sein. Das System ist privat freigegeben, wenn das Sy stem in der Lage ist mit einem Benutzer durch ein in den Privatspeicher 54 geladenes Anwendungsprogramm oder ein Wör terbuch in mehreren natürlichen Sprachen zu kommunizieren. Das System ist voll freigegeben, wenn das System in der Lage ist, mit einem Benutzer über gemeinschaftliche und private Anwendungsprogramme und über das Betriebssystem in mehreren natürlichen Sprachen zu kommunizieren.The system release table 90 ( FIG. 8) is created to indicate the status of the release of the dialog capacity of the system, as already described above. The status of the dialog can be either "private release" or "full release". The system is privately released when the system is able to communicate with a user through an application program loaded into private memory 54 or a dictionary in multiple natural languages. The system is fully released when the system is able to communicate with a user through shared and private application programs and through the operating system in multiple natural languages.
Der Inhalt der System-Freigabe-Tabelle 90 unterscheidet sich in den verschiedenen Freigabezuständen, wie in den Spalten 91 bzw. 93 in Fig. 8 gezeigt ist. Feld 92 wird verwendet um anzuzeigen, ob das System zumindest privat freigegeben ist. Das heißt, Feld 92 enthält einen Falschwert, zum Beispiel 0, wenn das System nicht für den privaten Gebrauch freigegeben ist. Feld 92 kann durch ein einzelnes Bit realisiert werden, das zwischen einer logischen 0 und einer logischen 1 ge schaltet werden kann. Die Verwendung dieses Feldes 92 ermög licht mehrsprachige Dialoge mit privaten Anwendungsprogram men (das heißt, das System kann privat freigegeben sein) oh ne den Dialog mit dem Betriebssystem und den gemeinschaftli chen Anwendungen (d. h. wenn das System nicht voll freigege ben ist) freizugeben. Diese Fähigkeit ist besonders in Ge bieten wertvoll, wo das Betriebssystem und/oder gemein schaftliche Anwendungen mit nur einer (oder keiner) Dialog- Sprache-Nachrichtendatei versehen ist, aber wo Benutzer pri vate Anwendungsprogramme mit mehreren Nachrichtendateien ha ben.The content of the system release table 90 differs in the different release states, as shown in columns 91 and 93 in FIG. 8. Field 92 is used to indicate whether the system is at least privately released. That is, field 92 contains an incorrect value, for example 0, if the system is not released for private use. Field 92 can be implemented by a single bit that can be switched between a logic 0 and a logic 1. The use of this field 92 enables multilingual dialogues with private application programs (that is, the system can be privately released) without the dialog with the operating system and the collaborative applications (ie, when the system is not fully released). This capability is particularly valuable in areas where the operating system and / or collaborative applications are provided with only one (or no) dialog language message file, but where users have private application programs with multiple message files.
Das System-Standard-Sprachenfeld 94 hat die Größe von einem Byte, ist also auch in der System-Freigabe-Tabelle 90 vor handen, um die natürliche Standard-Sprache des Betriebssy stems zum Dialog mit einem Benutzer anzuzeigen. Wenn ein Be nutzer ein privates oder ein gemeinschaftliches Anwendungs programm benutzt, für das die Benutzer Standard-Sprache nicht erhältlich ist, versucht das System diese Standard sprache zu benutzen. Schließlich ist ein Zeigerfeld 96 be reitgestellt um den Speicherplatz der System-Informations- Tabelle 70 im Speicher 52 anzuzeigen.The system standard language field 94 has the size of one byte, and is therefore also present in the system release table 90 in order to display the natural standard language of the operating system for dialogue with a user. If a user uses a private or a shared application program for which the user standard language is not available, the system tries to use this standard language. Finally, a pointer field 96 is provided to indicate the memory location of the system information table 70 in the memory 52 .
Die Strukturen der Fig. 6-8, die sich im Gemeinschafts speicher 56 (Fig. 4) wiederfinden, schaffen eine Basisstruk tur für mehrsprachige Dialoge mit dem Betriebssystem und ge meinschaftlichen Anwendungsprogrammen. Solche Dialoge sind vorzugsweise in einer Weise bereitsgestellt, die einfach freigegeben und gesperrt werden können. Zu diesem Zweck wird vorzugsweise nur die System-Freigabe-Tabelle gemäß Fig. 8 als eine permanente Struktur des Systems gepflegt. Daher brauchen andere Informationen und Strukturen nicht zugeord net werden, wenn ein mehrsprachiger Dialog nicht voll frei gegeben ist.The structures of FIGS. 6-8, which can be found in the common memory 56 ( FIG. 4), create a basic structure for multilingual dialogues with the operating system and common application programs. Such dialogues are preferably provided in a way that can be easily released and blocked. For this purpose, preferably only the system release table according to FIG. 8 is maintained as a permanent structure of the system. Therefore, other information and structures do not need to be assigned if a multilingual dialogue is not fully available.
Bezugnehmend auf die Fig. 9-13 werden nun die auf einer Pro-Benutzer-Basis zugewiesenen Datenstrukturen in einer be vorzugten Ausführungsform der Erfindung beschrieben. Die folgenden Datenstrukturen werden für den Benutzer im Privat speicher 54, zusammen mit einer Verbindungs-Tabelle 60 für den Privatspeicher bereitgehalten: Ein dem System-Standard- Sprache-Feld 94 (Fig. 8) ähnlichen Benutzer-Standard-Spra chen-Feld 100 (Fig. 9), eine der System-Sprach-Tabelle 76 ähnliche Benutzer-Sprach-Tabelle 110 (Fig. 11-12); eine der System-Informations-Tabelle 70 ähnliche Benutzerinforma tionstabelle 130 (Fig. 13) und ein verschachteltes Sprach- Stapelregister 102 (Fig. 10) zur Speicherung verschachtelter Sprachinformationen.Referring to FIGS. 9-13, the data structures assigned on a per-user basis will now be described in a preferred embodiment of the invention. The following data structures are kept ready for the user in private memory 54 , together with a connection table 60 for private memory: A user standard language field 100 (similar to system standard language field 94 ( FIG. 8)) ( Fig. 9), a user voice table 110 similar to system voice table 76 ( Figs. 11-12); a user information table 130 similar to the system information table 70 ( FIG. 13) and an interleaved speech stack register 102 ( FIG. 10) for storing interleaved speech information.
Das Benutzer-Standardsprachen-Feld 100 (Fig. 9) dient der Speicherung der bevorzugten Dialogsprache eines Benutzers und hat eine Größe von einem Byte. Wenn die Struktur 100 ei nem Benutzer zugewiesen ist, dann benutzt es den Wert des System-Standartsprachenfeldes 94 (Fig. 8), außer es wird durch den Benutzer ausdrücklich geändert. Durch die Ausfüh rung eines Befehles von der Benutzerstation ist der Benutzer in der Lage, diese Standardsprache zu ändern. Dieser Befehl ist vorzugsweise in der Form des Namens der gewünschten Sprache, wie "französisch" auszuführen. Die Schritte dieses Befehles werden später in Verbindung mit Fig. 21 ausführlich beschrieben werden. Wenn das System für mehrsprachige Dialo ge freigegeben ist, dann zeigt Feld 100 eine Sprache durch einen Sprachennamen, einen Sprachenkode oder durch eine an dere Art von Kennzeichnung (Spalte 101) an. Ansonsten ent hält es einen Nicht-Sprachwort, zum Beispiel -1 (Spalte 99). Das Feld 100 für die Benutzersprache ist vorzugsweise im Speicher 52 abgespeichert, welcher nicht re-initialisiert wird, wenn ein Benutzer-Prozeß re-initialisiert wird. In ei ner ringförmigen Architektur kann ein Ring diese Bedingung erfüllen. Für das System und gemeinschaftliche Anwendungen ist dieses Feld 100 analog zum System-Standard-Sprachenfeld 94. Es zeigt eine zu verwendende Standardsprache an, wenn für das Betriebssystem oder Anwendungsprogramme oder Wörter bücher keine andere Sprache spezifiziert oder verfügbar ist. Wenn diese Sprache nicht verfügbar ist, kann das System die Standardsprache benutzen. The user standard language field 100 ( FIG. 9) is used to store the preferred dialog language of a user and has a size of one byte. If the structure 100 is assigned to a user, then it uses the value of the system default language field 94 ( FIG. 8) unless explicitly changed by the user. By executing a command from the user station, the user is able to change this default language. This command should preferably be executed in the form of the name of the desired language, such as "French". The steps of this command will be described in detail later in connection with FIG. 21. If the system is approved for multilingual dialogue, field 100 displays a language by a language name, a language code or by some other type of identification (column 101 ). Otherwise it contains a non-spoken word, for example -1 (column 99 ). The field 100 for the user language is preferably stored in the memory 52 , which is not re-initialized when a user process is re-initialized. In a ring-shaped architecture, a ring can meet this requirement. For the system and community applications, this field 100 is analogous to the system standard language field 94 . It indicates a default language to use when no other language is specified or available for the operating system or application programs or dictionaries. If this language is not available, the system can use the default language.
Ein verschachteltes Sprach-Stapelregister 102 (Fig. 10) wird einem Benutzer ebenso bereitgestellt. Es kann in Verbindung mit einem Standardmechanismus zur Verschachtelung von Anwen dungsprogrammen eingesetzt werden. Dieses verschachtelte Sprach-Stapelregister 102 ist wie ein Stapelregister oder eine ähnliche Struktur wie eine verbundene Liste oder ein Feld aufgebaut. Ein Eintrag 104 in dem verschachtelten Sprach-Stapelregister 102 enthält ein Feld 106, welches die Sprache anzeigt, in der ein zuvor gelaufenes gemeinschaftli ches Anwendungsprogramm mit dem Benutzer kommuniziert hat, sowie ein Feld 108, welches die Sprache anzeigt, in der ein zuvor gelaufenes privates Anwendungsprogramm mit dem Benut zer kommuniziert hat. In einem Eintrag 104 zeigt eines die ser Felder eine Sprache an und die anderen speichern einen Nicht-Sprachwort. Jedes Feld hat vorzugsweise eine Größe von einem Byte.An interleaved speech stack 102 ( FIG. 10) is also provided to a user. It can be used in conjunction with a standard application program nesting mechanism. This nested voice stack 102 is constructed like a stack or a structure similar to a linked list or field. An entry 104 in the interleaved speech stack register 102 includes a field 106 which indicates the language in which a previously run collaborative application program communicated with the user and a field 108 which indicates the language in which a previously run private application Application program communicated with the user. In an entry 104 , one of these fields indicates a language and the others store a non-language word. Each field is preferably one byte in size.
Eine Benutzer-Sprach-Tabelle 110 (Fig. 11) wird einem Benut zer zur Speicherung von Informationen über verfügbare oder installierte private Dialog-Sprachen bereitgestellt. Das in stallierte Sprachenfeld 112 ist geschaffen um die Anzahl der Sprachen anzuzeigen, die installiert sind und hat eine Größe von vorzugsweise einem Byte. Weil einer installierten Spra che ein Kode, vorzugsweise eine Zahl beigefügt ist, kann die Anzahl der installierten Sprachen verwendet werden, um den Kode für eine neuerlich installierte Sprache zu erzeugen.A user language table 110 ( FIG. 11) is provided to a user for storing information about available or installed private dialog languages. The installed language field 112 is designed to display the number of languages that are installed and is preferably one byte in size. Because a code, preferably a number, is attached to an installed language, the number of languages installed can be used to generate the code for a newly installed language.
Es kann vorkommen, daß sich der Kode eines Benutzers für ei ne private Sprache von dem Kode der Systemsprache für die Sprache, die in der System-Sprach-Tabelle 76 gefunden wurde unterscheidet. Deshalb wird eine Benutzersprachen-Zugehörig keits-Tabelle 114 geschaffen, die die Zugehörigkeit zwischen einem spezifischen Benutzer-Sprachkode und Sprachnamen mit den systemweiten Sprachkodes anzeigt. Die Struktur der Be nutzersprachen-Zugehörigkeits-Tabelle 114 ist in Fig. 12 ausführlicher dargestellt. In der Benutzersprachen-Zugehö rigkeits-Tabelle 114 kann ein Eintrag 116 entweder unter Verwendung eines Feldes 118 für den Benutzer-Sprachkode oder unter Verwendung eines Feldes 120 mit einer Größe von etwa 10 Zeichen, die den zugehörigen Sprachnamen anzeigen und ei nes Feldes 122, welches den durch das Betriebssystem benutz ten Sprachkode anzeigt, indiziert werden, wie es durch die System-Sprach-Tabelle 76 (Fig. 7) aufgebaut ist. Die Felder 120 und 122 können eine Größe von etwa 1 Byte haben. Die Be nutzersprachen-Zugehörigkeits-Tabelle 114 wird verwendet, weil der von einem Benutzer benutzte Sprachkode zur Darstel lung einer Sprache von dem von dem Rest des Systems benutz ten Kode abweichen kann.A user's code for a private language may differ from the system language code for the language found in the system language table 76 . Therefore, a user language membership table 114 is created that shows the association between a specific user language code and language name with the system-wide language codes. The structure of the user language membership table 114 is shown in more detail in FIG . In the user language affiliation table 114 , an entry 116 can either use a field 118 for the user language code or use a field 120 approximately 10 characters long to indicate the associated language name and a field 122 which indicates the language code used by the operating system, as indicated by the system language table 76 ( FIG. 7). Fields 120 and 122 can be approximately 1 byte in size. The user language membership table 114 is used because the language code used by a user to represent a language may differ from the code used by the rest of the system.
Die Benutzer-Informations-Tabelle 130 (Fig. 13) ist der Sy stem-Informations-Tabelle 70 ähnlich. Diese Tabelle wird verwendet, um die benutzerspezifischen Informationen zusam menzufassen und um Verbindungen zu den systemweiten Informa tionen bereitzustellen. Diese Tabelle enthält vier Zeiger felder 132, 142, 144 und 146. In den Spalten 131 bzw. 133 sind repräsentative Werte für ein freigegebenes System und ein nichtfreigegebenes System gezeigt. Das Zeigerfeld 132 zeigt die Speicherstelle des durch den Benutzer verschach telten Sprach-Stapelregisters 102 (Fig. 10) an. Das Zeiger feld 142 zeigt die Speicherstelle der Verbindungs-Tabelle 60 (Fig. 5) im Privatspeicher 54 an, welche für einen Benutzer eines Privatspeichers 54 bereitgestellt ist. Das Zeigerfeld 144 zeigt die Speicherstelle der System-Informations-Tabelle 70 (Fig. 6) im Gemeinschaftsspeicher 56 (Fig. 3) an. Schließlich zeigt das Zeigerfeld 146 die Speicherstelle der Benutzer-Sprach-Tabelle 110 (Fig. 11) an. Eines oder mehrere dieser Zeigerfelder können jederzeit durch die Strukturen, auf die sie zeigen, ersetzt werden. Jedoch wenn der mehr sprachige Dialog des Systems nicht freigegeben ist, dann spart das Separieren dieser Strukturen Speicherplatz. Wenn die Benutzer-Informations-Tabelle 130 Strukturen mit unter schiedlicher Größe enthält, dann hat es keine feste Größe mehr, was möglich aber nicht bevorzugt ist.The user information table 130 ( FIG. 13) is similar to the system information table 70 . This table is used to summarize the user-specific information and to provide connections to the system-wide information. This table contains four pointer fields 132 , 142 , 144 and 146 . Columns 131 and 133 show representative values for a released system and a non-released system. The pointer field 132 indicates the location of the user interleaved voice stack 102 ( Fig. 10). The pointer field 142 indicates the location of the connection table 60 ( FIG. 5) in the private memory 54 , which is provided for a user of a private memory 54 . Pointer field 144 indicates the location of system information table 70 ( FIG. 6) in shared memory 56 ( FIG. 3). Finally, the pointer field 146 indicates the location of the user voice table 110 ( FIG. 11). One or more of these pointer fields can be replaced at any time by the structures they point to. However, if the system's multilingual dialog is not released, then separating these structures saves space. If the user information table 130 contains structures of different sizes, then it no longer has a fixed size, which is possible but not preferred.
Die verbleibenden Felder der Benutzer-Information-Tabelle 130 (Fig. 13) enthalten ein Feld 134, welche die Dialogspra che für das momentan laufende private Anwendungsprogramm und ein korrespondierendes Feld 136 für gemeinschaftliche Anwen dungsprogramme anzeigt. Ein Feld 138 zeigt die momentane ma ximale Anzahl von Privatsprachen an, in denen ein Benutzer mit dem System kommunizieren kann. Diese Anzahl kann dyna misch, vorzugsweise in Schritten von 4, expandieren, soweit notwendig. Schließlich wird ein Feld 140 verwendet, um die maximale Menge von Privatspeichern 54 anzuzeigen, die ein Benutzer haben kann. Alle diese Felder haben eine Größe von vorzugsweise 1 Byte.The remaining fields of the user information table 130 ( FIG. 13) contain a field 134 which indicates the dialog language for the currently running private application program and a corresponding field 136 for community application programs. A field 138 indicates the current maximum number of private languages in which a user can communicate with the system. This number can expand dynamically, preferably in steps of 4, if necessary. Finally, a field 140 is used to indicate the maximum amount of private storage 54 that a user can have. All of these fields are preferably 1 byte in size.
Der mehrsprachige Betrieb einer bevorzugten Ausführungsform der Erfindung wird nun in Verbindung mit den Fig. 14 bis 33 beschrieben.The multilingual operation of a preferred embodiment of the invention will now be described in connection with FIGS. 14 to 33.
Allgemein kann die Betriebsweise in folgender Weise be schrieben werden. Ein Anwendungsprogramm kann Eingabe- und Ausgabe-Nachrichtenbefehle enthalten, die den in einsprachi gen Systemen verwendeten Befehlen ähnlich erscheinen. Gleichwohl kann ein Anwendungsprogramm nur die gewünschten Nachrichten anzeigen, die eine Nachrichtenzahl oder ein Mnemonik verwenden. Das Betriebssystem eines Computers oder eines mehrsprachigen Prozessors empfängt diesen Befehl und bestimmt die Nachrichtendatei, von der die angezeigte Nach richt abgerufen werden soll. Die oben bevorzugten Daten strukturen und die hiernach bevorzugten Prozessoren unter stützen diesen Dialog durch ein Erkenntlichmachen des mehr sprachigen Dialoges für den Anwendungsprogrammierer und Be nutzer. In general, the operation can be in the following way be written. An application program can input and Output message commands containing that in monolingual Commands used in systems appear similar. Nevertheless, an application program can only do the desired Show messages that have a message number or a Use mnemonics. The operating system of a computer or a multilingual processor receives this command and determines the message file from which the displayed after to be called up. The preferred dates above structures and the preferred processors below support this dialogue by making the more recognizable language dialog for the application programmer and Be user.
Die Konfiguration eines Systems für voll freigegebene, mehr sprachige Dialoge mit Anwendern, wie es beispielhaft durch die Fig. 1 bis 4 gezeigt ist, wird in Verbindung mit dem Fließdiagramm gemäß Fig. 14 ausführlicher beschrieben wer den. Der Konfigurationsprozeß enthält die Initialisierung von Systemvariablen oder Argumenten und das Laden von Nach richtendateien für das Betriebssystem, sowie den Aufbau von Verbindungen hierzu. Diese Konfiguration beginnt mit der Su che (Schritt 150) von geeigneten Nachrichtendateien für das Betriebssystem. Eine Zählvariable oder ein Argument, z. B. Name "X", wird als die Anzahl der gefundenen Sprachen ge setzt. Falls erwünscht, kann die Zahl "X" durch einen Benut zer einfach gesetzt werden, um die Suche in Schritt 150 zu erleichtern. Diese Option ist wünschenswert, wenn die Anzahl der Sprachen bekannt ist. Dann wird das System für den Ge brauch mit der Anzahl "X" Sprachen in Schritt 152 konfigu riert. Der Schritt 152 der Konfiguration des Systems zum Ge brauch von "X" Sprachen wird ausführlich in Verbindung mit Fig. 15 beschrieben. Wenn der Schritt 152 der Konfiguration des Systems nicht erfolgreich ist, wie Schritt 154 heraus findet, dann wird ein Fehler signalisiert (Schritt 158). Wenn die Konfiguration des Systems erfolgreich ist, dann wird die Durchführung mit Schritt 156 fortgesetzt, indem Nachrichtendateien für die verfügbaren Sprachen geladen wer den. Der Prozeß der Ladung einer Nachrichtendatei wird aus führlicher in Verbindung mit Fig. 17 beschrieben.The configuration of a system for fully released, multi-lingual dialogues with users, as shown by way of example by FIGS. 1 to 4, is described in more detail in connection with the flow diagram according to FIG. 14. The configuration process includes the initialization of system variables or arguments and the loading of message files for the operating system, as well as the establishment of connections to them. This configuration begins with the search (step 150 ) of suitable message files for the operating system. A count variable or argument, e.g. B. Name "X" is set as the number of languages found. If desired, the number "X" can be easily set by a user to facilitate the search in step 150 . This option is desirable if the number of languages is known. Then the system is configured for use with the number of "X" languages in step 152 . Step 152 of configuring the system to use "X" languages is described in detail in connection with FIG. 15. If step 152 of configuring the system is not successful, as found in step 154 , then an error is signaled (step 158 ). If the configuration of the system is successful, execution continues with step 156 by loading message files for the available languages. The process of loading a message file is described in more detail in connection with FIG. 17.
Der Prozeß der Konfiguration des Systems für mehrsprachige Dialoge mit einer Anzahl "X" von natürlichen Sprachen wird durch das Fließdiagramm gemäß Fig. 15 dargestellt. In diesem Prozeß wird in Schritt 160 zuerst bestimmt, ob das System bereits konfiguriert oder vorzugsweise durch Überprüfung des Zeigerfeldes 96 (Fig. 8), welches anzeigt, ob die System-In foramtions-Tabelle 70 initialisiert wurde, voll freigegeben wurde. Weil ein konfiguriertes System nicht rekonfiguriert werden sollte, solange andere Benutzer es verwenden, wird ein Fehler signalisiert (Schritt 162), wenn eine Rekonfigu ration versucht wurde. Anderenfalls wird das System in Schritt 164 durch Verminderung des Speicherplatzes für die System-Informations-Tabelle 70 (Fig. 6) sowie die Verbin dungstabellen 60 (Fig. 5) für das Betriebssystem und für ge meinschaftliche Anwendungsprogramme konfiguriert.The process of configuring the system for multilingual dialogs with a number "X" of natural languages is illustrated by the flow chart of FIG. 15. In this process, it is first determined in step 160 whether the system has already been configured or has been fully released, preferably by checking pointer field 96 ( FIG. 8), which indicates whether system information table 70 has been initialized. Because a configured system should not be reconfigured as long as other users are using it, an error is signaled (step 162 ) if a reconfiguration has been attempted. Otherwise, the system is configured in step 164 by reducing the storage space for the system information table 70 ( FIG. 6) and the connection tables 60 ( FIG. 5) for the operating system and for common application programs.
Die Größe der System-Sprach-Tabelle 76 (Fig. 7), für die ei ne Verminderung (Schritt 164) durchgeführt wurde, wird durch die Anzahl der durch den Wert "X" angezeigten Sprachen be stimmt. Durch diesen Verminderungs-Schritt 164 werden die Zeigerfelder 78 und 79 der System-Informations-Tabelle 70 (Fig. 6) gesetzt. Das Zeigerfeld 96 (Fig. 8) der System- Freigabe-Tabelle 90 wird ebenso in Schritt 164 gesetzt. Die verbleibenden Werte der System-Informations-Tabelle 70, d. h. das installierte Sprachfeld 74 und das maximale-Anzahl-der- Sprachen-Feld 72 für die maximale Anzahl der Sprachen werden in Schritt 166 jeweils zu der Anzahl der installierten Spra chen und zu der maximalen Anzahl der Sprachen, z. B. des Wer tes von "X" gesetzt. Anschließend wird der mehrsprachige Dialog für private Anwendungsprogramme in Schritt 168 durch Besetzen des Feldes 92 der System-Freigabe-Tabelle 90 mit einem "Wahr"-Wert (Schritt 168) freigegeben. Nach der Been digung des Konfigurationsschrittes bleiben die Verbindungs tabellen 60 leer und es gibt keine Sprachworte in den Sprachtabellen. Weiterhin müssen Nachrichtendateien noch in stalliert werden (Feld 72) und eine Standard-Dialogsprache (Feld 94) muß noch gesetzt werden.The size of the system language table 76 ( Fig. 7) for which a reduction (step 164 ) was performed is determined by the number of languages indicated by the value "X". Through this decrease step 164 , the pointer fields 78 and 79 of the system information table 70 ( FIG. 6) are set. The pointer field 96 ( FIG. 8) of the system release table 90 is also set in step 164 . The remaining values of the system information table 70 , ie the installed language field 74 and the maximum number of languages field 72 for the maximum number of languages, become in step 166 the number of languages installed and the maximum Number of languages, e.g. B. the value of "X" set. The multilingual dialog for private application programs is then released in step 168 by filling the field 92 of the system release table 90 with a "true" value (step 168 ). After completing the configuration step, the connection tables 60 remain empty and there are no language words in the language tables. Furthermore message files have to be installed (field 72 ) and a standard dialog language (field 94 ) has to be set.
Die Standard-Dialogsprache des Betriebssystems (Feld 94) kann durch eine Person mit ausreichender Systemauthorisa tion, wie einem Systemverwalter, durch Verwendung eines in Fig. 16 beschriebenen Prozesses geändert werden. Der System verwalter ruft den Prozeß auf, der eine gewünschte, neue Dialogsprache anzeigt. Weil die Standardsprache des Systems nicht geändert werden sollte, außer das System wird konfigu riert, sollte solch eine Konfiguration geprüft werden (Schritt 170 ähnlich dem Schritt 160 der Fig. 15) und ein Fehler angezeigt werden (Schritt 172), wenn das System nicht konfiguriert ist. Wenn das System konfiguriert ist, dann ist bestimmt (Schritt 174), ob die Nachrichtendatei für die ge wünschte Dialogsprache in den Speicher geladen ist. Wenn die gewünschte Dialogsprache nicht in den Speicher geladen ist, dann wird ein Fehler signalisiert (Schritt 175) und der Be trieb wird abgebrochen. Anderenfalls wird das Feld 94 der Standard-Dialogsprache des Betriebssystems (Fig. 8) gesetzt (Schritt 178) um die gewünschte Sprache anzuzeigen. Diese Standardsprache des Systems ist nicht die gleiche wie die Standardsprache des Benutzers. Erstere kann nur durch den Systemverwalter oder dergleichen verändert werden; letztere durch den Benutzer, obwohl beide dieselbe Sprache anzeigen können.The standard operating system dialog language (field 94 ) can be changed by a person with sufficient system authorization, such as a system administrator, using a process described in FIG. 16. The system administrator calls the process that displays a desired new dialog language. Because the system's default language should not be changed unless the system is being configured, such a configuration should be checked (step 170 similar to step 160 of Figure 15) and an error displayed (step 172 ) if the system is not configured is. If the system is configured, then it is determined (step 174 ) whether the message file for the desired dialog language is loaded into memory. If the desired dialog language is not loaded in the memory, an error is signaled (step 175 ) and the operation is terminated. Otherwise, the field 94 of the standard dialog language of the operating system ( FIG. 8) is set (step 178 ) to display the desired language. This system default language is not the same as the user's default language. The former can only be changed by the system administrator or the like; the latter by the user, although both can display the same language.
Wenn das System konfiguriert wurde, können Anwendungspro gramme geladen und ausgeführt werden und Verbindungen werden zwischen Programmen und Nachrichtendateien hergestellt.Once the system has been configured, application pro programs are loaded and executed and connections are made between programs and message files.
Der Prozeß zur Ladung einer Nachrichtendatei für eine Dia logsprache für eine gemeinschaftliche Anwendung wird nun in Verbindung mit Fig. 17 beschrieben. Für diesen Prozeß wurde die gewünschte Dialogsprache für das Anwendungsprogramm be reits aufgebaut. Der erste Schritt dieses Prozesses ist Schritt 180 (ähnlich dem Schritt 160), der bestimmt, ob das System für einen mehrsprachigen Dialog freigegeben ist. Wenn das System nicht voll freigegeben ist, wird ein Fehler si gnalisiert (Schritt 182) und das Verfahren wird abgebrochen. Wenn in Schritt 180 festgestellt wird, daß das System be reits für einen mehrsprachigen Dialog konfiguriert wurde, dann wird der Sprachkode für die gewünschte Dialogsprache in der System-Sprach-Tabelle 76 (Fig. 7) in Schritt 184 ge sucht. Wenn der Kode nicht gefunden wird und wenn die Tabel le 76 voll ist, was in Schritt 186 festgestellt wird, dann wird ein Fehler signalisiert (Schritt 188), der anzeigt, daß auf dem System bereits die maximale Anzahl von Sprachen in stalliert wurde.The process for loading a dialog language message file for a collaborative application will now be described in connection with FIG. 17. The desired dialog language for the application program has already been set up for this process. The first step in this process is step 180 (similar to step 160 ), which determines whether the system is approved for multilingual dialog. If the system is not fully enabled, an error is signaled (step 182 ) and the process is terminated. If it is determined in step 180 that the system has already been configured for a multilingual dialog, then the language code for the desired dialog language is searched in the system language table 76 ( FIG. 7) in step 184 . If the code is not found and if table 76 is full, which is determined in step 186 , then an error is signaled (step 188 ) which indicates that the maximum number of languages has already been installed on the system.
Wenn der Sprachkode in Schritt 184 nicht gefunden wird, aber die System-Sprach-Tabelle 76 nicht voll ist, dann wird ein Eintrag 80 zu der System-Sprach-Tabelle 76 (Schritt 190) für diesen Sprachkode und seinen zugehörigen Sprachnamen hinzu gefügt. Nachdem der Sprachkode für die Nachrichtendatei der nachgesuchten Dialogsprache in der System-Sprach-Tabelle ge funden wurde (Schritt 184) oder in ihr in Schritt 190 pla ziert wurde, wird der Speicherplatz im Gemeinschaftsspeicher 56 für diese Nachrichtendatei vermindert (Schritt 192). Im Anschluß an den Schritt 192 der Verminderung des Speicher platzes wird die Verbindungstabelle 60 (Fig. 5) für den Ge meinschalftsspeicher gesucht, um zu bestimmen, ob ein alter Zeiger zu einer Nachrichtendatei für diese Dialogsprache existiert. Wenn ein alter Zeiger gefunden wird, wird dieser vorübergehend durch Schritt 194 gesichert. Im Anschluß an die Sicherung des alten Zeigers in Schritt 194 wird der neue Zeiger zu dieser Nachrichtendatei in der Verbindungstabelle 60 (Schritt 196) gespeichert, der wiederum von einem Schritt 198 gefolgt wird, der einen zuvor in Schritt 194 gespeicher ten, alten Nicht-Nullzeiger rückzuordnet.If the language code is not found in step 184 , but the system language table 76 is not full, then an entry 80 is added to the system language table 76 (step 190 ) for that language code and its associated language name. After the language code for the message file of the dialog language sought is found in the system language table (step 184 ) or placed therein in step 190 , the storage space in the shared memory 56 for this message file is reduced (step 192 ). Following step 192 of space reduction, the connection table 60 ( FIG. 5) for the shared memory is searched to determine whether an old pointer to a message file for that dialog language exists. If an old pointer is found, it is temporarily saved by step 194 . Following the saving of the old pointer in step 194 , the new pointer to this message file is stored in the connection table 60 (step 196 ), which in turn is followed by a step 198 which is an old non-zero pointer previously saved in step 194 rearranged.
Nachrichtendateien für ein gemeinsames Anwendungsprogramm sind normalerweise nicht geladen, außer das Anwendungspro gramm ist in einem Gemeinschaftsspeicher 56 geladen. Der oben beschriebene Prozeß nimmt an, daß ein gemeinschaftli ches Anwendungsprogramm in den Speicher 52 geladen ist und daß die Nachrichtendatei für die gewünschte Dialogsprache existiert. Die Existenz einer gemeinschaftlichen Nachrich tendatei wird in Schritt 150 (Fig. 14) für Nachrichtendatei en des Betriebssystems überprüft und Schritt 206 (Fig. 18) wird für gemeinschaftliche Anwendungsprogramme später be schrieben werden.Message files for a shared application program are normally not loaded unless the application program is loaded in shared memory 56 . The process described above assumes that a collaborative application program is loaded into memory 52 and that the message file exists for the desired dialog language. The existence of a shared message file is checked in step 150 ( Fig. 14) for message files of the operating system and step 206 ( Fig. 18) will be described later for shared application programs.
Ein gemeinschaftliches Anwendungsprogramm, nicht jedoch das Betriebssystem wird normalerweise durch eine Person mit aus reichender Authorisation, wie einen Systemverwalter, durch die Einführung eines Ladebefehles geladen. Der Prozeß des Ladens ist durch das Fließdiagramm von Fig. 18 skizziert. Das Laden eines gemeinschaftlichen Anwendungsprogrammes als Antwort auf einen Ladebefehl beginnt mit Schritt 204, der das Anwendungsprogramm in den Gemeinschaftsspeicher 56 lädt. Als nächstes wird in Schritt 205 überprüft, ob ein mehrspra chiger Dialog mit dem System durch Überprüfung des Zeiger feldes 96 der System-Freigabetabelle 90 (Fig. 8) voll frei gegeben ist. Wenn ein mehrsprachiger Dialog nicht voll frei gegeben ist, dann ist die Ladeoperation abgeschlossen. Ande renfalls wird die Operation mit Schritt 206 fortgeführt, der die verfügbaren Nachrichtendateien für das gemeinschaftliche Anwendungsprogramm bestimmt. Jede verfügbare Nachrichtenda tei wird dann in dem Gemeinschaftsspeicher 56 (Schritt 208) gemäß des oben in Verbindung mit der Fig. 17 beschriebenen Prozesses geladen.A collaborative application program, but not the operating system, is normally loaded by a person with sufficient authorization, such as a system administrator, through the introduction of a load command. The process of loading is outlined by the flow diagram of FIG. 18. Loading a shared application program in response to a load command begins at step 204 , which loads the application program into shared memory 56 . It is next checked in step 205 whether a multilingual dialogue with the system is fully enabled by checking the pointer field 96 of the system release table 90 ( FIG. 8). If a multilingual dialog is not fully released, the loading operation is complete. Otherwise, the operation continues to step 206 , which determines the available message files for the collaborative application program. Any available message file is then loaded into shared memory 56 (step 208 ) according to the process described above in connection with FIG. 17.
Wenn die Prozesse gemäß der Fig. 14 und 15 erfolgreich abgeschlossen wurden, dann ist das System für einen mehr sprachigen Dialog mit dem Betriebssystem und jedem anderen durch den Prozeß gemäß Fig. 18 geladenen, gemeinschaftlichen Anwendungsprogramm voll freigegeben. Die Freigabe eines mehrsprachigen Dialoges mit privaten Anwendungsprogrammen wird in Verbindung mit den Fig. 19 und 20 noch beschrie ben werden. If the processes according to FIGS. 14 and 15 have been successfully completed, then the system is fully released for a multilingual dialog with the operating system and any other common application program loaded by the process according to FIG. 18. The release of a multilingual dialog with private application programs will be described in connection with FIGS. 19 and 20.
Um einen mehrsprachigen Dialog für private Anwendungspro gramme freizugeben, wird Schritt 210 (Fig. 19) der Initiali sierung des Feldes 92 (Fig. 8) durchgeführt, um das Feld 92 zu setzen und um anzuzeigen, daß ein Mehrfachdialog für pri vate Anwendungsprogramme freigegeben ist. Dieser Schritt 210 der Initialisierung ist derselbe wie Schritt 168, der als ein Teil der Systemkonfiguration durchgeführt wird (Fig. 15). Der Initialisierungsschritt 210 kann auch durchgeführt werden, um einen mehrsprachigen Dialog mit privaten Anwen dungsprogrammen freizugeben, wenn das System für solche Dia loge mit dem Betriebssystem und anderen gemeinschaftlichen Anwendungsprogrammen nicht konfiguriert ist, obwohl dadurch das System privat, aber nicht voll freigegeben wird. Damit ein derartiger Freigabeprozeß durchgeführt werden kann, sollte ein Benutzer eine geeignete Berechtigung zum Zugriff auf das Feld 92 haben, nämlich die Berechtigung eines Sy stemverwalters oder dergleichen. Dieser Prozeß wird durchge führt, bevor andere Benutzer mit privaten Anwendungsprogram men in mehreren Sprachen kommunizieren.To enable a multilingual dialog for private application programs, step 210 ( FIG. 19) of the initialization of the field 92 ( FIG. 8) is carried out in order to set the field 92 and to indicate that a multiple dialog for private application programs is released . This initialization step 210 is the same as step 168 , which is performed as part of the system configuration ( Fig. 15). Initialization step 210 may also be performed to enable multilingual dialog with private application programs if the system is not configured for such dialogs with the operating system and other collaborative application programs, although this will make the system private but not fully enabled. So that such an approval process can be carried out, a user should have a suitable authorization to access the field 92 , namely the authorization of a system administrator or the like. This process is performed before other users communicate with private application programs in multiple languages.
Wenn ein Benutzer beginnt, normalerweise durch "Einloggen" in das System von einer Benutzerstation aus, das Datenverar beitungssystem zu benutzen, dann werden die Pro-Benutzer Da tenstrukturen, insbesondere die Benutzer-Sprach-Tabelle 110 (Fig. 11), durch den durch das Fließdiagramm gemäß der Fig. 20 beschriebenen Prozeß initialisiert. Die Initialisierung beginnt mit dem Schritt 220, der die Felder 134 und 136 für Sprachkodes und das Zeigerfeld 144 zu der System-Informati ons-Tabelle 70 (Fig. 6) der Benutzer-Informationstabelle 130 (Fig. 13) initialisiert. Die Sprachkodes der Felder 134 und 136 werden mit einem Nicht-Sprachwort initialisiert und das Zeigerfeld 144 der System-Informations-Tabelle wird auf die Speicherstelle der System-Informations-Tabelle 70 gesetzt, die aus dem korrespondierenden Zeigerfeld 96 der System- Freigabe-Tabelle 90 (Fig. 8) erhalten wird. Wenn das System nicht zumindest für einen mehrsprachigen Dialog privat frei gegeben ist (er kann ebenso voll freigegeben sein), was in Schritt 222 festgestellt wird, dann werden die verbleibenden Pro-Benutzerfelder mit nicht freigegebenen Standardwerten besetzt. D. h. die maximale Anzahl von Benutzersprachen 138, die maximale Menge von Privatspeicher im Feld 140, das Zei gerfeld 142, der zu der Verbindungstabelle 60 für den Pri vatspeicher zeigt und das Zeigerfeld 146, das zu der Benut zer-Sprach-Tabelle 110 zeigt, werden alle zu beispielsweise "0", "0" "Null" bzw. "Null" (Schritt 224) gesetzt. In dieser Weise wird Speicherplatz weder für die Verbindungstabelle 60 für den Privatspeicher noch für die Benutzer-Sprach-Tabelle 110 zugeordnet und somit wird Speicherplatz eingespart. Wenn ein Mehrfachdialog für private Anwendungsprogramme freigege ben wurde, wie in Schritt 222 festgestellt wird, dann wird der Benutzer-Sprach-Tabelle 110 und der Verbindungstabelle 60 für den Privatspeicher Speicherplatz zugewiesen (Schritt 226). Die Zeiger 142 und 146, die zu den Speicherstellen im Speicher zeigen, die jeweils den beiden Strukturen zugeord net wurden, werden gesetzt. In Schritt 228 wird das Feld 138, welches die maximale Anzahl von Benutzersprachen an zeigt, mit einem vorbestimmten festen Wert, z. B. 4, besetzt. Die maximale Größe des Felds 140 wird in ähnlicher Weise in itialisiert. Das Verfahren fährt nun mit Schritt 230 fort, der einen Eintrag 116 in der Benutzersprachen-Zugehörig keits-Tabelle 114 für das Feld 122 für den Sprachkode und das Feld 120 für den Sprachnamen der Standard-Dialogsprache des Betriebssystemes durchführt, den er im System-Standard- Sprachenfeld 94 (Fig. 8) der System-Freigabe-Tabelle 90 fin det. Feld 118 wird gesetzt, um den ersten Sprachkode, bei spielsweise "1" zu halten. Das Sprachenfeld 112 der Benut zer-Sprach-Tabelle 110 (Fig. 11) wird mit "0" besetzt. Die Initialisierung der Pro-Bediener-Datenstrukturen wird durch Schritt 234 beendet, der die Standard-Dialogsprache des Be nutzers des Betriebssystems setzt und das Feld 100 (Fig. 9) für die Benutzersprache initialisiert.When a user begins to use the data processing system, typically by "logging into" the system from a user station, then the per-user data structures, particularly the user voice table 110 ( FIG. 11), are accessed through the initialized the flow diagram according to the process described in FIG. 20. The initialization begins with step 220 , which initializes fields 134 and 136 for voice codes and pointer field 144 to the system information table 70 ( FIG. 6) of the user information table 130 ( FIG. 13). The language codes of fields 134 and 136 are initialized with a non-language word and the pointer field 144 of the system information table is set to the storage location of the system information table 70 that comes from the corresponding pointer field 96 of the system release table 90 ( Fig. 8) is obtained. If the system is not at least privately released for a multilingual dialog (it can also be fully released), which is determined in step 222 , then the remaining pro user fields are filled with non-released default values. That is, the maximum number of user languages 138 , the maximum amount of private memory in field 140 , the pointer field 142 pointing to the connection table 60 for the private memory and the pointer field 146 pointing to the user language table 110 all become set to, for example, "0", "0", "zero" or "zero" (step 224 ). In this way, storage space is neither allocated for the connection table 60 for the private storage nor for the user voice table 110 and thus storage space is saved. If a multiple dialog for private application programs has been released, as determined in step 222 , then the user voice table 110 and the connection table 60 for the private memory are allocated space (step 226 ). Pointers 142 and 146 , which point to the memory locations in memory, which were respectively assigned to the two structures, are set. In step 228 , field 138 , which indicates the maximum number of user languages, is determined with a predetermined fixed value, e.g. B. 4 occupied. The maximum size of field 140 is similarly initialized. The method now continues with step 230 , which makes an entry 116 in the user language membership table 114 for the field 122 for the language code and the field 120 for the language name of the standard dialog language of the operating system, which it makes in the system standard - Language field 94 ( Fig. 8) of the system release table 90 fin det. Field 118 is set to hold the first language code, for example "1". The language field 112 of the user language table 110 ( FIG. 11) is set to "0". The initialization of the per-operator data structures is ended by step 234 , which sets the standard dialog language of the user of the operating system and initializes the field 100 ( FIG. 9) for the user language.
Nachdem eine Benutzersprache initialisiert worden ist, ist das Datenverarbeitungssystem voll freigegeben (falls die Sy stemkonfiguration abgeschlossen ist) oder anderenfalls pri vat freigegeben für einen mehrsprachigen Dialog mit dem Be nutzer. Wenn das System überwiegend für private Benutzer freigegeben ist und nicht für Gemeinschaftsanwendungen kon figuriert ist, dann ist auch der gemeinschaftlichen Daten struktur kein Speicherplatz zugewiesen, außer für die Sy stem-Freigabe-Tabelle 90 (Fig. 8). In dieser Tabelle zeigt das Feld 92 an, daß ein mehrsprachiger Gebrauch für private Anwendungen freigegeben ist. Die Standard-Dialogsprache für Betriebssysteme (System-Standard-Sprachenfeld 94) wird mit einem Nicht-Sprachwort, z. B. "-1" besetzt, das die Speicher stelle der System-Informations-Tabelle 70 anzeigende Zeiger feld 96 wird mit einem "Null"-Wort besetzt. Die Worte in der Benutzer-Informations-Tabelle 130 werden mit den in Spalte 133 (Fig. 13) angezeigten Worten und wie bereits oben in Verbindung mit Fig. 20 beschrieben, initialisiert. Die pri vate Systeminformation für einen Benutzer (Fig. 9 bis 13) ist abhängig von der Konfiguration der gemeinschaftlichen Systeminformation (Fig. 5 bis 8) zur Zeit der Initiali sierung für diesen Benutzer.After a user language has been initialized, the data processing system is fully released (if the system configuration is complete) or otherwise privately released for a multilingual dialog with the user. If the system is predominantly shared with private users and is not configured for community applications, then no storage space is allocated to the community data structure, except for the system approval table 90 ( FIG. 8). In this table, field 92 indicates that multilingual use is released for private use. The standard dialog language for operating systems (system standard language field 94 ) is with a non-language word, for. B. "-1" is occupied, the storage location of the system information table 70 indicating pointer field 96 is occupied with a "zero" word. The words in the user information table 130 are initialized with the words displayed in column 133 ( FIG. 13) and as already described above in connection with FIG. 20. The private system information for a user (FIGS . 9 to 13) depends on the configuration of the shared system information ( FIGS. 5 to 8) at the time of initialization for this user.
Eine weitere Fähigkeit, die dieses Datenverarbeitungssystem vorzugsweise aufweist, ist daß ein Benutzer die Möglichkeit hat, die im Feld 100 (Fig. 9) für die Benutzersprache gefun dene Standardsprache des Benutzers (vgl. Fig. 21) zu wech seln. Der Benutzer kommuniziert mit dem Betriebssystem und mit Anwendungsprogrammen, die ohne die Spezifikation einer alternativen Sprache aufgerufen wurden, in der Benutzer- Standardsprache. Wenn der Benutzer einen Wechsel der Benut zer-Standardsprache anordnet, wird zuerst festgestellt (Schritt 370), ob die Nachrichtendatei für die gewünschte Dialogsprache des Betriebssystems in dem Speicher überführt worden ist. Wenn es nicht in den Speicher überführt worden ist, dann wird in Schritt 372 ein Fehler signalisiert. Ande renfalls wird das Feld 100 für die Benutzersprache mit der neuen durch den Benutzer angezeigten Sprache besetzt. Diese Sprache wird dann zu der Benutzersprach-Tabelle 110 in Schritt 376 hinzugefügt. Wenn die Benutzersprach-Tabelle 110 voll wird, dann wird sie in Schritt 378 in einer Weise er weitert, die hiernach in Verbindung mit Fig. 25 beschrieben werden wird. Dann wird eine Nachricht an den Benutzer über die Benutzerstation 42 ausgesendet, um den Benutzer zu in formieren, ob die Standardsprache gesetzt wurde.Another capability that this data processing system preferably has is that a user has the option of changing the standard language of the user found in field 100 ( FIG. 9) for the user language (cf. FIG. 21). The user communicates with the operating system and with application programs that were called up without specifying an alternative language in the standard user language. When the user orders a change of the standard user language, it is first determined (step 370 ) whether the message file for the desired dialog language of the operating system has been transferred in the memory. If it has not been transferred to memory, then an error is signaled in step 372 . Otherwise, the user language field 100 is populated with the new language displayed by the user. This language is then added to the user language table 110 in step 376 . If the user language table 110 becomes full, then it is expanded in step 378 in a manner that will be described hereinafter in connection with FIG. 25. A message is then sent to the user via the user station 42 to inform the user whether the standard language has been set.
Während dem Dialog mit dem Datenverarbeitungssystem kann ein Benutzer private und/oder gemeinschaftliche Anwendungspro gramme aufrufen, die möglicherweise eine gewünschte Dialogs prache anzeigen, die sich von der Benutzer-Standardsprache unterscheidet. Dies ist nützlich, wenn ein Anwendungspro gramm in einer Sprache verfügbar ist, die für das Betriebs system nicht verfügbar ist, d. h. die keine Benutzer-Stan dard-Sprache sein kann. Der Prozeß eines Aufrufs einer An wendung wird nun in Verbindung mit dem Fließdiagramm gemäß Fig. 22 näher beschrieben.During the dialog with the data processing system, a user can call private and / or collaborative application programs, which may indicate a desired dialog language that differs from the standard user language. This is useful when an application program is available in a language that is not available to the operating system, that is, that cannot be a user standard language. The process of calling an application will now be described in connection with the flow chart of FIG. 22.
Wenn ein Anwendungsprogramm aufgerufen ist, wird in Schritt 242 die Bereitschaft des aufgerufenen Anwendungsprogramms geprüft, ausgeführt zu werden. Wenn das System nicht für private, mehrsprachige Dialoge mit privaten Anwendungspro grammen freigegeben ist, was Schritt 244 überprüft wird und wenn bei dem Aufruf des Anwendungsprogramms eine gewünschte Dialogsprache spezifiziert wurde, was in Schritt 246 festge stellt wird, dann wird in Schritt 248 ein Fehler signali siert und der Aufruf wird abgebrochen. Wenn keine gewünschte Dialogsprache angezeigt ist, dann wird das Anwendungspro gramm einfach ausgeführt. If an application program is called, in step 242 the readiness of the called application program to be executed is checked. If the system is not released for private, multilingual dialogues with private application programs, which is checked in step 244 and if a desired dialog language was specified when the application program was called, which is determined in step 246 , then an error is signaled in step 248 and the call is canceled. If no desired dialog language is displayed, the application program is simply executed.
Wenn das mehrsprachige System für einen mehrsprachigen Dia log mit privaten Anwendungsprogrammen freigegeben ist, was Schritt 244 feststellt wird, dann werden die Werte der Fel der 134 und 136 (Fig. 13) auf das durch den Benutzer ver schachtelte Sprach-Stapelregister 102 (Fig. 10) geschoben und die Felder 134 und 136 werden mit Nicht-Sprachworten reinitialisiert. Und dann wird in Schritt 250 festgestellt, ob eine gewünschte Dialogsprache angezeigt ist und in Schritt 252 wird ein Argument zu der gewünschten Sprache ge setzt. Wenn keine gewünschte Sprache angezeigt ist, dann wird dieses Argument in Schritt 254 mit einem "Null"-Wort besetzt. Angenommen, entweder in Schritt 252 oder in Schritt 254 ist ein Argument gesetzt worden, noch ist eine Sprache ausgewählt worden und noch wurde für die ausgewählte Sprache eine Nachrichtendatei für das Anwendungsprogramm angezeigt, was die Schritte 257 und 258 festellen, dann wird in Schritt 260 ein Fehler signalisiert und der Aufruf des Anwendungs programmes wird abgebrochen. Wenn keine gewünschte Dialog sprache angezeigt ist und bei Schritt 256 keine Nachrichten datei gefunden wurde, dann zeigt der zurückgeschickte Sprachkode ein Nicht-Sprachwort an und das geeignete Feld 134 und 136 (Fig. 13) wird besetzt (Schritt 262). Wenn in Schritt 256 eine Nachrichtendatei für eine Dialogsprache ge funden worden ist, dann wird das Feld 134 und 136 mit der zurückkehrenden Sprache besetzt. Wenn das aufgerufene Anwen dungsprogramm ein privates Anwendungsprogramm ist, dann wird das private Feld 134 mit dem Sprachkode der geladenen Nach richtendatei besetzt und das gemeinschaftliche Feld 136 wird mit einem Nicht-Sprachwort besetzt. Die Felder 134 und 136 werden umgekehrt für ein gemeinschaftliches Anwendungspro gramm gesetzt.If the multilingual system is approved for multilingual dialog with private application programs, which is determined at step 244 , then the values of fields 134 and 136 ( FIG. 13) are set to the user interleaved speech stack 102 ( FIG. 10) and fields 134 and 136 are reinitialized with non-language words. And then it is determined in step 250 whether a desired dialog language is displayed and in step 252 an argument is set for the desired language. If no desired language is displayed, then this argument is filled with a "zero" word in step 254 . Assuming either an argument has been made in step 252 or step 254 , a language has not yet been selected, and a message file has been displayed for the application program for the selected language, which steps 257 and 258 determine, then step 260 goes to Errors signaled and the call of the application program is aborted. If no desired dialog language is displayed and no message file was found at step 256 , then the returned language code displays a non-language word and the appropriate fields 134 and 136 ( FIG. 13) are filled (step 262 ). If a dialog language message file was found in step 256 , then fields 134 and 136 are populated with the returning language. If the called application program is a private application program, then the private field 134 is populated with the language code of the loaded message file and the shared field 136 is populated with a non-speech word. Conversely, fields 134 and 136 are set for a collaborative application program.
Die Fig. 23a und 23b skizzieren den Prozeß der Auswahl einer Sprache und des Findens und des Ladens einer Nachrichtenda tei für die ausgewählte Sprache des aufgerufenen Anwendungs programmes. Zunächst wird in Schritt 264 bestimmt, ob das Anwendungsprogramm ein gemeinschaftliches Anwendungsprogramm ist, beispielsweise durch Überprüfen der Speicheradresse, in welcher der Prozeßkode geladen ist. Wenn es sich nicht um ein gemeinschaftliches Anwendungsprogramm handelt, dann han delt es sich um ein privates Anwendungsprogramm, für welches das Verfahren der Auswahl einer Sprache und des Findens und Ladens der Nachrichtendatei in Fig. 23b beschrieben ist. Wenn das Anwendungsprogramm ein gemeinschaftliches Anwen dungsprogramm ist, dann wird angenommen, daß seine Nachrich tendateien geladen sind, weil nur dann eine Sprache ausge wählt werden braucht. Figs. 23a and 23b outline the process of selecting one language and of finding and loading a Nachrichtenda tei program for the selected language of the called application. First, it is determined in step 264 whether the application program is a collaborative application program, for example, by checking the memory address in which the process code is loaded. If it is not a collaborative application program, then it is a private application program, for which the method of selecting a language and finding and loading the message file is described in Fig. 23b. If the application program is a collaborative application program, then it is assumed that its message files are loaded because only then does a language need to be selected.
Für ein gemeinschaftliches Anwendungsprogramm fährt der Pro zeß fort mit der Überprüfung des Argumentes, welches die ge wünschte Dialogsprache anzeigt (Schritt 266). Wenn eine ge wünschte Dialogsprache angezeigt war, dann wird die System- Sprach-Tabelle 76 (Fig. 7) nach dieser Sprache abgesucht (Schritt 268). Wenn der Suchschritt 268 die gewünschte Spra che nicht findet, dann wird in Schritt 270 ein Nicht-Sprach wert zurückgegeben der anzeigt, daß die gewünschte Dialog sprache für dieses gemeinschaftliche Anwendungsprogramm nicht verfügbar ist, weil, wenn ein gemeinschaftliches An wendungsprogramm geladen ist, dann sind seine zugehörigen Nachrichtendateien im Gemeinschaftsspeicher 56 geladen und Einträge für die zugehörigen Sprachen sind in der System- Sprach-Tabelle 76 gemacht. Wenn eine gewünschte Dialogspra che für ein gemeinschaftliches Anwendungsprogramm in der Sy stem-Sprach-Tabelle 76 nicht gefunden worden ist, dann ist somit diese Sprache für dieses Anwendungsprogramm nicht ver fügbar.For a collaborative application program, the process continues to check the argument indicating the desired dialog language (step 266 ). If a desired dialog language was displayed, then the system language table 76 ( FIG. 7) is searched for this language (step 268 ). If the search step 268 does not find the desired language, then a non-language value is returned in step 270 indicating that the desired dialog language is not available for this collaborative application program because if a collaborative application program is loaded, then its associated message files are loaded in the shared memory 56 and entries for the associated languages are made in the system language table 76 . If a desired dialog language for a common application program has not been found in the system language table 76 , then this language is therefore not available for this application program.
Wenn die Sprache in der System-Sprach-Tabelle 76 gefunden worden ist, dann wird die gemeinschaftliche Verbindungsta belle 60 überprüft (Schritt 272), um festzustellen, ob die Nachrichtendatei für die gewünschte Dialogsprache in den Ge meinschaftsspeicher 56 des gemeinschaftlichen Anwendungspro grammes geladen ist. Wenn eine Verbindung für die Sprache und das Programm in der gemeinschaftlichen Verbindungstabel le 60 nicht gefunden worden ist, dann wird ein Nicht-Sprach wort zurückgeschickt (Schritt 274). Wenn in der Verbindungs tabelle 60 während des Schrittes 272 eine Verbindung gefun den worden ist, dann wird für diese Sprache ein Eintrag 116 in der Benutzer-Sprach-Tabelle 110 (Fig. 11) plaziert, falls noch keiner vorhanden sein sollte. Wenn die Benutzer-Sprach- Tabelle 110 voll ist, wird sie erweitert, wie weiter unten in Verbindung mit Fig. 25 (Schritt 276) ausführlicher be schrieben werden wird. Wenn, bezugnehmend auf Schritt 266, das Argument der Dialogsprache ein Nicht-Sprachwort war, dann wird die momentane Dialogsprache in Schritt 278 über prüft, um festzustellen, ob eine Dialogsprache momentan im Gebrauch ist, wie durch die Felder 134 und 136 (Fig. 13) an gezeigt ist. Wenn eine Dialogsprache momentan in Gebrauch ist, dann wird das Verfahren mit Schritt 280 fortgesetzt, welcher den momentanen Sprachwort mit einem Argument be setzt. Wenn die momentane Sprache für ein privates Anwen dungsprogramm vorgesehen ist, dann wird der Sprachkode des Systems von der Benutzersprachen-Zugehörigkeits-Tabelle 114 aufgerufen. Wenn die Sprache für ein gemeinschaftliches An wendungsprogramm vorgesehen ist, dann wird dieser Wert mit dem Sprachargument besetzt.If the language has been found in the system language table 76 , then the common connection table 60 is checked (step 272 ) to determine whether the message file for the desired dialog language is loaded into the common memory 56 of the common application program. If a connection for the language and the program is not found in the shared connection table le 60 , then a non-language word is returned (step 274 ). If a connection has been found in the connection table 60 during step 272 , an entry 116 for this language is placed in the user language table 110 ( FIG. 11), if none should yet exist. When the user voice table 110 is full, it is expanded, as will be described in more detail below in connection with Figure 25 (step 276 ). Referring to step 266 , if the dialog language argument was a non-language word, then the current dialog language is checked in step 278 to determine if a dialog language is currently in use, as indicated by fields 134 and 136 ( FIG. 13 ) is shown. If a dialog language is currently in use, then the process continues to step 280 , which populates the current language word with an argument. If the current language is for a private application program, then the system's language code is retrieved from the user language membership table 114 . If the language is intended for a community application program, then this value is filled with the language argument.
Das Verfahren wird mit Schritt 282 fortgesetzt, welcher die Nachrichtendatei in der gemeinschaftlichen Verbindungstabel le 60 sucht, ähnlich dem zuvor beschriebenen Schritt 272. Wenn die Nachrichtendatei in der Verbindungstabelle 60 ge funden worden ist, wird ihr zugehöriger Sprachkode zurückge schickt (Schritt 284). Anderenfalls wird das Verfahren mit Schritt 286 fortgesetzt. Schritt 286 wird auch durchgeführt, wenn in Schritt 278 festgestellt wird, daß momentan keine Dialogsprache verfügbar ist. Schritt 286 beinhaltet die Überprüfung der Benutzer-Standardsprache, wie sie durch das Feld 100 (Fig. 9) für die Standardsprache angezeigt ist. Wenn der Benutzer-Standardsprachen-Kode ein Nicht-Sprachwort ist, dann wird in Schritt 274 ein Nicht-Sprachwort zurückge schickt. Anderenfalls wird die gemeinschaftliche Verbin dungstabelle 60 nach der Nachrichtendatei dieser Dialogspra che abgesucht, wie dies zuvor in Schritt 272 getan wurde. Der Prozeß zum Laden der Nachrichtendatei wird dann durch Schritt 274 oder Schritt 276 abgeschlossen, wie dies bereits oben beschrieben ist.The method continues with step 282 , which looks for the message file in the shared connection table 60 , similar to the step 272 previously described. If the message file has been found in the connection table 60 , its associated language code is sent back (step 284 ). Otherwise, the method continues with step 286 . Step 286 is also performed if it is determined in step 278 that no dialog language is currently available. Step 286 includes checking the user default language as indicated by field 100 ( FIG. 9) for the default language. If the user default language code is a non-language word, then a non-language word is returned in step 274 . Otherwise, the common link table 60 is searched for the message file of that dialog language, as was done in step 272 previously. The process of loading the message file is then completed by step 274 or step 276 , as previously described.
Wenn, wie bereits in Bezug auf Schritt 274 beschrieben wur de, das Anwendungsprogramm als ein privates Anwendungspro gramm bestimmt wurde, dann wird der Prozeß mit Schritt 290 (Fig. 23b) fortgesetzt, indem festgestellt wird, ob eine ge wünschte Dialogsprache spezifiziert wurde. Wenn eine Dia logsprache spezifiziert wurde, dann wird die Benutzer- Sprachtabelle 110 (Fig. 11) in Schritt 292 nach dieser Spra che abgesucht. Wenn diese Sprache in der Benutzer-Sprach-Ta belle 110 gefunden worden ist, dann wird in Schritt 294 die Vebindungstabelle 60 für den Privatspeicher überprüft, um festzustellen, ob die Nachrichtendatei dieser Sprache in den Privatspeicher 54 überführt worden ist. Wenn die Nachrich tendatei überführt worden ist, dann wird in Schritt 296 der Sprachkode zurückgeschickt.If, as previously described with respect to step 274 , if the application program is determined to be a private application program, then the process continues to step 290 ( FIG. 23b) where it is determined whether a desired dialog language has been specified. If a dialog language was specified, then the user language table 110 ( FIG. 11) is searched for this language in step 292 . If this language is found in the user language table 110 , then the connection table 60 for the private storage is checked in step 294 to determine whether the message file of that language has been transferred to the private storage 54 . If the message file has been transferred, then in step 296 the language code is returned.
Wenn die Nachrichtendatei für die alternative Sprache nicht überführt worden ist, was in Schritt 294 festgestellt worden ist, dann wird in Schritt 298 festgestellt, ob zuvor bereits nach dieser Nachrichtendatei gesucht worden ist. Wenn zuvor noch nicht nach ihr gesucht worden ist, dann wird in Schritt 300 ein Versuch unternommen, diese Nachrichtendatei dieser Dialogsprache zu überführen. Dieser Versuch wird auch gemacht, wenn die gewünschte Dialogsprache in Schritt 292 nicht in der Benutzer-Sprach-Tabelle 110 gefunden worden ist. Wenn der Versuch in Schritt 300, diese Nachrichtendatei zu überführen, erfolgreich ist, dann wird der Sprachkode für diese Nachrichtendatei in Schritt 302 zurückgeschickt. Wenn diese Nachrichtendatei nicht gefunden worden ist, dann wird das Verfahren mit Schritt 304 (wie später beschrieben werden wird) fortgesetzt. Wenn in Schritt 298 ebenso festgestellt wird, daß eine Nachrichtendatei einer Dialogsprache zuvor nachgesucht wurde, dann wird der Prozeß ebenso mit dem noch zu beschreibenden Schritt 304 fortgesetzt.If the alternative language message file has not been transferred, as determined in step 294 , then it is determined in step 298 whether this message file has been previously searched for. If it has not been searched for before, then an attempt is made in step 300 to convert this message file to this dialog language. This attempt is also made if the desired dialog language was not found in the user language table 110 in step 292 . If the attempt to transfer this message file in step 300 is successful, the language code for this message file is returned in step 302 . If this message file was not found, then the process continues to step 304 (as will be described later). If it is also determined in step 298 that a dialog language message file has previously been searched, then the process also proceeds to step 304 to be described.
Wenn, bezugnehmend auf Schritt 290, keine gewünschte Dia logsprache angezeigt ist, dann werden in Schritt 306 die Felder 134 und 136 überprüft, um festzustellen, ob momentan eine Dialogsprache verwendet wird. Dieser Feststellungs schritt 306 ist dem zuvor in Verbindung mit dem Fließdia gramm gemäß Fig. 23a beschriebenen Schritt 278 ähnlich. Wenn eine Dialogsprache momentan benutzt wird, wird diese ausge wählt und das Verfahren wird mit dem oben bereits beschrie benen Schritt 294 fortgesetzt. Anderenfalls wird das Verfah ren mit dem Schritt 304 fortgesetzt, der feststellt, ob durch den Benutzer zum Gebrauch mit dem Betriebssystem be reits eine Dialogsprache ausgewählt worden ist. Dies ge schieht durch Überprüfung des Feldes 100 (Fig. 9) für die Benutzersprache. Wenn das Feld 100 für die Benutzersprache einen Nicht-Sprachwort anzeigt, z. B. "-1", dann wird in Schritt 307 ein Nicht-Sprachkode-Wert zurückgeschickt. Ande renfalls wird die Verbindungstabelle 60 für den Privatspei cher überprüft, um festzustellen, ob die Nachrichtendatei der durch das Feld 100 angezeigten Sprache in den Privat speicher 54 überführt worden ist (Schritt 308). Wenn die Da tei in den Privatspeicher überführt worden ist, dann wird in Schritt 310 der Sprachkode zurückgeschickt. Anderenfalls wird ein Versuch 312 gemacht, um diese Sprache in den Pri vatspeicher 54 zu überführen. Wenn der Versuch 312 erfolg reich ist, dann wird in Schritt 310 der Sprachkode der über führten Nachrichtendatei zurückgeschickt. Anderenfalls wird ein Fehlschlag angezeigt und ein Nicht-Sprachwort, z. B. "-1", wird zurückgeschickt.If, with reference to step 290 , no desired dialog language is displayed, then fields 134 and 136 are checked in step 306 to determine whether a dialog language is currently being used. This determination step 306 is similar to step 278 previously described in connection with the flow chart of FIG. 23a. If a dialog language is currently being used, it is selected and the process continues with step 294 , already described above. Otherwise, the method continues with step 304 , which determines whether a dialog language has already been selected by the user for use with the operating system. This is done by checking the field 100 ( FIG. 9) for the user language. If the user language field 100 indicates a non-language word, e.g. B. "-1", then a non-speech code value is returned in step 307 . Otherwise, the private storage connection table 60 is checked to determine whether the message file of the language indicated by field 100 has been transferred to private storage 54 (step 308 ). If the file has been transferred to private storage, then in step 310 the language code is returned. Otherwise, an attempt 312 is made to transfer this language into the private memory 54 . If the attempt 312 is successful, then in step 310 the language code of the message file carried over is returned. Otherwise, a failure is indicated and a non-spoken word, e.g. B. "-1" will be returned.
Der Prozeß der Überführung einer Nachrichtendatei in einen Privatspeicher 54 (Schritte 300 und 308 gemäß Fig. 22b) wird nun in Verbindung mit Fig. 24 ausführlich beschrieben. Die ser Prozeß hängt vom Empfang eines die gewünschte Sprache anzeigenden Argumentes ab, wobei das Argument in Schritt 320 überprüft wird, um festzustellen, ob das Argument ein Sprachkode oder ein Sprachname ist. Wenn das Argument kein Sprachname ist, dann wird das Verfahren mit Schritt 322 fortgeführt, in welchem der Name der zum Sprachkode zugehö rigen Sprache erhalten wird. In Schritt 322 wird unter Ver wendung der Benutzersprachen-Zugehörigkeits-Tabelle 114 (Fig. 12) die Namensfindung durchgeführt. Wenn der Sprachna me in Schritt 322 nicht gefunden wird, dann wird eine Feh lermeldung zurückgeschickt (Schritt 324). Anderenfalls wird der Prozeß mit dem Schritt 324 fortgesetzt, indem dem Spra chennamen ein Argument, z. B. "Name" beigesetzt wird, welches entweder gegeben ist oder welches von einem gegebenen Sprachkode erhalten wird. Aus dem Argument "Name", wird ein Dateiname für die gewünschte Nachrichtendatei zusammenge setzt. Das Format dieses Dateinamens hängt von dem speziel len Betriebssystem eines gegebenen Datenverarbeitungssyste mes ab. Jedoch zeigt dieser Dateiname normalerweise sowohl den Namen des Anwendungsprogrammes, als auch den gewählten Sprachennamen an (Schritt 326). Der Zusammensetzung des Da teinamens folgt der Schritt 328, indem im Langzeitspeicher (z. B. einer Festplatte) eines Datenverarbeitungssystemes nach der Nachrichtendatei gesucht wird. Wenn die Nachrich tendatei nicht gefunden wird, dann wird ein Eintrag 64 in die Verbindungstabelle 60 für den Privatspeicher gemacht (Schritt 330). Dieser Eintragungsschritt 330 enthält das Setzen des Programmfeldes 62, um den Aufruf des Anwendungs programmes anzuzeigen, das Setzen des Sprachfeldes 68 auf die gewünschte Dialogsprache und das Setzen des Zeigerfeldes 66 für die Nachrichtendatei auf, ein Nicht-Nullwort und ein Nicht-Zeigerwort, der anzeigt, daß zwar nach der Nachrich tendatei gesucht wurde, diese jedoch nicht gefunden wurde (Schritt 330). Anschließend wird in Schritt 332 ein Fehler signalisiert. Wenn die Nachrichtendatei nicht gefunden wor den ist, dann wird die Benutzersprachen-Zugehörigkeits-Ta belle 114 (Fig. 12) nach dem dem Namen der gewünschten Dia logsprache zugehörigen Sprachkode abgesucht (Schritt 334). Wenn in Schritt 334 für diese Eintragung kein Sprachkode ge funden worden ist, dann wird ein Eintrag 116 gemacht, der das Feld 118 für die Benutzersprache mit dem gegebenen Kode besetzt, der das Feld 120 mit dem Dialogsprachen-Namen be setzt und der das Feld 122 mit dem Systemcode aus der Sy stemsprach-Tabelle 76 (Fig. 7) besetzt, der der Sprache ent spricht (Schritt 336). Der Eintragungsschritt 336 enthält auch den Schritt der Erweiterung der Benutzer-Sprach-Tabelle 110, falls diese voll ist. Diese Tabellen-Erweiterung wird hiernach in Verbindung mit Fig. 25 ausführlich beschrieben werden. Wenn einmal festgestellt ist, daß die Sprache in die Benutzersprachen-Zugehörigkeits-Tabelle 114 durch die Schritte 334 und möglicherweise 336 eingetragen worden ist, dann wird die Nachrichtendatei für die gewünschte Dialogs prache in Schritt 338 in den Privatspeicher 54 überführt. Dann wird in Schritt 338 ein Eintrag 64 in die Verbindungs tabelle 60 für den Privatspeicher gemacht, indem das Zeiger feld 66 für die Nachrichtendatei derart gesetzt wird, daß die Speicherstelle, in welche die Nachrichtendatei überführt worden ist, angezeigt wird. In Schritt 342 wird schließlich der Pro-Benutzer-Sprachkode für die gewünschte Dialogsprache zurückgeschickt. The process of transferring a message file to private storage 54 (steps 300 and 308 of FIG. 22b) will now be described in detail in connection with FIG. 24. This process depends on receiving an argument indicating the desired language, and the argument is checked in step 320 to determine if the argument is a language code or name. If the argument is not a language name, then the process continues to step 322 , in which the name of the language associated with the language code is obtained. In step 322 , the name determination is performed using the user language membership table 114 ( FIG. 12). If the voice name is not found in step 322 , an error message is returned (step 324 ). Otherwise, the process continues to step 324 by giving the language name an argument, e.g. B. "Name" is buried, which is either given or which is obtained from a given language code. A file name for the desired message file is put together from the argument "Name". The format of this file name depends on the specific operating system of a given data processing system. However, this file name usually indicates both the application program name and the selected language name (step 326 ). The composition of the file name is followed by step 328 by searching for the message file in the long-term memory (eg a hard disk) of a data processing system. If the message file is not found, then an entry 64 is made in the private storage connection table 60 (step 330 ). This entry step 330 includes setting the program field 62 to indicate the call of the application program, setting the language field 68 to the desired dialog language and setting the pointer field 66 for the message file to, a non-zero word and a non-pointer word that indicates that the message file was searched for but was not found (step 330 ). An error is then signaled in step 332 . If the message file has not been found, then the user language membership table 114 ( FIG. 12) is searched for the language code associated with the name of the desired dialog language (step 334 ). If no language code was found for this entry in step 334 , then an entry 116 is made which fills the field 118 for the user language with the given code, which fills the field 120 with the dialog language name and which fills the field 122 with the system code from the system language table 76 ( FIG. 7) which corresponds to the language (step 336 ). The entry step 336 also includes the step of expanding the user voice table 110 if it is full. This table expansion will hereinafter be described in detail in connection with FIG. 25. Once it is determined that the language has been entered in the user language belongingness table 114 through the steps 334 and possibly 336, then the message file for the desired dialogue is PRACHE transferred to the private memory 54 in step 338th Then, in step 338, an entry 64 is made in the connection table 60 for the private memory by setting the pointer field 66 for the message file in such a way that the storage location into which the message file has been transferred is displayed. Finally, in step 342 , the per-user language code for the desired dialog language is sent back.
Der Prozeß der Erweiterung der Größe der Benutzer-Sprach-Ta belle 110 (Fig. 11) (Schritte 336 gemäß Fig. 24, 276 gemäß Fig. 23a und 378 gemäß Fig. 21) wird nun in Verbindung mit Fig. 25 ausführlich beschrieben. Der Prozeß beginnt mit Schritt 350, in dem, wie in Feld 338, der Benutzer-Informa tions-Tabelle 130 angezeigt ist, die maximale Anzahl von möglichen Benutzersprachen erhöht wird. Der Erhöhung der An zahl der Benutzer-Dialogsprachen folgt der Schritt 362, in dem mehr Speicherplatz für eine größere Benutzer-Sprach-Ta belle 110 zugewiesen wird. Danach wird diese neue Tabelle mit Null-Worten initialisiert (Schritt 354). Nachdem die Ta belle initialisiert ist, werden die Daten der alten Benut zer-Sprach-Tabelle 110 in die neue Tabelle kopiert (Schritt 356). Nachdem die alten Worte in die neue Tabelle kopiert worden sind, kann in Schritt 358 der alte Speicherplatz freigegeben werden.The process of expanding the size of the user voice table 110 ( FIG. 11) (steps 336 of FIG. 24, 276 of FIG. 23a and 378 of FIG. 21) will now be described in detail in conjunction with FIG. 25. The process begins at step 350 , where, as indicated in field 338 , the user information table 130 , the maximum number of possible user languages is increased. The increase in the number of user dialog languages is followed by step 362 , in which more storage space is allocated for a larger user language table 110 . This new table is then initialized with zero words (step 354 ). After the table is initialized, the data from the old user language table 110 is copied to the new table (step 356 ). After the old words have been copied into the new table, the old memory space can be released in step 358 .
Wenn die Anzahl der Benutzersprachen erhöht worden ist, kann sich die Größe der Verbindungstabelle 60 für den Privatspei cher ebenfalls erhöhen. Deshalb wird in Schritt 360 Spei cherplatz für eine neue Verbindungstabelle 60 zugewiesen, dem der Schritt 362 folgt, indem die neue Verbindungstabelle 60 mit Null-Worten initialisiert wird, der wiederum von Schritt 364 gefolgt wird, indem die alten Daten hereinko piert werden und dann wird der Speicherplatz der alten Ver bindungstabelle 60 freigegeben. In dieser Weise kann die Größe der Verbindungstabelle 60 für den Privatspeicher und der Benutzer-Sprach-Tabelle 110 dynamisch wachsen. Die Häu figkeit der Erweiterung dieser Tabellen wird dadurch mini miert, daß sie nicht nur um einen Eintrag, sondern um vier Einträge gleichzeitig vergrößert werden.If the number of user languages has increased, the size of the connection table 60 for the private memory can also increase. Therefore, in step 360, memory space is allocated for a new connection table 60 , which is followed by step 362 by initializing the new connection table 60 with zero words, which in turn is followed by step 364 by copying the old data in and then the memory space of the old connection table 60 released. In this way, the size of the connection table 60 for private storage and the user voice table 110 can grow dynamically. The frequency of expanding these tables is minimized by increasing them not only by one entry, but by four entries at the same time.
Während der Ausführung eines Anwendungsprogrammes, kann eine Nachricht zu einem Benutzer in einer dafür gewählten Benut zersprache gesendet werden. Wenn der Anwendungsprogrammierer für ein typisches Datenverarbeitungssystem eine Standardaus gabe-Funktion vorgegeben hat, dann kann diese Funktion modi fiziert werden, um es ihr zu ermöglichen, die richtige Nach richt in einer etablierten Dialogsprache des Benutzers zu finden. In dem ersten Schritt 390 wird festgestellt, ob es sich um ein gemeinschaftliches oder privates Anwendungspro gramm handelt. Nach dieser Feststellung wird der Freigabe status durch eine Untersuchung der System-Freigabetabelle 90 überprüft, um festzustellen, daß das System entweder für ei ne gemeinschaftliche Anwendung voll freigegeben ist oder privat freigegeben ist. Diese Feststellungsschritte sind die Schritte 392 bzw. 394. Wenn das System für mehrsprachige Dialoge nicht ordnungsgemäß freigegeben ist, dann wird in Schritt 396 ein Nachrichtenzeiger mit einem Null-Wort be setzt, so als ob keine mehrsprachige Nachricht gefunden wur de. Wenn in Schritt 392 festgestellt wurde, daß das System für eine gemeinschaftliche Anwendung voll freigegeben wurde, dann wird der Prozeß mit Schritt 398 fortgesetzt, indem die Nachricht in der gemeinschaftlichen Nachrichtendatei gefun den werden soll. Der Schritt 398, nämlich die Auffindung der Nachricht, wird hiernach in Verbindung mit Fig. 27 näher be schrieben werden. Wenn in Schritt 394 festgestellt wurde, daß das System privat freigegeben ist, dann wird der Prozeß mit Schritt 397 fortgesetzt, indem die Nachricht in der pri vaten Nachrichtendatei gefunden werden soll. Dieses Verfah ren wird in Verbindung mit Fig. 26 näher beschrieben werden.During the execution of an application program, a message can be sent to a user in a user language chosen for this purpose. If the application programmer has specified a standard output function for a typical data processing system, then this function can be modified to enable it to find the correct message in an established dialog language of the user. In the first step 390 it is determined whether it is a community or private application program. After this determination, the release status is checked by examining the system release table 90 to determine that the system is either fully shared or privately released. These determination steps are steps 392 and 394, respectively. If the system is not properly enabled for multilingual dialogs, then a message pointer is set with a null word in step 396 , as if no multilingual message was found. If it is determined in step 392 that the system is fully approved for shared use, then the process continues to step 398 in which the message is to be found in the shared message file. Step 398 , namely finding the message, will subsequently be described in more detail in connection with FIG. 27. If it is determined in step 394 that the system is privately released, then the process continues to step 397 in which the message is to be found in the private message file. This process will be described in connection with FIG. 26.
Nach der Beendigung einer der Schritte 396, 397 oder 398, zeigt der Nachrichtenzeiger entweder Null an oder er zeigt die Speicherstelle der gewünschten Nachricht an. In Schritt 400 wird als nächstes festgestellt, ob eine Nachricht durch die Überprüfung dieses Zeigers gefunden wurde. Wenn eine Nachricht nicht gefunden wurde, d. h., wenn der Nachrichten zeiger Null ist, dann wird das Verfahren mit Schritt 402 fortgesetzt, der die Ausgabe einer Standardnachricht behan delt. Anderenfalls wird der Prozeß mit Schritt 404 fortge setzt, indem der gewünschte Wert für die Nachricht wird. Dieser Wert kann der Zeiger zu der Nachricht, die Nachrich ten-Zeichenfolge selbst, die in einem Puffer angeordnete Nachricht oder die zu einem Benutzer an einer entsprechenden Benutzerstation 42 gesendete Nachrichten-Zeichenfolge sein.Upon completion of one of the steps 396 , 397 or 398 , the message pointer either indicates zero or the location of the desired message. In step 400 , it is next determined whether a message has been found by checking this pointer. If a message is not found, that is, if the message pointer is zero, then the process continues to step 402 , which handles the output of a standard message. Otherwise, the process continues to step 404 where the desired value for the message is. This value may be the pointer to the message, the message string itself, the buffered message, or the message string sent to a user at a corresponding user station 42 .
Der Prozeß der Auffindung einer Nachricht aus einer Nach richtendatei eines gemeinschaftlichen Anwendungsprogrammes (Schritt 408, Fig. 26) wird nun in Verbindung mit Fig. 27 ausführlich beschrieben. Der erste Schritt der Auffindung der Nachricht ist die Feststellung (Schritt 410), ob für dieses Anwendungsprogramm momentan eine Dialogsprache be nutzt wird. Der Feststellungsschritt 410 enthält die Über prüfung der Felder 134 und 136 (Fig. 13), die die Sprachko des der momentan laufenden privaten oder gemeinschaftlichen Anwendungsprogramme anzeigen. Wenn beide Felder einen Nicht- Sprachwort anzeigen, dann wird der Prozeß mit Schritt 412 fortgesetzt, indem festgestellt wird, ob die Nachrichtenda tei einer Betriebssystem-Standardsprache in den Speicher des gemeinschaftlichen Anwendungsprogrammes überführt worden ist. Wenn diese Nachrichtendatei nicht in den Speicher über führt worden ist, dann wird in Schritt 414 ein Null-Nach richtenzeiger zurückgeschickt. Anderenfalls wird der Zeiger der Nachrichtendatei aus der Verbindungstabelle 60 für ge meinschaftliche Anwendungsprogramme abgerufen und der zu der gewünschten Nachricht zeigende Zeiger wird (Schritt 416) aus dieser Nachrichtendatei abgerufen. Wenn eine momentane Dia logsprache für ein Anwendungsprogramm verfügbar ist, was in Schritt 410 festgestellt wird, dann wird in Schritt 416 der zu dieser Nachrichtendatei zeigende Zeiger und nachfolgend die Nachricht selbst abgerufen.The process of finding a message from a messaging file of a collaborative application program (step 408 , FIG. 26) will now be described in detail in conjunction with FIG. 27. The first step in finding the message is to determine (step 410 ) whether a dialog language is currently being used for this application program. The determination step 410 includes the checking of the fields 134 and 136 ( FIG. 13), which indicate the language code of the currently running private or community application programs. If both fields indicate a non-language word, then the process continues to step 412 where it is determined whether the message file of an operating system standard language has been transferred to the memory of the common application program. If this message file has not been transferred to memory, then a null message pointer is returned in step 414 . Otherwise, the pointer to the message file is retrieved from the common application program connection table 60 and the pointer to the desired message is retrieved (step 416 ) from this message file. If a current dialog language is available for an application program, which is determined in step 410 , then in step 416 the pointer pointing to this message file and subsequently the message itself is retrieved.
Der Prozeß der Auffindung einer Nachricht aus einer Nach richtendatei für ein privates Anwendungsprogramm (Schritt 396, Fig. 26) beginnt mit Schritt 430 (Fig. 28), indem fest gestellt wird, ob eine momentane Dialogsprache für ein An wendungsprogramm benutzt wird. Dieser Feststellungsschritt 430 wird durchgeführt durch die Untersuchung der Felder 134 und 136 (Fig. 13), die den Sprachkode anzeigen, in der ein momentan laufendes Anwendungsprogramm mit einem Benutzer kommuniziert. In Schritt 434 wird durch Überprüfung der Ver bindungstabelle 60 für den Privatspeicher als nächstes fest gestellt, ob die Nachrichtendatei der momentanen Sprache für dieses Anwendungsprogramm in den Privatspeicher 54 überführt worden ist und der Eintrag 64 für dieses Anwendungsprogramm und das Zeigerfeld 66 (Fig. 5) für die Nachrichtendatei wird aufgerufen. Wenn die Nachrichtendatei in den Privatspeicher überführt worden ist, dann kann der die Speicherstelle der Nachrichtendatei im Privatspeicher 54 anzeigende Zeiger durch Schritt 436 benutzt werden. Wenn festgestellt wurde (Schritt 434), daß die Nachrichtendatei nicht in den Privat speicher überführt worden ist, dann wird in Schritt 438 festgestellt, ob in Schritt 438 zuvor nach ihr gesucht wor den ist. Wenn zuvor nach ihr gesucht worden ist, dann zeigt das Zeigerfeld 66 einen Nicht-Nullwort und einen Nicht-Zei gerwort an, wie er in Schritt 330 gemäß Fig. 24 gesetzt wur de. Wenn jedoch zuvor kein Versuch durchgeführt wurde, um diese Nachricht zu finden, dann wird in Schritt 440 ein Ver such unternommen, um es in den Privatspeicher zu überführen. Dieser Schritt 440 der Überführung der Nachrichtendatei in einen Privatspeicher ist oben in Verbindung mit Fig. 24 be reits ausführlich beschrieben worden. Wenn der Versuch der Überführung erfolgreich ist, dann wird das Zeigerfeld 66 für die Nachrichtendatei gesetzt und verwendet, um einen auf die gewünschte Nachricht zeigenden Zeiger in Schritt 436 zurück zuschicken, wie oben beschrieben wurde.The process of finding a message from a message file for a private application program (step 396 , Fig. 26) begins at step 430 ( Fig. 28) by determining if a current dialog language is being used for an application program. This determination step 430 is performed by examining fields 134 and 136 ( FIG. 13) which indicate the language code in which an application program currently running communicates with a user. In step 434 , by examining the connection table 60 for the private memory, it is next determined whether the current language message file for this application program has been transferred to the private memory 54 and the entry 64 for this application program and the pointer field 66 ( FIG. 5). is called for the message file. If the message file has been transferred to private storage, then the pointer indicating the location of the message file in private storage 54 can be used by step 436 . If it is determined (step 434 ) that the message file has not been transferred to private storage, then it is determined in step 438 whether it has been searched for in step 438 before. If previously searched for, then the pointer field 66 displays a non-zero word and a non-pointer word as set in step 330 of FIG. 24. However, if no attempt was previously made to find this message, then an attempt is made in step 440 to transfer it to private storage. This step 440 of transferring the message file to private storage has already been described in detail above in connection with FIG. 24. If the attempt to transfer is successful, then the message file pointer field 66 is set and used to return a pointer pointing to the desired message in step 436 , as described above.
Wenn der Versuch 440, eine Nachrichtendatei in einen Privat speicher zu überführen, fehlschlägt oder wenn so ein Versuch bereits zuvor durchgeführt wurde, was in Schritt 438 festge stellt wurde oder wenn in Schritt 430 festgestellt wurde, daß keine momentane Dialogsprache für dieses Anwendungspro gramm angezeigt ist, dann wird der Prozeß mit Schritt 442 fortgeführt, indem die Benutzer-Standardsprache ausgewählt wird, wie sie durch das Feld 100 (Fig. 9) angezeigt ist. Wenn keine Sprache gesetzt worden ist, dann wird in Schritt 444 ein Null-Zeiger zurückgeschickt. Anderenfalls wird durch Untersuchung der Verbindungstabelle 60 für den Privatspei cher festgestellt (Schritt 446), ob die Nachrichtendatei in der Benutzer-Standardsprache für dieses private Anwendungs programm in den Privatspeicher 54 überführt worden ist. Wenn ein zu dieser Nachrichtendatei zeigender Zeiger aus Zeiger feld 66 (Fig. 5) zurückgeschickt worden ist, dann kann der zu der Nachricht zeigende Zeiger in ähnlicher Weise wie der oben beschriebene Schritt 436 aus der Nachrichtendatei auf gerufen werden. Wenn festgestellt worden ist, daß die Nach richtendatei nicht in den Privatspeicher überführt worden ist, dann wird der Prozeß mit Schritt 450 fortgesetzt, indem in einer ähnlichen Weise, wie im oben beschriebenen Schritt 438 festgestellt wird, ob zuvor nach ihm gesucht worden ist. Wenn nach dieser Nachrichtendatei zuvor gesucht worden ist, dann wird in Schritt 454 ein Null-Zeiger zurückgeschickt. Anderenfalls wird in Schritt 452 ein Versuch unternommen, um diese Nachrichtendatei in den Privatspeicher 54 zu überfüh ren, wie dies zuvor in Verbindung mit Fig. 24 beschrieben wurde. Wenn dieser Versuch 452 erfolgreich ist, dann kann ein zu der gewünschten Nachricht zeigender Zeiger unter Ver wendung einer Speicherstelle der Nachrichtendatei im Privat speicher wie in Schritt 448 aufgerufen werden. Wenn der Ver such 452 fehlschlägt, dann wird in Schritt 454 ein Null-Zei ger zurückgeschickt.If the attempt 440 to transfer a message file to private storage fails or if such an attempt has been made previously, which was determined in step 438 or if it was determined in step 430 that no current dialog language is displayed for this application program , then the process proceeds to step 442 by selecting the user default language as indicated by field 100 ( FIG. 9). If no language has been set, then a null pointer is returned in step 444 . Otherwise, it is determined by examining the connection table 60 for the private memory (step 446 ) whether the message file in the user standard language for this private application program has been transferred to the private memory 54 . If a pointer pointing to this message file has been returned from pointer field 66 ( FIG. 5), then the pointer pointing to the message can be called from the message file in a manner similar to step 436 described above. If it is determined that the message file has not been transferred to private storage, then the process continues to step 450 by determining in a manner similar to step 438 described above whether it has been previously searched for. If this message file was previously searched for, then a null pointer is returned in step 454 . Otherwise, an attempt is made in step 452 to transfer this message file to private storage 54 , as previously described in connection with FIG. 24. If this attempt 452 is successful, then a pointer pointing to the desired message can be called using a location of the message file in private storage as in step 448 . If the attempt 452 fails, a null pointer is returned in step 454 .
Die Fähigkeit des Systems auf natürliche Spracheingaben von einem Benutzer unter Verwendung einer Benutzerstation 42 zu antworten, kann ebenso geschaffen werden. Standardeingaben- Verarbeitungsfunktionen können derart modifiziert werden, daß sie die im folgenden in Verbindung mit Fig. 29 beschrie 11328 00070 552 001000280000000200012000285911121700040 0002004325096 00004 11209 benen Schritte aufweisen. Für diesen Prozeß enthält eine Nachrichtendatei ebenso Eingaben von einem Benutzer in na türlicher Sprache, z. B. "Ja", "Nein" und "Verlasse". Diese Eingabenachrichten können in die Nachrichtendatei zusammen mit Ausgabenachrichten aufgenommen werden. Der erste Schritt der Verarbeitung von Eingaben in natürlicher Sprache enthält den Schritt 460, in dem festgestellt wird, ob die mehrspra chigen Eigenschaften des Systems gemäß dem Typ des Anwen dungsprogrammes (d. h. gemeinschaftlich oder privat) in ge eigneter Weise freigegeben wurden. Wenn diese Eigenschaft nicht freigegeben ist, dann wird in Schritt 462 ein Falsch- Wert zurückgeschickt. Der Typ des Programms kann durch Un tersuchung der Speicherstelle, in welcher es gespeichert ist, festgestellt werden. Der Freigabestatus kann aus der System-Freigabe-Tabelle 90 (Fig. 8) festgestellt werden; und insbesondere in Feld 92 für private Anwendungen und in Zei gerfeld 96 für gemeinschaftliche Anmeldungen. Wenn festge stellt worden ist, daß es sich bei dem Anwendungsprogramm um ein gemeinschaftliches Anwendungsprogramm handelt und wenn das System voll freigegeben ist, dann wird der Prozeß mit Schritt 466 fortgeführt, in dem die erste Nachricht, die mit der Eingabe des Benutzers verglichen werden soll, gesetzt wird. Ein Anwendungsprogrammierer würde normalerweise eine Eingabe von einem Benutzer erwarten, die einer abschließen den Liste von möglichen Eingabenachrichten entspricht. Der Anwendungsprogrammierer kann dann die Eingabe mit jeder die ser erwarteten Antworten vergleichen. Selbst ein Argument "N" an die erste dieser erwarteten Nachrichten. Der Prozeß wird mit Schritt 468 fortgeführt, in dem diese erwartete Nachricht in einer Nachrichtendatei gefunden werden soll. Wenn die Nachricht nicht gefunden worden ist, dann wird in den Schritten 474 und 468 nach der nächsten erwarteten Nach richt gesucht. Wenn eine Nachricht gefunden worden ist, dann wird diese Nachricht in Schritt 476 mit der Eingabe des Be nutzers verglichen.The system's ability to respond to natural voice input from a user using user station 42 can also be created. Standard input processing functions can be modified to include the steps described below in connection with Figure 29 11328 00070 552 001000280000000200012000285911121700040 0002004325096 00004 11209. For this process, a message file also contains input from a user in natural language, e.g. B. "Yes", "No" and "Leave". These input messages can be included in the message file along with output messages. The first step of processing natural language inputs includes step 460 , in which it is determined whether the multilingual properties of the system have been appropriately released according to the type of application program (ie, shared or private). If this property is not released, then a false value is sent back in step 462 . The type of program can be determined by examining the location in which it is stored. The release status can be determined from the system release table 90 ( FIG. 8); and in particular in field 92 for private applications and in pointer field 96 for joint applications. If it has been determined that the application program is a collaborative application program and the system is fully enabled, then the process continues to step 466 , in which the first message to be compared to the user's input is is set. An application programmer would normally expect an input from a user that corresponds to a complete list of possible input messages. The application programmer can then compare the input to each of these expected responses. Even an argument "N" to the first of these expected messages. The process continues to step 468 in which this expected message is to be found in a message file. If the message is not found, then steps 474 and 468 look for the next expected message. If a message has been found, then this message is compared in step 476 with the input of the user.
Der Schritt 476 der Abgleichung der aufgerufenen Nachricht mit der Eingabe des Benutzers kann in einer Vielzahl von We gen durchgeführt werden; ein Abgleich kann partiell, ähnlich oder exakt sein. Wenn die Nachricht mit einer Eingabe des Benutzers übereinstimmt, dann kann in Schritt 478 die Einga be, die Nachricht oder ein Wahr-Wert zurückgeschickt werden. Es ist möglich, diese vergleichende Suche forzusetzen, um andere Abgleiche mit Nachrichten zu finden und um lieber ei ne Liste von partiellen Abgleichen als einen einzelnen und ersten Abgleich zurückzuschicken. Wenn die Eingabe des Be nutzers nicht zu der aufgerufenen, erwarteten Nachricht paßt, dann wird in Schritt 474 die nächste erwartete Nach richt aufgerufen und der Prozeß wird mit dem bereits oben beschriebenen Schritt 468 fortgesetzt. Wenn es keine ver bleibenden, erwarteten Nachrichten mehr gibt und wenn keine gefunden wurde, die auf die Eingabe des Benutzers paßt, dann wird in Schritt 480 ein Falsch-Wert zurückgeschickt. Dieser Schritt 480 kann alternativ die Liste von zuvor gefundenen partiellen Abgleichen zurückschicken. In diesem Falle wird die Liste mit einem Falsch-Wert initialisiert.Step 476 of matching the retrieved message with the user's input can be performed in a variety of ways; an adjustment can be partial, similar or exact. If the message matches an input from the user, then the input, the message, or a true value can be returned in step 478 . It is possible to continue this comparative search to find other matches with messages and to return a list of partial matches rather than a single and first match. If the user's input does not match the retrieved expected message, then the next expected message is called in step 474 and the process continues with step 468 already described above. If there are no remaining, expected messages, and if none was found that matches the user's input, then a false value is returned in step 480 . This step 480 may alternatively send back the list of previously found partial matches. In this case, the list is initialized with a false value.
Für den Fall einer Benutzereingabe für ein privates Anwen dungsprogramm beginnt der Prozeß des Abgleichs der Nachricht mit Schritt 482, in dem die erste erwartete Nachricht ausge wählt wird, vorausgesetzt, das System ist zumindest privat freigegeben. Der Prozeß wird mit Schritt 484 fortgesetzt, indem die Nachricht in der Nachrichtendatei für dieses pri vate Anwendungsprogramm gefunden werden soll. Die für diesen Prozeß der Abgleichung der Eingabe mit einer Nachricht ver bleibenden Schritte 490, 492, 494 und 496 sind den Schritten 476, 478, 474 und 480 zur Auffindung einer Nachricht für ein gemeinschaftliches Anwendungsprogramm ähnlich. In jedem Fall wird eine Eingabe des Benutzers in natürlicher Sprache mit einer Gruppe von erwarteten Eingaben verglichen, sodaß der volle Dialog zwischen einem Benutzer und dem Datenverarbei tungssystem in einer natürlichen Sprache freigegeben ist.In the event of user input for a private application program, the process of matching the message begins at step 482 , in which the first expected message is selected, provided the system is at least privately released. The process continues to step 484 in which the message is to be found in the message file for this private application program. Steps 490 , 492 , 494 and 496 remaining for this process of matching input to a message are similar to steps 476 , 478 , 474 and 480 for finding a message for a collaborative application program. In any case, a user's input in natural language is compared to a group of expected inputs so that full dialogue between a user and the data processing system in a natural language is enabled.
Zu gegebener Zeit kann es wünschenswert sein, ein Anwen dungsprogramm oder ein Wörterbuch und ihre Nachrichtendatei en aus dem Speicher oder aus dem Gebrauch zu entfernen (Fig. 30). Der erste Schritt 500 des Entfernens einer Anwendung vom Gebrauch ist die Identifikation der Speicherstelle des Prozeßcodes oder anderer Kennzeichnungen des Anwendungspro grammes. Die in Schritt 500 gefundene Kennzeichnung wird in Schritt 502 als ein Suchindex für die Verbindungtabelle 60 verwendet und der Eintrag 64 wird aufgerufen. Für die im Zeigerfeld 66 angezeigte, korrespondierende Nachrichtendatei wird die Zuordnung zurückgenommen und der Eintrag 64 wird aus der Verbindungstabelle 60 entfernt (Schritt 504). Für das Anwendungsprogramm oder das Wörterbuch selbst kann die Zuordnung dann zurückgenommen werden (Schritt 505).In due course, it may be desirable to remove an application program or dictionary and its message files from memory or use ( Fig. 30). The first step 500 of removing an application from use is to identify the location of the process code or other identifier of the application program. The identifier found in step 500 is used in step 502 as a search index for the connection table 60 and the entry 64 is called. For the corresponding message file displayed in the pointer field 66 , the assignment is withdrawn and the entry 64 is removed from the connection table 60 (step 504 ). The assignment can then be withdrawn for the application program or the dictionary itself (step 505 ).
Wenn ein Anwendungsprogramm ein verschachteltes Anwendungs programm ist, d. h. wenn es von einem anderen Anwendungspro gramm aufgerufen wurde, dann wird die Programmebene wie in Fig. 31 dargestellt wieder hergestellt. Das durch den Benut zer verschachtelte Sprach-Stapelregister 102 wird verwendet, um einen Eintrag 104 für das Anwendungsprogramm aufzurufen, welches zuvor gelaufen ist. Dieser Eintrag 104 (Fig. 10) wird verwendet, um die Felder 134 und 136 (Fig. 13) der Be nutzer-Informations-Tabelle 130 zu setzen, die die Dialogs prache anzeigen, in der das momentane Anwendungsprogramm läuft (Schritt 506). Das auf das verschachtelte Sprachen- Stapel-Register (Fig. 30) zeigende Zeigerfeld 132 wird dann auf den nächsten Eintrag 104 des Sprach-Stapelregisters 102 zurückgesetzt (Schritt 508). If an application program is a nested application program, ie if it was called by another application program, the program level is restored as shown in FIG. 31. The language stack register 102 interleaved by the user is used to call an entry 104 for the application program that was previously running. This entry 104 ( FIG. 10) is used to set fields 134 and 136 ( FIG. 13) of the user information table 130 , which indicate the language in which the current application program is running (step 506 ). The pointer field 132 pointing to the interleaved language stack register ( FIG. 30) is then reset to the next entry 104 of the language stack register 102 (step 508 ).
Für ein mehrsprachiges Datenverarbeitungssystem kann es ebenso wünschenswert sein, einen Benutzer zu ermächtigen oder eine Liste von Dialogsprachen zu erhalten, die für ein Anwendungsprogramm verfügbar sind. Zwei Arten von Listen sind möglich. Die erste dieser Listen enthält die Sprachen für ein Anwendungsprogramm, für welches Nachrichtendateien in den Privat- oder Gemeinschaftsspeicher überführt oder ge laden worden sind. Der andere Typ von Liste ist eine Liste der Dialogsprachen-Nachrichtendateien, die für ein gegebenes Anwendungsprogramm auf einer Festplatte existieren. Das erstgenannte ist hauptsächlich für Gemeinschaftsanwendungen wünschenswert. Das zweite ist vorzugsweise für private An wendungen, deren Nachrichtendateien nicht alle in den Pri vatspeicher überführt wurden.For a multilingual data processing system it can may also be desirable to authorize a user or to get a list of dialog languages for one Application program are available. Two types of lists are possible. The first of these lists contains the languages for an application program for which message files transferred to private or shared storage or ge have been loaded. The other type of list is a list the dialog language message files that are needed for a given Application program exist on a hard disk. The the former is mainly for community applications desirable. The second is preferably for private individuals applications whose message files are not all in the Pri vat storage were transferred.
Der erste Listentyp wird nun in Verbindung mit Fig. 32 be schrieben. Diese Konstruktion beginnt mit Schritt 510, in dem festgestellt wird, ob der mehrsprachige Dialog auf dem System für den Typ des Anwendungsprogrammes in geeigneter Weise freigegeben ist. Wenn es nicht freigegeben ist, dann wird der Benutzer benachrichtigt, daß für dieses Anwendungs programm keine Sprachen verfügbar sind (Schritt 512). Ande renfalls wird ein Argument, z. B. "N" zu der maximalen Anzahl von Sprachen gesetzt (Schritt 514), wie sie in Feld 72 der System-Informations-Tabelle 70 (Fig. 6) gefunden wurde (Schritt 514). Ein zweites Argument z. B. "L" wird zu "Null" gesetzt (Schritt 516). Das zweite Argument wird dann in Schritt 518 mit dem ersten Argument verglichen. Wenn das zweite Argument "L" größer ist als das erste Argument "N", dann wird dadurch angezeigt, daß die Anzahl der gesuchten Sprachen größer ist als die Anzahl der maximalen Sprachen und der Prozeß endet dann (Schritt 520). Anderenfalls wird festgestellt, ob die eine Sprache entsprechend dem zweiten Argument "L" aufweisende Nachrichtendatei einer Dialogspra che durch Untersuchung der geeigneten Verbindungstabelle 60 und durch Untersuchung des Zeigerfeldes 66 für die Nachrichtendatei für das Programmfeld 62 und das Sprachfeld 68 (Fig. 5) installiert wurde. Wenn in Schritt 522 herausgefunden wurde, daß die Nachrichtendatei der Spra che geladen wurde, dann wird in Schritt 524 eine Nachricht in einer geeigneten Dialogsprache zu dem Benutzer übersandt, die anzeigt, daß die dem zweiten Argument "L" korrespondie rende Sprache verfügbar ist. Wenn die Sprache nicht instal liert ist oder wenn das zweite Argument "L" in Schritt 526 vergrößert wurde, nachdem die Nachricht, die anzeigt, daß es installiert ist, zu dem Benutzer ausgesandt wurde, dann wird der Prozeß fortfahren mit dem Vergleich von Schritt 518, wie es bereits oben beschrieben ist. In dieser Weise erhält der Benutzer an der Benutzerstation einen Strom von Ausgabenach richten, die anzeigen, welche Sprachen für das ausgewählte Anwendungsprogramm verfügbar sind.The first list type will now be described in connection with Fig. 32. This construction begins at step 510 , in which it is determined whether the multilingual dialog on the system is appropriately released for the type of application program. If it is not released, the user is notified that no languages are available for this application program (step 512 ). Otherwise an argument, e.g. B. Set "N" to the maximum number of languages (step 514 ) as found in field 72 of the system information table 70 ( Fig. 6) (step 514 ). A second argument, e.g. B. "L" is set to "zero" (step 516 ). The second argument is then compared to the first argument in step 518 . If the second argument "L" is greater than the first argument "N", then this indicates that the number of languages searched is greater than the number of maximum languages and the process then ends (step 520 ). Otherwise, it is determined whether the message file of a dialog language having a language corresponding to the second argument "L" has been installed by examining the suitable connection table 60 and by examining the pointer field 66 for the message file for the program field 62 and the language field 68 ( FIG. 5) . If it is found in step 522 that the language message file has been loaded, then in step 524 a message is sent to the user in an appropriate dialog language indicating that the language corresponding to the second argument "L" is available. If the language is not installed, or if the second argument "L" was incremented in step 526 after the message indicating that it was installed was sent to the user, then the process will continue to compare step 518 as already described above. In this way, the user at the user station receives a stream of output messages indicating which languages are available for the selected application program.
Der Aufbau des zweiten Listentyps von verfügbaren Dialog sprachen wird nun in Verbindung mit Fig. 33 beschrieben. Der erste Schritt dieses Aufbaus ist Schritt 530, in dem festge stellt wird, ob ein mehrsprachiger Dialog für das System be reits freigegeben worden ist. Wenn es noch nicht freigegeben worden ist, dann wird in Schritt 532 eine Nachricht an den Benutzer ausgesandt, die anzeigt, daß keine Sprachen verfüg bar sind. Anderenfalls wird in Schritt 534 der Speicher des Datenverarbeitungssystems abgesucht, um die Nachrichtenda teien eines gegebenen Anwendungsprogramms zu finden. Diese Suche wird durchgeführt unter Verwendung eines Dateinamens, der auf dem Anwendungsprogramm und dem Dateitypen einer Nachrichtendatei basiert, wobei jeder Sprachenname akzep tiert wird, der sich in der Nachrichtendatei befindet. Für jede in Schritt 534 gefundene Nachrichtendatei wird der die ser Nachrichtendatei entsprechende Sprachennamen zum Teil einer Nachricht gemacht, die dem Benutzer übersandt wird, um anzuzeigen, daß diese Dialogsprache für das gegebene Anwen dungsprogramm verfügbar ist (Schritt 536).The structure of the second list type of available dialog languages will now be described in connection with FIG. 33. The first step in this construction is step 530 , in which it is determined whether a multilingual dialog has already been released for the system. If it has not yet been released, then a message is sent to the user in step 532 indicating that no languages are available. Otherwise, the data processing system memory is searched in step 534 to find the message files of a given application program. This search is performed using a file name based on the application program and the file type of a message file, with any language name that is in the message file being accepted. For each message file found in step 534 , the language name corresponding to that message file is made part of a message that is sent to the user to indicate that that dialog language is available for the given application program (step 536 ).
Mit der oben beschriebenen Ausführungsform kann ein Benutzer eine gewünschte Dialogsprache spezifizieren, damit sodann der Dialog mit dem Datenverarbeitungssystem in dieser Spra che durchgeführt werden kann, wenn diese Sprache für ein ge gebenes Anwendungsprogramm verfügbar ist. Solch ein System kann in einer Vielzahl von mehrsprachigen Umgebungen beson ders nützlich sein.With the embodiment described above, a user can specify a desired dialog language so that then the dialogue with the data processing system in this language che can be carried out if this language for a ge given application program is available. Such a system can be used in a variety of multilingual environments be useful.
Claims (12)
Bereitstellen einer Verbindungstabelle mit einer Mehr zahl von Verbindungen zwischen den Anwendungsprogrammen und Nachrichtendateien, wobei eine Verbindung Werte speichert, die auf ein Anwendungsprogramm, eine natür liche Sprache und eine Speicherstelle für eine Nach richtendatei, die dem Anwendungsprogramm und der natür lichen Sprache in dem Speicher zugeordnet ist, hinwei sen;
Auswählen einer natürlichen Sprache durch das Anwen dungsprogramm;
Zugreifen auf die Verbindungstabelle zum Auswählen des der Nachrichtendatei für das Anwendungsprogramm in der gewählten natürlichen Sprache zugeordneten Speicher platzes;
Abrufen der Textinformationen von der Nachrichtendatei;
Ausgabe der zutreffenden Textinformation an den Benut zer.1. A method for providing a user dialog via a text interface in several natural languages in a computer system with a central computer, which is connected to a plurality of user stations via communication links, with a processor for executing a plurality of application programs that run simultaneously to be used by a variety of users and a memory connected to the processor to store at least one message file, a message file containing natural language text information for one of the application programs, with different text information for different application programs are provided with the following steps:
Providing a connection table with a plurality of connections between the application programs and message files, a connection storing values associated with an application program, a natural language, and a storage location for a message file associated with the application program and the natural language in the memory is, point out;
Selecting a natural language through the application program;
Accessing the connection table to select the space allocated to the message file for the application program in the selected natural language;
Retrieving the text information from the message file;
Output of the relevant text information to the user.
Speicherung einer momentanen Dialogsprache; und
Speicherung einer Standardsprache, wobei der Schritt der Auswahl der natürlichen Sprache zwischen der momen tanen Dialogsprache und der Standardsprache erfolgt.2. A method according to claim 1, further comprising the steps of:
Storage of a current dialog language; and
Storage of a standard language, with the step of selecting the natural language between the current dialog language and the standard language.
Speicherung einer momentanen Dialogsprache;
Speicherung verschachtelter Sprachinformationen; und
Ersetzen der momentanen Dialogsprache durch eine einem anderen Anwendungsprogramm zuzuordnende Dialogsprache als Antwort auf einen Befehl des Anwendungsprogrammes zum Aufruf eines anderen Anwendungsprogramms und Siche rung der vorherigen, momentanen Dialogsprache. 3. A method according to claim 1, further comprising the steps of:
Storage of a current dialog language;
Storage of nested speech information; and
Replace the current dialog language with a dialog language to be assigned to another application program in response to a command of the application program to call another application program and save the previous, current dialog language.
der Aufruf eines anderen Anwendungsprogrammes minde stens eine mögliche Dialogsprache enthält; und
der Auswahl der zuzuordnenden Dialogsprache aus den möglichen Dialogsprachen getroffen wird.7. A method according to claim 6, wherein:
the call of another application program contains at least one possible dialog language; and
the selection of the dialog language to be assigned is made from the possible dialog languages.
Ersetzen der momentanen Dialogsprache als Antwort auf eine Beendigung des aufgerufenen Anwendungsprogramms durch eine vorherige Dialogsprache aus den gespeicher ten, verschachtelten Sprachinformationen; und
Entfernung der vorherigen Dialogsprache aus den gespei cherten, verschachtelten Sprachinformationen.8. A method according to claim 7, further comprising the steps of:
Replacing the current dialog language in response to a termination of the called application program with a previous dialog language from the stored, nested language information; and
Removing the previous dialog language from the stored, nested language information.
Speicherung einer momentanen Dialogsprache; und Setzen der momentanen Dialogsprache als Antwort auf einen Be fehl eines Benutzers ein Anwendungsprogramm aufzurufen unter Verwendung einer gewünschten Dialogsprache, wenn eine Nachrichtendatei, die Nachrichten in der gewünsch ten Dialogsprache enthält, verfügbar ist; und
Setzen der momentanen Dialogsprache als eine Standard dialogsprache, falls die gewünschte Dialogsprache nicht verfügbar ist.11. A method according to claim 10, further comprising:
Storage of a current dialog language; and setting the current dialog language in response to a command from a user to invoke an application program using a desired dialog language if a message file containing messages in the desired dialog language is available; and
Set the current dialog language as a standard dialog language if the desired dialog language is not available.
Ladung der Nachrichtendatei der momentanen Dialogspra che des aufgerufenen Anwendungsprogramms; und
Erstellen einer Verbindung in der Verbindungstabelle für die geladene Nachrichtendatei und die momentane Dialogsprache.12. A method according to claim 11, further comprising the step of:
Loading the message file of the current dialog language of the called application program; and
Create a connection in the connection table for the loaded message file and the current dialog language.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4325096A DE4325096C2 (en) | 1993-07-27 | 1993-07-27 | A data processing system that enables a user dialog in several natural languages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4325096A DE4325096C2 (en) | 1993-07-27 | 1993-07-27 | A data processing system that enables a user dialog in several natural languages |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4325096A1 DE4325096A1 (en) | 1995-02-02 |
DE4325096C2 true DE4325096C2 (en) | 1998-12-17 |
Family
ID=6493768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4325096A Expired - Lifetime DE4325096C2 (en) | 1993-07-27 | 1993-07-27 | A data processing system that enables a user dialog in several natural languages |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4325096C2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19741473C2 (en) * | 1997-09-19 | 2003-07-03 | Siemens Ag | Method for controlling display user interfaces of system-controlled devices in a communication system |
DE19908137A1 (en) | 1998-10-16 | 2000-06-15 | Volkswagen Ag | Method and device for automatic control of at least one device by voice dialog |
DE10050360B4 (en) * | 2000-10-11 | 2004-12-09 | Siemens Ag | Method activation and / or deactivation of services in a switching system |
DE10050808C2 (en) * | 2000-10-13 | 2002-12-19 | Voicecom Ag | Voice-guided device control with user optimization |
DE10204437A1 (en) * | 2002-02-04 | 2003-08-14 | Hans Kuebler | Speech-controlled access to Internet or intranet has user-specific speech command screen set up in terminal or network server, initiated by speech recognition |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0121071A2 (en) * | 1983-03-30 | 1984-10-10 | International Business Machines Corporation | Concurrent multi-lingual use in data processing systems |
EP0413486A2 (en) * | 1989-08-14 | 1991-02-20 | International Business Machines Corporation | Message processing system |
-
1993
- 1993-07-27 DE DE4325096A patent/DE4325096C2/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0121071A2 (en) * | 1983-03-30 | 1984-10-10 | International Business Machines Corporation | Concurrent multi-lingual use in data processing systems |
EP0413486A2 (en) * | 1989-08-14 | 1991-02-20 | International Business Machines Corporation | Message processing system |
Also Published As
Publication number | Publication date |
---|---|
DE4325096A1 (en) | 1995-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69400207T2 (en) | LANGUAGE-BASED TEXT COMPARISON SYSTEM | |
DE69129479T2 (en) | Distributed computer system | |
DE69616391T2 (en) | Document retrieval and display system with a translation function | |
DE69838756T2 (en) | PROCESSING INPUT / OUTPUT REQUIREMENTS OF SEVERAL DRIVERS ENABLE FILED SYSTEM PRIMITIVE ROUTINE IN A MULTILAYER DRIVER I / O SYSTEM | |
DE69229453T2 (en) | Method and arrangement for accessing a relational database without having to leave an object-oriented environment | |
DE69719858T2 (en) | Document display system and electronic dictionary | |
DE69516727T2 (en) | METHOD AND SYSTEM FOR ACCESSING DATA | |
DE69130715T2 (en) | Method and device for transferring data between heterogeneous database systems | |
DE69031319T2 (en) | Multi-language translation system | |
DE3856038T2 (en) | Data integration through object management | |
DE60126016T2 (en) | Server-side control objects for processing customer-side user interface elements | |
EP0855062B1 (en) | Information system and process for storing data therein | |
DE69523142T2 (en) | DISTRIBUTED DATABASE SYSTEM | |
DE69324186T2 (en) | Data management method and device | |
DE69628374T2 (en) | Data Management System | |
DE2113891A1 (en) | Data processing system | |
DE2801610A1 (en) | PROCEDURE FOR DEFINING INITIAL VALUES FOR TEXT PROCESSING | |
DE2054947B2 (en) | Data processing system | |
DE19645128C2 (en) | Procedure for managing documents and device drivers for performing the procedure | |
DE4135347C2 (en) | Method for maintaining a mutual relationship between several objects in a computer system provided for object-oriented language and device for carrying out such a method | |
DE4325096C2 (en) | A data processing system that enables a user dialog in several natural languages | |
DE2458286A1 (en) | DATA PROCESSING SYSTEM FOR MOVING DATA FIELDS WITH DIFFERENT STRUCTURES | |
DE69121113T2 (en) | METHOD FOR DETERMINING USER INTERFACES AND PROGRAMMING SYSTEM FOR A COMPUTER WITH MULTIPLE USER INTERFACES | |
DE19933584A1 (en) | Process for the compact presentation of information packets and their storage or transmission | |
DE3853751T2 (en) | Program adaptation through automatic resource substitution. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 17/28 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right | ||
R071 | Expiry of right |