Language · Writing system · Transliteration
Afurigana — Afrikaans in hiragana
Afurigana (Afrikaans + furigana) writes Afrikaans phonetically in Japanese hiragana. It's a rule-based transliterator that reads Afrikaans spelling, approximates the pronunciation, and renders it as CV syllables in kana — so "Goeie more" becomes ふいー もれ. Around it: a system locale that puts a whole Linux desktop into kana, and a browser trainer with a reading quiz and a timed reading-speed drill.
ふいー もれ (Goeie more) · ばいー だんきー (Baie dankie)
Live trainer
The trainer runs right here in the page. Word quiz shows a kana prompt and you pick the Afrikaans word; Reading speed times you through a passage and reports words- and kana-per-minute. Tip: try the floating あ button (bottom-left) — it transliterates this whole site into afurikana with the English kept in brackets.
Overview
Hiragana can't capture every Afrikaans vowel, so this is a deliberately approximate "sample" writing system rather than a scientific IPA transcription. The transliterator works on spelling: it first normalises Afrikaans digraphs into internal symbols (aa/ee/oo long vowels, oe→[u], ei/ij/y/ui→[ai], sj/ch→[ʃ], tj→[tʃ], ng→ん), then walks the result rendering consonant-vowel syllables from kana rows.
What's in it
🔤 Rule-based transliterator
A small Python engine (afurigana.py) renders CV syllables with Afrikaans-specific sound choices: g/ch [x]→the は-row (the Bach→バッハ trick), v/f→ふ+small vowel, w→わ-row, l→ら-row, doubled consonants→っ.
🖥️ A whole desktop in kana
A generated af_JP system locale ("Afrikaans (Japan)") transliterates the system's Afrikaans gettext catalogs — ~86k strings across 365 domains — so menus and dialogs render in hiragana, fully reversible.
🎴 Reading quiz
Read a hiragana prompt and recover the Afrikaans word — multiple-choice or free-typed, with score, streak and instant feedback. Vocabulary is generated by the engine itself, so the kana always matches.
⏱️ Reading-speed drill
Timed passages (easy→hard) in three display modes — pure afurikana, true furigana (kana over each word), or plain Afrikaans — reporting words- and kana-per-minute with a persistent best.
あ Site-wide skin
The floating あ toggle ports the engine to JavaScript and rewrites every page into afurikana on the fly, keeping the English in brackets (headings stay clean kana). Off by default, one click to flip, your choice persists.
🧩 Zero dependencies
The engine is pure standard-library Python; the trainer and skin are vanilla JavaScript in a single file each. No build step, no frameworks, no network calls.
How it works
- Normalise then render: digraphs collapse to single internal symbols (long vowels marked, diphthongs mapped), then a single pass emits kana, inserting ー for long vowels and っ for gemination.
- Afrikaans-tuned phonetics: there's no L or V in kana, so L shares the R-row and V/F use ふ + a small vowel; the velar fricative in g/ch maps to the は-row.
- One engine, two runtimes: the JavaScript port that powers the trainer and the site skin is verified to produce byte-identical output to the Python original.
- Reversible everywhere: the locale ships as a generated catalog set that uninstalls cleanly, and the site skin only swaps text nodes in place, restoring the originals when toggled off.