Inform (c) 1993-97 Graham Nelson
Translation (c) 1998 Toni Arnold
Lesen Sie dieses Dokument auf Deutsch
last modification: 28.8.98
Preface to the translation
A bit of german grammar
German umlauts
What about declination?
German articles
Adjectives
Postordinate word groups
Pronouns
Declination tables
Beginnings of a technical documentation
Links
Inform
homepage
interactive fiction archive
ADVENTURE
in German!
This very first computer text adventure was published in 1977 by Don
Woods and based on a present of Will Crowther to his childs which he wrote
in 1972. The Inform version 6 of Graham Nelson made it possible to translate
this game into German. For a little description how to download see the
German version of this text.
During my first translating attempts it turned out
quickly that the german language is a difficult language - a phenomenon
that we as native speakers normally don't recognize. I begin with this
remark to make clear that the present translation is not and doesn't want
to be a final solution of the problem. Many phenomena are not considered
of, many errors hide themselves in the depths of the program. The present
library is contiuously actualized for that reason.
The game RUMMEL.Z5, a story about a funfair, is
only thought as an example. I am still working on that story and a publication
of the source code would destroy the gaming enjoiment.
A special problem are the German umlauts. This has historical reasons:
The ASCII-charset, on which Inform is based, bears America in its initials.
Since for Americans all languages except English are barbarous languages,
they didn't think of integrating european accents into their system. We
barbarians now have to carry the can for that thoughtlessness. In detail:
In printed text, therefore in printed names of objects and in descriptions,
the following Inform special chars specified for German can be used (see
also the next chapter about declination):
@:a | ä |
@:o | ö |
@:u | ü |
@:A | Ä |
@:O | Ö |
@:U | Ü |
@ss | ß |
To print the sentence "Der Löwe brüllt ängstlich." on the screen one has to write:
print "Der L@:owe br@:ullt @:angstlich.";
In the name-Property, where the names of an object which are
recognized by the parser are typed, "umlauts" don't work. There are only
a few Z-code-interpreters which support "umlauts".
The "umlauts" are transcribed into their two letter equivalents whitout
accent. With that, German games can be played with older interpreters or
keyboards without umlauts, too. Upper case letters are changed to lowercase
letters by the interpreters. Therefore the following equivalents have to
be used:
ä | ae |
ö | oe |
ü | ue |
ß | ss |
The lion of the example above would have to be defined as (minimally):
Object -> loewe,
has male,
with short_name "L@:owe",
dekl 6,
name "Loewe";
In contrast to English in German there are four inflected cases: nominative, accusative, dative, genitive. Furthermore there are three genders (male, female, neuter) and two numbers (singular, plural). According with its function in the sentence a noun phrase has to be set to a certain case: the direct object is in accusative, the indirect object in dative. The genitive normally expresses something like a possession.
An example:
"Give to the child a book of the sorcerer."
Gib dem Kind ein Buch des Zauberers.
\ / \ / \
/ \ /
- ----- ------
---------
| |
| |
| |
NP[Akk] NP[Gen]
| |
\ /
| |
-----------
| |
|
Verb NP[Dat]
NP[Akk]
\ |
/
--------------------
|
Sentence
in imperative
The order of the accusative- and the dative-NP can be inverted. If the
dative- and the genitive-NP are exchanged, the article in front of the
dative-NP has to be omitted. "das Buch des Zauberers" becomes "des Zauberers
Buch" - an expression not frequently used, but syntactically correct.
The cases in german are expressed using different articles and suffixes.
But the assignment is ambiguous: "des Zauberers" in the example above is
clearly genitive singular, "das Buch" on the other hand could be in nominative
as well. This makes parsing very complicated. This is the reason why I
did not yet implement the German case-number-system in the inform-parser.
At the moment parsing functions as follows: every possible noun suffixes
are split off until the word can be found in the lexicon. Cases are not
recognized like that.
But the output printing is almost supported.
For the implementation of the printing routines I used the declination tables with 10 declination types for nouns in the grammar-Duden*. If a new object is declared in a game, the declination type has to be set as an inform-property. This looks with an adjective minimally as follows:
Object zauberer "Zauberer",
has male,
with
dekl 4,
adj "schlau";
The case of the article for printing objects is declared as follows (the example prints the sentence analysed above):
print "Gib ",(dem) kind," ",(ein) buch," ",(des) zauberer,".";
Because articles in their male form are not ambiguous
they are declared always like that. If the word has a different gender,
the article is adjusted automatically. Thanks to the declination tables
the singular nouns are usually declinated
correct.
Because some of this articles appear in the verb
library too, the file VERBLIB.M was
modificated for the German translation, too.
An object can be declinated together with its adjectives in the DEBUG-mode. This is done by the metaverb dekliniere (or shortly dekl). The object must be in scope. With dekliniere komplett all defined pronouns are printed additionally. An example which demonstrates by the way that the german umlauts usually do not work on input: (exceptions)
>dekliniere maedchen
das Mädchen
das Mädchen
dem Mädchen
des Mädchens
ein Mädchen
ein Mädchen
einem Mädchen
eines Mädchens
An example with a plural-object:
>dekliniere leute
die lieben Leute
die lieben Leute
den lieben Leuten
der lieben Leute
liebe Leute
liebe Leute
lieben Leuten
lieber Leute
The plural forms function up to date limitated: If
more than one inform-objects are put together in one plural it is always
the form used that is given in the plural-property.
But if an object has the pluralname-attribute
just as in the example above, the noun is correctly declinated in its plural
form. This attribute defines a noun as a plural despite of the fact that
it refers only to one singular inform-object. An example would be the object
leute (= people) which denotates a singular
group of human beings.
If the declination suffix begins with the same letters
that the lemma ends with, they are deleted. For example "Auge-en" becomes
"Augen." This and similar corrections in the German morphology work only
if the name of the object ist given in its short_name-property.
If there are no corrections requested, the name can be given in the object
declaration line.
Furthermore the name is limitated to 254 chars -
too long names produce a runtime-warning. If one would like to use
longer names the size of the arrays ta_ArrayBuf* have to be adjusted.
* Bd. 4. Duden "Grammatik der deutschen Gegenwartssprache",
5. Aufl., Mannheim; Leipzig; Wien; Zürich: Dudenverl., 1995, S.220
There are eight new articles which represent the four cases in singular
and plural. Uppercase is declared by a preceding "G". This German articles
replace the inform-articles (the) and (a):
Definite:
Nom | Akk | Dat | Gen |
(der) | (den) | (dem) | (des) |
(GDer) | (GDen) | (GDem) | (GDes) |
Nom | Akk | Dat | Gen |
(ein) | (einen) | (einem) | (eines) |
(GEin) | (GEinen) | (GEinem) | (GEines) |
Nom | Akk | Dat | Gen |
(kein) | (keinen) | (keinem) | (keines) |
(GKein) | (GKeinen) | (GKeinem) | (GKeines) |
Nom | Akk | Dat | Gen |
(_er) | (_en) | (_em) | (_es) |
The gender is defined for each object with the following attributes:
male | female | neuter |
Because adjectives are declinated specially in German, they must be
declarated separately. For that reason there are the following 6 properties
for maximally 6 adjectives:
adj | adj2 | adj3 | adj4 | adj5 | adj6 |
In German there is the possibillity to add a postordinate word group
to a noun phrase, e.g. "der Körper des Drachens" for "dragon's
body". On declination, it is not "Drachens" that ist declinated, but its
"Körper". One must say "die Überreste des Körpers
des Drachens". For that reason the postordinate word group has to be declarated
separately. This ist done by the property
post |
Object DragonCorpse "K@:orper"
with dekl 1,
post "des Drachens",
initial
"Der K@:orper eines riesigen, gr@:unen, toten Drachens liegt
auf einer Seite.",
name "drachen" "koerper" "tot"
"drachenkoerper",
has male static;
Pronouns are defined similarly like the articles:
Nom | Akk | Dat | Gen |
(er) | (ihn) | (ihm) | (seiner) |
(GEr) | (GIhn) | (GIhm) | (GSeiner) |
Demonstrative:
Nom | Akk | Dat | Gen |
(dieser) | (diesen) | (diesem) | (dieses) |
(GDieser) | (GDiesen) | (GDiesem) | (GDieses) |
With "is" or "are"
For "(GEr) ist" there is the short form:
GEristSiesind |
Declination
tables
The order of the cases confirms the Swiss traditions. Letters in [square
brackets] are optional and are not generated by the system at present.
Also not generated are the plural accents like in Apfel-Äpfel.
Maskulinum | Neutrum | ||
Sing | Nom | der Tag | das Jahr |
Akk | den Tag | das Jahr | |
Dat | dem Tag[-e] | dem Jahr[-e] | |
Gen | des Tag-[e]s | des Jahr-[e]s | |
Plur | Nom | die Tag-e | die Jahr-e |
Akk | die Tag-e | die Jahr-e | |
Dat | den Tag-en | den Jahr-en | |
Gen | der Tag-e | der Jahr-e |
Maskulinum | Neutrum | ||
Sing | Nom | der Apfel | das Segel |
Akk | den Apfel | das Segel | |
Dat | dem Apfel | dem Segel | |
Gen | des Apfel-s | des Segel-s | |
Plur | Nom | die Äpfel | die Segel |
Akk | die Äpfel | die Segel | |
Dat | den Äpfel-n | den Segel-n | |
Gen | der Äpfel | der Segel |
Maskulinum | Neutrum | ||
Sing | Nom | der Staat | das Auge |
Akk | den Staat | das Auge | |
Dat | dem Staat[-e] | dem Auge | |
Gen | des Staat-[e]s | des Auge-s | |
Plur | Nom | die Staat-en | die Auge-n |
Akk | die Staate-en | die Auge-n | |
Dat | den Staat-en | den Auge-n | |
Gen | der Staat-en | die Auge-n |
Maskulinum | Neutrum | ||
Sing | Nom | der Wald | das Bild |
Akk | den Wald | das Bild | |
Dat | dem Wald[-e] | dem Bild[-e] | |
Gen | des Wald-[e]s | des Bild-[e]s | |
Plur | Nom | die Wäld-er | die Bild-er |
Akk | die Wäld-er | die Bild-er | |
Dat | den Wäld-ern | den Bild-ern | |
Gen | der Wäld-er | der Bild-er |
Maskulinum | Neutrum | ||
Sing | Nom | der Opa | das Deck |
Akk | den Opa | das Deck | |
Dat | dem Opa | dem Deck | |
Gen | des Opa-s | des Deck-s | |
Plur | Nom | die Opa-s | die Deck-s |
Akk | die Opa-s | die Deck-s | |
Dat | den Opa-s | den Deck-s | |
Gen | der Opa-s | der Deck-s |
Maskulinum | ||
Sing | Nom | der Mensch |
Akk | den Mensch-en | |
Dat | dem Mensch-en | |
Gen | des Mensch-en | |
Plur | Nom | die Mensch-en |
Akk | die Mensch-en | |
Dat | den Mensch-en | |
Gen | der Mensch-en |
Femininum | ||
Sing | Nom | die Kraft |
Akk | die Kraft | |
Dat | der Kraft | |
Gen | der Kraft | |
Plur | Nom | die Kräft-e |
Akk | die Kräft-e | |
Dat | den Kräft-en | |
Gen | der Kräft-e |
Femininum | ||
Sing | Nom | die Mutter |
Akk | die Mutter | |
Dat | der Mutter | |
Gen | der Mutter | |
Plur | Nom | die Mütter |
Akk | die Mütter | |
Dat | den Mütter-n | |
Gen | der Mütter |
Femininum | ||
Sing | Nom | die Frau |
Akk | die Frau | |
Dat | der Frau | |
Gen | der Frau | |
Plur | Nom | die Frau-en |
Akk | die Frau-en | |
Dat | den Frau-en | |
Gen | der Frau-en |
Femininum | ||
Sing | Nom | die Oma |
Akk | die Oma | |
Dat | der Oma | |
Gen | der Oma | |
Plur | Nom | die Oma-s |
Akk | die Oma-s | |
Dat | den Oma-s | |
Gen | der Oma-s |
Beginnings of a technical documentation
The first two of the following files are meant both for people who want to translate Inform into a new language not implemented yet, and for people who want to work with this German version of Inform. For that reason they are written in English.
LIBR_97.TXT
"Logbook" of the first German translation of the Library, begun in
1997
ASCII, English
LIBR_98.TXT
Extensions since the first publication, especially "umlauts", grammar
und bugs
ASCII, English
ABENT_98.TXT
Changes in the Abenteuer-source since the first publication.
DOS-ASCII (umlauts), German
Index with date of the last modification
German Library 6/7
GERMAN.H
GERMANG.H
TGERMAN.H
VERBLIB.H
VERBLIBM.H
LINKLV.H
PARSER.H
PARSERM.H
LINKLPA.H
Source code af the classic game "Abenteuer"
(Adventure)
ABENT.INFORM
(source code of the game)
ABENT.ICL
(regulates the compiler)
Batchdateien for DOS:
C_ABENT.BAT (compiles a game
with Inform 6.15 in a DOS-Window)
P_ABENT.BAT (plays a game
with a keystroke with DOS-Frotz)
rummel-example-game file:
RUMMEL.Z5
RUMMEL.Z5.hqx
RUMMEL.Z5.ZIP
Batchfiles for DOS:
C_RUMMEL.BAT
P_RUMMEL.BAT
Z-code-interpreters
for the game file:
if-archive/.../zip
./zip/Index
(with short descriptions of all interpreter versions)
Z-code-interpreters
which support German umlauts (if-archive/...):
DOS-Frotz
von Stefan Jokisch
ZIP
Infinity 1.4 für Mac von Matthew T. Russotto
last modification: 15.4.98