Multilinguale Informationssysteme

Software-Design

Multilingualität muß ebenso wie das modulare Zuladen von Programmteilen oder Funktionen bereits beim Entwurf eines Programms berücksichtigt werden. Die nachträgliche Umstellung einer vorhandenen Software ist kaum möglich. In einem solchen Fall eis ein komplettes Redesign unter Einsatz moderner Tools sinnvoller.

Struktur und allgemeine Anforderungen an multilinguale Software

Multilinguale Software folgt folgenden Designkriterien:

  1. Modulares Design mit klarer logischer und programmtechnischer Trennung der verschiedenen Ebenen (Benutzerschnittstelle, Hauptprogramm, Ressourcen, Transformations-Module, Datenbank, etc.) Die Interaktion wird über Nachrichten (Messages) und globale Variablen gesteuert.
  2. Keine Textkomponente darf in ausführenden Programmteilen enthalten, sondern muß über Variable referenziert sein. Die Umschaltung von einer Sprache zur anderen erfolgt über ein globale Variable.
  3. Die Texte werden strukturiert in Ressource-Libraries (Bibliotheken) gehalten und werden über Variablen aufgerufen. Diese Bibliotheken müssen einfach zu pflegen und die Texte zur Laufzeit aufrufbar sowie in der Applikation ladbar sein.
  4. Alle Teile einer Anwendung müssen über definierte Schnittstellen verfügen. Dies betrifft insbesondere die Benutzerschnittstelle, die eigentliche Applikation und das Betriebssystem sowie die Zusatzmodule der Applikation.
  5. Applikation, Benutzerschnittstelle und Betriebssystem müssen variable Textfeldlängen und -positionen unterstützen. Diese können in Abhängigkeit der gewählten Sprache unterschiedlich sein.
  6. Applikation, Betriebssystem, Bildschirm- und Druckertreiber sowie die Datenbank müssen unterschiedliche Fonts, Zeichensätze, Sortierungen, Datumsformate, etc. unterstützen. Voraussetzung ist die Eignung des Betriebssystems.

Die multilinguale Anwendung gliedert sich dementsprechend in verschiedene Module und Ebenen, die miteinander kommunizieren. Das eigentliche Anwendungsprogramm, das Teil der Datenbankanwendung sein kann, steuert über Nachrichten und globale Variable die Wahl einer Sprache, deren Anzeige (und Druck) sowie die eigentlichen Recherche- und Umwandlungsfunktionen.
Die Variable "Lx" für "Language Resource" bestimmt, welche Texte angezeigt und welche Transformationsmodule und Auswahllisten benutzt werden, um eine Eingabe oder eine Recherche in der angewählten Sprache zu steuern. Die Information in der Datenbank selbst wird nicht verändert, nur Anzeige und Ausdruck werden umgesetzt.
Schicht 1 beinhaltet im wesentlichen die Darstellung der Informationen, Schicht 2 dient zur Transformation der angezeigten Informationen von einer Sprache in eine andere, Schicht 3 verwaltet die Zugriffsinformationen und dient zur Recherche, Schicht 4 verwaltet die "Dokumente" (Datensätze, Bilder, Grafiken etc.) auf optischen Speichermedien (IRS Information Resources Management Programm).

Benutzeroberfläche und Anwendung

Die Benutzeroberfläche ist in starkem Maße von dem darunterliegenden Betriebssystem abhängig. Viele Betriebssysteme werden den Anforderungen für multilinguale Software nicht gerecht, da sie zur Laufzeit nicht umkonfigurierbar sind und keine internationalen Zeichensätze sowie Formate unterstützen. Für multilinguale Anwendungen sind Betriebssysteme mit einer grafischen Benutzeroberfläche wie Microsoft Windows, OS/2 Presentation Manager oder Oberflächen, die auf XWindows basieren (OSF Motif, OpenLook u.a.) gut geeignet. Sie gestatten die Kontrolle der Bildschirmanzeige weitgehend unabhängig vom eigentlichen Betriebssystem.
Es ist grundsätzlich zwischen

  • der Standard-Windows-Oberfläche und
  • der auf Basis dieser Oberfläche realisierten anwendungsspezifischen Benutzeroberfläche zu unterscheiden. Letztere benutzt die Mittel, die von der Standardoberfläche bereitgestellt werden, um die Funktionen der Applikation darzustellen.

