The Press
Field NotesIssue 001 · The Launch Issue

isiXhosa Without a Library: Engineering Multilingual Learning Apps for South Africa's 11 Languages

K53 Drill Master supports isiXhosa natively. There was no library to install. Here's what engineering for African language support actually looks like, and why 40KB matters at 3G.

Nandawula Regine30 April 20266 min read

# isiXhosa Without a Library: Engineering Multilingual for SA's 11 Languages

K53 Drill Master supports isiXhosa. This is a sentence that should be unremarkable. South Africa has 11 official languages. Any tool built for South African learners should support them.

The reality: most South African applications support English and possibly Afrikaans. isiXhosa, isiZulu, Sesotho, Setswana, technically official, practically invisible in digital products.

There was no i18n library that handled isiXhosa correctly. I didn't use one.

The 40KB Decision

Standard i18n libraries (i18next, react-intl, formatjs) add 30-100KB to your JavaScript bundle. For K53 Drill Master, which targets South African learners often on data-restricted devices at 3G speeds, 40KB is a real user experience cost.

The target was sub-3.2 seconds TTI (Time to Interactive) on MTN 3G. Standard i18n libraries would have pushed me over.

My implementation: a typed translation object, a language context, and a t() function. No library. 2KB.

type Language = 'en' | 'xh' | 'zu' | 'af';
type TranslationKey = keyof typeof translations.en;

const translations = {
  en: {
    start_test: 'Start Test',
    correct: 'Correct!',
    incorrect: 'Incorrect',
    your_score: 'Your Score',
    // 200+ keys...
  },
  xh: {
    start_test: 'Qala Uvavanyo',
    correct: 'Kulungile!',
    incorrect: 'Ayichanekanga',
    your_score: 'Amanqaku Akho',
    // 200+ keys...
  },
} as const;

function t(key: TranslationKey, lang: Language): string {
  return translations[lang][key];
}

TypeScript ensures that every key in English has a corresponding key in every supported language. Missing translations are compile errors, not runtime surprises.

Why isiXhosa Required Special Attention

isiXhosa uses click consonants (c, q, x) that don't appear in English and behave differently in font rendering than standard Latin characters. Early testing on budget Android devices revealed that some system fonts didn't render the clicks correctly.

The fix: explicit font stack that falls back to a known-good serif before falling back to system fonts. A small change. An important one for users who see garbled text in their own language.

isiXhosa also has noun classes, a grammatical structure that English doesn't share. Phrases like "Your Score" require different grammatical constructions depending on what "your" refers to. My translator worked through these carefully. The result is isiXhosa that reads naturally, not transliterated English.

The User Response

Since adding isiXhosa support, the proportion of users completing the K53 study flow to test stage (rather than abandoning partway through) increased measurably. Users who study in their home language retain information differently than users who study in a second language.

This is not a surprising finding. It is a well-established principle of educational psychology. The surprising thing is how rarely it's applied in South African educational technology.

The 11-Language Vision

K53 currently supports English, isiXhosa, isiZulu, and Afrikaans. The K53 learner's licence test is administered in all 11 official languages. The full implementation is on the roadmap.

Building for South Africa's 11 languages is not a nice-to-have. It is the minimum bar for a product that claims to serve South Africans.

The 40KB I saved by not using an i18n library is the 40KB that might be the difference between a student in Mthatha loading the app before their data runs out or not.

What language do your users actually think in?

Colophon

Imprint
Field Notes
Issue
Issue 001, April 2026
Published
30 April 2026
Length
528 words
Drafts on file
None yet
Set in
Cormorant Garamond & DM Sans

Published by The House of Roses Press, KuGompo City.

1 views

Reader Insights

0 responses

No insights yet. Be the first!