Godfrey Njoroge · · 3 min read
The Swahili Clock: Why Saa Tisa Asubuhi Isn't 9 AM
Contents
Here's a translation trap that catches AI tools and inexperienced translators alike: in Swahili, "saa tisa asubuhi" does not mean nine o'clock in the morning.
It means three o'clock in the morning.
Get this wrong in a dub or a subtitle and you've told your audience a meeting is six hours away from when it actually is.
Key takeaways
- The Swahili clock counts from sunrise, offset six hours from the international clock - "saa tisa asubuhi" means 3 AM, not 9 AM.
- Generic machine translation models miss this offset because most Swahili training text uses the international clock.
- Kauli's translation step is explicitly instructed to convert the offset, with a human editor catching anything that slips through.
Why the offset exists
The Swahili clock counts hours from sunrise and sunset, not from midnight the way the international 12/24-hour clock does.
Since sunrise in East Africa is reliably close to 6:00 AM year-round, "saa moja" (hour one) lands at 7:00 AM international time - one hour after sunrise - not 1:00 AM or 1:00 PM.
Every hour on the Swahili clock is offset by six hours from the number you'd expect if you translated the digit literally.
A few real examples:
- "Saa moja asubuhi" (hour one, morning) = 7:00 AM
- "Saa nne" (hour four) = 10:00 AM
- "Saa tisa mchana" (hour nine, daytime) = 3:00 PM
- "Saa kumi na moja jioni" (hour eleven, evening) = 5:00 PM
Notice the pattern: subtract six from the stated hour (wrapping around a 12-hour cycle) and you get the international time.
It's a real, internally consistent system - it's just a different reference point, and a literal digit-for-digit translation gets it backwards.
Why this breaks AI translation specifically
Generic machine translation models are trained overwhelmingly on text, and most Swahili text in the wild - news articles, Wikipedia, formal documents - uses the international clock or spells times out in digits, not the spoken "saa" convention.
A model that's never seen enough real spoken-Swahili time expressions in training data will translate "saa tisa" as "hour nine" and stop there, missing the offset entirely.
It's not a rare edge case either - clock references show up constantly in call recordings, interviews, appointment confirmations, and everyday dialogue, which is exactly the kind of audio a dubbing or transcription service processes all day.
How we handle it
This is exactly the kind of domain-specific rule that separates a translation tool from a translation system.
Kauli's AI translation step is explicitly instructed to catch and convert every "saa" time expression using the real offset - not asked to "do its best," told the actual rule.
And because every AI-drafted translation is then checked by a human editor against the source audio before delivery, a clock reference that somehow still slips through gets caught by a person, not shipped to a client as a confidently wrong six-hour error.
It's a small detail.
It's also exactly the kind of small detail that makes the difference between a dub that sounds like it was made by someone who understands the language and one that sounds like it was run through a generic translator and shipped without anyone checking.