
Shipping a multilingual site without duplicating your codebase
Published on May 25, 20265 min readWritten by Rani Prameswari

Most multilingual sites go wrong in the same place: the URL. Once slugs differ per locale, naive routing forces either duplicated pages or English URLs everywhere.
The routing contract
The default locale is served unprefixed. Every other locale gets a prefix. Slugs are resolved per locale from the database, and each page emits a complete set of hreflang alternates plus x-default.
Tags:NuxtPerformance
Related articles

Jun 10, 20264 min read
Core Web Vitals budgets that survive the second sprint
A launch-day Lighthouse score is a snapshot. A CI budget is a guarantee.

May 17, 20264 min read
Why we model translations as rows, not JSON
A JSON translation blob is convenient until the day you need to find every untranslated heading. Relational translation tables cost one join and return that answer in milliseconds.