DE102013210891A1 - Dynamic substitution of translations - Google Patents

Dynamic substitution of translations Download PDF

Info

Publication number
DE102013210891A1
DE102013210891A1 DE102013210891A DE102013210891A DE102013210891A1 DE 102013210891 A1 DE102013210891 A1 DE 102013210891A1 DE 102013210891 A DE102013210891 A DE 102013210891A DE 102013210891 A DE102013210891 A DE 102013210891A DE 102013210891 A1 DE102013210891 A1 DE 102013210891A1
Authority
DE
Germany
Prior art keywords
language
user
data processing
processing system
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.)
Pending
Application number
DE102013210891A
Other languages
German (de)
Inventor
Guoyou Chen
Wiliam B. Huber
Su Liu
Jennifer D. Mulsow
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102013210891A1 publication Critical patent/DE102013210891A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Abstract

Es werden Mechanismen zum Übersetzen von Nachrichten bereitgestellt, die durch Prozesse ausgegeben werden, die dem Datenverarbeitungssystem zugehörig sind. Es werden sprachbezogene Benutzeraktivitäten verfolgt und analysiert, die über ein Datenverarbeitungssystem erfolgen, um eine relative Prioritätsreihenfolge einer oder mehrerer durch einen Benutzer verwendeter Sprachen zu ermitteln, der die Benutzeraktivitäten ausführt. Eine Folge bevorzugter Substitutionen von Sprachübersetzungen wird zum Ausgeben von Nachrichten auf der Grundlage von Ergebnissen der Analyse erzeugt und automatisch auf eine empfangene Nachricht von einem dem Datenverarbeitungssystem zugehörigen Prozess angewendet, um eine übersetzte Nachricht unter Verwendung einer der Substitutionen bevorzugter Sprachübersetzungen in der Folge von Substitutionen bevorzugter Sprachübersetzungen zu erzeugen. Die übersetzte Nachricht wird über eine Ausgabeeinheit des Datenverarbeitungssystems ausgegeben.Mechanisms are provided for translating messages issued by processes associated with the data processing system. It tracks and analyzes language-related user activities that occur through a computing system to determine a relative priority order of one or more user-used languages that perform the user activities. A sequence of preferred language translation substitutions is generated for outputting messages based on results of the analysis and automatically applied to a received message from a process associated with the data processing system to more prefer a translated message using one of the substitutions of preferred language translations in the sequence of substitutions To generate language translations. The translated message is output via an output unit of the data processing system.

Description

Hintergrundbackground

Die vorliegende Erfindung betrifft allgemein eine verbesserte Datenverarbeitungsvorrichtung und ein Verfahren und insbesondere Mechanismen zum dynamischen Substituieren von Übersetzungen auf der Grundlage einer Echtzeitanalyse von Aktivitäten in einer Benutzersprache.The present invention relates generally to an improved data processing apparatus and method, and more particularly to mechanisms for dynamically substituting translations based on real-time analysis of activities in a user's language.

Moderne Datenverarbeitungseinheiten sind in der Lage, auf einer Benutzeroberfläche Menübezeichnungen, Arbeitsanweisungen, Hilfe- und Warnnachrichten sowie weitere Textnachrichten in einer benutzerdefinierten Sprache auf der Grundlage der in einer Systemeinstellung angegebenen bevorzugten Benutzersprache anzuzeigen. Um solche Übersetzungen zu erleichtern, werden Menübezeichnungen, Anweisungen, Hilfe- und Warnnachrichten und dergleichen in Übersetzungs-Katalogdateien bereitgestellt, wo ein und dieselbe Textnachricht in verschiedenen Katalogdateien bereitgestellt wird, z. B. eine Katalogdatei für Englisch, eine Katalogdatei für Spanisch, eine Katalogdatei für Chinesisch und so weiter. Die Einstellungen von bevorzugten Sprachen sind ihrem Wesen nach statisch und werden üblicherweise durch den Benutzer festgelegt, wenn dieser zu Anfang das Betriebssystem, die Anwendung oder die Laufzeitumgebung initialisiert.Modern computing devices are capable of displaying on a user interface menu designations, work instructions, help and warning messages, and other text messages in a user-defined language based on the preferred user language specified in a system setting. To facilitate such translations, menu names, instructions, help and warning messages, and the like are provided in translation catalog files where the same text message is provided in various catalog files, e.g. For example, a catalog file for English, a catalog file for Spanish, a catalog file for Chinese, and so on. Preferred language preferences are static in nature and are usually set by the user when initially initializing the operating system, application, or runtime environment.

KurzdarstellungSummary

Gemäß einer anschaulichen Ausführungsform wird ein Verfahren in einem Datenverarbeitungssystem zum Übersetzen von Nachrichten bereitgestellt, die durch Prozesse ausgegeben werden, die dem Datenverarbeitungssystem zugehörig sind. Das Verfahren weist ein automatisches Verfolgen von sprachbezogenen Benutzeraktivitäten durch das Datenverarbeitungssystem und ein automatisches Analysieren der sprachbezogenen Benutzeraktivitäten auf, um eine relative Prioritätsreihenfolge einer oder mehrerer Sprachen zu ermitteln, die durch einen Benutzer beim Ausführen der Benutzeraktivitäten verwendet werden. Das Verfahren weist ferner ein automatisches Erzeugen einer Folge von Substitutionen bevorzugter Sprachübersetzungen auf, um Nachrichten auf der Grundlage von Ergebnissen der Analyse auszugeben und die Folge auf eine empfangene Nachricht von einem dem Datenverarbeitungssystem zugehörigen Prozess anzuwenden, um unter Verwendung einer der Substitutionen bevorzugter Sprachübersetzungen in der Folge von Substitutionen bevorzugter Sprachübersetzungen eine übersetzte Nachricht zu erzeugen. Außerdem weist das Verfahren ein Ausgeben der übersetzten Nachricht über eine Ausgabeeinheit des Datenverarbeitungssystems auf.According to one illustrative embodiment, a method is provided in a data processing system for translating messages issued by processes associated with the data processing system. The method comprises automatically tracking language-related user activities by the data processing system and automatically analyzing the language-related user activities to determine a relative priority order of one or more languages used by a user in performing the user activities. The method further comprises automatically generating a sequence of substitutions of preferred language translations to output messages based on results of the analysis and applying the sequence to a received message from a process associated with the data processing system, using one of the preferred language translations substitutions in the Sequence of substitutions of preferred language translations to produce a translated message. In addition, the method comprises outputting the translated message via an output unit of the data processing system.

Gemäß weiteren anschaulichen Ausführungsformen wird ein Computerprogrammprodukt bereitgestellt, das ein durch Computer nutzbares oder lesbares Medium mit einem computerlesbaren Programm aufweist. Wenn das computerlesbare Programm auf einer Datenverarbeitungseinheit ausgeführt wird, veranlasst es die Datenverarbeitungseinheit zum Ausführen der oben unter Bezugnahme auf die anschauliche Ausführungsform des Verfahrens dargelegten Operationen oder deren verschiedener Kombinationen.According to further illustrative embodiments, a computer program product is provided having a computer usable or readable medium with a computer readable program. When executed on a computing device, the computer-readable program causes the computing device to perform the operations set forth above with reference to the illustrative embodiment of the method or its various combinations.

Gemäß noch einer weiteren anschaulichen Ausführungsform wird ein System/eine Vorrichtung bereitgestellt. Das System/die Vorrichtung kann einen oder mehrere Prozessoren und einen mit dem einen oder mehreren Prozessoren verbunden Speicher aufweisen. Der Speicher kann Anweisungen aufweisen, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren zum Ausführen verschiedener oder von Kombinationen der oben unter Bezugnahme auf die anschauliche Ausführungsform des Verfahrens dargelegten Operationen veranlassen.In accordance with yet another illustrative embodiment, a system / apparatus is provided. The system / device may include one or more processors and memory coupled to the one or more processors. The memory may include instructions that, when executed by the one or more processors, cause the one or more processors to perform various or combinations of the operations set forth above with reference to the illustrative embodiment of the method.

Diese sowie weitere Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden detaillierten Beschreibung der beispielhaften Ausführungsformen der vorliegenden Erfindung beschrieben oder dem Fachmann angesichts dieser Beschreibung klar.These and other features and advantages of the present invention will be set forth in the following detailed description of the exemplary embodiments of the present invention or will become apparent to those skilled in the art in light of this disclosure.

Kurzbeschreibung der verschiedenen ZeichnungsansichtenShort description of the different drawing views

Die Erfindung sowie eine bevorzugte Verwendungsweise und weitere ihrer Zielstellungen und Vorteile lassen sich am besten unter Bezugnahme auf die folgende detaillierte Beschreibung anschaulicher Ausführungsformen in Verbindung mit den beiliegenden Zeichnungen verstehen, wobei:The invention, and a preferred mode of use, and other objects and advantages thereof, may best be understood by reference to the following detailed description of illustrative embodiments, taken in conjunction with the accompanying drawings, in which:

1 ein beispielhaftes Schaubild eines verteilten Datenverarbeitungssystems ist, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können; 1 an exemplary diagram of a distributed data processing system in which aspects of the illustrative embodiments may be implemented;

2 ein beispielhaftes Blockschaltbild einer Datenverarbeitungseinheit ist, in der Aspekte der anschaulichen Ausführungsformen umgesetzt werden können; 2 an exemplary block diagram of a computing device in which aspects of the illustrative embodiments may be implemented;

3 ein beispielhaftes Funktionsblockschaubild ist, das ein Zusammenwirken der wichtigsten Funktionselemente einer Maschine zum Substituieren bevorzugter Sprachübersetzungen gemäß einer anschaulichen Ausführungsform veranschaulicht; 3 FIG. 4 is an exemplary functional block diagram illustrating interaction of the most important functional elements of a machine for substituting preferred language translations according to an illustrative embodiment; FIG.

4 ein Ablaufplan ist, der ein beispielhaftes Verfahren zum Erzeugen einer Folge dynamischer Substitutionen bevorzugter Sprachübersetzungen gemäß einer anschaulichen Ausführungsform zeigt; und 4 FIG. 5 is a flow chart illustrating an exemplary method for generating a sequence of dynamic substitutions of preferred language translations according to an illustrative embodiment; FIG. and

5 ein Ablaufplan ist, der ein beispielhaftes Verfahren zum Nutzen einer Folge dynamischer Substitutionen bevorzugter Sprachübersetzungen mit Erzeugen einer Nachrichtenausgabe gemäß einer anschaulichen Ausführungsform darlegt. 5 5 is a flowchart outlining an example method for utilizing a sequence of dynamic substitutions of preferred language translations with generating message output according to an illustrative embodiment.

Detaillierte BeschreibungDetailed description

Die anschaulichen Ausführungsformen stellen einen Mechanismus zum dynamischen Substituieren von Sprachübersetzungen zur Verwendung mit Anwendungen, Betriebssystemen oder anderen elektronischen Mechanismen zum Erzeugen und Ausgeben von alphanumerischen elektronischen Nachrichten bereit. Die anschaulichen Ausführungsformen können zum Erweitern von statischen Einstellungen zur Sprachübersetzung verwendet werden, indem eine dynamische Optimierung dieser statischen Einstellungen zur Sprachübersetzung auf der Grundlage der sprachbezogenen Aktivitäten eines Benutzers ermöglicht wird.The illustrative embodiments provide a mechanism for dynamically substituting language translations for use with applications, operating systems, or other electronic mechanisms for generating and outputting alphanumeric electronic messages. The illustrative embodiments may be used to extend static language translation settings by dynamically optimizing these static language translation settings based on a user's language-related activities.

Moderne Datenverarbeitungseinheiten sind in der Lage, auf einer Benutzeroberfläche Menübezeichnungen, Arbeitsanweisungen, Hilfe- und Warnnachrichten sowie weitere Textnachrichten in einer benutzerdefinierten Sprache auf der Grundlage der in einer Systemeinstellung angegebenen bevorzugten Spracheinstellung des Benutzers anzuzeigen. Um solche Übersetzungen zu ermöglichen, werden die Menübezeichnungen, Anweisungen, Hilfe- und Warnnachrichten und dergleichen auf dem Bildschirm in Übersetzungskatalogdateien bereitgestellt, wobei ein und dieselbe Textnachricht in verschiedenen Katalogdateien bereitgestellt wird, z. B. in einer Katalogdatei für Englisch, in einer Katalogdatei für Spanisch, in einer Katalogdatei für vereinfachtes Chinesisch und so weiter.Modern computing devices are capable of displaying on a user interface menu designations, work instructions, help and warning messages, and other text messages in a user-defined language based on the user's preferred language setting specified in a system setting. To facilitate such translations, the menu names, instructions, help and warning messages, and the like are provided on-screen in translation catalog files, with one and the same text message being provided in different catalog files, e.g. For example, in a catalog file for English, in a catalog file for Spanish, in a Simplified Chinese catalog file, and so on.

Zum Beispiel stellt das Betriebssystem AIX, das von International Business Machines Corporation, Armonk, New York, erhältlich ist, eine Übersetzungskatalogeinrichtung für alle Anwendungen bereit. Um Übersetzungen von Nachrichten in verschiedene Sprachen zu ermöglichen und diese einem Programm auf der Grundlage der Ländereinstellung eines Benutzers verfügbar zu machen, bewahren die AIX-Mechanismen Nachrichten von dem Programm getrennt auf, indem sie diese in Form von Nachrichtenkatalogen bereitstellen, auf die das Programm während der Laufzeit zugreifen kann. Zum Unterstützen dieser Task werden durch die Nachrichteneinrichtung des Betriebssystems AIX Befehle und Unterroutinen bereitgestellt. Durch den Programmierer werden Nachrichtenquellendateien erzeugt, die Anwendungsnachrichten enthalten, und in Nachrichtenkataloge konvertiert, die bei Bedarf durch die Anwendung zum Abrufen und Anzeigen von Nachrichten verwendet werden. Somit ist es zum Übersetzen von Nachrichtenquellendateien in andere Sprachen und zum anschließenden Konvertieren der Dateien in Nachrichtenkataloge nicht erforderlich, das zugrunde liegende Programm zu ändern und neu zu kompilieren.For example, the AIX operating system, available from International Business Machines Corporation of Armonk, New York, provides a translation catalog facility for all applications. To enable translations of messages into different languages and make them available to a program based on a user's locale, the AIX mechanisms keep messages separate from the program by providing them in the form of message catalogs that the program is listening to the runtime can access. To support this task, commands and subroutines are provided by the message facility of the AIX operating system. The programmer generates message source files containing application messages and converts them into message catalogs that are used by the application to retrieve and display messages as needed. Thus, translating message source files to other languages and then converting the files into message catalogs does not require you to modify and recompile the underlying program.

Auf der Grundlage eines solchen auf Katalogen beruhenden Mechanismus wie bei dem Betriebssystem AIX erhält ein Benutzer eine übersetzte Nachricht auf der Grundlage seiner Sprach/Länder-Einstellung. Zum Beispiel kann eine Nachricht „Hello World” in Abhängigkeit von der Spracheinstellung des Benutzers für Französisch oder Spanisch als vorübersetzte Nachricht „Bonjour Monde” oder „Hola Mundo” angezeigt werden. In der Praxis werden aufgrund hoher Übersetzungskosten nur einige wenige Sprachen übersetzt und unterstützt. Zum Beispiel kann ein Betriebssystem aktuell mehr als 80 Sprachen darstellen, übersetzt jedoch Katalognachrichten, z. B. Menüs des Betriebssystems, Hilfe- und Warnnachrichten und dergleichen, nur in 15 Sprachen. Die meisten anderen Anbieter von Betriebssystemen und Anwendungen übersetzen ihre Katalognachrichten für gewöhnlich nur in eine kleine Anzahl von Sprachen.Based on such a catalog-based mechanism as in the AIX operating system, a user obtains a translated message based on his / her language / country setting. For example, a message "Hello World" may be displayed as a pre-paced message "Bonjour Monde" or "Hola Mundo" depending on the language setting of the user for French or Spanish. In practice, due to high translation costs only a few languages are translated and supported. For example, an operating system may currently represent more than 80 languages, but will translate catalog messages, e.g. Operating system menus, help and warning messages, and the like, in 15 languages only. Most other operating system and application vendors usually translate their catalog messages into only a small number of languages.

Gemäß einigen Ausführungsformen, bei denen keine übersetzten Sprachnachrichten-(Katalog-)Dateien bereitgestellt werden, sind Benutzer in der Lage, ihre Dokumente in einer bevorzugten Sprache zu verarbeiten (zum Beispiel anzeigen, gestalten, lesen, schreiben, bearbeiten, übertragen, speichern), es ist für sie jedoch nicht möglich, übersetzte System/Anwendungs-Nachrichten wie beispielsweise Menübezeichnungen, Arbeitsanweisungen, Hilfe- und Warnnachrichten und dergleichen auf der Benutzeroberfläche zu erhalten. Ein vereinfachtes Verfahren im Betriebssystem AIX zur Lösung dieses Problems besteht darin, dass ein Satz von Standardnachrichten in einer Standardsprache mit einem integrierten Mechanismus zum Substituieren von Übersetzungen bereitgestellt wird, falls in dem Betriebssystem AIX keine übersetzte Nachricht gefunden werden kann. In den meisten Fällen ist die substituierte Standardnachricht in Englisch geschrieben und nach dem ASCII- oder POSIX-Standard codiert.In some embodiments, where translated voice mail (catalog) files are not provided, users are able to process (eg, view, design, read, write, edit, transmit, store) their documents in a preferred language, however, it is not possible for them to obtain translated system / application messages such as menu names, work instructions, help and warning messages, and the like on the user interface. One AIX simplified operating system to solve this problem is to provide a set of standard messages in a standard language with an integrated mechanism for substituting translations if no translated message can be found in the AIX operating system. In most cases, the standard substituted message is written in English and encoded according to the ASCII or POSIX standard.

