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)

Python engine JS port Hiragana gettext locale (af_JP) Zero deps Reading trainer

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.

Quiz: 14 pick · Enter next  ·  Reading: Space start/stop Open it fullscreen ↗

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

Want to read it yourself? Open the trainer, switch to Reading speed, pick the Furigana view, and read a passage with the kana printed over each Afrikaans word. Open the trainer →

← All projects