diff --git a/doc/efun/hmac b/doc/efun/hmac
index 1c712fa..7df00a5 100644
--- a/doc/efun/hmac
+++ b/doc/efun/hmac
@@ -8,13 +8,14 @@
         string hmac(int method, bytes  key, bytes  arg )
         string hmac(int method, bytes  key, int *  arg )
 
-BESCHREIBUNG
-        Berechnet den Hashed Message Authenication Code fuer <arg>
-        nach Methode <method> und fuer das Password <key>. Strings
-        werden zuvor in eine UTF-8-Bytefolge konvertiert.
+DESCRIPTION
+        Calculate the Hashed Message Authenication Code for <arg> based
+        on the digest <method> and the password <key>. Return the HMAC.
+        Any strings given as <key> or <arg> are converted to a UTF-8
+        byte sequence before being used.
 
-        <method> ist eine der TLS_HASH_-Konstanten in tls.h; nicht jede
-        beschriebene Methode ist in einem gegebenen Driver vorhanden:
+        <method> is one of the TLS_HASH_ constants defined in tls.h; not
+        all recognized methods may be supported for a given driven:
 
           TLS_HASH_SHA1      (1)
           TLS_HASH_SHA224    (2)
@@ -24,18 +25,18 @@
           TLS_HASH_MD5       (6)
           TLS_HASH_RIPEMD160 (7)
 
-        Wenn der Driver ohne OpenSSL- oder GCrypt-Unterstuetzung compiliert
-        wurde, erzeugt diese Funktion einen Fehler.
+        If the driver is compiled without OpenSSL or GCrypt support
+        an error is thrown.
 
 
-BEISPIELE
+EXAMPLES
         string s;
 
         s = hmac(TLS_HASH_SHA1, "secret", "Hello");
         s = hmac(TLS_HASH_SHA1, "secret", ({ 'H', 'e', 'l', 'l', 'o' }) )
 
-GESCHICHTE
-        Eingefuehrt in LDMud 3.3.714
+HISTORY
+        Introduced in LDMud 3.3.714.
 
-SIEHE AUCH
+SEE ALSO
         crypt(E), md5(E), md5_crypt(E), sha1(E), hmac(E)