Es sollte einsichtig sein, dass solche oben beschriebenen Mechanismen ihrem Wesen nach statisch sind. Das heißt, die Übersetzung beruht auf einer statischen Sprach/Länder-Einstellung. Die folgende Tabelle 1 ist ein Beispiel für ein statisches Substituieren von Übersetzungen und zeigt eine Liste aller verfügbaren Übersetzungsmöglichkeiten für Anwendungen, die mit einem bestimmten Betriebssystem ausgeführt werden. Anwendung Übersetzte Nachricht in der Sprache X Übersetzte Nachricht in der Sprache Y Übersetzte Nachricht in der Sprache Z Standardsprache A Ja Ja Nein POSIX B Nein Ja Ja POSIX C Ja Nein Ja POSIX Tabelle 1 – Beispiel für statisches Substituieren von Übersetzungen It should be understood that such mechanisms described above are static in nature. That is, the translation is based on a static language / country setting. The following Table 1 is an example of statically substituting translations and shows a list of all available translation options for applications running on a particular operating system. application Translated message in the X language Translated message in the Y language Translated message in the language Z standard language A Yes Yes No POSIX B No Yes Yes POSIX C Yes No Yes POSIX Table 1 - Example of static substitution of translations

Im obigen Beispiel in Tabelle 1 weist das Betriebssystem die Spracheinstellungen X, Y und Z auf, die eine Anwendung bei ihren Textnachrichten verwenden kann. Darüber hinaus zeigt Tabelle 1, dass drei Anwendungen A, B und C zur Verwendung mit dem Betriebssystem installiert worden sind. Da bei dem Beispiel von Tabelle 1 die Nachricht der Anwendung A nicht in die Sprache Z übersetzt ist, d. h., da ein entsprechender Satz von Nachrichten für die Anwendung A in dem der Sprache Z zugehörigen Katalog nicht verfügbar ist, kann die Anwendung übersetzte Nachrichten nur in den Sprachen X und Y anzeigen. Wenn ein Benutzer für deren Spracheinstellung bzw. der lokalen Einstellungen die Sprache Z auswählt und definiert, da die Anwendung A nicht über die entsprechenden Übersetzungen der Nachricht in die Sprache Z verfügt, zeigt das Betriebssystem/die Anwendung die Nachrichten nicht in der Sprache Z, sondern in der Standardsprache Englisch an. Dies ist eine statische Substitution, die sicherstellt, dass wichtige Anweisungen/Nachrichten zumindest in der Standardsprache angezeigt werden.In the above example in Table 1, the operating system has the language settings X, Y, and Z that an application can use in its text messages. In addition, Table 1 shows that three applications A, B and C have been installed for use with the operating system. In the example of Table 1, since the message of Application A is not translated into the language Z, i. That is, since a corresponding set of messages for application A is not available in the catalog Z associated with language Z, the application can only display translated messages in X and Y languages. If a user selects and defines the language Z for their language setting or settings, since application A does not have the appropriate translations of the message into language Z, the operating system / application displays the messages not in Z language, but instead in the standard language English. This is a static substitution that ensures that important instructions / messages are displayed, at least in the default language.

Während die statischen Übersetzungsmechanismen in vielen Situationen funktionieren, sollte einsichtig sein, dass ein Problem auftritt, wenn ein Benutzer nur die Sprachen Y und Z in dem obigen Beispiel kennt und er die Standardsprache nicht versteht. In einem solchen Fall würde der Benutzer die in Verbindung mit der Anwendung A ausgegebenen Nachrichten nicht verstehen. Somit wäre der Benutzer nicht in der Lage, die Anwendung A zu nutzen. Ein ähnliches Nutzbarkeitsproblem tritt bei Anwendungen B und C in dem obigen Beispiel auf, bei dem die Sprachen X bzw. Y fehlen.While the static translation mechanisms work in many situations, it should be understood that a problem occurs when a user knows only the Y and Z languages in the example above and does not understand the default language. In such a case, the user would not understand the messages issued in connection with Application A. Thus, the user would not be able to use Application A. A similar usability problem occurs in applications B and C in the above example where the X and Y languages are missing.

Dieses Nutzbarkeitsproblem kommt in geografischen Gebieten vor, in denen innerhalb derselben geografischen Grenzen viele verschiedene Sprachen gesprochen werden, z. B. in Großchina. Zum Beispiel sind die meisten chinesischen Benutzer möglicherweise nicht in der Lage, Englisch gut lesen und verstehen zu können, während die meisten Leute in diesem Gebiet keine größeren Probleme beim Lesen sowohl des vereinfachten Chinesisch als auch des traditionellen Chinesisch haben. Ähnliche Probleme kommen in anderen geografischen Gebieten vor, in denen die Leute mehrere Schriftarten für dieselbe Verkehrssprache verwenden, beispielsweise die Schriftarten Kyrillisch oder Latein in ein und denselben Sprachen in Osteuropa und Zentralasien, die Schriftarten Arabisch und Latein in ein und denselben Sprachen im Nahen Osten, die Schriftarten Kyrillisch und klassisches Mongolisch in der Mongolei und die Schriftarten Gurmukhi und Arabisch in der Provinz Punjab. Dasselbe Problem kann auch auftreten, wenn mehrere Schriftarten für mehrere Sprachen innerhalb ein und desselben geografischen Gebiets verwendet werden, beispielsweise indische Sprachen in Indien.This usability problem occurs in geographic areas where many different languages are spoken within the same geographic boundaries, e.g. B. in Greater China. For example, most Chinese users may not be able to read and understand English well, while most people in the field have no major problems reading both simplified Chinese and traditional Chinese. Similar problems occur in other geographical areas where people use multiple fonts for the same common language, such as the Cyrillic or Latin fonts in the same languages in Eastern Europe and Central Asia, the Arabic and Latin fonts in the same Middle Eastern languages, the Cyrillic and Classical Mongolian fonts in Mongolia and the Gurmukhi and Arabic fonts in Punjab province. The same problem can also occur when multiple fonts are used for multiple languages within the same geographic area, such as Indian languages in India.

Die anschaulichen Ausführungsformen stellen Mechanismen zum Lösen dieser Probleme bereit. Die Mechanismen der anschaulichen Ausführungsformen definieren eine dynamische und automatisierte Verfahrensweise zum Formulieren eines Verfahrens zum Analysieren der bevorzugten Sprache eines Benutzers auf der Grundlage der sprachbezogenen Aktivitäten des Benutzers aus einer Vielfalt von Quellen, zum dynamischen Ändern der vorhandenen statischen Substitution von Übersetzungen auf der Grundlage der Ergebnisse der Analyse der bevorzugten Sprache des Benutzers und zum Anzeigen der Nachrichten, die mit der bevorzugten Substitution der Übersetzung des Benutzers übereinstimmen sollen. Die Mechanismen der anschaulichen Ausführungsformen können von einer Liste Gebrauch machen, welche die bevorzugten Sprachen des Benutzers angibt und eine geordnete Liste der bevorzugten Sprachen definiert. Darüber hinaus können die Mechanismen der anschaulichen Mechanismen von automatisierten Mechanismen zum automatischen Ermitteln einer Vorzugsliste des Benutzers mit Spracheinstellungen Gebrauch machen, die auf sprachbezogenen Aktivitäten des Benutzers beruhen. Der automatisierte Mechanismus kann die sprachbezogenen Aktivitäten des Benutzers verfolgen, wobei die betreffenden verfolgten sprachbezogenen Aktivitäten möglicherweise durch den Benutzer angegeben werden. Die Ergebnisse der Analyse der sprachbezogenen Aktivitäten können für sich allein oder in Kombination mit der durch den Benutzer benutzerdefinierten Liste bevorzugter Sprachen verwendet werden, um einen dynamisch optimierten geordneten Satz von bevorzugten Sprachübersetzungen zu erzeugen. Den verschiedenen als Teil der Analyse analysierten Elementen der sprachbezogenen Aktivitäten können Prioritäten zugeordnet sein, die zu den dynamischen Analyseergebnissen beitragen. Somit stellen die Mechanismen der anschaulichen Ausführungsformen einen Mechanismus zum dynamischen Substituieren von Sprachübersetzungen bereit.The illustrative embodiments provide mechanisms for solving these problems. The mechanisms of the illustrative embodiments define a dynamic and automated policy for formulating a method for analyzing a user's preferred language based on the user's speech-related activities from a variety of sources, to dynamically alter the existing static substitution of translations based on the results analyzing the user's preferred language and displaying the messages that are to match the preferred substitution of the user's translation. The mechanisms of Illustrative embodiments may make use of a list indicating the preferred languages of the user and defining an ordered list of preferred languages. In addition, the mechanisms of the illustrative mechanisms may make use of automated mechanisms for automatically determining a preference list of the user with language settings based on the user's language-related activities. The automated mechanism may track the user's language-related activities, with the respective tracked language-related activities possibly being specified by the user. The results of the analysis of the language related activities may be used alone or in combination with the user-defined list of preferred languages to produce a dynamically optimized ordered set of preferred language translations. The various elements of the language-related activities analyzed as part of the analysis may be assigned priorities that contribute to the dynamic analysis results. Thus, the mechanisms of the illustrative embodiments provide a mechanism for dynamically substituting language translations.

Dem Fachmann ist einsichtig, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt umgesetzt werden können. Demgemäß können Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardwareausführungsform, einer vollständigen Softwareausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte in sich vereint, die hierin im Allgemeinen sämtlich als „Schaltung”, „Modul” oder „System” bezeichnet werden können. Darüber hinaus können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, die in einem oder mehreren computerlesbaren Medien mit einem darauf gespeicherten durch Computer lesbaren Programmcode verkörpert sind.It will be understood by those skilled in the art that aspects of the present invention may be implemented as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of a complete hardware embodiment, a complete software embodiment (including firmware, resident software, microcode, etc.), or an embodiment that incorporates software and hardware aspects, generally referred to herein as "circuitry," "Module" or "system" can be called. Additionally, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable media having computer readable program code stored thereon.

Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder um ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein elektronisches, magnetisches, optisches, Infrarot- oder Halbleitersystem, eine entsprechende Vorrichtung oder Einheit oder eine beliebige geeignete Kombination derselben handeln. Zu speziellen Beispielen (eine nicht erschöpfende Aufzählung) des computerlesbaren Speichermediums können Folgendes zählen: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact Disc-Nur-Lese-Speicher (CDROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination derselben. In Verbindung mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges materielles Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen enthalten oder speichern kann.Any combination of one or more computer-readable media may be used. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. For example, a computer-readable storage medium may be, but is not limited to, an electronic, magnetic, optical, infrared, or semiconductor system, device, or device, or any suitable combination thereof. Specific examples (non-exhaustive list) of the computer readable storage medium may include: electrical connection to one or more lines, a portable computer disk, a hard disk, Random Access Memory (RAM), Read Only Memory (ROM), erasable programmable read only memory (EPROM or flash memory), an optical fiber, a portable compact disc read only memory (CDROM), an optical storage unit, a magnetic storage unit, or any suitable combination thereof. In connection with this document, a computer-readable storage medium may be any tangible medium that may contain or store a program for use by or in connection with a system, apparatus, or unit for executing instructions.

Ein computerlesbares Signalmedium kann ein weiterverbreitetes Datensignal mit einem darauf verkörperten computerlesbaren Programmcode beinhalten, Zum Beispiel in einem Basisband oder als Teil einer Trägerwelle. Ein solches weiterverbreitetes Signal kann eine Vielfalt von Formen annehmen, darunter, ohne darauf beschränkt zu sein, elektromagnetisch, optisch oder eine beliebige geeignete Kombination derselben. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist, und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weiterleiten oder transportieren kann.A computer readable signal medium may include a propagated data signal having computer readable program code embodied thereon, for example in baseband or as part of a carrier wave. Such propagated signal may take a variety of forms including, but not limited to, electromagnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may transmit, relay, or transport a program for use by or in connection with a system, apparatus, or unit for executing instructions.

Ein auf einem computerlesbaren Medium verkörperter Computercode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, darunter, ohne darauf beschränkt zu sein, drahtlos, leitungsgebunden, Lichtwellenleiter, Hochfrequenz (HF) usw. oder eine beliebige geeignete Kombination derselben.Computer code embodied on a computer-readable medium may be transmitted using any suitable medium including, but not limited to, wireless, wireline, fiber optic, radio frequency (RF), etc., or any suitable combination thereof.

Der Code eines Computerprogramms zum Ausführen von Operationen für Aspekte der Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie beispielsweise JavaTM, SmalltalkTM, C++ oder dergleichen, und herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer eines Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. Im letzteren Szenario kann der ferner Computer mit dem Computer des Benutzer durch einen beliebigen Typ von Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel durch das Internet unter Verwendung eines Internet-Dienstleisters).The code of a computer program for performing operations for aspects of the invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java , Smalltalk , C ++ or the like, and conventional procedural programming languages such as the "C" programming language Or similar programming languages. The program code may be executed entirely on a user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer by a computer any type of network, including a local area network (LAN), or the connection can be made to an external computer (for example, through the Internet using an internet service provider).

Aspekte der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf Ablaufpläne und/oder Funktionsblockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den anschaulichen Ausführungsformen der Erfindung beschrieben. Es ist klar, dass jeder Block der Ablaufpläne und/oder Funktionsblockschaubilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Funktionsblockschaubildern durch Anweisungen eines Computerprogramms umgesetzt werden können. Diese Anweisungen des Computerprogramms können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zugeführt werden, um eine Maschine derart zu erzeugen, dass die durch den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder Funktionsblockschaubilds angegebenen Funktionen/Aktionen erzeugen.Aspects of the present invention will now be described with reference to flowcharts and / or functional block diagrams of methods, apparatus (systems) and computer program products according to the illustrative embodiments of the invention. It will be understood that each block of the flowcharts and / or function block diagrams and combinations of blocks in the flowcharts and / or function block diagrams may be implemented by instructions of a computer program. These instructions of the computer program may be supplied to a processor of a general purpose computer, a special purpose computer or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device comprise means for translating the data in the block or data generate functions / actions specified for the blocks of the flowchart and / or function block diagram.

Diese Anweisungen des Computerprogramms können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten veranlassen kann, in einer bestimmten Weise so zu funktionieren, dass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Herstellungsprodukt erzeugen, das Anweisungen enthält, welche die in dem Block oder den Blöcken des Ablaufplans und/oder des Funktionsblockschaubilds angegebenen Funktionen/Aktionen umsetzen.These instructions of the computer program may also be stored in a computer-readable medium that may cause a computer, other programmable data processing device, or other entities to function in a particular manner so that the instructions stored in the computer-readable medium produce a manufactured product containing instructions which implement the functions / actions specified in the block or blocks of the flowchart and / or the function block diagram.

Die Anweisungen des Computerprogramms können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Folge auf dem Computer, der anderen programmierbaren Vorrichtung oder anderen Einheiten auszuführender Arbeitsschritte zu veranlassen, um einen computergestützten Prozess derart zu erzeugen, dass die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Umsetzen der in dem Block oder den Blöcken des Ablaufplans und/oder Funktionsblockschaubilds angegebenen Funktionen/Aktionen bereitstellen.The instructions of the computer program may also be loaded on a computer, other programmable data processing device, or other device to initiate a sequence on the computer, other programmable device, or other units to be executed to produce a computer aided process such that the computer program provide instructions to the computer or other programmable device to implement the functions / actions specified in the block or blocks of the flowchart and / or function block diagram.

Der Ablaufplan und die Funktionsblockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und Arbeitsweise möglicher Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Demgemäß kann jeder Block in dem Ablaufplan oder den Funktionsblockschaubildern ein Modul, ein Segment oder einen Abschnitt eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen Logikfunktionen aufweist. Zu beachten ist, dass die in dem Block angegebenen Funktionen bei alternativen Ausführungsarten in einer von den Figuren abweichenden Reihenfolge auftreten können. Zum Beispiel können zwei nacheinander dargestellte Blöcke je nach beabsichtigter Funktionalität in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können mitunter in der umgekehrten Reihenfolge ausgeführt werden. Ferner ist zu beachten, dass jeder Block der Funktionsblockschaubilder und/oder des Ablaufplans und Kombinationen von Blöcken in den Funktionsblockschaubildern und/oder in dem Ablaufplan durch spezielle Hardwaresysteme, die die angegebenen Funktionen oder Aktionen ausführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden können.The flowchart and functional block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Accordingly, each block in the flowchart or function block diagrams may represent a module, segment or portion of code having one or more executable instructions for implementing the specified logic functions. It should be noted that in alternative embodiments, the functions specified in the block may occur in a different order from the figures. For example, depending on the intended functionality, two successive blocks may in fact be executed substantially simultaneously, or the blocks may sometimes be executed in the reverse order. It is further to be understood that each block of the functional block diagrams and / or the schedule and combinations of blocks in the functional block diagrams and / or the schedule are implemented by particular hardware systems performing the specified functions or actions, or by combinations of specialized hardware and computer instructions can.

