Inform-Übersetzungen ins Deutsche - ein Vergleich

Seit Version 6/3 der Inform-Library ist es für Übersetzer relativ leicht möglich, die englische Library in andere Sprachen zu übersetzen. So gibt es Inform inzwischen auf Deutsch, Spanisch, Italienisch, Französisch, Niederländisch und sogar auf Afrikaans und Lateinisch.

Für die deutsche Sprache gibt es sogar zwei vollwertige Übersetzungen der Library, eine von Toni Arnold, die andere von Ralf Herrmann. Beide basieren auf einer ursprünglichen Übersetzung durch Tinic Urou. Für Anfänger stellt sich da die ohne Vorkenntnisse nicht zu entscheidende Frage - welche Übersetzung soll ich verwenden? Im folgenden Artikel wird der Versuch unternommen, die beiden Ansätze zu vergleichen. Es kamen die Library-Versionen vom 01.08.99 (Ralf Herrmann) respektive vom 16.12.99 (Toni Arnold) zum Test-Einsatz.

Download und erstes Abenteuer

Der Download gestaltet sich recht leicht: Tonis Seite bietet eine tar.gz-Datei an, sowie als Alternative die ungepackten, die einzelnen Quellcodes, während Ralf entweder nur die deutschen Library-Elemente (zur Einbindung in die englische) oder die gesamte Library zum Download bereit stellt. Bei Ralfs Seite lud jedoch mein Browser die tgz-Datei als tar-Archiv herunter, so dass erst eine Umbennenung WinZip animierte, das Archiv korrekt zu entpacken. Ob das am Browser, am Server oder etwas anderem (Tachyonen?) liegt, kann ich nicht sagen.

Nach dem Download legte ich zwei Verzeichnisse an - mit den beiden Libraries, einem Inform-Compiler und Dateien meines Jump-Start-Kits (raum.inf, raum.icl, compile.bat), um die entsprechenden Tests durchzuführen. Beide Versionen kompilierten mir das Jump-Start-Kit problemlos.

Gundlegende Unterschiede

Schon der erste Test zeigt die Unterschiede in der Übersetzung der Standardsätze deutlich. In Ralfs Version werde ich mit einem »Ihr« angeredet (»Ihr seht einen Knödel«), während Tonis Variante teilweise schweizerische Ausdrücke enthält. Der Befehl INVENTAR ergibt beispielsweise »Du trägst nichts auf dir«.

Erfreulich ist allerdings, dass es in Ralfs Library möglich ist, verschiedene Anreden einzustellen, nämlich per define. Man hat die Wahl zwischen einem Du, einem du (also klein) und einem Ihr (die Vorauswahl). Ich wähle lieber ein kleines du. Unterhaltsam ist es allemal, die verschiedenen Antworten der beiden Übersetzungen zu vergleichen.

Objekte und Deklinationen

Neben den sprachlichen Mitteln ist wohl der gravierendste Unterschied, wie mit grammatischen Besonderheiten, etwa Deklinationen, umgegangen wird. Da es so etwas in der englischen Version nicht gibt, ist der Übersetzer auf sich alleine gestellt (wenn man von einer Übersetzungsrichtlinie für Inform einmal absieht).

In Tonis Library muss man bei allen Objekten definieren, welche Deklinationsart und welches Geschlecht sie haben. Die Deklinationsarten sind einfache Zahlen von 1 bis 9 und entsprechen laut Toni »schweizerischen Gepflogenheiten«, was ihre Reihenfolge angeht. Zusätzlich gibt es noch eine Deklination 0: Substantive, die nicht gebeugt werden. Adjektive gibt man als eigene Property an, ebenso nachgeordnete Wortgruppen (z.B. »des Königs«). Die Library übernimmt dann die Deklination des Namens und möglicher Adjektive.

Bei Ralf gestaltet sich das etwas komplexer. Hier muss der short_name des Objekts im bestimmten Akkusativ angegeben werden, damit die Library richtig deklinieren kann. Eine zusätzliche Array-Property gibt an, ob, wie und welche Wörter im short_name dekliniert werden. Eine ganze Latte Konstanten ermöglicht die Feinsteuerung der Deklinationen (man kann bei einem Wort z.B. angeben, dass es auf alle Fälle im Genitiv ein s angefügt haben soll). Zusammen mit dem Geschlecht funktioniert das fehlerlos. Beide beherrschen Wörter mit bestimmten Artikeln (»das Buch des Zauberers«), Eigennamen (»Kanzler Kohl«) und diverse Kurzfunktionen zur Angabe der richtigen Pronomen, Artikel, u.ä.