Eine grafische Oberfläche bietet zahlreiche Vorteile: Vom verringerten Lernaufwand, integrierte Hilfefunktionen bis zur einfachen Benutzerführung, die wahlweise über Mausaktionen, Anwahl aus Menüleisten oder Tastaturkombinationen steuerbar ist. Ein besonderer Vorteil von Windows-Oberflächen ist die frei skalierbare Größe von Fenstern und anderen Anzeigen.
Es ist wenig sinnvoll für multilinguale Anwendungen alle Anzeigen in der Applikation mit einer eigenen Benutzeroberfläche zu realisieren, da dies die Zahl der einsetzbaren Bildschirm- und Druckertreiber einschränkt. Die Benutzeroberfläche der Applikation sollte soweit möglich auf Standardroutinen der Windows-Oberfläche zurückgreifen.
An die Benutzeroberfläche (Standard-Windows und Anwendungsoberfläche) sind folgende Anforderungen zu stellen:

  • Umschaltbarkeit der Tastaturbelegung während der Laufzeit gesteuert durch die Applikation
  • Umschaltbarkeit der Bildschirmdarstellung während der Laufzeit gesteuert durch die Applikation
  • Anzeigemöglichkeit von spezielle Zeichensätzen (z.B. Deutsch: ä, ö, ü, ß; Französisch: é, è, ê, ç; Spanisch: Í; Dänisch: Ø, å, Æ; Ungarisch: ÿ, ý, ï; Griechisch: *, *, *; etc.)
  • Umschaltbarkeit von Formaten während der Laufzeit (z.B. Datum, Währung, Zeit, etc.)
  • Automatische Anpassung der Anzeige am Bildschirm in Bezug auf unterschiedliche Textlängen, Sonderzeichen, Fonts, etc. Die Anpassung muß in Abhängigkeit der verfügbaren Bildschirmauflösung durchführbar sein.
  • Sprachabhängige, kontextsensitive Hilfe in Abhängigkeitder Position auf dem Bildschirm, des aktuellen Programmzustandes und der durchgeführten oder durchführbaren Aktion.
  • Zuladbare Module während der Laufzeit, ohne das Programm zu verlassen.

Wichtigstes Merkmal einer multilingualen Anwendung ist die Umschaltbarkeit während der Programmausführung, ohne daß ein anderes Programm geladen und gestartet werden muß und ohne daß sich der Bildschirmaufbau und angezeigten Informationen (inhaltlich) ändern.
Die einzelnen Textkomponenten werden in separaten Dateien gehalten, sog. "Resource Libraries". Diese werden zur Laufzeit in Abhängigkeit der Sprachenwahlvariable "Lx" geladen.
Vorausbedingung für die Benutzung von Sprachressourcen ist, daß alle Texte in einem Programm, die angezeigt oder gedruckt werden sollen, durch eine eindeutige Schlüsselvariable mit der zugehörigen Bibliothek referenziert sind.
"Resource Libraries" werden benötigt für:

  1. alle statischen Textanzeigen auf einem Bildschirmformular ("Statische" Anzeigen sind Texte wie Beschriftungen, die sich erst beim Wechsel des Bildschirmformulars ändern). Dies sind Texte, die in der Regel mit einem bestimmten Bildschirmformular fest verbunden sind.
  2. dynamische Textanzeigen auf dem Bildschirmformular, die sich in Abhängigkeit des Zustandes verändern oder einblenden (Messages). Hierzu gehört auch das "Ausgrauen" von nicht aktiven oder auswählbaren Funktionen auf dem Bildschirmformular (Schaltflächen) und in Menüauswahllisten.
  3. Hilftexte, die automatisch erscheinen oder interaktiv abgerufen werden (Helptexts).
  4. Fehlermeldungen, Systemmeldungen und andere Hinweismeldungen, die aktionsbezogen erscheinen.