Somit können die anschaulichen Ausführungsformen in vielen verschiedenen Typen von Datenverarbeitungsumgebungen eingesetzt werden. Um einen Zusammenhang für die Beschreibung der speziellen Elemente und der Funktionalität der anschaulichen Ausführungsformen zu zeigen, werden im Folgenden 1 und 2 als beispielhafte Umgebungen bereitgestellt, in denen Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Es sollte einsichtig sein, dass 1 und 2 nur Beispiele darstellen und keine Einschränkung in Bezug auf die Umgebungen bestätigen oder nahelegen soll, in denen Aspekte oder Ausführungsformen der vorliegenden Erfindung umgesetzt werden können. An den dargestellten Umgebungen können viele Änderungen vorgenommen werden, ohne vom Wesensgehalt und Schutzumfang der vorliegenden Erfindung abzuweichen.Thus, the illustrative embodiments may be employed in many different types of computing environments. In order to show a context for the description of the specific elements and the functionality of the illustrative embodiments, in the following 1 and 2 as exemplary environments in which aspects of the illustrative embodiments may be implemented. It should be obvious that 1 and 2 are merely examples and are not intended to endorse or suggest any limitation on the environments in which aspects or embodiments of the present invention may be practiced. Many changes can be made in the environments illustrated without departing from the spirit and scope of the present invention.

1 zeigt eine bildliche Darstellung eines beispielhaften Datenverarbeitungssystems, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Das Datenverarbeitungssystem 100 kann ein Netzwerk von Computern enthalten, in denen Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Das verteile Datenverarbeitungssystem 100 enthält mindestens ein Netzwerk 102, das als Medium zum Bereitstellen von Datenübertragungsverbindungen zwischen verschiedenen und Einheiten bereitstellt, die innerhalb des verteilten Datenverarbeitungssystems 100 miteinander verbunden sind. Das Netzwerk 102 kann Verbindungen wie beispielsweise leitungsgebundene und drahtlose Datenübertragungsverbindungen oder Lichtwellenleiter enthalten. 1 FIG. 11 is a pictorial representation of an exemplary data processing system in which aspects of the illustrative embodiments may be implemented. The data processing system 100 may include a network of computers in which aspects of the illustrative embodiments may be implemented. The distribute data processing system 100 contains at least one network 102 , which serves as a medium for providing data transmission connections between different and units that provides within the distributed data processing system 100 connected to each other. The network 102 may include connections such as wireline and wireless communication links or optical fibers.

Bei dem gezeigten Beispiel sind ein Server 104 und ein Server 106 zusammen mit einer Speichereinheit 108 mit dem Netzwerk 102 verbunden. Außerdem sind Clients 110, 112 und 114 mit dem Netzwerk 102 verbunden. Bei diesen Clients 110, 112 und 114 kann es sich zum Beispiel um Personal Computer, Netzwerk-Computer oder dergleichen handeln. Bei dem gezeigten Beispiel liefert der Server 102 Daten wie beispielsweise Boot-Dateien, Betriebssystem-Abbilder und Anwendungen an die Clients 110, 112 und 114. Bei den Clients 110, 112 und 114 in dem gezeigten Beispiel handelt es sich um Clients für den Server 104. Das verteilte Datenverarbeitungssystem 100 kann zusätzliche nichtgezeigte Server, Clients und weitere Einheiten enthalten.In the example shown are a server 104 and a server 106 together with a storage unit 108 with the network 102 connected. There are also clients 110 . 112 and 114 with the network 102 connected. With these clients 110 . 112 and 114 it may be, for example, personal computers, network computers or the like. In the example shown, the server provides 102 Data such as boot files, operating system images, and applications to the clients 110 . 112 and 114 , At the clients 110 . 112 and 114 in the example shown, these are clients for the server 104 , The distributed data processing system 100 may include additional servers (not shown), clients, and other devices.

Im gezeigten Beispiel handelt es sich bei dem verteilten Datenverarbeitungssystem 100 um das Internet, wobei das Netzwerk 102 einen weltweiten Verbund von Netzwerken und Gateways darstellt, die eine Reihe von Protokollen unter der Bezeichnung Transmission Control Protocol/Internet Protocol (TCP/IP) verwenden, um Daten miteinander auszutauschen. Als Kernstück des Internet dient ein zentrales Netz von Hochgeschwindigkeits-Datenübertragungsleitungen zwischen Hauptknoten oder Host-Computern, die aus tausenden von Unternehmens-, Regierungs-, Universitäts- oder anderen Computersystemen bestehen, die Daten und Nachrichten weiterleiten. Das verteilte Datenverarbeitungssystem 100 kann natürlich auch so eingerichtet sein, dass es eine Anzahl verschiedener Typen von Netzwerken enthält, zum Beispiel ein Intranet, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN) oder dergleichen. 1 soll wie oben erwähnt als Beispiel und nicht als Einschränkung bezüglich der Architektur für verschiedene Ausführungsformen der vorliegenden Erfindung dienen, und deshalb sind die verschiedenen in 1 gezeigten Elemente nicht als Einschränkung in Bezug auf die Umgebungen anzusehen, in denen die anschaulichen Ausführungsformen der vorliegenden Erfindung umgesetzt werden können.In the example shown, it is the distributed data processing system 100 to the Internet, said the network 102 represents a worldwide network of networks and gateways that use a series of protocols called Transmission Control Protocol / Internet Protocol (TCP / IP) to exchange data. At the heart of the Internet is a centralized network of high-speed data transmission lines between major nodes or host computers, consisting of thousands of enterprise, government, university, or other computer systems that route data and messages. The distributed data processing system 100 Of course, it may also be arranged to include a number of different types of networks, for example, an intranet, a local area network (LAN), a wide area network (WAN), or the like. 1 As mentioned above, it is intended to serve as an example and not as a limitation on the architecture for various embodiments of the present invention, and therefore the various embodiments of the present invention are intended to be exhaustive 1 The elements shown are not to be considered as limiting with respect to the environments in which the illustrative embodiments of the present invention may be practiced.

2 ist ein Blockschaltbild eines beispielhaften Datenverarbeitungssystems, in dem Aspekte der anschaulichen Ausführungsformen umgesetzt werden können. Das Datenverarbeitungssystem 200 ist ein Beispiel eines Computers wie beispielsweise eines Client 110 in 1, in den ein durch Computer nutzbarer Code oder Anweisungen zum Umsetzen der Prozesse für anschauliche Ausführungsformen der vorliegenden Erfindung eingegeben werden können. 2 FIG. 12 is a block diagram of an exemplary data processing system in which aspects of the illustrative embodiments may be implemented. The data processing system 200 is an example of a computer such as a client 110 in 1 into which computer-usable code or instructions for implementing the processes for illustrative embodiments of the present invention may be input.

Bei dem gezeigten Beispiel nutzt das Datenverarbeitungssystem 200 eine Sternarchitektur, die einen Northbridge- und Speichercontrollerknoten (NB/MCH) 202 und einen Southbridge- und Eingabe/Ausgabe-(E/A-)Knoten (SB/ICH) 204 enthält. Eine Verarbeitungseinheit 206, ein Hauptspeicher 208 und ein Grafikprozessor 210 sind mit dem NB/MCH 202 verbunden. Der Grafikprozessor 210 kann durch einen beschleunigten Grafikanschluss (AGP) mit dem NB/MCH 202 verbunden sein.In the example shown, the data processing system uses 200 a star architecture using a northbridge and storage controller node (NB / MCH) 202 and a southbridge and input / output (I / O) node (SB / ICH) 204 contains. A processing unit 206 , a main memory 208 and a graphics processor 210 are with the NB / MCH 202 connected. The graphics processor 210 can through an accelerated graphics port (AGP) with the NB / MCH 202 be connected.

Bei dem gezeigten Beispiel ist ein lokaler Netzwerkadapter (LAN) 212 mit dem SB/ICH 204 verbunden. Ein Audioadapter 216, ein Tastatur- und Mausadapter 220, ein Modem 222, ein Nur-Lese-Speicher (ROM) 224, ein Festplattenlaufwerk (HDD) 226, ein CD-ROM-Laufwerk 230, USB-Anschlüsse und weitere Datenübertragungsanschlüsse 232 und PCI/PCIe-Einheiten 234 sind über den Bus 238 und den Bus 240 mit dem SB/ICH 204 verbunden. Als PCI/PCIe-Einheiten kommen zum Beispiel Ethernet-Adapter, Zusatzkarten und PC-Karten für Notebook-Computer infrage. Die PCI verwendet einen Buskarten-Controller, der PCIe hingegen nicht. Bei dem ROM 224 kann es sich zum Beispiel um ein Flash-BIOS (grundlegendes Eingabe/Ausgabe-System) handeln.In the example shown, a local network adapter (LAN) is 212 with the SB / ICH 204 connected. An audio adapter 216 , a keyboard and mouse adapter 220 , a modem 222 , a read-only memory (ROM) 224 , a hard disk drive (HDD) 226 , a CD-ROM drive 230 , USB ports and other data transfer ports 232 and PCI / PCIe units 234 are over the bus 238 and the bus 240 with the SB / ICH 204 connected. PCI / PCIe devices include, for example, Ethernet adapters, add-in cards and PC cards for notebook computers. The PCI uses a bus card controller, while the PCIe does not. In the ROM 224 For example, it may be a flash BIOS (basic input / output system).

Das HDD 226 und das CD-ROM-Laufwerk 230 sind durch den Bus 240 mit dem SB/ICH 204 verbunden. Das HDD 226 und das CD-ROM-Laufwerk 230 können zum Beispiel eine integrierte Steuerelektronik (IDE) oder eine SATA-Schnittstelle (serieller Zusatz für fortgeschrittene Technologie) nutzen. Mit dem SB/ICH 204 kann eine Super-E/A-(SbO-)Einheit 236 verbunden sein.The HDD 226 and the CD-ROM drive 230 are by the bus 240 with the SB / ICH 204 connected. The HDD 226 and the CD-ROM drive 230 For example, you can use an integrated control electronics (IDE) or a SATA interface (serial accessory for advanced technology). With the SB / ICH 204 can be a super I / O (SbO) unit 236 be connected.

Auf der Verarbeitungseinheit 206 wird ein Betriebssystem ausgeführt. Das Betriebssystem koordiniert und steuert verschiedene Komponenten innerhalb des Datenverarbeitungssystems 200 in 2. Bei dem Betriebssystem als Client kann es sich um ein handelsübliches Betriebssystem wie beispielsweise Microsoft® Windows 7® handeln. In Verbindung mit dem Betriebssystem kann ein objektorientiertes Programmierungssystem wie beispielsweise das Programmierungssystem JavaTM ausgeführt werden, welches das Betriebssystem von JavaTM-Programmen oder Anwendungen aus aufruft, die auf dem Datenverarbeitungssystem 200 ausgeführt werden.On the processing unit 206 an operating system is running. The operating system coordinates and controls various components within the data processing system 200 in 2 , The operating system as a client, it may be a commercially available operating system such as Microsoft ® Windows ® 7. In conjunction with the operating system, an object-oriented programming system such as the Java programming system may be executed which calls the operating system from Java programs or applications resident on the data processing system 200 be executed.

Bei dem Datenverarbeitungssystem 200 als Server kann es sich zum Beispiel um ein Computersystem IBM® eServerTM System p® handeln, auf dem das Betriebssystem AIX® oder das Betriebssystem LINUX® ausgeführt wird. Bei dem Datenverarbeitungssystem 200 kann es sich um ein symmetrisches Mehrprozessorsystem (SMP) handeln, das eine Vielzahl von Prozessoren in der Verarbeitungseinheit 206 enthält. Alternativ kann ein Einzelprozessorsystem verwendet werden. In the data processing system 200 as a server may be, for example, a computer system IBM eServer ® TM System p ®, on the AIX operating system or LINUX operating system ® ® is executed. In the data processing system 200 It can be a symmetric multiprocessor (SMP) system that has a large number of processors in the processing unit 206 contains. Alternatively, a single processor system may be used.

Anweisungen für das Betriebssystem, das objektorientierte Programmierungssystem und Anwendungen oder Programme sind auf Speichereinheiten wie beispielsweise dem HDD 226 gespeichert und können zum Ausführen durch die Verarbeitungseinheit 206 in den Hauptspeicher 208 geladen werden. Die Prozesse für anschauliche Ausführungsformen der vorliegenden Erfindung können durch die Verarbeitungseinheit unter Verwendung eines durch Computer nutzbaren Programmcodes ausgeführt werden, der in einem Speicher wie zum Beispiel im Hauptspeicher 208, im ROM 224 oder zum Beispiel in einer oder mehreren Peripherieeinheiten 226 und 230 gespeichert sein kann.Instructions for the operating system, the object-oriented programming system, and applications or programs are on storage devices such as the HDD 226 stored and can be executed by the processing unit 206 in the main memory 208 getting charged. The processes for illustrative embodiments of the present invention may be performed by the processing unit using computer-usable program code stored in a memory such as main memory 208 , in the ROM 224 or for example in one or more peripheral units 226 and 230 can be stored.

Ein Bussystem wie beispielsweise der in 2 gezeigte Bus 238 oder der Bus 240 kann aus einem oder mehreren Bussen bestehen. Natürlich kann das Bussystem unter Verwendung eines beliebigen Typs von Datenübertragungsstrukturen oder -architekturen realisiert werden, die eine Datenübertragung zwischen verschiedenen an die Struktur oder die Architektur angeschlossenen Komponenten oder Einheiten ermöglichen. Eine Datenübertragungseinheit wie beispielsweise der Modem 222 oder der Netzwerkadapter 212 von 2 können eine oder mehrere Einheiten zum Senden und Empfangen von Daten enthalten. Bei einem Speicher kann es sich zum Beispiel um den Hauptspeicher 208, den ROM 224 oder einen Cachespeicher im NB/MCH 202 in 2 handeln.A bus system such as the in 2 shown bus 238 or the bus 240 can consist of one or more buses. Of course, the bus system may be implemented using any type of data transfer structures or architectures that enable data transfer between various components or devices attached to the structure or architecture. A data transmission unit such as the modem 222 or the network adapter 212 from 2 may contain one or more units for sending and receiving data. For example, a memory may be the main memory 208 , the ROM 224 or a cache in the NB / MCH 202 in 2 act.

Dem Fachmann ist einsichtig, dass die Hardware in 1 und 2 je nach Ausführungsart variieren kann. Zusätzlich zu oder anstelle der in 1 und 2 dargestellten Hardware können weitere interne Hardware- oder Peripherieeinheiten wie beispielsweise Flash-Speicher, gleichwertige permanente Speicher oder optische Plattenlaufwerke und dergleichen verwendet werden. Ferner können die Prozesse der anschaulichen Ausführungsformen nicht auf dem oben erwähnten SMP-System, sondern auf einem Mehrprozessor-Datenverarbeitungssystem angewendet werden, ohne vom Wesensgehalt und vom Schutzumfang der vorliegenden Erfindung abzuweichen.The skilled person will understand that the hardware in 1 and 2 may vary depending on the design. In addition to or instead of in 1 and 2 Other hardware such as flash memory, equivalent permanent memory or optical disk drives, and the like, may be used as shown in other hardware. Further, the processes of the illustrative embodiments may be applied to a multiprocessor data processing system rather than to the above-mentioned SMP system without departing from the spirit and scope of the present invention.

Darüber hinaus kann das Datenverarbeitungssystem 200 die Form eines aus einer Anzahl von verschiedenen Datenverarbeitungssystemen annehmen, die Client-Datenverarbeitungseinheiten, Server-Datenverarbeitungseinheiten, einen Tablet-Computer, einen Laptop-Computer, eine Telefon- oder eine andere Datenübertragungseinheit, einen persönlichen digitalen Assistenten (PDA) oder dergleichen enthalten. Bei einigen anschaulichen Beispielen kann es sich bei dem Datenverarbeitungssystem 200 um eine tragbare Datenverarbeitungseinheit handeln, die mit einem Flash-Speicher konfiguriert ist, um einen permanenten Speicher zum Speichern von Betriebssystemdateien und/oder durch den Benutzer erzeugten Daten bereitzustellen. Grundsätzlich kann es sich bei dem Datenverarbeitungssystem 200 um ein beliebiges bekanntes oder später zu entwickelndes Datenverarbeitungssystem ohne Einschränkung der Architektur handeln.In addition, the data processing system 200 take the form of one of a number of different data processing systems including client computing devices, server computing devices, a tablet computer, a laptop computer, a telephone or other communications device, a personal digital assistant (PDA), or the like. In some illustrative examples, the data processing system may be 200 is a portable computing device configured with a flash memory to provide persistent storage for storing operating system files and / or data generated by the user. Basically, the data processing system can 200 to be any known or later developed data processing system without restriction of the architecture.

