diff --git a/doc/efun/mkmapping b/doc/efun/mkmapping
index 477d471..5423f1c 100644
--- a/doc/efun/mkmapping
+++ b/doc/efun/mkmapping
@@ -1,30 +1,29 @@
 SYNOPSIS
-        mapping mkmapping(mixed *arr1, mixed *arr2, mixed *arr3, ...)
+        mapping mkmapping(mixed *arr1, mixed *arr2,...)
         mapping mkmapping(struct st)
 
-BESCHREIBUNG
-        Liefert ein Mapping mit Keys aus <arr1> und Datenelementen aus
-        <arr2>, <arr3>.... Dem Key <arr1[0]> werden die Datenelemente
-        <arr2[0]>, <arr3[0]>... zugeordnet. Wenn die Datenarrays
-        ungleich gross sind, enthaelt das Mapping nur so viele Eintraege
-        wie im kleinsten Datenarray enthalten sind.
+DESCRIPTION
+        The first form returns a mapping with indices from 'arr1' and
+        values from 'arr2'... . arr1[0] will index arr2...[0], arr1[1]
+        will index arr2...[1], etc. If the arrays are of unequal size,
+        the mapping will only contain as much elements as are in the
+        smallest array.
 
-        Die zweite Form konvertiert die angegebene struct <st> in ein Mapping.
-        Hierbei werden die Namen des jeweiligen Elementes in der struct als
-        Schluessel verwendet.
+        The second form converts the given struct <st> into a mapping
+        using the struct member names as index values.
 
-BEISPIELE
+EXAMPLES
         mkmapping( ({ 1, 2 }), ({ 10, 11 }), ({ 20, 21, 22}))
-          liefert ([ 1:10;20, 2:11;21 ])
+          returns ([ 1:10;20, 2:11;21 ])
 
         struct s { int a; int *b; int c; };
         mkmapping( (<s> a: 1, b: ({ 2, 3 }), c: 3 )
-          liefert ([ "a":1, "b":({2,3}), "c":3 ])
+          returns ([ "a":1, "b":({2,3}), "c":3 ])
 
-GESCHICHTE
-        LDMud 3.3.433 ermoeglichte die Konversion von structs.
+HISTORY
+        LDMud 3.3.433 added the conversion from structs.
 
-SIEHE AUCH
+SEE ALSO
         mappings(LPC), mappingp(E), m_indices(E), m_values(E),
         m_add(E), m_delete(E), sizeof(E), widthof(E), unmkmapping(E),
         to_struct(E)
