Realisierung der Mehrsprachigkeit beim KSI-web



Die vorgeschlagene Lösung für die Unterstützung von verschiedenen Sprachen in Programmen ist die Verwendung von Ressourcen-Dateien. Da das KSI-web jedoch auf dynamische Inhalte und Datenbanken setzt wird dieser Ansatz auch für die Sprach Unterstützung verwendet. Der Vorteil dieser Lösung liegt in der leichten Erweiterbarkeit und Pflege der Übersetzungen, insbesondere darin, das verschiedene Muttersprachler zusammen daran arbeiten können.

Der einfache Weg die Mehrsprachigkeit abzubilden, ist eine große Tabelle. Für jeden Ausdruck eine Zeile und für jede Sprache eine Spalte. Wenn die Tabelle angelegt wird ist es einfach und überschaubar. Wenn das System wächst und weitere Sprachen hinzukommen werden neue Spalten angefügt und für weitere Ausdrücke und neuen Formularen kommen neue Zeilen dazu. That’s it!

Aber schon bald wird man in diesem System die Übersicht verlieren! Werden beim Hinzufügen einer neuen Sprache die Texte einer vorhandenen Sprache kopiert stehen ja erst mal falsche Daten in der Tabelle. Und wenn die Felder leer bleiben funktioniert das Formular nicht.

Daher wird beim KSI-web ein relationaler Ansatz mit Fall-back Strategie verwendet.

Was bedeutet das?
Zunächst einmal gibt es die Tabelle mit Texten oder Elementen die übersetzt werden können oder sollen, soweit nicht ungewöhnlich. Daneben gibt es die Tabelle mit den Sprachen, die angeboten werden. Genau genommen sind in dieser Tabelle nicht Sprachen, sondern Sprach-Land Kombinationen zu finden, denn beispielsweise unterscheidet sich das Englisch Großbritanniens doch in einigen Ausdrücken deutlich von dem was in Amerika verstanden wird. Auch für Französisch mag es Unterschiede geben für Frankreich, Belgien oder Kanada.

Um dieser Unterschiede gerecht zu werden und dabei Redundanzen zu vermeiden, kommt der Gedanke des Fall-Backs zum Tragen. Für den US-Amerikanischen Sprachraum, wie auch für Großbritannien, ist das allgemeine
Englisch die Fall-Back-Sprache.

Bei einem Aufruf der Seiten in Amerika wird also der amerikanische Text anzeigt, wenn es ihn gibt, sonst der Englische. Für einen Besucher aus London wird der britische Text, oder halt der Englische angezeigt.

Dieses System ist fehlertolerant und leicht zu warten. Um eine weitere Sprache oder eine weiter Kultur, also die Kombination aus Land und Sprache, zu unterstützen, muss diese nur in der Sprachtabelle angelegt und mit einer Fall-Back Sprache versehen werden. In einem multinationalen Umfeld kann man so bei wenig Aufwand mit viel Liebe zum Detail punkten.