Die anschaulichen Ausführungsformen können in einer eigenständigen Datenverarbeitungseinheit, in einem verteilten Datenverarbeitungssystem oder dergleichen umgesetzt werden. Bei einer Ausführungsart mit einer eigenständigen Datenverarbeitungseinheit können die Mechanismen der anschaulichen Ausführungsformen vollständig innerhalb einer einzelnen Datenverarbeitungseinheit ausgeführt werden, ihre Funktion jedoch aufgrund einer Benutzereingabe, die durch die einzelne Datenverarbeitungseinheit empfangen wurde, sowie aufgrund von Daten ausführen, die über ein oder mehrere Datennetzwerke an entfernt angeordnete Datenverarbeitungseinheiten gesendet und von diesen empfangen wurden, beispielsweise Web-Server oder dergleichen. Bei einer Ausführungsart mit einem verteilten Datenverarbeitungssystem können zum Beispiel verschiedene Aspekte der anschaulichen Ausführungsformen auf verschiedenen Datenverarbeitungseinheiten umgesetzt werden, die beispielsweise zwischen einer oder mehreren Server-Datenverarbeitungseinheiten und einer oder mehreren Client-Datenverarbeitungseinheiten verteilt sind, die über ein oder mehrere Datennetzwerke Daten mit den Server-Datenverarbeitungseinheiten austauschen.The illustrative embodiments may be implemented in a standalone computing device, in a distributed computing system, or the like. However, in one embodiment with a stand-alone computing device, the mechanisms of the illustrative embodiments may be performed entirely within a single computing device, but perform their function due to user input received by the individual computing device as well as data traveling over one or more data networks arranged data processing units were sent and received by them, for example web server or the like. For example, in one distributed data processing system embodiment, various aspects of the illustrative embodiments may be implemented on different computing devices distributed, for example, between one or more server computing devices and one or more client computing devices that communicate with the servers over one or more data networks Exchange data processing units.

Oben wurde erwähnt, dass die anschaulichen Ausführungsformen Mechanismen zum dynamischen Ermitteln der bevorzugten Spracheinstellungen eines Benutzers zum Ausgeben von Nachrichten über eine Benutzeroberfläche wie beispielsweise eine grafische Benutzeroberfläche eines Betriebssystems, einer Anwendung oder dergleichen, ein akustisches Nachrichtensystem oder dergleichen bereitstellen. Die dynamischen Mechanismen der anschaulichen Ausführungsformen können mit statischen bevorzugten Übersetzungseinstellungen verwendet werden, die im System bereits vorhanden sind und in der Lage sind, diese statischen bevorzugten Übersetzungseinstellungen bei Bedarf zu ändern. Die dynamischen Mechanismen der anschaulichen Ausführungsformen analysieren die Interaktionen des Benutzers mit dem Datenverarbeitungssystem und mit anderen Datenverarbeitungssystemen über ein oder mehrere Datennetzwerke, um dynamische Entscheidungen über die Spracheinstellungen zu fällen, die der Benutzer am wahrscheinlichsten wählen würde. Die dynamisch geänderten bevorzugten Sprachen des Benutzers können dann dazu verwendet werden, für jedes Betriebssystem, jede Anwendung oder dergleichen zu ermitteln, welche der dynamisch ausgewählten bevorzugten Sprachen durch das Betriebssystem, die Anwendung oder dergleichen nach der Prioritätsreihenfolge, die durch die dynamischen Ausführungsformen ermittelt wurde, und nach den für das Betriebssystem, die Anwendung oder dergleichen (im Folgenden insgesamt als Datenverarbeitungssystemprozesse bezeichnet) gewählten Sprachübersetzungseinstellungen unterstützt werden, sodass die Datenverarbeitungssystemprozesse Übersetzungskatalogdateien einer Übersetzungskatalogeinrichtung entsprechend den dynamisch ermittelten bevorzugten Sprachen des Benutzers verwenden.It has been mentioned above that the illustrative embodiments provide mechanisms for dynamically determining a user's preferred language settings for outputting messages via a user interface, such as an operating system GUI, application, or the like, an audible message system, or the like. The dynamic mechanisms of the illustrative embodiments may be used with static preferred translation settings that are already present in the system and capable of performing these static ones change preferred translation settings as needed. The dynamic mechanisms of the illustrative embodiments analyze the user's interactions with the data processing system and with other data processing systems over one or more data networks to make dynamic decisions about the language settings that the user would most likely choose. The user's dynamically changed preferred languages may then be used to determine, for each operating system, application or the like, which of the dynamically selected preferred languages are selected by the operating system, application or the like according to the order of priority established by the dynamic embodiments. and supported by the language translation settings selected for the operating system, application, or the like (hereinafter collectively referred to as data processing system processes) such that the data processing system processes use translation catalog files of a translation catalog device corresponding to the user's dynamically determined preferred languages.

Zum besseren Verständnis der Funktionsweise der anschaulichen Ausführungsformen soll ein Szenario betrachtet werden, bei dem ein Benutzer namens Andy als bevorzugte Sprache zur Verwendung bei dem Betriebssystem und/oder den Anwendungen einer Datenverarbeitungseinheit „Hongkong-Englisch (en_HK.UTF-8)” gewählt hat. Gemäß den anschaulichen Ausführungsformen aktiviert Andy eine Option in dem Betriebssystem, der Anwendung oder der Laufzeitumgebung (die sich auf mehr als eine Anwendung und/oder ein Betriebssystem auswirken kann), um das dynamische Substituieren von Übersetzungen für das Benutzerprofil von Andy zu nutzen. Als Reaktion auf das Aktivieren dieser Option starten die anschaulichen Ausführungsformen ein Programm zum sprachbezogenen Nachverfolgen der Interaktionen von Andy mit der Datenverarbeitungseinheit und anderen Datenverarbeitungseinheiten über ein oder mehrere Datennetzwerke.To better understand the operation of the illustrative embodiments, consider a scenario in which a user named Andy has selected "Hong Kong English (en_HK.UTF-8)" as the preferred language for use with the operating system and / or applications of a computing device. In accordance with the illustrative embodiments, Andy activates an option in the operating system, application, or runtime environment (which may affect more than one application and / or operating system) to dynamically substitute translations for Andy's user profile. In response to enabling this option, the illustrative embodiments start a program to track Andy's interactions with the computing device and other computing devices via one or more data networks.

Zum Beispiel kann das sprachbezogene Überwachungsprogramm die Surf-Aktivitäten von Andy im Internet verfolgen, um die Ausgabesprachen der Websites zu ermitteln, auf die Andy zugreift oder die er besucht. Bei diesem Verfolgen können einfach die Websites gezählt werden, auf die Andy in jeder aus einer Vielzahl von Sprachen zugreift. Das Verfolgen kann jedoch noch komplexer sein und Informationen wie beispielsweise die von Andy getroffene Auswahl der Sprachen solcher Websites, eine Zeitdauer, die Andy beim Betrachten oder sonstigen Zugreifen auf in bestimmten Sprachen angezeigten Websites verbringt, erfassen und ob Andy mit Oberflächenobjekten auf den Webseiten interagiert oder dergleichen. All diese Informationen können gesammelt und zu einer Berechnung oder Ermittlung der relativen Priorität bevorzugter Sprachen für Andy verknüpft werden.For example, the language-related monitoring program can track Andy's surfing activity on the Internet to determine the output languages of the sites Andy accesses or visits. This tracking can easily count the sites that Andy accesses in any of a variety of languages. However, tracking can be even more complex and capture information such as Andy's selection of the languages of such websites, a period of time Andy spends viewing or otherwise accessing Web sites displayed in certain languages, and whether Andy interacts with surface objects on the Web pages or like. All of this information can be gathered and linked to compute or determine relative priority of preferred languages for Andy.

Bei Verwendung eines vereinfachten Beispiels wird davon ausgegangen, dass das Verfolgen der Surf-Aktivitäten von Andy im Internet ergibt, dass Andy während eines bestimmten Überwachungszeitraums 30 in vereinfachtem Chinesisch (zn_CN.UTF-8) angezeigte Websites, 20 in traditionellem Chinesisch (zh_TW.UTF-8) angezeigte Webseiten und 10 in Japanisch (ja_JP.UTF-8) angezeigte Webseiten betrachtet hat. Aus diesen Ergebnissen des durch die Mechanismen der anschaulichen Ausführungsformen durchgeführten Verfolgens wird eine Folge von Substitutionen bevorzugter Sprachübersetzungen ermittelt, die zum Ändern einer zuvor gewählten Einstellung bevorzugter Sprachen, einer Standard-Spracheinstellung oder dergleichen verwendet werden kann. Eine solche Änderung kann darin bestehen, die vorhandenen Vorzugseinstellungen anzupassen, wenn möglich die vorhandenen Vorzugseinstellungen vollständig zu substituieren oder außer Kraft zu setzen oder in Verbindung mit den vorhanden Vorzugseinstellungen anzuwenden, sodass sie als Reaktion auf vorhandene Vorzugseinstellungen in Kraft treten, die keine durch das Betriebssystem, die Anwendung, die Laufzeitumgebung oder dergleichen unterstützten Sprachübersetzungen enthalten.Using a simplified example, following Andy's browsing activity on the Internet assumes that Andy has 30 sites displayed in Simplified Chinese (zn_CN.UTF-8) during a given monitoring period, 20 in traditional Chinese (zh_TW.UTF -8) viewed web pages displayed and 10 web pages displayed in Japanese (ja_JP.UTF-8). From these results of the tracking performed by the mechanisms of the illustrative embodiments, a sequence of preferred language translation substitutions is determined that may be used to change a previously selected preferred language setting, standard language setting, or the like. Such a change may be to adjust the existing preference settings, if possible, to completely substitute or override the existing preference settings or apply them in conjunction with the existing preference settings so that they take effect in response to existing preference settings that are not affected by the operating system that contain application, runtime environment or the like supported language translations.

Zum Beispiel kann es sich bei einer Folge von Substitutionen bevorzugter Sprachübersetzungen für die obigen beispielhaften Verfolgungsergebnisse um en_HK.UTF-8 → zh_CN.UTF-8 → zh_TW.UTF-8 → ja_JP.UTF-8 → POSIX handeln (wobei POSIX eine in der Laufzeitumgebung angegebene Standard-Sprachübersetzung ist). Es sollte einsichtig sein, dass diese Folge von Substitutionen bevorzugter Sprachübersetzungen kontinuierlich, periodisch (beispielsweise nach einem feststehenden Zeitplan) oder als Reaktion auf bestimmte vorgegebene Ereignisse aktualisiert werden kann. Das Verfolgen von sprachbezogenen Aktivitäten kann kontinuierlich oder zum Beispiel während eines vorgegebenen Zeitraums durchgeführt werden, während das eigentliche Aktualisieren der Substitution bevorzugter Sprachübersetzungen nach einem anderen Zeitmuster erfolgen kann, beispielsweise einmal pro Woche oder als Reaktion auf eine Benutzereingabe, in der gefordert wird, die Folge von Substitutionen bevorzugter Sprachübersetzungen zu aktualisieren. Alternativ kann das Aktualisieren der Substitution bevorzugter Sprachübersetzungen aber auch kontinuierlich erfolgen.For example, a sequence of substitutions of preferred language translations for the above exemplary tracking results may be en_HK.UTF-8 → zh_CN.UTF-8 → zh_TW.UTF-8 → ja_JP.UTF-8 → POSIX (where POSIX is one in the Runtime Environment is the default language translation). It should be understood that this sequence of preferred language translation substitutions may be updated continuously, periodically (for example, according to a fixed schedule), or in response to certain predetermined events. The tracking of language-related activities may be performed continuously or, for example, during a predetermined time period, while actually updating the substitution of preferred language translations may be for a different time pattern, such as once a week or in response to a user input requesting it from substitutions of preferred language translations. Alternatively, updating the substitution of preferred language translations may also be done continuously.

Wenn diese Folge von Substitutionen bevorzugter Sprachübersetzungen eingerichtet ist und Andy eine Anwendung startet oder eine Nachricht durch das Betriebssystem ausgegeben wird, prüft die Übersetzungskatalogeinrichtung für Nachrichten der Laufzeitumgebung die Folge von Substitutionen bevorzugter Sprachübersetzungen von Andy, um zu ermitteln, welche Sprache verwendet werden soll, wenn die Nachricht für den Benutzer ausgegeben wird. Diese Ermittlung kann auf einem Vergleichen der bevorzugten Sprachen in der Folge von Substitutionen bevorzugter Sprachübersetzungen in der Reihenfolge der Prioritäten mit den verfügbaren Sprachübersetzungen in den Übersetzungskatalogdateien für Nachrichten beruhen, die dem Betriebssystem, der Anwendung oder dergleichen zugehörig sind. Wenn für eine Anwendung X bekannt ist, dass dieser Übersetzungskatalogdateien für Nachrichten in traditionellem Chinesisch (zh_TW.UTF-8) und Japanisch (ja_JP.UTF-8), nicht jedoch in vereinfachtem Chinesisch (zh_CN.UTF-8) zugehörig sind, werden bei Verwendung der obigen Folge bevorzugter Sprachübersetzungen die Nachrichten für die Anwendung X in der Sprache traditionelles Chinesisch unter Verwendung der Übersetzungskatalogdatei für Nachrichten für traditionelles Chinesisch (zh_TW.UTF-8) ausgegeben. Wenn diese Übersetzungskatalogdatei für Nachrichten nicht verfügbar oder ansonsten nicht vorhanden ist, wird gemäß den in der Folge von Substitutionen bevorzugter Sprachübersetzungen angegebenen Prioritäten die Übersetzungskatalogdatei für die japanische Sprache (ja_JP.UTF-8) verwendet.If this sequence of substitutions of preferred language translations is established and Andy starts an application or a message is issued by the operating system, the Runtime environment translation catalog facility, the sequence of Andy's preferred language translation substitutions, to determine which language to use when the message is output to the user. This determination may be based on comparing preferred languages following substitutions of preferred language translations in order of priority with the available language translations in the translation catalog files for messages associated with the operating system, application, or the like. If an X application is known to be associated with translation catalog files for Traditional Chinese (zh_TW.UTF-8) and Japanese (ja_JP.UTF-8) messages, but not Simplified Chinese (zh_CN.UTF-8) messages Using the above preferred language translation sequence, output the messages for the Traditional Chinese Traditional Chinese X application using the Traditional Chinese Traditional Chinese Translation Catalog (zh_TW.UTF-8). If this translation catalog file is not available for messages or otherwise does not exist, then the translation catalog file for the Japanese language (ja_JP.UTF-8) will be used, according to the priorities identified as a result of substitutions of preferred language translations.

Gemäß einer anschaulichen Ausführungsform kann die Folge von dynamisch ermittelten- Substitutionen bevorzugter Sprachübersetzungen verwendet werden, wenn eine benutzerdefinierte bevorzugte Sprachübersetzung, die mit den unterstützten Sprachübersetzungen für den betreffenden Prozess übereinstimmt, nicht verfügbar ist. Wenn somit ein Benutzer zum Beispiel Arabisch als bevorzugte Sprachübersetzung angegeben hat, die Anwendung X jedoch Arabisch für Nachrichtenausgaben nicht unterstützt, d. h., dass es keine der Anwendung X zugehörige Übersetzungskatalogdatei für Nachrichten gibt, kann die Laufzeitumgebung diese benutzerdefinierte bevorzugte Sprache durch die oben erörterte Folge von dynamisch ermittelten Substitutionen bevorzugter Sprachübersetzungen ergänzen. Wenn keine der Substitutionen bevorzugter Sprachübersetzungen durch die Laufzeitumgebung für die Anwendung X unterstützt werden, kann eine Substitution durch eine Standard-Sprachübersetzung verwendet werden, z. B. POSIX oder dergleichen.According to one illustrative embodiment, the sequence of dynamically-determined substitutions of preferred language translations may be used if a user-defined preferred language translation that matches the supported language translations for the process in question is not available. Thus, for example, if a user has specified Arabic as the preferred language translation, but the application X does not support Arabic for message output, d. i.e., that there is no translation catalog file associated with the application X, the runtime environment may supplement that custom preferred language with the series of dynamically-determined preferred language translation substitutions discussed above. If none of the preferred language translation substitutions are supported by the runtime environment for the X application, substitution by a standard language translation may be used, e.g. B. POSIX or the like.

3 ist ein beispielhaftes Funktionsblockschaubild eines Zusammenwirkens der wichtigsten Funktionselemente einer Maschine für Substitutionen bevorzugter Sprachübersetzungen gemäß einer anschaulichen Ausführungsform. Die in 3 gezeigten Elemente können als Softwareanweisungen umgesetzt werden, die in einen oder mehrere Speicher einer oder mehrerer Datenverarbeitungseinheiten zum Ausführen durch einen oder mehrere Prozessoren geladen worden sind. Gemäß weiteren anschaulichen Ausführungsformen können einzelne der in 3 gezeigten Elemente in Form von Hardwareschaltungs-Logikelementen einer oder mehrerer Datenverarbeitungseinheiten ausgeführt werden. Natürlich kann eine Kombination von Hardware- und Softwaremechanismen verwendet werden, ohne vom Wesensgehalt und vom Schutzumfang der anschaulichen Ausführungsformen abzuweichen. 3 FIG. 3 is an exemplary functional block diagram of an interaction of the most important functional elements of a preferred language translation substitution engine according to an illustrative embodiment. In the 3 The elements shown may be implemented as software instructions that have been loaded into one or more memories of one or more computing devices for execution by one or more processors. According to further illustrative embodiments, individual ones may be used in 3 shown elements in the form of hardware circuit logic elements of one or more data processing units. Of course, a combination of hardware and software mechanisms may be used without departing from the spirit and scope of the illustrative embodiments.

