Trilingual from day one — and what it actually costs.
Why building EN / SQ / AR-native isn't a translation pass — and the four places it shows up in the build.
Most studios add internationalization at the end. They build the English version, ship it, and three months later a translation agency runs through the strings.
Then the bug reports start. Arabic numerals don't line up. Albanian dates render in the wrong order. The price ladder layout breaks because German is 30% longer than English. The logo squashes against a button label that doubled in length.
We build trilingual from day one. Here's what it actually costs — and where it pays back.
Cost #1 — string contracts
Every section's strings live behind a typed contract: `Dict.section.field`. EN is the canonical source; SQ and AR ship the same shape. If a new field is added to the contract and a locale is missing it, TypeScript fails the build.
This sounds heavy. It isn't. It's about two extra hours per major section, and it pays for itself the first time a designer changes copy and you don't have to chase three files.
Cost #2 — RTL is not a CSS flag
Arabic flips reading direction. So does Hebrew. The right-side icon on your nav becomes the left-side icon. The arrow on your CTA button rotates 180°. The chip-stack layout that was right-aligned now needs to be left-aligned.
The fix isn't `dir="rtl"` and a hope. It's logical properties (margin-inline-start, padding-inline-end), conditional iconography (a tiny utility that flips arrows), and per-component testing in both directions.
We test every section in EN-LTR and AR-RTL during build. Catches issues before they ship.
Cost #3 — typography fallback chains
Latin display faces don't ship Arabic glyphs. Default OS Arabic faces vary widely (Geeza Pro on macOS, Segoe UI on Windows, Noto Sans Arabic on most Linux). Without an explicit chain, your AR layout looks like a different brand from your EN layout.
We pin a fallback chain per locale, document it, and review it on every brand-typography change.
Cost #4 — voice, not just words
Translation is the easy part. Tone is hard. EN landing copy is direct, US-startup-direct. Albanian tech-marketing copy reads more formally — same content, different register. Arabic SaaS voice is its own thing again.
We don't run translation through Google or DeepL alone. We run it through a translator who works in the local register, then a copy review against the surrounding section. It costs more. The result reads like the studio actually speaks the language.
What it pays back
Three things, immediately. First, the studio is taken seriously by clients who default-distrust 'we localize too' bolt-ons. Second, indexing in the locale's search engines starts on day one — not month four after a translation pass. Third, the team doesn't fight a quarterly translation-debt cleanup that consumes a sprint every six months.
"Trilingual native is not a feature. It's a discipline you adopt or don't adopt — and it shows up in the first ten minutes of using the product."
Pay the price up front. Stop calling it 'i18n.' Call it native voice and treat it like the typography decisions you make in week one.
