Shipping i18n for the East African market

TODO: Write full article. Outline below.

Why four languages

Rwanda’s digital population skews trilingual: Kinyarwanda (national), French (official, colonial legacy), and English (post-2008 official, growing in tech). Swahili reaches the wider East African Community. Supporting all four isn’t just accessibility — it’s a signal that the product is built for Rwandans, not adapted from elsewhere.

The technical setup

What’s hard about Kinyarwanda

String interpolation vs concatenation

The bug pattern: "From " + price + " RWF" breaks in languages where word order is different. The fix: t('listing.price_from', { price: formatCurrency(price, lng) }) with the full phrase as the translation key.

What I’d do differently

Engage native speakers earlier. The Kinyarwanda translations are currently English placeholders (marked TODO: translate). A proper localisation workflow with Crowdin or Weblate would allow community contributors to fill these in.