Die in 3 gezeigte Maschine für Substitutionen bevorzugter Sprachübersetzungen 300 weist eine Steuereinheit 310, eine oder mehrere Schnittstellen 315, einen Datenspeicher für Regeln zum dynamischen Substituieren von Übersetzungen 320, einen Sprachenüberwachungsagenten 330, einen Datenspeicher für sprachbezogene Aktivitäten des Benutzers 340, eine Maschine zum Ermitteln der Folge von Substitutionen bevorzugter Übersetzungen 350, einen Benutzerprofilspeicher 360 und eine Maschine zum Auswählen von Substitutionen bevorzugter Sprachübersetzungen 370. Die Steuereinheit 310 steuert die Gesamtfunktion der Maschine für Substitutionen bevorzugter Sprachübersetzungen 300 und organisiert das Zusammenwirken der anderen Elemente 315 bis 370 der Maschine für Substitutionen bevorzugter Sprachübersetzungen 300. Die eine oder die mehreren Schnittstellen 315 stellen einen Datenübertragungspfad bereit, über den die Maschine für Substitutionen bevorzugter Sprachübersetzungen 300 Daten mit Anwendungen, einem Betriebssystem, entfernt angeordneten Datenverarbeitungseinheiten wie beispielsweise Web-Servern und dergleichen austauschen sowie Benutzereingaben empfangen und verschiedene Ausgaben für den Benutzer, Anwendungen, das Betriebssystem, ferne Datenverarbeitungseinheiten und/oder dergleichen bereitstellen kann.In the 3 shown machine for substitutions preferred language translations 300 has a control unit 310 , one or more interfaces 315 , a data store for rules for dynamically substituting translations 320 , a language monitoring agent 330 , a data store for the user's language-related activities 340 a machine for determining the sequence of substitutions of preferred translations 350 , a user profile store 360 and a machine for selecting substitutions of preferred language translations 370 , The control unit 310 controls the overall function of the machine for substitutions of preferred language translations 300 and organizes the interaction of the other elements 315 to 370 the machine for substitutions of preferred language translations 300 , The one or more interfaces 315 provide a data transfer path through which the machine for substitutions of preferred language translations 300 Exchanging data with applications, an operating system, remote computing devices such as web servers, and the like, as well as receiving user input and providing various outputs to the user, applications, operating system, remote computing devices, and / or the like.

Im Datenspeicher für Regeln zum dynamischen Substituieren von Übersetzungen 320 sind verschiedene Regeln gespeichert, die angeben, wie die Folge von dynamischen Substitutionen von Übersetzungen berechnet und erzeugt werden soll, wie sie auf beliebige vorhandene statische Spracheinstellungen angewendet werden soll und so weiter. Im Folgenden werden lediglich Beispiele einiger Sätze von Regeln angegeben, die in Verbindung mit einer Benutzerkennung oder einem Benutzerprofil in den Datenspeicher für Regeln zum dynamischen Substituieren von Übersetzungen 320 eingegeben werden können. Zum Beispiel kann ein erster Satz von Regeln angeben, dass der Benutzer eine Reihenfolge von Substitutionen vom Benutzer bevorzugter Sprachübersetzungen manuell definieren darf, indem er z. B. bevorzugte Sprachen und eine entsprechende Rangfolge oder Priorität dieser bevorzugten Sprachen untereinander auswählt. Wenn ein Benutzer seine eigene Reihenfolge von Substitutionen bevorzugter Sprachübersetzungen definiert, kann dieser vom Benutzer angegebenen Reihenfolge von Substitutionen bevorzugter Sprachübersetzungen eine Priorität gegenüber jeder anderen dynamisch erzeugen Folge von Substitutionen bevorzugter Sprachübersetzungen verliehen werden. Alternativ können die Regeln angeben, dass diese benutzerdefinierte Reihenfolge durch eine dynamisch erzeugte Folge von Substitutionen bevorzugter Sprachübersetzungen substituiert werden kann.In the data store for rules for dynamically substituting translations 320 Several rules are stored that specify how to compute and generate the sequence of dynamic substitutions of translations, how to apply them to any existing static language settings, and so on. The following are just examples of some sets of rules that are used in conjunction with a user ID or user profile in the data store for rules for dynamically substituting translations 320 can be entered. For example, a first set of rules may indicate that the user may manually define a sequence of substitutions by the user of preferred language translations, e.g. B. preferred languages and a corresponding ranking or priority of these preferred languages with each other. If a user defines his own order of substitutions of preferred language translations, this may be done by the user given order of substitutions of preferred language translations are given a priority over any other dynamically generating sequence of substitutions of preferred language translations. Alternatively, the rules may indicate that this custom ordering may be substituted by a dynamically generated sequence of preferred language translation substitutions.

Bei einem weiteren beispielhaften Satz von Regeln können Regeln zum Definieren angegeben werden, ob ein Benutzer die Mechanismen zum dynamischen Substituieren bevorzugter Sprachübersetzungen der anschaulichen Ausführungsformen aktivieren kann. Das heißt, die Mechanismen der anschaulichen Ausführungsformen können zusätzlich zu den gegebenenfalls manuell bereitgestellten benutzerdefinierten Einstellungen zum Substituieren von Übersetzungen dynamisch eine Folge von Substitutionen bevorzugter Sprachübersetzungen auf der Grundlage der sprachbezogenen Aktivitäten des Benutzers ermitteln, die dem Betriebssystem, Anwendungen, anderen Datenverarbeitungseinheiten und dergleichen zugehörig ist/sind. Wenn dynamische Mechanismen zum Substituieren bevorzugter Sprachübersetzungen durch den Benutzer aktiviert werden und sich in der vom Benutzer manuell definierten Reihenfolge von Substitutionen bevorzugter Sprachen keine der Sprachen befindet, wird die dynamisch erzeugte Folge von Substitutionen bevorzugter Sprachübersetzungen nach allen Sprachen durchsucht, die nicht in der vom Benutzer manuell definierten Reihenfolge enthalten sind, und diese Sprachen werden auf Anwendbarkeit auf die betreffende Nachrichtenquelle geprüft, z. B. eine Anwendung, das Betriebssystem oder dergleichen.In another exemplary set of rules, rules may be specified for defining whether a user can activate the mechanisms for dynamically substituting preferred language translations of the illustrative embodiments. That is, the mechanisms of the illustrative embodiments may dynamically determine a sequence of substitutions of preferred language translations based on the user's speech-related activities associated with the operating system, applications, other computing devices, and the like, in addition to any custom translation substitution settings provided manually /are. When dynamic mechanisms for substituting preferred language translations by the user are activated and none of the languages are manually set in the user-defined order of preferred language substitution substitutions, the dynamically generated sequence of preferred language translation substitutions is searched for all languages not in the user's manually defined order, and these languages are checked for applicability to the relevant news source, e.g. An application, the operating system or the like.

Gemäß weiteren beispielhaften Regeln kann ein Benutzer die einzelnen Verfahren zum Verfolgen der Sprachaktivitäten des Benutzers und der Quellen von Sprachaktivitäten angeben, die beobachtet werden sollen. Zum Beispiel kann der Benutzer angeben, dass Quellen wie z. B. betrachtete Webseiten, gesendete/empfangene eMails, gesendete/empfangene Sofortnachrichten, Mitteilungen in sozialen Netzwerken, lokale Objekte und dergleichen auf Sprachaktivitäten verfolgt werden, während andere Quellen wie beispielsweise Textverarbeitungsanwendungen nicht beobachtet und verfolgt werden sollen. Es kann angegeben werden, wie solche Sprachaktivitäten des Benutzers im Einzelnen verfolgt werden sollen, beispielsweise durch Prüfen der Textfelder von eMails mit Ausnahme der Anhänge, durch Prüfen des Inhalts von Webseiten mit Ausnahme der Bilder oder dergleichen. In solche Regeln können weitere Quellen von Sprachaktivitäten und Verfahren zum Analysieren solcher Aktivitäten aufgenommen werden, ohne vom Wesensgehalt und Schutzumfang der anschaulichen Ausführungsformen abzuweichen.According to further example rules, a user may specify the individual methods for tracking the user's language activities and the sources of language activity to be watched. For example, the user may indicate that sources such as e.g. For example, viewed web pages, sent / received e-mails, sent / received instant messages, social media messages, local objects, and the like may be tracked for voice activity while other sources such as word processing applications are not to be watched and tracked. It may be specified how to track such user language activities in detail, for example, by checking the text fields of e-mails other than the attachments, checking the contents of web pages other than images, or the like. Such rules may incorporate other sources of language activities and methods for analyzing such activities without departing from the spirit and scope of the illustrative embodiments.

Gemäß einem weiteren Beispiel können die Regeln einen oder mehrere Algorithmen zum Bewerten der verfolgten Sprachaktivitäten des Benutzers und zum Berechnen einer relativen Priorität der verschiedenen in diesen überwachten Sprachaktivitäten des Benutzers erkannten Sprachen angeben. Diese Regeln können zum Beispiel gewünschte Gewichtungen für verschiedene Typen von verschiedenen verfolgten Sprachaktivitäten des Benutzers angeben, z. B. kann die Benutzereingabe in Felder einer Webseite stärker gewichtet werden als der Inhalt der Webseite oder umgekehrt, die Benutzereingabe in ein Sofortnachrichtensystem kann stärker gewichtet werden als der Inhalt von empfangenen Sofortnachrichten, Sprachen von eMails können stärker gewichtet werden als Sprachen von betrachteten Webseiten oder dergleichen. Ein Benutzer kann diese Regeln/Einstellungen konfigurieren, die dann in dem Regelspeicher 320 bei den verfolgten Sprachaktivitäten des Benutzers gespeichert werden, die durch den Sprachverfolgungsagenten 330 beobachtet werden.As another example, the rules may specify one or more algorithms for evaluating the tracked language activities of the user and calculating a relative priority of the different languages recognized in those monitored language activities of the user. For example, these rules may specify desired weights for different types of different user's tracked language activities, e.g. For example, user input into fields of a web page may be weighted more heavily than the content of the web page or vice versa, user input to an instant messaging system may be weighted more heavily than the content of received instant messages, languages of eMails may be weighted more heavily than languages of viewed web pages or the like , A user can configure these rules / settings, which are then stored in the rules store 320 be saved to the tracked language activities of the user that are being tracked by the language tracking agent 330 to be watched.

Der Sprachverfolgungsagent 330 beobachtet Quellen von Sprachaktivitäten des Benutzers und bewertet die Sprachaktivitäten des Benutzers gemäß den im Regelspeicher 320 gespeicherten Regeln. Der Sprachverfolgungsagent 330 erzeugt eine Statistik der Sprachaktivitäten des Benutzers gemäß den Regeln in dem Regelspeicher 320 und speichert diese Daten in dem Datenspeicher der Sprachaktivitäten des Benutzers 340. Diese Statistik kann je nach den einzelnen beobachteten Sprachaktivitäten des Benutzers und der Quelle der Sprachaktivitäten des Benutzers viele verschiedene Formen annehmen. Zum Beispiel kann der Sprachverfolgungsagent 330 in Bezug auf Webseiten die Interaktionen des Benutzers mit einer Webbrowser-Anwendung 382 beobachten, um die durch den Benutzer betrachteten Webseiten zu verfolgen. Auf der Grundlage dieses Verfolgens können eine Anzahl von Webseiten aufbewahrt werden, die in verschiedenen unterschiedlichen Sprachen betrachtet werden. Sprachinformationen von Webseiten können aus lokalen Daten in den Metadaten einer Webseite gewonnen werden, beispielsweise aus <html mlns=http://www.w3.org/1999/xhtml xml:lang=”zh-CN” lang=”zh-CN”> oder <html xmlns=http://www.w3.org/1999/xhtml xml:lang=”zh-TW” lang=”zh-TW”>.The language tracking agent 330 observes sources of user's voice activity and evaluates the user's voice activity according to those in the rules memory 320 stored rules. The language tracking agent 330 generates a statistic of the user's language activities according to the rules in the rules memory 320 and stores this data in the data store of the user's voice activities 340 , These statistics can take many different forms, depending on the individual user's observed language activity and the user's source of language activity. For example, the language tracking agent 330 in terms of web pages, the user's interactions with a web browser application 382 to track the web pages viewed by the user. Based on this tracking, a number of web pages can be kept that are viewed in different different languages. Language information from web pages can be obtained from local data in the metadata of a web page, for example from <html mlns = http: //www.w3.org/1999/xhtml xml: lang = "zh-CN" lang = "zh-CN"> or <html xmlns = http: //www.w3.org/1999/xhtml xml: lang = "zh-TW" lang = "zh-TW">.

Beim Beobachten der Chat-Room-Aktivitäten eines Benutzers kann der Sprachverfolgungsagent 330 die Anzahl der in den Chat-Rooms geäußerten Meinungen in jeder der verschiedenen Sprachen ermitteln und verfolgen. Beim Beobachten einer eMail-Client-Anwendung oder einer Sofortnachrichtenanwendung kann der Sprachverfolgungsagent 330 die Anzahl der durch den Benutzer gesendeten eMails oder Sofortnachrichten in jeder der verschiedenen Sprachen ermitteln. Zu weiteren Beobachtungen können das Beobachten der Anzahl von Inanspruchnahmen eines bestimmten Sprach/Ländereinstellungs-Objekts durch dasselbe Benutzerkonto, der Daten von Spracheinstellungsinformationen in verschiedenen Benutzerprofilen (z. B. Benutzerprofile von Firefox, Internet Explorer, Mozilla oder anderen Anwendungen), der Einstellungen der Sprachkennzeichnungsfunktion in Textverarbeitungsprogrammen und dergleichen beinhalten.When observing a user's chat room activity, the language tracking agent may 330 Identify and track the number of opinions expressed in chat rooms in each of the different languages. When observing an email client application or an instant messaging application, the language tracking agent may 330 determine the number of emails sent by the user or instant messages in each of the different languages. Other observations may include observing the number use of a particular voice / locale object by the same user account that includes voice settings information data in various user profiles (eg, user profiles of Firefox, Internet Explorer, Mozilla, or other applications), voice tag feature settings in word processing programs, and the like.

Die Ergebnisse des Verfolgens und der Analyse der sprachbezogenen Benutzeraktivitäten werden zusammen mit einer Kennung des Benutzers oder Benutzerprofils in dem Datenspeicher für sprachbezogene Benutzeraktivitäten 340 gespeichert. Diese Daten werden weiterhin durch die Maschine zum Ermitteln der Folge von Substitutionen bevorzugter Sprachübersetzungen 350 analysiert, um eine Folge dynamischer Substitutionen bevorzugter Sprachübersetzungen zu ermitteln, wobei davon ausgegangen wird, dass die Regeln im Regelspeicher 320 anzeigen, dass der Benutzer solche Ermittlungen der Folge dynamischer Substitutionen bevorzugter Sprachübersetzungen aktiviert hat. Die Folge dynamischer Substitutionen bevorzugter Sprachübersetzungen präsentiert eine Prioritätsreihenfolge von Substitutionen von Sprachübersetzungen auf der Grundlage der durch den Sprachverfolgungsagenten 330 erzeugten Statistik. Die Maschine zum Ermitteln der Folge von Substitutionen bevorzugter Sprachübersetzungen 350 kann in den Regeln des Regelspeichers 320 angegebene Gewichtungen auf die verschiedenen Statistiken anwenden, um eine gewichtete Berechnung der relativen Prioritäten der verschiedenen Sprachübersetzungen zu erzeugen. Auf der Grundlage dieser gewichteten Berechnung werden die Substitutionen bevorzugter Sprachübersetzungen so geordnet, dass das Substituieren einer Sprachübersetzung mit der höchsten Priorität in der Folge an erster Stelle steht, worauf das Substituieren einer Sprachübersetzung mit der nächstniedrigen Priorität folgt, und so weiter, um auf diese Weise die dynamisch erzeugte Folge von Substitutionen bevorzugter Sprachübersetzungen zu definieren. Diese Folge kann periodisch, kontinuierlich oder als Reaktion auf vorgegebene Ereignisse aktualisiert werden, z. B. Benutzereingaben, bestimmte Mängel in Sprachübersetzungen und dergleichen.The results of the tracking and analysis of the language-related user activities are combined with an identifier of the user or user profile in the data memory for language-related user activities 340 saved. This data is further used by the machine to determine the sequence of substitutions of preferred language translations 350 analyzed to determine a sequence of dynamic substitutions of preferred language translations, assuming that the rules are in regular memory 320 indicate that the user has activated such determinations of the sequence of dynamic substitutions of preferred language translations. The sequence of dynamic substitutions of preferred language translations presents a priority order of substitutions of language translations based on that provided by the language tracking agent 330 generated statistics. The machine for determining the sequence of substitutions of preferred language translations 350 can in the rules of the rules store 320 apply weightings applied to the different statistics to produce a weighted calculation of the relative priorities of the different language translations. Based on this weighted computation, preferred language translation substitutions are ordered so that substituting a highest priority language translation in the sequence takes first place, followed by substituting a next lowest priority language translation, and so on, in this way to define the dynamically generated sequence of preferred language translation substitutions. This sequence may be updated periodically, continuously or in response to predetermined events, e.g. As user input, certain shortcomings in language translations and the like.

