# Побудувала багатомовний статичний сайт на Hugo зі 108 файлів шаблонів, з яких 53 партіали, що публікує кожну сторінку у чотирьох представленнях з одного дерева контенту трьома мовами, і ще раз під сімома сфокусованими субдоменами, зібраними з того самого дерева.

серпень 2026

**Ситуація.** Компанії потрібен був публічний сайт, що працює трьома мовами, доводить спроможність, а не заявляє про неї, нічого не коштує в експлуатації й нікому не передає своїх відвідувачів. Більшість із цього — звичайні вимоги. Разом вони відкидають майже кожну систему керування вмістом, бо бекенд часу виконання — це те, що треба захищати, латати, оплачувати й пояснювати на сторінці приватності.

**Завдання.** Сайт мав генеруватися цілком під час збирання і все ж поводитися як сучасний — із пошуком, встановлюваний, із стрічками, придатний до друку й читний екранним читачем кожною мовою, якою він виходить.

**Дія.** Це статичний сайт: 108 файлів шаблонів, з яких 53 є частковими шаблонами і 18 — шорткодами, три мови, жодного бекенду часу виконання й один власний скрипт, наданий як обмежений виняток для фільтра портфоліо, чий кожен елемент керування прихований, доки скрипт не запуститься. Спроможність додається під час збирання, а не в браузері, і це продуктове рішення, записане саме як рішення. Кожну сторінку публікують у чотирьох поданнях з одного дерева вмісту — HTML, двійник у Markdown, документ Gemini та пункт меню Gopher, — а головна сторінка додає до цього три стрічки та маніфест встановлюваного застосунку. Таксономій навмисно дві, а не одна, і ця відмінність є несучою: категорія є тематичною позначкою на роботі, послуга є тим, що компанія продає, і злиття їх зробило б каталог переліком навичок замість переліку пропозицій. Те саме дерево потім збирають ще сім разів, по одному на кожен сфокусований субдомен, скеровуючи генератор на інший каталог вмісту, а не відгалужуючи будь‑що.

**Результат.** Сайт віддає три мови та чотири подання з одного дерева, не має бекенду для атаки й нічого для оплати, а той єдиний шматок JavaScript у ньому тримається контракту, який примусово застосовує лінтер. Ціна в тому, що все інтерактивне має розв'язуватися під час збирання або ніяк, і це відкинуло кілька речей, що були б легкими із сервером, і є причиною, чому пошуковий індекс оцінили та відклали, а не випустили.

---

- Роль: Frontend‑інженер
- Категорії: [Frontend‑розробка](https://engineer.company/uk/categories/frontend/), [Full‑Stack розробка](https://engineer.company/uk/categories/full-stack/), [Веброзробка](https://engineer.company/uk/categories/web-development/), [Оптимізація продуктивності](https://engineer.company/uk/categories/performance/), [Дизайн‑системи та UI](https://engineer.company/uk/categories/design-systems/), [Інтернаціоналізація](https://engineer.company/uk/categories/i18n/)
- Послуги: [Frontend‑розробка](https://engineer.company/uk/services/frontend-development/), [Full‑Stack продуктова розробка](https://engineer.company/uk/services/full-stack-development/), [Розробка вебсайтів та CMS](https://engineer.company/uk/services/web-development/), [Інтернаціоналізація та локалізація](https://engineer.company/uk/services/i18n-localization/)

<https://engineer.company/uk/portfolio/built-a-multilingual-static-site-in-hugo-126/>
