Skip to content
Platform capability

Internationalisation: multi-language, multi-currency, by construction

Updated 4 min read

International operation is a construction principle, not a retrofit. Every user-facing string lives in translation catalogues with parity enforced at build time (a missing translation fails the build); amounts carry their currency and territories their country; tax is modelled per jurisdiction with its own components and rates; and times are stored in UTC and displayed locally, with working-day arithmetic that respects bank holidays.

What does the capability do?

It lets one platform serve an estate that crosses languages, currencies, and borders without forking the product.

  • Catalogued copy, enforced parity. No user-facing string is hardcoded in a component; everything lives in per-language catalogues, and the build fails if any language is missing a key. A half-translated release cannot ship by accident.
  • Currency as data. Charges and payments carry their currency rather than assuming one. Territories record their own country and currency, so a network spanning borders attributes and reports revenue correctly, which the franchise hierarchy depends on.
  • Tax per jurisdiction. Tax is modelled as components and rates per jurisdiction with effective dates, so the right tax applies in the right place and rate changes are scheduled rather than scrambled.
  • UTC inside, local outside. Times are stored in UTC and displayed in the viewer’s time zone. Commercial date arithmetic, such as Direct Debit notice days, is counted in working days with bank-holiday calendars applied.
  • Brandable and translatable together. The same discipline that externalises copy externalises brand, so a localised deployment is a content and theming exercise on one codebase.

Why build-enforced parity is the detail to check

Most products claim multi-language support; the question is what happens when a developer adds a screen and forgets one language. In most systems the answer is a silent English fallback discovered by a customer. Here the answer is a failed build, which means the person who created the gap fixes it before anyone ships. Internationalisation that survives is internationalisation the toolchain enforces.

Why it matters

Networks grow across borders, and operators increasingly serve staff and customers whose first language is not English. A platform that treats languages, currencies, tax jurisdictions, and time zones as data lets that growth happen on one codebase, one audit trail, and one operational model, which is exactly the scaling story the platform is built around.

Frequently asked questions

How does the platform handle multiple languages?
Every user-facing string lives in a translation catalogue per language, and parity between catalogues is enforced at build time: a missing translation fails the build rather than shipping as a gap. Adding a language is a translation exercise, not an engineering project, because no copy is hardcoded in components.
Can different territories operate in different currencies?
Yes. Monetary amounts carry their currency rather than assuming one, and territories record their own country and currency. Tax is modelled per jurisdiction with its own components and rates, so a network operating across borders bills correctly in each place.
How are dates and times handled across time zones?
Times are stored in UTC and displayed in the local time zone, and date arithmetic that matters commercially, such as Direct Debit notice days, is counted in working days with bank-holiday calendars applied. What staff see matches their locale; what the system computes is unambiguous.
See it live

See this working in a demo

Book a consultation and we will demonstrate this capability on the Platform accelerator, against your own scenarios.

Book a demo