Die Ergebnisse der Verarbeitung der Maschine zum Ermitteln der Folge von Substitutionen bevorzugter Sprachübersetzungen 350 können verwendet werden, die Folge von Substitutionen bevorzugter Sprachübersetzungen im Benutzerprofil 360 zu aktualisieren. 3 zeigt, dass das Benutzerprofil 360 neben weiteren Daten sowohl statische Einstellungen bevorzugter Sprachübersetzungen 362 als auch dynamisch erzeugte Folgen von Substitutionen bevorzugter Sprachübersetzungen 364 aufweisen kann.The results of processing the machine to determine the sequence of substitutions of preferred language translations 350 can be used, the consequence of substitutions of preferred language translations in the user profile 360 to update. 3 shows that the user profile 360 in addition to other data both static settings preferred language translations 362 as well as dynamically generated sequences of substitutions of preferred language translations 364 can have.

Die Maschine zum Auswählen von Substitutionen bevorzugter Sprachübersetzungen 370 kann die statischen Einstellungen bevorzugter Sprachübersetzungen 362 und/oder die dynamisch ermittelte Folge von Substitutionen bevorzugter Sprachübersetzungen 364 für den Benutzer auf Nachrichten anwenden, die durch Anwendungen 380 und/oder das Betriebssystem 390 ausgegeben werden. 3 zeigt, dass diese Anwendungen 380 eine Vielfalt verschiedener Anwendungen aufweisen können, bei denen sprachbezogene Benutzeraktivitäten beobachtet werden, die durch den Sprachüberwachungsagenten 330 verfolgt werden und deren Sprachübersetzungen gemäß den statischen Einstellungen bevorzugter Sprachübersetzungen 362 und/oder der dynamisch erzeugten Folge von Substitutionen bevorzugter Sprachübersetzungen 364 ausgeführt werden können. 3 zeigt, dass diese Anwendungen 380 eine Web-Browseranwendung 382, Anwendungen von sozialen Netzwerken 384, Textverarbeitungsanwendungen 386 und elektronische Datenübertragungsanwendungen 388 aufweisen können, z. B. eine eMail-Anwendung, eine Sofortnachrichtenanwendung usw.The machine for selecting substitutions of preferred language translations 370 can the static settings of preferred language translations 362 and / or the dynamically determined sequence of substitutions of preferred language translations 364 for the user to apply messages through applications 380 and / or the operating system 390 be issued. 3 shows that these applications 380 may have a variety of different applications in which voice-related user activities are monitored by the voice monitoring agent 330 and their language translations according to the static settings of preferred language translations 362 and / or the dynamically generated sequence of substitutions of preferred language translations 364 can be executed. 3 shows that these applications 380 a web browser application 382 , Applications of social networks 384 , Word processing applications 386 and electronic data transmission applications 388 may have, for. For example, an email application, an instant message application, and so on.

Somit stellen die anschaulichen Ausführungsformen einen Mechanismus zum Bereitstellen dynamischer Ermittlungen von Folgen von Substitutionen bevorzugter Sprachübersetzungen eines Benutzers auf der Grundlage der sprachbezogenen Benutzeraktivitäten bereit. Die anschaulichen Ausführungsformen ermöglichen Betriebssystemen, Anwendungen und Laufzeitumgebungen eine größere Flexibilität bei der Nutzung von Sprachübersetzungen, die der Benutzer in Situationen höchstwahrscheinlich versteht, in denen die vom Benutzer ausgewählten Sprachübersetzungen für die betreffenden ausgegebenen Nachrichten durch das Betriebssystem, die Anwendung oder die Laufzeitumgebung nicht unterstützt werden, oder in Fällen, in denen die Standard-Sprachübersetzung durch den Benutzer nicht verstanden wird.Thus, the illustrative embodiments provide a mechanism for providing dynamic determinations of sequences of substitutions of preferred language translations of a user based on the language-related user activities. The illustrative embodiments allow operating systems, applications, and runtime environments greater flexibility in using language translations that the user most likely understands in situations where user-selected language translations for the particular messages being output are not supported by the operating system, application, or run-time environment , or in cases where the standard language translation is not understood by the user.

4 ist ein Ablaufplan, der ein beispielhaftes Verfahren zum Erzeugen einer dynamischen Folge von Substitutionen bevorzugter Sprachübersetzungen gemäß einer anschaulichen Ausführungsform zeigt. Der in 4 gezeigte Ablauf kann zum Beispiel durch eine Maschine zum Substituieren bevorzugter Sprachübersetzungen der anschaulichen Ausführungsformen umgesetzt werden. 4 FIG. 5 is a flowchart illustrating an exemplary method for generating a dynamic sequence of preferred language translation substitutions according to an illustrative embodiment. The in 4 For example, shown procedure may be implemented by a machine for substituting preferred language translations of the illustrative embodiments.

Das in 4 gezeigte Verfahren startet mit dem Abrufen eines Benutzerprofils für einen bestimmen Benutzer einer Datenverarbeitungseinheit (Schritt 410). Der betreffende Benutzer kann zum Beispiel durch einen Anmeldeprozess oder einen anderen Identifizierungsprozess erkannt werden. Zum Beispiel kann als Reaktion auf das Einschalten der Datenverarbeitungseinheit durch den Benutzer ein Anmeldeprozess gestartet werden, während dessen ein Benutzer einen Benutzernamen angeben, ein Zertifikat oder dergleichen auswählen und wahlweise ein Kennwort oder eine andere private Kennung bereitstellen muss, was in der Technik allgemein bekannt ist. Wenn die richtige Information als Teil des Anmeldeprozesses bereitgestellt wurde, wird ein dem Benutzernamen, dem Zertifikat oder dergleichen entsprechendes Benutzerprofil zum Verarbeiten gemäß dem Verfahren von 4 abgerufen.This in 4 The method shown starts with retrieving a user profile for a particular user of a computing device (step 410 ). The user concerned can be recognized, for example, by a login process or another identification process. For example, a login process may be started in response to the user turning on the computing device. during which a user must specify a user name, select a certificate or the like, and optionally provide a password or other private identifier, which is well known in the art. If the correct information has been provided as part of the login process, a user profile corresponding to the username, certificate, or the like is processed for processing according to the method of 4 accessed.

Nach dem Abrufen des Benutzerprofils werden statische benutzerdefinierte bevorzugte Sprachübersetzungen abgerufen und zur Verwendung beim Übersetzen von Nachrichten von Prozessen, die auf der Datenverarbeitungseinheit ausgeführt werden, oder von Nachrichten gespeichert, die durch die Datenverarbeitungseinheit ausgegeben und möglicherweise von einer anderen entfernt angeordneten Datenverarbeitungseinheit empfangen worden ist (Schritt 420). Es wird ermittelt, ob die dynamische Folge von Substitutionen bevorzugter Sprachübersetzungen durch den Benutzer aktiviert worden ist, indem im Benutzerprofil nach einer entsprechenden Einstellung gesucht und ermittelt wird, ob der Wert dieser Einstellung eine Aktivierung anzeigt (Schritt 430). Wenn dies nicht der Fall ist, werden die statischen Einstellungen der benutzerdefinierten bevorzugten Sprachübersetzungen für Nachrichten verwendet, die durch das Datenverarbeitungssystem ausgegeben werden (Schritt 440).After retrieving the user profile, static custom preferred language translations are retrieved and stored for use in translating messages from processes executing on the computing device or messages issued by the computing device and possibly received from another remote computing device ( step 420 ). It is determined whether the dynamic sequence of preferred language translation substitutions has been activated by the user by searching for a corresponding setting in the user profile and determining whether the value of that setting indicates activation (step 430 ). If this is not the case, the static settings of the custom preferred language translations are used for messages issued by the data processing system (step 440 ).

Wenn die dynamische Folge von Substitutionen bevorzugter Sprachübersetzungen aktiviert worden ist, werden die sprachbezogenen Benutzerinteraktionen mit auf der Datenverarbeitungseinheit ausgeführten Prozessen sowie Datenübertragungen mit anderen entfernt angeordneten Datenverarbeitungseinheiten, z. B. Web-Servern, Chat-Räumen, Sofortnachrichten-Diensten, eMail-Nachrichtendiensten und dergleichen beobachtet und analysiert, um verwendete Sprachen zu erkennen (Schritt 450). Diese Daten werden analysiert, um statistische Daten über die verschiedenen durch den Benutzer in seinen sprachbezogenen Aktivitäten unter Verwendung der Datenverarbeitungseinheit verwendeten Sprachen zu erkennen (Schritt 460). Die einzelnen Quellen zu beobachtender sprachbezogener Aktivitäten, die Art und Weise des Durchführens des Beobachtens und die Art und Weise des Durchführens der Analyse können zum Beispiel in einer oder mehreren dem Benutzerprofil zugehörigen Regeln angegeben werden.When the dynamic sequence of preferred language translation substitutions has been activated, the language related user interactions with processes executed on the computing device as well as data transfers with other remote computing devices, e.g. Web servers, chat rooms, instant messaging services, email messaging services, and the like, are monitored and analyzed to recognize used languages (step 450 ). These data are analyzed to detect statistical data about the various languages used by the user in his language-related activities using the data processing unit (step 460 ). For example, the individual sources of language-related activity to be observed, the manner of performing the observation, and the manner of performing the analysis may be indicated in one or more rules associated with the user profile.

Auf der Grundlage der statistischen Daten bezüglich der verschiedenen durch den Benutzer in seinen beobachteten und verfolgten sprachbezogenen Aktivitäten verwendeten Sprachen wird eine dynamische Folge von Substitutionen bevorzugter Sprachübersetzungen auf der Grundlage von relativen Prioritäten der verschiedenen durch das Beobachten/Verfolgen erkannten Sprachen erzeugt (Schritt 470). Diese dynamische Folge von Substitutionen bevorzugter Sprachübersetzungen wird in Verbindung mit dem Benutzerprofil gespeichert (Schritt 480). Es wird ermittelt, ob das dynamische Beobachten/Verfolgen und Erzeugen der dynamischen Folge von Substitutionen bevorzugter Sprachübersetzungen fortgesetzt werden soll (Schritt 490). Ein solches Beenden des dynamischen Verfahrens der anschaulichen Ausführungsformen kann auf der Grundlage einer Änderung der Einstellungen in dem Benutzerprofil ermittelt werden, um zum Beispiel das dynamische Verfahren zu deaktivieren. Wenn die dynamischen Mechanismen beendet werden sollen, endet das Verfahren. Wenn das dynamische Beobachten/Verfolgen fortgesetzt werden soll, geht das Verfahren weiter zu Schritt 450).Based on the statistical data relating to the various languages used by the user in his observed and tracked language-related activities, a dynamic sequence of substitutions of preferred language translations is generated based on relative priorities of the various languages recognized by the watch / track (step 470 ). This dynamic sequence of preferred language translation substitutions is stored in association with the user profile (step 480 ). It is determined whether to continue to dynamically observe / track and generate the dynamic sequence of preferred language translation substitutions (step 490 ). Such termination of the dynamic method of the illustrative embodiments may be determined based on a change in the settings in the user profile, for example, to disable the dynamic method. If the dynamic mechanisms are to be terminated, the process ends. If the dynamic watching / tracking should continue, the method continues to step 450 ).

5 ist ein Ablaufplan, der ein beispielhaftes Verfahren zum Nutzen einer dynamischen Folge von Substitutionen bevorzugter Sprachübersetzungen beim Erzeugen von Nachrichtenausgaben gemäß einer anschaulichen Ausführungsform zeigt. Das in 5 gezeigte Verfahren kann wiederum zum Beispiel durch eine Maschine zum Ersetzen bevorzugter Sprachübersetzungen der anschaulichen Ausführungsformen umgesetzt werden. Bei der Beschreibung von 5 wird davon ausgegangen, dass zum Beispiel auf der Grundlage einer Anmeldeoperation des Benutzers bereits ein Benutzerprofil abgerufen und geladen worden ist. 5 FIG. 10 is a flowchart illustrating an exemplary method of utilizing a dynamic sequence of preferred language translation substitutions in generating message output according to an illustrative embodiment. This in 5 Again, for example, the method shown may be implemented by a preferred language translation replacement engine of the illustrative embodiments. In the description of 5 For example, it is assumed that, for example, a user profile has already been retrieved and loaded based on a user's login operation.

5 zeigt, dass das Verfahren durch Empfangen einer Anforderung zum Ausgeben einer Nachricht von einem dem Datenverarbeitungssystem zugehörigen Prozess startet (Schritt 510). Bei diesem Prozess kann es sich zum Beispiel um ein auf dem Datenverarbeitungssystem ausgeführtes Betriebssystem oder eine entsprechende Anwendung, um einen Datenübertragungsprozess, in dem die Nachricht von einer entfernt angeordneten Datenverarbeitungseinheit empfangen wird, oder dergleichen handeln. Die statischen Einstellungen der Sprachübersetzungen des Benutzers werden gegebenenfalls von dem Benutzerprofil abgerufen und zum Erzeugen einer Sprachübersetzungskatalog-Anforderung verwendet, welche die Übersetzung der empfangenen Nachricht in die statisch ermittelten bevorzugten(n) Sprache(en) des Benutzers anfordert (Schritt 520). Auf die dem Prozess zugehörigen Sprachübersetzungskataloge wird zugegriffen, indem die Sprachübersetzungskatalog-Anforderung an die Nachrichtenkatalogmechanismen der Laufzeitumgebung des Datenverarbeitungssystems gesendet wird (Schritt 530), die entsprechend den statischen Einstellungen der Sprachübersetzungen des Benutzers den/die Nachrichtenübersetzungskatalog(e) durchsucht (Schritt 540). 5 shows that the method starts by receiving a request to issue a message from a process associated with the data processing system (step 510 ). This process may be, for example, an operating system or application running on the data processing system, a data transfer process in which the message is received from a remote computing device, or the like. The static language translation settings of the user are optionally retrieved from the user profile and used to generate a language translation catalog request requesting the translation of the received message into the user's statically determined preferred language (s) (step 520 ). The language translation catalogs associated with the process are accessed by sending the language translation catalog request to the message catalog mechanisms of the data processing system runtime environment (step 530 ) which searches the message translation catalog (s) according to the static settings of the user's language translations (step 540 ).

Es wird ermittelt, ob die den statischen Einstellungen der Sprachübersetzungen entsprechenden Nachrichtenübersetzungskataloge in Verbindung mit dem Prozess vorhanden sind, der die Nachricht zum Ausgeben auf dem Datenverarbeitungssystem zuführt (Schritt 550). Wenn dies der Fall ist, wird die am stärksten bevorzugte Sprachübersetzung für die Nachricht abgerufen (Schritt 560) und die Nachricht in der bevorzugten Sprache ausgegeben (Schritt 570). Dann ist das Verfahren beendet. It is determined whether the message translation catalogs corresponding to the static settings of the language translations are in connection with the process supplying the message for output on the data processing system (step 550 ). If so, the most preferred language translation for the message is retrieved (step 560 ) and the message is output in the preferred language (step 570 ). Then the process is finished.

