< блог ·

Двуязычный сайт без удвоения хаоса

Одни роуты и компоненты, разные строки — как я не даю RU/EN разъехаться на Nuxt-сайтах.

Два языка — это не два сайта. Одни роуты, одни компоненты, разные тексты. Как только RU и EN получают разную вёрстку или набор страниц, каждый фикс стоит вдвое, а с canonical начинается угадайка.

Структуру держу одинаковой, различия скидываю в locale-файлы или локализованные объекты. Даты, плюралы, подписи ссылок — туда, а не `if (locale === 'ru')` по всему шаблону. Общие slug удобны: один пост, два body.

hreflang и canonical с учётом локали ставлю в первый день. Переключение языка должно вести на ту же страницу, а не на главную другой локали. Одна эта привычка экономит больше писем в поддержку, чем любой красивый language picker.