diff --git a/runtime/spell/af/main.aap b/runtime/spell/af/main.aap
new file mode 100644
index 0000000..d393c5f
--- /dev/null
+++ b/runtime/spell/af/main.aap
@@ -0,0 +1,79 @@
+# Aap recipe for Afrikaans Vim spell files.
+
+# Use a freshly compiled Vim if it exists.
+@if os.path.exists('../../../src/vim'):
+    VIM = ../../../src/vim
+@else:
+    :progsearch VIM vim
+
+SPELLDIR = ..
+FILES    = af_ZA.aff af_ZA.dic
+
+all: $SPELLDIR/af.latin1.spl $SPELLDIR/af.utf-8.spl ../README_af.txt
+
+$SPELLDIR/af.latin1.spl : $VIM $FILES
+        :sys env LANG=af_ZA.ISO8859-1
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/af af_ZA" -c q
+
+$SPELLDIR/af.utf-8.spl : $VIM $FILES
+        :sys env LANG=af_ZA.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/af af_ZA" -c q
+
+../README_af.txt : README_af_ZA.txt
+        :copy $source $target
+
+#
+# Fetching the file from SourceForge.  The archive at OpenOffice is broken!
+#
+FILE = http://surfnet.dl.sourceforge.net/sourceforge/translate/myspell-af_ZA-20040727.zip
+
+:attr {fetch = $FILE} af_ZA.zip
+
+# The files don't depend on the .zip file so that we can delete it.
+# Only download the zip file if the targets don't exist.
+af_ZA.aff af_ZA.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch af_ZA.zip
+        :sys $UNZIP af_ZA.zip
+        :delete af_ZA.zip
+        @if not os.path.exists('af_ZA.orig.aff'):
+            :copy af_ZA.aff af_ZA.orig.aff
+        @if not os.path.exists('af_ZA.orig.dic'):
+            :copy af_ZA.dic af_ZA.orig.dic
+        @if os.path.exists('af_ZA.diff'):
+            :sys patch <af_ZA.diff
+
+
+# Generate diff files, so that others can get the OpenOffice files and apply
+# the diffs to get the Vim versions.
+
+diff:
+        :assertpkg diff
+        :sys {force} diff -a -C 1 af_ZA.orig.aff af_ZA.aff >af_ZA.diff
+        :sys {force} diff -a -C 1 af_ZA.orig.dic af_ZA.dic >>af_ZA.diff
+
+
+# Check for updated OpenOffice spell files.  When there are changes the
+# ".new.aff" and ".new.dic" files are left behind for manual inspection.
+
+check:
+        :assertpkg unzip diff
+        :fetch af_ZA.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../af_ZA.zip
+            :sys {force} diff ../af_ZA.orig.aff af_ZA.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy af_ZA.aff ../af_ZA.new.aff
+            :sys {force} diff ../af_ZA.orig.dic af_ZA.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy af_ZA.dic ../af_ZA.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete af_ZA.zip
+
+
+# vim: set sts=4 sw=4 :
