Quick answer — Internationalization is the engineering that makes a product capable of supporting other languages. Localization is the content work for each market. Skipping the first makes the second produce broken output.
Vitra.ai Universe creates, translates, adapts and publishes from one place.
Two different jobs, two different teams
Internationalization — i18n — is preparation. Externalising strings, handling Unicode, supporting different date and number formats, allowing text to expand, supporting right-to-left layout.
Localization — l10n — is the per-market work. Translation, cultural adaptation, local formats, market-specific content.
The first is engineering, done once. The second is content, done repeatedly.
What belongs to each
| Task | i18n | l10n |
|---|---|---|
| Externalise strings from code | Yes | — |
| Unicode and encoding | Yes | — |
| Date, number, currency formatting | Yes | — |
| Layout that tolerates expansion | Yes | — |
| RTL support | Yes | — |
| Plural rule handling | Yes | — |
| Translating the strings | — | Yes |
| Local imagery and examples | — | Yes |
| Market-specific legal text | — | Yes |
Plural rules are the clearest example of the split. English has two forms; several languages have more, and some have one. Handling that is engineering. It cannot be solved by a translator, and a product that assumes two forms produces wrong grammar no translation fixes.
Skipping i18n is the expensive mistake
Translating a product that was never internationalised produces text hard-coded in components, dates in one format, layouts that break at longer strings and concatenated sentences that cannot be reordered.
Concatenation is the worst of them.
Building a sentence by joining fragments assumes the source language's word order, and there is no correct translation of a fragment whose position changes.
The practical sequence
Internationalise, then pseudo-localize to prove it — padded accented strings expose hard-coded text and fixed-width containers before any translator is involved and while fixes are cheap.
Only then start localizing, with memory, terminology and a quality gate set up so the first market's decisions carry into every one after it.
Doing it in that order costs one sprint. Doing it in reverse costs the sprint anyway, plus re-translating everything the fixes changed.
FAQ
What is the difference between internationalization and localization? Internationalization is the engineering that makes a product capable of other languages — externalised strings, Unicode, formats, expandable layout. Localization is the per-market content work such as translation.
Can you localize without internationalizing first? Not successfully. Text hard-coded in components, fixed-width layouts and concatenated sentences cannot be fixed by translation, so the output is broken regardless of translation quality.
Why are concatenated sentences a problem? Because joining fragments assumes the source language's word order. When a translation needs a different order there is no correct rendering of a fragment whose position must change.
How do you verify internationalization is complete? Pseudo-localization. Rendering every string padded and accented exposes hard-coded text, fixed-width containers and encoding faults before a translator is involved and while fixes are cheap.