Wenn der/die den statischen Einstellungen der Sprachübersetzungen entsprechenden Nachrichtenübersetzungskatalog/e in Verbindung mit dem Prozess nicht vorhanden ist/sind, der die Nachricht zum Ausgeben sendet, wird ermittelt, ob der Benutzer eine dynamische Folge von Substitutionen von Sprachübersetzungen gemäß dem Benutzerprofil aktiviert hat (Schritt 580). Wenn keine dynamische Folge von Substitutionen von Sprachübersetzungen aktiviert ist, wird ein Standard-Nachrichtenübersetzungskatalog geladen und zum Ausgeben der Nachricht verwendet (Schritt 590). Wenn eine dynamische Folge von Substitutionen von Sprachübersetzungen aktiviert worden ist, wird die aktuelle dynamisch erzeugte Folge von Substitutionen bevorzugter Sprachübersetzungen für den Benutzer von dem Benutzerprofil abgerufen (Schritt 600) und auf der Grundlage einer durch die Folge angegebenen Prioritätsreihenfolge ermittelt, ob die nächsten Nachrichtenübersetzungskataloge, die der nächsten dynamisch erkannten Substitution von Sprachübersetzungen entsprechen, in der Folge in Verbindung mit dem Prozess vorhanden sind, der die Nachricht zum Ausgeben zuführt (Schritt 610). Wenn dies der Fall ist, geht das Verfahren weiter zu Schritt 560 und verwendet die erkannte Substitution einer Sprachübersetzung in der dynamisch erzeugten Folge von Substitutionen bevorzugter Sprachübersetzungen. Wenn dies nicht der Fall ist, wird ermittelt, ob es in der Folge weitere Ersetzungen bevorzugter Sprachübersetzungen gibt (Schritt 620). Wenn dies der Fall ist, kehrt das Verfahren zurück zu Schritt 610. Wenn dies nicht der Fall ist, wird das Verfahren bis zu Schritt 590 fortgesetzt, wo ein Standard-Sprachübersetzungskatalog für Nachrichten verwendet wird, um die auszugebende Nachricht zu übersetzen.If the message translation catalog (s) corresponding to the static language translation settings is not present in connection with the process sending the message for output, it is determined whether the user has activated a dynamic sequence of language translation substitutions according to the user profile ( step 580 ). If no dynamic sequence of language translation substitutions is enabled, a default message translation catalog is loaded and used to output the message (step 590 ). When a dynamic sequence of language translation substitutions has been activated, the current dynamically generated sequence of preferred language translation substitutions for the user is retrieved from the user profile (step 600 and determines, based on a priority order indicated by the sequence, whether the next message translation catalogs corresponding to the next dynamically recognized substitution of language translations are present in connection with the process supplying the message for output (step 610 ). If so, the method continues to step 560 and uses the recognized substitution of a language translation in the dynamically generated sequence of preferred language translation substitutions. If this is not the case, it is determined whether there are further substitutions of preferred language translations in the sequence (step 620 ). If so, the process returns to step 610 , If this is not the case, the procedure will go up to step 590 which uses a standard language translation catalog for messages to translate the message to be output.

Wie oben erwähnt sollte einsichtig sein, dass die anschaulichen Ausführungsformen die Form einer vollständigen Hardwareausführungsform, einer vollständigen Softwareausführungsform oder einer Ausführungsform annehmen kann, die sowohl Hardware- als auch Softwareelemente enthält. Gemäß einer beispielhaften Ausführungsform werden die Mechanismen der anschaulichen Ausführungsformen in Software oder Programmcode umgesetzt, darunter Firmware, residente Software, Mikrocode usw., ohne jedoch auf diese beschränkt zu sein.As mentioned above, it should be understood that the illustrative embodiments may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment that includes both hardware and software elements. According to an exemplary embodiment, the mechanisms of the illustrative embodiments are implemented in software or program code, including, but not limited to, firmware, resident software, microcode, and so forth.

Ein zum Speichern und/oder Ausführen von Programmcode geeignetes Datenverarbeitungssystem enthält mindestens einen Prozessor, der durch einen Systembus direkt oder indirekt mit Speicherelementen verbunden ist. Zu den Speicherelementen können ein lokaler Speicher, der während der eigentlichen Ausführung des Programmcodes verwendet wird, ein Massenspeicher und ein Cachespeicher zählen, die temporären Speicherraum zumindest für einen Teil des Programmcodes bereitstellen, um die Anzahl der Zugriffe während der Ausführung auf den Code vom Massenspeicher zu verringern.A data processing system suitable for storing and / or executing program code includes at least one processor directly or indirectly connected to memory elements through a system bus. The memory elements may include a local memory used during the actual execution of the program code, a mass memory, and a cache memory that provide temporary memory space for at least a portion of the program code to increase the number of accesses during execution to the code from the mass memory reduce.

Eingabe/Ausgabe- oder E/A-Einheiten (darunter, ohne jedoch auf diese beschränkt zu sein, Tastaturen, Bildschirme, Zeigeeinheiten usw.) können entweder direkt oder über zwischengeschaltete E/A-Controller mit dem System verbunden sein. Auch Netzwerkadapter können mit dem System verbunden sein, damit das Datenverarbeitungssystem über zwischengeschaltete private oder öffentliche Netzwerke mit weiteren Datenverarbeitungssystemen oder fernen Druckern oder Speichereinheiten verbunden werden kann. Modems, Kabelmodems und Ethernet-Karten stellen lediglich einige wenige derzeit verfügbare Typen von Netzwerkadaptern dar.Input / output or I / O devices (including, but not limited to, keyboards, displays, pointing devices, etc.) may be connected to the system either directly or through intermediate I / O controllers. Network adapters can also be connected to the system so that the data processing system can connect to other data processing systems or remote printers or storage devices via private or public networks. Modems, cable modems, and Ethernet cards are just a few of the currently available types of network adapters.

Die Darlegung der vorliegenden Erfindung wurde zur Veranschaulichung und Beschreibung vorgelegt und erhebt keinen Anspruch auf Vollständigkeit und soll nicht auf die Erfindung in der offenbarten Form beschränkt sein. Dem Fachmann sind viele Änderungen und Varianten offensichtlich. Die Ausführungsform wurde ausgewählt, um die Grundgedanken der Erfindung und deren praktische Anwendung bestmöglich zu erläutern und andere Fachleute in die Lage zu versetzen, die Erfindung für verschiedene Ausführungsformen mit diversen Änderungen zu verstehen, die für die im Einzelnen vorgesehene Verwendung geeignet sind.The description of the present invention has been presented for purposes of illustration and description and is not exhaustive and is not intended to be limited to the invention in the form disclosed. Many changes and variants will be apparent to those skilled in the art. The embodiment has been chosen to best explain the principles of the invention and its practical application, and to enable others skilled in the art to understand the invention for various embodiments with various modifications suitable for the particular use contemplated.

Zu erwähnen ist, dass das erfindungsgemäße Verfahren auf unterschiedliche Weise umgesetzt werden kann; beispielsweise in Form eines Computerprogrammprodukts, das in den Ansprüchen beschrieben wird. Einem Fachmann dürfte verständlich sein, dass alle Merkmale der Unteransprüche des Verfahrens jeweils auch das Computerprogrammprodukt betreffen können.It should be mentioned that the process according to the invention can be implemented in different ways; for example in the form of a computer program product described in the claims. A person skilled in the art should understand that all features of the subclaims of the method can each also relate to the computer program product.

Claims (15)

Verfahren in einem Datenverarbeitungssystem zum Übersetzen von Nachrichten, die durch dem Datenverarbeitungssystem zugehörige Prozesse ausgegeben werden, wobei das Verfahren aufweist: automatisches Verfolgen sprachbezogener Benutzeraktivitäten, die über das Datenverarbeitungssystem erfolgen; automatisches Analysieren der sprachbezogenen Benutzeraktivitäten, um eine relative Prioritätsreihenfolge einer oder mehrerer durch einen Benutzer verwendeter Sprachen zu ermitteln, der die Benutzeraktivitäten ausführt; automatisches Erzeugen einer Folge von Substitutionen bevorzugter Sprachübersetzungen zum Ausgeben von Nachrichten auf der Grundlage von Ergebnissen der Analyse; automatisches Anwenden der Folge auf eine von einem Prozess empfangene Nachricht, der dem Datenverarbeitungssystem zugehörig ist, um eine übersetzte Nachricht unter Verwendung einer der Substitutionen bevorzugter Sprachübersetzungen in der Folge von Substitutionen bevorzugter Sprachübersetzungen zu erzeugen; und Ausgeben der übersetzten Nachricht über eine Ausgabeeinheit des Datenverarbeitungssystems.A method in a data processing system for translating messages issued by processes associated with the data processing system, the method comprising: automatically tracking language-related user activities that occur via the data processing system; automatically analyzing the language related user activity to determine a relative priority order of one or more languages used by a user performing the user activities; automatically generating a sequence of substitutions of preferred language translations for outputting messages based on results of the analysis; automatically applying the sequence to a message received from a process associated with the data processing system to produce a translated message using one of the preferred language translation substitutions following substitutions of preferred language translations; and Outputting the translated message via an output unit of the data processing system. Verfahren nach Anspruch 1, wobei das automatische Erzeugen einer Folge von Substitutionen bevorzugter Sprachübersetzungen ein Ändern einer vorhandenen statischen Substitution von Übersetzungen auf der Grundlage der Ergebnisse der Analyse aufweist.The method of claim 1, wherein automatically generating a sequence of preferred language translation substitutions comprises changing an existing static translation substitution based on the results of the analysis. Verfahren nach Anspruch 1, wobei es sich bei der Ausgabeeinheit um eine Bildschirmeinheit, bei der empfangenen Nachricht um eine auf der Bildschirmeinheit anzuzeigenden Nachricht und bei der übersetzten Nachricht um eine auf der Bildschirmeinheit angezeigte übersetzte Nachricht handelt.The method of claim 1, wherein the output unit is a display unit, the received message is a message to be displayed on the display unit, and the translated message is a translated message displayed on the display unit. Verfahren nach Anspruch 1, wobei es sich bei der Ausgabeeinheit um eine Audioausgabeeinheit, bei der empfangenen Nachricht um eine hörbar durch die Audioausgabeeinheit auszugebende Nachricht und bei der übersetzten Nachricht um eine durch die Audioausgabeeinheit hörbar ausgegebene übersetzte Nachricht handelt.The method of claim 1, wherein the output unit is an audio output unit, the received message is a message audibly output by the audio output unit, and the translated message is a translated message audibly output by the audio output unit. Verfahren nach Anspruch 1, wobei das automatische Anwenden der Folge auf eine empfangene Nachricht aufweist: Durchsuchen der Substitutionen bevorzugter Sprachübersetzungen der Folge in einer Reihenfolge und Ermitteln für jede Substitution bevorzugter Sprachübersetzungen in der Reihenfolge, bis eine erste Übereinstimmung erkannt wird, ob eine Quelle der empfangenen Nachricht eine Übersetzungskatalogdatei aufweist, die der Substitution bevorzugter Sprachübersetzungen entspricht; Auswählen der Substitution bevorzugter Sprachübersetzungen als Substitution bevorzugter Sprachübersetzungen, die beim Erzeugen der übersetzten Nachricht verwendet werden soll, als Reaktion auf eine erste Übereinstimmung in der Reihenfolge zwischen einer Substitution bevorzugter Sprachübersetzungen und einer Übersetzungskatalogdatei, die einer Quelle der empfangenen Nachricht zugehörig ist; und Erzeugen der übersetzten Nachricht unter Verwendung der Substitution ausgewählter bevorzugter Sprachübersetzungen, um die empfangene Nachricht in eine Sprache zu übersetzen, die von einer Sprache verschieden ist, in der die empfangene Nachricht empfangen wird.The method of claim 1, wherein automatically applying the sequence to a received message comprises: Searching the substitutions of preferred language translations of the sequence in an order and determining for each substitution of preferred language translations in the order until a first match is detected as to whether a source of the received message has a translation catalog file corresponding to the substitution of preferred language translations; Selecting the substitution of preferred language translations as substitution of preferred language translations to be used in generating the translated message in response to a first match in the order between a substitution of preferred language translations and a translation catalog file associated with a source of the received message; and Generating the translated message using the substitution of selected preferred language translations to translate the received message into a language other than a language in which the received message is received. Verfahren nach Anspruch 5, wobei das Erzeugen der übersetzten Nachricht ein Verwenden der Übersetzungskatalogdatei aufweist, die der Quelle der empfangenen Nachricht zugehörig ist, die mit der Substitution ausgewählter bevorzugter Sprachübersetzungen übereinstimmt.The method of claim 5, wherein generating the translated message comprises using the translation catalog file associated with the source of the received message that matches the substitution of selected preferred language translations. Verfahren nach Anspruch 1, wobei die empfangene Nachricht von einem Betriebssystem des Datenverarbeitungssystems oder einer Anwendung empfangen wird, die auf dem Datenverarbeitungssystem ausgeführt wird.The method of claim 1, wherein the received message is received from an operating system of the data processing system or an application executing on the data processing system. Verfahren nach Anspruch 1, wobei ein automatisches Verfolgen sprachbezogener Benutzeraktivitäten, das durch das Datenverarbeitungssystem erfolgt, aufweist: Verfolgen der Zugriffe eines Benutzers auf Inhalte auf einem oder mehreren Datennetzwerken und Ermitteln der Sprachen der Inhalte, auf die der Benutzer zugreift; und/oder Ermitteln von Sprachauswahlen, die durch die Benutzereingabe in eine oder mehrere Quellen von Inhalten auf einem oder mehreren Datennetzwerken getätigt werden; und/oder Ermitteln entsprechender Zählwerte für eine Vielzahl von Sprachen einer Anzahl von Quellen von Inhalten, auf die der Nutzer zugreift, die Inhalte in der betreffenden Sprache bereitstellen; und/oder Ermitteln für die Vielzahl von Sprachen einer Zeitspanne, die der Benutzer beim Betrachten von Inhalten in der betreffenden Sprache verbringt.The method of claim 1, wherein automatically tracking language related user activity performed by the data processing system comprises: tracking a user's access to content on one or more data networks and determining the languages of the content accessed by the user; and / or determining language selections made by the user input to one or more sources of content on one or more data networks; and / or determining corresponding counts for a plurality of languages from a number of sources of content accessed by the user providing content in the language of interest; and or Determine for the plurality of languages a period of time the user spends viewing content in the language concerned. Verfahren nach Anspruch 1, wobei das automatische Anwenden der automatisch ermittelten Folge auf eine empfangene Nachricht von einem Prozess ein Bereitstellen einer Priorität einer benutzerdefinierten Folge von Substitutionen bevorzugter Sprachübersetzungen gegenüber der der automatisch ermittelten Folge aufweist.The method of claim 1, wherein automatically applying the automatically determined sequence to a received message from a process comprises providing a priority of a user-defined sequence of preferred language translation substitutions over the automatically-determined sequence. Verfahren nach Anspruch 1, wobei das automatische Anwenden der automatisch ermittelten Folge auf eine empfangene Nachricht von einem Prozess ein Außerkraftsetzen einer benutzerdefinierten Folge von bevorzugten Übersetzungs-Substitutionen und ein Übergeben der Priorität an die automatisch ermittelte Folge aufweist.The method of claim 1, wherein automatically applying the automatically determined sequence to a received message from a process comprises overriding a user-defined sequence of preferred translation substitutions and passing the priority to the automatically-determined sequence. Computerprogrammprodukt, das ein computerlesbares Speichermedium mit einem darin gespeicherten computerlesbaren Programm aufweist, wobei das computerlesbare Programm, wenn es auf einem Datenverarbeitungssystem ausgeführt wird, das Datenverarbeitungssystem veranlasst: automatisch sprachbezogene Benutzeraktivitäten zu verfolgen, die über das Datenverarbeitungssystem erfolgen; automatisch die sprachbezogenen Benutzeraktivitäten zu analysieren, um eine relative Prioritätsreihenfolge einer oder mehrerer durch einen Benutzer verwendeter Sprachen zu ermitteln, der die Benutzeraktivitäten ausführt; automatisch eine Folge von Substitutionen bevorzugter Sprachübersetzungen zum Ausgeben von Nachrichten auf der Grundlage von Ergebnissen der Analyse zu erzeugen; automatisch die Folge auf eine von einem Prozess empfangene Nachricht anzuwenden, der dem Datenverarbeitungssystem zugehörig ist, um eine übersetzte Nachricht unter Verwendung einer der Substitutionen bevorzugter Sprachübersetzungen in der Folge von Substitutionen bevorzugter Sprachübersetzungen zu erzeugen; und die übersetzte Nachricht über eine Ausgabeeinheit des Datenverarbeitungssystems auszugeben.A computer program product comprising a computer readable storage medium having a computer readable program stored therein, the computer readable program, when executed on a data processing system, causing the data processing system to: automatically track language-related user activities that occur via the data processing system; automatically analyze the language-related user activities to determine a relative priority order of one or more languages used by a user performing the user activities; automatically generate a sequence of substitutions of preferred language translations for outputting messages based on results of the analysis; automatically apply the sequence to a message received from a process associated with the data processing system to produce a translated message using one of the preferred language translation substitutions in the sequence of preferred language translation substitutions; and output the translated message via an output unit of the data processing system. Computerprogrammprodukt nach Anspruch 11, wobei das computerlesbare Programm in einem computerlesbaren Speichermedium in einem Datenverarbeitungssystem gespeichert ist und wobei das computerlesbare Programm über ein Netzwerk von einem fernen Datenverarbeitungssystem heruntergeladen wurde, und/oder wobei das computerlesbare Programm in einem computerlesbaren Speichermedium in einem Server-Datenverarbeitungssystem gespeichert ist und wobei das computerlesbare Programm über ein Netzwerk auf ein fernes Datenverarbeitungssystem heruntergeladen wird, um es in einem computerlesbaren Speichermedium des fernen Systems zu verwenden.The computer program product of claim 11, wherein the computer readable program is stored in a computer readable storage medium in a data processing system and wherein the computer readable program has been downloaded over a network from a remote data processing system. and or wherein the computer readable program is stored in a computer readable storage medium in a server data processing system, and wherein the computer readable program is downloaded over a network to a remote data processing system for use in a computer readable storage medium of the remote system. Datenverarbeitungssystem, das aufweist: einen Prozessor; und einen mit dem Prozessor verbundenen Speicher, wobei der Speicher Anweisungen aufweist, die, wenn sie durch den Prozessor ausgeführt werden, den Prozessor veranlassen: automatische sprachbezogene Benutzeraktivitäten zu verfolgen, die über das Datenverarbeitungssystem erfolgen; automatisch sprachbezogene Benutzeraktivitäten zu analysieren, um eine relative Prioritätsreihenfolge einer oder mehrerer durch einen Benutzer verwendeter Sprachen zu ermitteln, der die Benutzeraktivitäten ausführt; automatisch eine Folge von Substitutionen bevorzugter Sprachübersetzungen zum Ausgeben von Nachrichten auf der Grundlage von Ergebnissen der Analyse zu erzeugen; automatisch die Folge auf eine von einem Prozess, der dem Datenverarbeitungssystem zugehörig ist, empfangene Nachricht anzuwenden, um eine übersetzte Nachricht unter Verwendung einer der Substitutionen bevorzugter Sprachübersetzungen in der Folge von Substitutionen bevorzugter Sprachübersetzungen zu erzeugen; und die übersetzte Nachricht über eine Ausgabeeinheit des Datenverarbeitungssystems auszugeben.Data processing system comprising: a processor; and a memory coupled to the processor, the memory having instructions that, when executed by the processor, cause the processor: track automatic language related user activities that occur through the data processing system; automatically analyze language-related user activities to determine a relative priority order of one or more languages used by a user performing the user activities; automatically generate a sequence of substitutions of preferred language translations for outputting messages based on results of the analysis; automatically apply the sequence to a message received from a process associated with the data processing system to generate a translated message using one of the preferred language translation substitutions following substitutions of preferred language translations; and output the translated message via an output unit of the data processing system. Datenverarbeitungssystem nach Anspruch 13, wobei die Anweisungen den Prozessor veranlassen, die Folge automatisch auf eine empfangene Nachricht anzuwenden durch: Durchsuchen der Substitutionen bevorzugter Sprachübersetzungen der Folge in einer Reihenfolge und Ermitteln für jede Substitution bevorzugter Sprachübersetzungen in der Reihenfolge, bis eine erste Übereinstimmung erkannt wird, ob eine Quelle der empfangenen Nachricht eine Übersetzungskatalogdatei aufweist, die der Substitution bevorzugter Sprachübersetzungen entspricht; Auswählen der Substitution bevorzugter Sprachübersetzungen als Substitution bevorzugter Sprachübersetzungen, die beim Erzeugen der übersetzten Nachricht verwendet werden soll, als Reaktion auf eine erste Übereinstimmung in der Reihenfolge zwischen einer Substitution bevorzugter Sprachübersetzungen und einer Übersetzungskatalogdatei, die einer Quelle der empfangenen Nachricht zugehörig ist; und Erzeugen der übersetzten Nachricht unter Verwendung der Substitution bevorzugter Sprachübersetzungen, um die empfangene Nachricht in eine Sprache zu übersetzen, die von einer Sprache verschieden ist, in der die empfangene Nachricht empfangen wird.The data processing system of claim 13, wherein the instructions cause the processor to automatically apply the sequence to a received message by: searching the substitutions of preferred translations of the sequence in sequence and determining for each substitution of preferred translations in order until a first match is detected; whether a source of the received message has a translation catalog file corresponding to the substitution of preferred language translations; Selecting the substitution of preferred language translations as substitution of preferred language translations to be used in generating the translated message in response to a first match in the order between a substitution of preferred language translations and a translation catalog file associated with a source of the received message; and generating the translated message using the substitution of preferred language translations to translate the received message into a language other than a language in which the received message is received. Verfahren nach Anspruch 13, wobei die Anweisungen den Prozessor veranlassen, sprachbezogene Benutzeraktivitäten, die durch das Datenverarbeitungssystem erfolgen, automatisch zu verfolgen durch: Verfolgen der Zugriffe eines Benutzers auf Inhalte auf einem oder mehreren Datennetzwerken und Ermitteln der Sprachen der Inhalte, auf die der Benutzer zugreift; und/oder Ermitteln von Sprachauswahlen, die durch die Benutzereingabe in eine oder mehrere Quellen von Inhalten auf einem oder mehreren Datennetzwerken getroffen werden; und/oder Ermitteln entsprechender Zählwerte für eine Vielzahl von Sprachen einer Anzahl von Quellen von Inhalten, auf die der Nutzer zugreift, die Inhalte in der betreffenden Sprache bereitstellen; und/oder Ermitteln, für die Vielzahl von Sprachen, einer Zeitspanne, die der Benutzer beim Betrachten von Inhalten in der betreffenden Sprache verbringt.The method of claim 13, wherein the instructions cause the processor to automatically track language-related user activities performed by the data processing system by: Tracking a user's access to content on one or more data networks and determining the languages of the content accessed by the user; and or Determining language selections made by the user input to one or more sources of content on one or more data networks; and or Determining appropriate counts for a plurality of languages from a number of sources of content accessed by the user providing content in the language of interest; and or Determine, for the plurality of languages, a period of time the user spends viewing content in the language concerned.
DE102013210891A 2012-06-21 2013-06-11 Dynamic substitution of translations Pending DE102013210891A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/528,895 US9672209B2 (en) 2012-06-21 2012-06-21 Dynamic translation substitution
US13/528,895 2012-06-21

Publications (1)

Publication Number Publication Date
DE102013210891A1 true DE102013210891A1 (en) 2013-12-24

Family

ID=49713854

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013210891A Pending DE102013210891A1 (en) 2012-06-21 2013-06-11 Dynamic substitution of translations

Country Status (3)

Country Link
US (3) US9672209B2 (en)
CN (1) CN103514154B (en)
DE (1) DE102013210891A1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304712B2 (en) * 2011-10-10 2016-04-05 Alcatel Lucent Automated word substitution for contextual language learning
US9672209B2 (en) 2012-06-21 2017-06-06 International Business Machines Corporation Dynamic translation substitution
TW201430593A (en) * 2013-01-25 2014-08-01 Hon Hai Prec Ind Co Ltd System and method for converting multi-language webpage
US9830376B2 (en) * 2013-11-20 2017-11-28 International Business Machines Corporation Language tag management on international data storage
US9311811B1 (en) 2014-10-08 2016-04-12 Google Inc. Alarm profile for a fabric network
CN105912535A (en) * 2016-05-21 2016-08-31 李林瑛 Real-person online translation system and method
US10560419B2 (en) 2017-01-07 2020-02-11 International Business Machines Corporation Message presentation management in a social networking environment
AU2017393668A1 (en) * 2017-01-17 2019-08-29 Loveland Co., Ltd. Multilingual communication system and multilingual communication provision method
SI3579612T1 (en) * 2017-02-03 2023-04-28 Sharp Kabushiki Kaisha Base station device, terminal device, and communication method therefor
US10657695B2 (en) 2017-10-30 2020-05-19 Snap Inc. Animated chat presence
JP2019144684A (en) * 2018-02-16 2019-08-29 富士ゼロックス株式会社 Information processing system and program
US11048885B2 (en) * 2018-09-25 2021-06-29 International Business Machines Corporation Cognitive translation service integrated with context-sensitive derivations for determining program-integrated information relationships
US10831999B2 (en) * 2019-02-26 2020-11-10 International Business Machines Corporation Translation of ticket for resolution
US11861313B2 (en) * 2020-02-02 2024-01-02 International Business Machines Corporation Multi-level linguistic alignment in specific user targeted messaging
CN113014986A (en) * 2020-04-30 2021-06-22 北京字节跳动网络技术有限公司 Interactive information processing method, device, equipment and medium
US20210357596A1 (en) * 2020-05-15 2021-11-18 Microsoft Technology Licensing, Llc Intelligent localization of resource data
CN113111666A (en) * 2021-04-07 2021-07-13 北京沃东天骏信息技术有限公司 System and method for realizing multi-language translation of application program
CN114912469B (en) * 2022-05-26 2023-03-31 东北农业大学 Information communication method for converting Chinese and English languages and electronic equipment

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864503A (en) * 1987-02-05 1989-09-05 Toltran, Ltd. Method of using a created international language as an intermediate pathway in translation between two national languages
US5778380A (en) * 1994-03-24 1998-07-07 Ncr Corporation Intelligent resource transformation engine for translating files
WO1998001807A1 (en) * 1996-07-03 1998-01-15 Polydoc N.V. Document producing support system
US6119079A (en) * 1997-04-24 2000-09-12 Hewlett-Packard Company Method and structure for tokenized message logging system
US6072461A (en) * 1997-08-15 2000-06-06 Haran; Yossi Apparatus and method for facilitating document generation
US6526426B1 (en) * 1998-02-23 2003-02-25 David Lakritz Translation management system
US6396515B1 (en) 1998-12-15 2002-05-28 International Business Machines Corporation Method, system and computer program product for dynamic language switching in user interface menus, help text, and dialogs
US6275789B1 (en) * 1998-12-18 2001-08-14 Leo Moser Method and apparatus for performing full bidirectional translation between a source language and a linked alternative language
US6356865B1 (en) * 1999-01-29 2002-03-12 Sony Corporation Method and apparatus for performing spoken language translation
US6754668B2 (en) 2000-10-24 2004-06-22 Raytheon Company Multilingual system having dynamic language selection
US20020111791A1 (en) * 2001-02-15 2002-08-15 Sony Corporation And Sony Electronics Inc. Method and apparatus for communicating with people who speak a foreign language
AU2002255568B8 (en) * 2001-02-20 2014-01-09 Adidas Ag Modular personal network systems and methods
AUPR360701A0 (en) 2001-03-06 2001-04-05 Worldlingo, Inc Seamless translation system
EP1246113A1 (en) * 2001-03-09 2002-10-02 Pihl Limited Method & apparatus for delivering healthcare
US7860706B2 (en) * 2001-03-16 2010-12-28 Eli Abir Knowledge system method and appparatus
US20020169592A1 (en) * 2001-05-11 2002-11-14 Aityan Sergey Khachatur Open environment for real-time multilingual communication
US20020188670A1 (en) * 2001-06-08 2002-12-12 Stringham Gary G. Method and apparatus that enables language translation of an electronic mail message
US20030040899A1 (en) * 2001-08-13 2003-02-27 Ogilvie John W.L. Tools and techniques for reader-guided incremental immersion in a foreign language text
US20030046075A1 (en) * 2001-08-30 2003-03-06 General Instrument Corporation Apparatus and methods for providing television speech in a selected language
US7392173B2 (en) * 2001-09-06 2008-06-24 International Business Machines Corporation Method and system of presenting a document to a user
US20030115552A1 (en) * 2001-11-27 2003-06-19 Jorg Jahnke Method and system for automatic creation of multilingual immutable image files
US20030120560A1 (en) * 2001-12-20 2003-06-26 John Almeida Method for creating and maintaning worldwide e-commerce
US7369984B2 (en) * 2002-02-01 2008-05-06 John Fairweather Platform-independent real-time interface translation by token mapping without modification of application code
US7739132B2 (en) * 2002-10-17 2010-06-15 Navicure, Inc. Correcting and monitoring status of health care claims
US20040111254A1 (en) * 2002-12-05 2004-06-10 International Business Machines Corporation User defined text NLS enablement
US20070128899A1 (en) * 2003-01-12 2007-06-07 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
JP3920812B2 (en) * 2003-05-27 2007-05-30 株式会社東芝 Communication support device, support method, and support program
US20040243391A1 (en) * 2003-05-28 2004-12-02 Nelson David D. Apparatus, system, and method for multilingual regulation management
US20100070265A1 (en) * 2003-05-28 2010-03-18 Nelson David D Apparatus, system, and method for multilingual regulation management
KR100766463B1 (en) * 2004-11-22 2007-10-15 주식회사 에이아이코퍼스 Language conversion system and service method moving in combination with messenger
US8666928B2 (en) * 2005-08-01 2014-03-04 Evi Technologies Limited Knowledge repository
US7849144B2 (en) * 2006-01-13 2010-12-07 Cisco Technology, Inc. Server-initiated language translation of an instant message based on identifying language attributes of sending and receiving users
GB2454147B (en) 2006-09-01 2014-03-12 Research In Motion Ltd Method for identifying language of text in a handheld electronic device and a handheld electronic device incorporating the same
EP2067102A2 (en) * 2006-09-15 2009-06-10 Exbiblio B.V. Capture and display of annotations in paper and electronic documents
WO2008048090A2 (en) * 2006-10-18 2008-04-24 Calculemus B.V. Method, device, computer program and computer program product for processing linguistic data in accordance with a formalized natural language.
US8010338B2 (en) 2006-11-27 2011-08-30 Sony Ericsson Mobile Communications Ab Dynamic modification of a messaging language
US20080294455A1 (en) 2007-05-23 2008-11-27 General Electric Company System and method for communicating in a multilingual network
US8838659B2 (en) * 2007-10-04 2014-09-16 Amazon Technologies, Inc. Enhanced knowledge repository
WO2009129315A1 (en) * 2008-04-15 2009-10-22 Mobile Technologies, Llc System and methods for maintaining speech-to-speech translation in the field
KR101445904B1 (en) 2008-04-15 2014-09-29 페이스북, 인크. System and methods for maintaining speech-to-speech translation in the field
WO2010025460A1 (en) * 2008-08-29 2010-03-04 O3 Technologies, Llc System and method for speech-to-speech translation
US8260604B2 (en) * 2008-10-29 2012-09-04 Google Inc. System and method for translating timed text in web video
US20100138833A1 (en) * 2008-12-01 2010-06-03 Microsoft Corporation Resource coverage and analysis
US8478579B2 (en) * 2009-05-05 2013-07-02 Google Inc. Conditional translation header for translation of web documents
SG175265A1 (en) * 2009-05-08 2011-11-28 Werner Jungblut Interpersonal communications device and method
US20110153362A1 (en) * 2009-12-17 2011-06-23 Valin David A Method and mechanism for identifying protecting, requesting, assisting and managing information
KR101477530B1 (en) * 2010-03-12 2014-12-30 뉘앙스 커뮤니케이션즈, 인코포레이티드 Multimodal text input system, such as for use with touch screens on mobile phones
US9244913B2 (en) * 2010-03-19 2016-01-26 Verizon Patent And Licensing Inc. Multi-language closed captioning
US9110882B2 (en) * 2010-05-14 2015-08-18 Amazon Technologies, Inc. Extracting structured knowledge from unstructured text
US8751215B2 (en) * 2010-06-04 2014-06-10 Microsoft Corporation Machine based sign language interpreter
US20110307243A1 (en) 2010-06-10 2011-12-15 Microsoft Corporation Multilingual runtime rendering of metadata
US9411793B2 (en) 2010-07-13 2016-08-09 Motionpoint Corporation Dynamic language translation of web site content
US8788259B1 (en) * 2011-06-30 2014-07-22 Google Inc. Rules-based language detection
US9424255B2 (en) * 2011-11-04 2016-08-23 Microsoft Technology Licensing, Llc Server-assisted object recognition and tracking for mobile devices
US9128579B2 (en) * 2012-06-14 2015-09-08 Intuit Inc. Software localization through user contribution
US9672209B2 (en) * 2012-06-21 2017-06-06 International Business Machines Corporation Dynamic translation substitution

Also Published As

Publication number Publication date
US9672209B2 (en) 2017-06-06
US20170220560A1 (en) 2017-08-03
CN103514154A (en) 2014-01-15
US9678951B2 (en) 2017-06-13
US10289682B2 (en) 2019-05-14
US20130346063A1 (en) 2013-12-26
CN103514154B (en) 2016-12-28
US20130346064A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
DE102013210891A1 (en) Dynamic substitution of translations
DE102017121758A1 (en) Intelligent assistant for repeated actions
DE102016125783A1 (en) Provide suggestions for interacting with an automated wizard in a multi-user messaging thread
DE102018004974A1 (en) Global vector recommendations based on implicit interaction and profile data
DE112016002395T5 (en) Access control for data resources
DE102012210425A1 (en) Use of a dynamically generated content-related actuality rating to provide recommendations for current content
DE102013017085A1 (en) System for deep linking and search engine support for websites integrating a third-party application and components
DE202017105834U1 (en) Manage application updates
DE112011104787B4 (en) Use of content via personal clouds
DE112016004368T5 (en) Managing an error condition in a data processing system
DE202014011541U1 (en) System for establishing a bond of trust
DE202011110893U1 (en) Administration of multiple logins via a single browser
DE102015009912A1 (en) Adaptively modify content presented in electronic forms
DE202011108541U1 (en) Systems for generating and displaying a preview image of a content area
US20130166678A1 (en) Smart Suggestions Engine for Mobile Devices
DE112020000133T5 (en) Low entropy browsing history for quasi-personalizing content
DE112018005076T5 (en) CREATE A RANKING OF DOCUMENTS BASED ON YOUR SEMANTIC Wealth
DE112016005374T5 (en) Identify query patterns and associated aggregated statistics among search queries
DE112020000927T5 (en) MANAGE SENSITIVE DATA
DE112016000962T5 (en) SYSTEM AND METHOD FOR STRUCTURING EVALUATIONS WITH AUTOMATICALLY GENERATED TAGS
DE112017001416T5 (en) User interface element to display similar results
US20140244784A1 (en) Website Impersonation System and Method
DE102018010163A1 (en) Automatic generation of useful user segments
DE102017122363A1 (en) Ranking search result documents
DE112017003884T5 (en) User interface for protocol queries

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES DANNER & PARTNER PATENTANWAELTE PARTNERS, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017200000

Ipc: G06F0040000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0040000000

Ipc: G06F0040580000