Die ganze Palette an Möglichkeiten der deutschen Sprache ist in beiden Varianten abgedeckt. Toni Arnolds Library mag für den Entwickler etwas angenehmer sein (wenn man vom ständigen Nachschlagen der richtigen Deklination aus der Tabelle einmal absieht), Ralfs bietet dagegen besseres Feintuning. Das ist für Anfänger zwar komplexer, doch in seltenen Einzelfällen sicherlich hilfreich.

Das Parsing

Intern verwenden sowohl Toni als auch Ralf die Routine LanguageToInformese, die in Inform für Sprachparsing vorgesehen ist. Tonis Routine übernimmt die Gesamtarbeit des Parsings und übergibt dem Parser die entsprechenden Token zum Matchen mit Verben und Objekten. Durch die etwas andere Aufteilung von Ralfs Deklinierungsdefinitionen werden in seiner Version vor allem zusammengezogene Wörter und besondere Ausdrücke ersetzt. Interessant ist hier, dass Ralf eine wesentlich größere Zahl als Toni abfängt. Während Toni grundlegende Komposita wie »im« oder raquo;amlaquo; in ihre Bestandteile (»in dem«, »an dem«) übersetzt, geht Ralf noch weiter und transformiert z.B. »aber nicht« in »außer«. Wo genau Ralf Wörter wie »schöner« in »schön« wandelt, habe ich auf die Schnelle nicht herausgefunden, doch funktioniert es beim Spielen genauso gut - oder schlecht - wie bei Toni.

Auch hier gibt es an beiden Versionen nur Kleinigkeiten auszusetzen. Ralfs Implementierung macht einen etwas undurchsichtigen Eindruck, während Tonis sauberer ist, da alles in der Routine LanguageToInformese steht, wie es Graham Nelsons Übersetzungsanleitung fordert. Das macht Änderungen und Ergänzungen in Tonis Version etwas leichter (falls man sich die überhaupt zutraut).

Gesamteindruck

Beide Versionen machen einen guten Eindruck und arbeiten stabil. Der Eindruck wird bei Ralfs Library im Verlauf etwas getrübt, da sich einige Unschönheiten eingeschlichen haben: Neben einigen vergessene Leerzeichen in der Standardausgabe war es mir beim Testen nicht möglich, einen zuvor an mich genommenen Knödel wieder hinzulegen. Nur durch das Werfen des Kloßes konnte ich mich dieses Objekts entledigen. Dieser Fehler sollte mit etwas Wissen über die Library behebbar sein. Schlimmer ist jedoch, dass die Library von Ralf auf der älteren Library-Version 6/9 basiert, welche besonders durch ihre Bugs bekannt wurde und schnell durch die aktuelle Version 6/10 ersetzt wurde, auf der auch Tonis Library basiert. (Ein Tipp: Auch dieser Punkt lässt sich schnell bereinigen, indem man einfach die Original-6/10-Library über die von Ralf mitgelieferten Files spielt - die Sprachdaten bleiben ja erhalten.)

Dennoch kann Ralfs Übersetzung mit Tonis mithalten, in einigen Punkten ist sie sogar anpassungsfreudiger und flexibler - siehe die verschiedenen Anreden. Man hat auch den Eindruck, dass Ralfs Library mehr Verben versteht, Toni hält sich leider viel zu sehr an die englische Vorlage. Schließlich mag manchem Toni Arnolds schweizerische Sprache nicht schmecken. Auf der anderen Seite fängt jeder halbwegs ernsthafte Inform-Entwickler irgendwann einmal an, die Library-Aussagen abzuändern und seinem persönlichen Geschmack anzupassen, was bei Tonis Version allein schon wegen der fehlenden Fallunterscheidungen der Anreden einfacher ist.

Welche Version einem besser gefällt kann man wohl erst nach einigem Herumprobieren sagen – beide Versionen haben recht unterschiedliche Herangehensweisen an Objekte (und mit denen darf sich schließlich der Programmierer hauptsächlich herumschlagen).

Am besten wäre es also, man würde beide Versionen ausprobieren. Ein Perfektionist wird vielleicht das Feintuning von Ralf Herrmanns Version vorziehen. Wer dafür keine Zeit hat, sollte Toni Arnolds Version wählen. Sie ist nicht nur leichter zugänglich, man kann sie auch direkt von textfire.de als Jump-Start-Kit downloaden und sofort loslegen.