Viele Anwendungen benutzen Icons (Sinnbilder) und Schaltflächen zur vereinfachten Anwahl von Funktionen. Sind sie mit Texten versehen oder durch Buchstaben (als Abkürzung) gekennzeichnet, so müssen auch diese Icons bei einem Sprachwechsel umgeschaltet werden. Es empfiehlt sich daher, auch die Sinnbilder in eigenen Ressourcen-Bibliotheken zu halten und nicht direkt im Programm zu verwalten. Gleiches gilt auch für Icons mit Grafiken, wenn die Grafik Dinge zeigt, die in einem anderen Sprachraum oder Land, nicht mit der gezeigten Funktion des Icons verknüpft werden.
Objektorientierte Programmiersprachen und Datenbanken unterstützen häufig die Benutzung von ladbaren Ressourcen und sind deshalb herkömmlichen Tools vorzuziehen.
Für die Erstellung der eigentlichen Anwendung, die sich auf eine Programmiersprache oder eine Datenbankprogrammiersprache stützen kann, ist die Wahl des geeigneten Tools wichtig. Die Anwendung stellt die übergreifende und integrative Komponente im gesamten System dar. Die Applikation beinhaltet nicht nur die üblichen Algorithmen zur Datenverarbeitung und Module für Ein- und Ausgabe, sondern ebenfalls die Steuerung und Auswahl der Sprachressourcen (Transformationsmodule, Auswahllisten, Thesauri, Hilfetexte, Mitteilungen und Hinweistexte, Bildschirmaufbau und -anzeige, etc.).

Transformationsmodule

Die numerischen Informationen in der Datenbank werden in einem Format abgelegt, daß bei Bedarf für eine bestimmte zugeladene Sprachressource gewandelt wird. Transformationsmodule sind wesentlich einfacher als Textübersetzer zu realisieren, da sie nach genauen Regeln und nur mit numerischen Werten arbeiten.
Die wichtigsten Standard-Transformationsmodule sind:

  1. Datumsformatumwandlung Dieses Modul wandelt die Anzeige zwischen amerikanischen (Monat-Tag, Jahr) und europäischen (Tag-Monat-Jahr) Format um. Diese Funktion wird häufig direkt vom Betriebssystem unterstützt und erlaubt auch die volle oder abgekürzte Verwendung des Monatnamens. Das Transformationsmodul sollte auch für die Umwandlung von Datumsformaten vor dem Jahr 2000 auf das neue Jahrtausend hin ausgelegt sein. Dies ist wichtig für alle Datenbestände mit Aufbewahrungspflichten von 7 Jahren und mehr. Das Datum-Transfer-Modul muß ebenfalls für die richtige Sortierung bei der Anzeige sorgen.
  2. Zeitformatumwandlung Ähnliches wie für die Datumsformate gilt für die Transformation von Zeiten und deren Anzeige. Für international agierende Unternehmen empfiehlt sich die Speicherung von Zeitdaten im "coordinated universal time"-Format (UTC). Datum- und Zeittransformationsmodule können so ausgelegt werden, daß sie prüfen, ob die interne Zeiteinstellung des Systems korrekt ist (das aktuelle Datum/Zeit muß immer jünger sein als das zuletzt gespeicherte Dokument; Abgleich mit Standard-Arbeitszeiten und Werktagen; etc., um gegebenenfalls des Ausfall der Systemzeit festzustellen und zu melden).
  3. Adressen-Transformation Die Adressenformat-Transformation betrifft mehr den Ausdruck als die Anzeige am Bildschirm. Postanschriften sind in Europa nicht standardisiert und benutzen unterschiedliche Reihenfolgen von Straße, Hausnummer und Postleitzahlen. Das Transformationsmodul erkennt, welches Land bei einem Anschreiben gewählt ist und stellt für den Druck das richtige Adressformat ein.
  4. Transformation von Werten Für international tätige Handels- und Produktionsunternehmungen stellt die Transformation von Maß-, Entfernungs- und anderen Werten eine wichtige Anforderung dar. Dies soll an einem Beispiel erläutert werden: In der Mineralölindustrie werden täglich große Mengen unterschiedlicher Ölsor-ten und Ölprodukte transportiert und zwischengelagert. Je nach Art, Gewicht und Temperatur ändern sich Werte sowie davon abhängig Zoll- und Steuersätze. Besonders bei grenzüberschreitendem Verkehr ist daher eine Umwandlung in die landesüblichen Einheiten erforderlich. Zu den wichtigsten umrechenbaren Werten gehören Währungen sowie Entfernungs-, Gewichts- und Hohlmaße.
  5. EDI-Daten Der standardisierte elektronische Datenaustausch (EDI - Electronic Data Interchange), z.B. EDIFACT, erlaubt die Abwicklung kompletter Geschäftstransaktionen auf elektronischem Wege. Hierbei entstehen keine Papieroriginale mehr. Die Daten sind digital zu archivieren. Für die Anzeige und den Ausdruck werden EDI-Codes in Texte umgesetzt. Diese Umsetzung in Klartext kann durch eine Sprachsteuervariable ebenfalls sprachabhängig gemacht werden. Bei EDI-Informationen ist zu berücksichtigen, mit welcher Version einer bestimmten EDI-Anwendung die Daten zu transformieren sind.

