diff --git a/doc/efun/write b/doc/efun/write
index a3041b0..276e35d 100644
--- a/doc/efun/write
+++ b/doc/efun/write
@@ -1,37 +1,32 @@
-SYNOPSIS:
+VERALTET
+SYNOPSIS
         void write(mixed msg)
 
-DESCRIPTION:
-        Write out something to the current player. What exactly will
-        be printed in the end depends of the type of msg.
-        Please mind: if there is no current player (this_player()), the
-        function will output directly to the driver debug log. Please check
-        before!
-        
-        If it is a string or a number then just prints it out.
-        
-        If it is an object then the object will be printed in the
-        form: "OBJ("+object_name((object)mix)+")"
-        
-        If it is an array just "<ARRAY>" will be printed.
-        
-        If the write() function is invoked by a command of an living
-        but not interactive object and the given argument is a string
-        then the lfun catch_tell() of the living will be invoked with
-        the message as argument.
+BESCHREIBUNG
+        Gibt etwas an den aktuellen Benutzer aus. Was genau ausgegeben wird,
+        haengt vom Typ der Meldung <msg> ab.
 
-EXAMPLES:
+        Folgende Ausgaben erfolgen abhaengig vom Typ von <msg>:
+            String oder Zahl    <msg> wird ausgegeben
+            Objekt              "OBJ("+object_name((object)msg)+")"
+            Array               "<ARRAY>"
+            Mapping             "<MAPPING>"
+            Closure             "<CLOSURE>"
+
+        Wenn write() von einem Kommando eines Lebewesens aufgerufen wird,
+        dieses Lebewesen aber nicht interaktiv ist, und <msg> einen String
+        enthaelt, wird im Lebewesen die Lfun catch_tell() mit <msg> als
+        Argument aufgerufen.
+
+BEISPIELE
         write("Hello world!\n");
-        
-        Just print out a string.
-        
+        Dies gibt den String an den Benutzer aus.
+
         write(this_player());
-        
-        This will print out something like "OBJ(std/player#1234)".
-        
-        write( ({ "blub" }) );
-        
-        Will print out "<ARRAY>".
-        
-SEE ALSO:
-        say(E), tell_object(E), tell_room(E), shout(E), catch_tell(L)
+        Dies erzeugt etwas wie: "OBJ(/std/player#1234)".
+
+        write( ({"blubb"}) );
+        Dies erzeugt "<ARRAY>".
+
+SIEHE AUCH
+        say(E), tell_object(E), tell_room(E), catch_tell(A)
