< blog ·

Bilingual sites without doubling the chaos

Same routes and components, different strings — how I keep RU/EN from drifting apart on Nuxt sites.

Two languages isn't two websites. Same routes, same components, different copy. The second RU and EN get different layouts or page sets, every fix costs twice and canonicals turn into guesswork.

I keep the structure identical and dump differences into locale files or localized content objects. Dates, plurals, link labels — there, not as `if (locale === 'ru')` all over the template. Shared slugs help: one post, two bodies.

hreflang and locale-aware canonicals go in on day one. Language switch should land on the same page, not the other locale's home. That alone saves more support mail than a fancy language picker.