Entsprechend verschiedener branchenspezifischer Anforderungen an eine Applikation können weitere Transformationsmodule hinzukommen. Hierzu gehören z.B. die Umsetzung von Produktcodes in Klartext.

Auswahllisten

Grafische Oberflächen wie Microsoft Windows unterstützen einfache (single select) und mehrfach (multiple select) Auswahllisten (Abb. 9). Bei den erstgenannten Auswahllisten kann aus der angezeigten Liste nur ein Eintrag markiert und übernommen werden. Bei multiplen Auswahllisten können einer oder mehrere Einträge markiert und übernommen werden.
Auswahllisten bieten bei Datenbankanwendungen eine Reihe von Vorteilen gegenüber Standard-Texteingabefeldern:

  • Auswahllisten vermeiden Tippfehler.
  • Auswahllisten sorgen für die Vereinheitlichung der Datenbank und stellen sicher, daß ein eingegebener Eintrag eindeutig wiedergefunden wird. Sie sorgen für eine standardisierte Eingabe, bei der sich der Benutzer für einen bestimmten Begriff entscheiden muß.
  • Bei Auswahllisten wird in der Datenbank nur eine Referenzziffer zu einer Textressource gespeichert. Dies erfordert wenig Platz, kann in Abhängigkeit einer Sprachanwahlvariable auf unterschiedliche Textressourcen verzweigen und beschleunigt das Retrieval der Datenbank, da nur vordefinierte Ziffern und keine Textsequenzen durchsucht werden müssen.
  • Multiple Auswahllisten erleichtern die Mehrfachzuordnung eines Dokumentes und gestatten dem Anwender bei unsicherer Zuordnung zu nur einem Begriff die zusätzliche Anwahl weiterer verwandter Begriffe.

Für multilinguale Anwendungen ist besonders die Option c) von Bedeutung. Sie erlaubt durch die Verwendung von Referenznummern die Zuweisung zu mehreren Listen in unterschiedlichen Sprachen. Weiterhin können die Referenznummern auch für den Zugriffschutz benutzt werden, indem nur zulässige Begriffe bei einer Recherche angezeigt werden. Auswahllisten erleichtern auch die Erfassung von Informationen durch Voreinstellungen für häufig wiederkehrende Einträge.
Auswahllisten können mit Standard-Texteditoren erstellt werden. Dies sollte jedoch nur von bestimmten autorisierten Personen geschehen, da Änderungen und besonders Löschungen von Einträgen Merkmalen (Einträge in einer Auswahlliste) die Datenbankkonsistenz gefährden können. Bei verteilten Systemen und Ressourcen ist die Einhaltung von strengen Update- und Pflegerichtlinien unerläßlich.
Auswahllisten mit kontrolliertem Wortschatz sind das geeignete Medium zur Standardisierung der Nomenklatur in Unternehmen und zur Schaffung multilingualer Softwaresysteme. Multilinguale Systeme sollten die freie Texteingabe nach Möglichkeit vermeiden und Auswahllisten - wo immer sinnvoll und einsetzbar - verwenden.