diff --git a/doc/efun/command b/doc/efun/command
index 5058a14..e32ee61 100644
--- a/doc/efun/command
+++ b/doc/efun/command
@@ -1,31 +1,29 @@
-GESCHUETZT
 SYNOPSIS
         int command(string str)
         int command(string str, object ob)
 
-BESCHREIBUNG
-        Wertet <str> wie ein Kommando aus, das direkt von einem interaktiven
-        Benutzer gegeben wurde. Das Kommando wird auf das aktuelle Objekt
-        angewendet oder, falls angegeben, auf das Objekt <obj>.
+DESCRIPTION
+        Execute str as a command given directly by the user. Any
+        effects of the command will apply to the current object,
+        or to the given <ob>ject.
 
-        Der Rueckgabewert ist 0 bei Fehlschlag. Bei Erfolg wird ein
-        numerischer Wert zurueckgegeben, der die Eval Kosten darstellt. Ein
-        hoeherer Rueckgabewert bedeutet hoehere Kosten. Die Eval Kosten
-        entsprechen ungefaehr der Anzahl ausgefuehrter LPC Maschinencode
-        Instruktionen.
+        Return value is 0 for failure. Otherwise a numeric value is
+        returned which tells the evaluation cost. Bigger number means
+        higher cost.  The evaluation cost is approximately the number
+        of LPC machine code instructions executed.
 
-        Wenn command() auf auf ein anderes Objekt angewedet wird, koennen auf
-        diesem Wege keine "static" deklarierten Funktionen aufgerufen werden,
-        um etwas Schutz vor unerlaubten Aufrufen zu geben.
+        If command() is called on another object, it is not possible
+        to call static functions in this way, to give some protection
+        against illegal forces.
 
-        Kommandos werden gestapelt, das heisst, nach der Ausfuehrung von <str>
-        werden die alten Werte fuer this_player(), query_verb() etc. wieder
-        hergestellt.
+        Commands are stacked, meaning that after the given command <str>
+        has finished, the old settings of this_player(), query_verb()
+        etc, are restored.
 
-GESCHICHTE
-        Bis 3.2.6 im Native-Modus konnten Kommandos nur auf das aktuelle 
-            Objekt angewendet werden.
-        Seit 3.2.7 werden Kommandos gestapelt.
+HISTORY
+        Up to 3.2.6 in native mode, commands could be applied to the current
+        object only.
+        Since 3.2.7, commands are stacked.
 
-SIEHE AUCH
+SEE ALSO
         command_stack(E), notify_fail(E), enable_commands(E), get_eval_cost(E)
