Skip to content
Central business district skyline, Singapore
Engineering

Retrofitting a second language is one of the most expensive things a product can do to itself. So we did not.

Published
Author
Ahmad Hassan, CTO
Reading time
4 min read

Building in two languages from day one

Almost every product that ships in one language and adds another later pays for it twice: once to pull hard-coded strings out of the interface, and once again to fix everything that assumed text was short, left to right, and English.

The interface and the content are different problems

Interface copy is finite, written once, and worth translating by hand. Machine translation of a button label is how you end up with an app that reads like a scam. So the API never returns an English sentence to be displayed; it returns a key, and the interface owns the wording.

Content is the opposite. A hospital’s description of its orthopaedic department is written by that hospital, in their language, and cannot be known ahead of time. That is where machine translation belongs, cached so each unique passage is translated once and served from memory forever after.

Translate the things you cannot know. Write the things you can.

The unglamorous parts

Money is the one that catches people out. Yen and won have no decimal places, Gulf dinars have three. A platform that divides everything by a hundred will misprice a Japanese quote by a factor of a hundred, and it will do it silently. We store amounts as whole units of the smallest denomination and let the formatter decide.