Foundations

Internationalisation

Roadmap

TpGroup brands operate across multiple languages and scripts. The design system provides rules for string externalisation, locale-aware formatting, RTL support, pluralisation, and typography fall-back, so the same React Native codebase renders correctly in every locale on every platform.

Locales in scope

LocaleScriptNotes
en-SL / en-GB / en-USLatinPrimary. En-SL (Sierra Leone English) is the editorial default.
fr-FR / fr-SNLatinFrancophone West Africa — TpGroup diaspora audiences.
pt-PT / pt-BRLatinLusophone communities.
arArabicRTL. Required for regional partner programs.
krioLatinSpoken lingua franca of Sierra Leone — appears in FambulTik heritage content.

Live formatting

LocaleDate & timeNumberCurrency
English (Sierra Leone)
en-SL
18 April 2026 at 2:32 pm1,234,567.89Le 1,850.75
Français (France)
fr-FR
18 avril 2026 à 14:321 234 567,891 850,75 €
Português (Portugal)
pt-PT
18 de abril de 2026 às 14:321 234 567,891850,75 €
العربية
ar
18 أبريل 2026 في 2:32 م1,234,567.89‏1,850.75 ر.س.‏

Right-to-left

Layouts use logical properties (start/end) rather than left/right. In React Native this means paddingStart/paddingEnd; in CSS this means logical properties (margin-inline-start, etc.). Icons with directional meaning (back, forward, next, previous) flip in RTL; directional icons tied to physical reality (play, pause, media controls) do not.

Aisha Hassan
Product Manager

Padding, icon position, and the follow button reorder automatically because the card uses logical start/end properties rather than left/right.

Pseudo-localization

Before translations arrive, UI copy is tested with pseudo-localization to surface hard-coded strings, catch truncation, and validate the 30% growth rule over English. A combining acute (U+0301) is appended to every letter and the string is padded with tildes to simulate the expected growth.

  • Welcome back, Aisha
  • Create a new project
  • Save changes before continuing
  • Your session expires in 5 minutes

Pseudo-strings are ~30% longer than English. If any row overflows its container, the UI needs work before translations arrive.

Formatting rules

ConcernApproach
Dates & timesIntl.DateTimeFormat / native Calendar on each platform; never format manually.
NumbersIntl.NumberFormat with currency and locale-aware grouping/decimal separators.
CurrenciesISO 4217 codes; currency display uses symbol or code per locale.
PluralisationICU MessageFormat; no string concatenation for pluralised strings.
Text truncationAllow for 30 percent growth over English baseline in UI copy.