IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Übersetzung eines Spiels
AntwortenNeues ThemaNeue Umfrage

Übersetzung eines Spiels

Geschrieben um 14:45 am 01.02.2014 | Zitat | Editieren | Löschen
Mischa
Mitglied
Master Gumby
Beiträge: 107

Wie würdet ihr eine Übersetzung eines (Inform 6) Spiels angehen?

Den kompletten Source-Code kopieren und dann übersetzen?

(Hätte den Nachteil, dass man möglicherweise das gleiche Spiel zweimal parallel warten muss!)

Oder alle Texte in einem Spiel per Sprach-Switch unterbringen?

(Scheint mir recht komplex...)

Es gibt ja eine Compileroption, um Texte aus dem Spiel zu exportieren.

Gibt's das auch in die andere Richtung? :-)

Geschrieben um 14:57 am 01.02.2014 | Zitat | Editieren | Löschen
Hannes
Avatar
Mitglied
Prof Gumby
Beiträge: 558

Ich habe das per Versionsverwaltungssystem gehandhabt: Zwei Branches, zwischen denen ich per eingebauter Merge-Funktion rein die Spiellogik betreffende Änderungen pflege, während Strings und Schlüsselworte natürlich unterschiedlich sind.

Martin empfiehlt auf seiner Seite dagegen ja die Pseudo-Präcompiler-Option.

Geschrieben um 20:53 am 02.02.2014 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

Hannes:

Martin empfiehlt auf seiner Seite dagegen ja die Pseudo-Präcompiler-Option.

Ach, ich empfehle die eigentlich nicht. Die Seiten über Übersetzung sind aus dieser unseligen und schon lange verschollenen Google-Gruppe Rakonto Interaktiva entstanden. Die Teilnehmer wollten das so und das durch die vielen Sprachdefinitionen extrem unübersichtliche Jade-Beispiel war eher ein Projekt, wo jeder mal was beitragen konnte. Bei zwei Sprachen geht's aber vielleicht.

Ich hatte mir einmal ein System, das ähnlich wie gettext arbeitet, überlegt, was aber eher kompliziert geworden wäre.

Man hätte den Quelltext gescannt und daraus ein Skelett für die Spiellogik und eine Sprachdatei extrahiert. Die Sprachdatei wird übersetzt und dan in das Skelett zurückgeführt.

Man kann allerdings nicht alle Texte einfach so übersetzen, weil durch die komische I6-Print-Syntax die Texte nicht schön gekapselt sind. Außerdem sollte man alle Properties, die mit der Eingabe und mit der Ausgabe des Objektnamens zu tun haben, zusammenfassen.

Aus dem I6-Original


    has neuter

    with name 'schwarz' 'buch'

    with description

        "Das schwarze Buch ist in einer dir unbekannten

        Schrift geschrieben."

    with before [;

            Take, Remove:

                deadflag = 1;

                print "Dich trifft der Blitz, als du das Buch

                    aufheben willst.";

                rtrue;

        ]

    ;```

würden das Skelett

```Object black_book

    ${BLACK_BOOK_INPUT}

    ${BLACK_BOOK_OUTPUT}

    ${BLACK_BOOK_DESCRIPTION}

    with before [;

            Take, Remove:

                deadflag = 1;

                ${BLACK_BOOK_TEXT_1}

                rtrue;

        ]

    ;```

und die Sprachdatei

```${BLACK_BOOK_INPUT}

!   with name 'schwarz' 'buch'

${BLACK_BOOK_OUTPUT}

!   "schwarz@00Buch"

!   has neuter

${BLACK_BOOK_DESCRIPTION}

!   with description

!       "Das schwarze Buch ist in einer dir unbekannten

!       Schrift geschrieben."

${BLACK_BOOK_TEXT_1}

!   print "Dich trifft der Blitz, als du das Buch

!                   aufheben willst.";```

extrahiert. Die Sprachdatei muss man dann übersetzen:

```${BLACK_BOOK_INPUT}

!   with name 'schwarz' 'buch'

    with name 'black' 'book'

${BLACK_BOOK_OUTPUT}

!   "schwarz@00Buch"

!   has neuter

    "black book"

Wie gesagt, ich hatte das überlegt, mehr nicht, denn durch die nicht sehr einheitliche I6-Syntax wird das sehr verwirrend. Und ein Übersetzer muss auch I6 können. Und wenn sich die Spiellogik im Original ändert, braucht man eh wieder eine Versionskontrolle.

Lange Rede, kurzer Sinn: Parallele Versionen, deren Logik dann abgeglichen wird, ist gewiss die einfachere Variante.

Mischa:

Es gibt ja eine Compileroption, um Texte aus dem Spiel zu exportieren. Gibt's das auch in die andere Richtung? :-)

Das wäre gar nicht so dumm, aber es hat dieselben Probleme wie oben beschrieben: Man muss bei Textadventures die Eingabe und die Ausgabe übersetzen und zur Ausgabe gehören halt auch Dinge wie Genus und besondere Artikel, und und und.

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz