Этап 1b: сайт
- Страницы обоих брендов из блоков Payload (D-029): главная, цены, локации, поддержка, 4 юридические, 404 и 500. Коллекции pages (черновики и версии) и faq с местами показа, 12 типов блоков; поля sites — почта и Telegram поддержки, часы работы, SEO по умолчанию. - Карта и глобус рисуются на сервере (d3-geo), контуры во внешнем SVG через <use>; выбор локации синхронизирован между картой и сеткой. - Тексты сайта и юридические черновики на 5 языках: de, fr, es — перевод с глоссарием; seed создаёт страницы и FAQ, только если их нет, SEED_CONTENT=reset пересоздаёт. - SEO: title и описания, canonical, hreflang с x-default, sitemap.xml и robots.txt на каждый домен, картинки для соцсетей. - Статическая сборка и пересборка через revalidatePath из хуков Payload (D-030); /svc/internal/revalidate для проверки. - 404 — статичная страница со статусом 404 через proxy; на сайте только опубликованные страницы. - Производительность: Client Hints темы Payload только в админке, предзагрузка 2 файлов шрифтов вместо 6; Lighthouse mobile 97–99. - Контраст --ink-3 по WCAG AA, радиокнопки вместо div role=button. - Документация: итоги 1b, глоссарий de/fr/es, трактовки юридических черновиков подтверждены, переносимые вопросы — в этапах 3e–3h. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
515acfb69d
commit
20491d1ba4
134 files changed
+11232
-212
No files matched your search
@@ -2,7 +2,7 @@
|
||||
"brand": {
|
||||
"dedicated": {
|
||||
"name": "Veilix",
|
||||
"tagline": "Personal VPN servers with a dedicated IP. Running since 2022."
|
||||
"tagline": "A private VPN with a dedicated IP. Running since 2022."
|
||||
},
|
||||
"mass": {
|
||||
"name": "VeilixVPN",
|
||||
@@ -59,5 +59,62 @@
|
||||
"title": "Page not found",
|
||||
"text": "The page may have moved or never existed.",
|
||||
"home": "Go to the home page"
|
||||
},
|
||||
"status": {
|
||||
"dedicated": {
|
||||
"available": "Servers available",
|
||||
"on_demand": "Ready within 24 hours"
|
||||
},
|
||||
"mass": {
|
||||
"available": "Included",
|
||||
"soon": "Coming soon"
|
||||
},
|
||||
"withCount": "{label} · {count}"
|
||||
},
|
||||
"count": {
|
||||
"countries": "{count, plural, one {# country} other {# countries}}"
|
||||
},
|
||||
"pricing": {
|
||||
"firstMonth": "first month",
|
||||
"thenPerMonth": "then {price} per month",
|
||||
"then": "then",
|
||||
"perMonth": "per month",
|
||||
"perYear": "per year",
|
||||
"buy": "Buy",
|
||||
"buyIn": "Buy: {country}",
|
||||
"locations": "Locations",
|
||||
"plans": "Plan",
|
||||
"close": "Close"
|
||||
},
|
||||
"lead": {
|
||||
"name": "Name",
|
||||
"email": "Email",
|
||||
"telegram": "Telegram",
|
||||
"whatsapp": "WhatsApp",
|
||||
"task": "Briefly about your case",
|
||||
"send": "Send",
|
||||
"sent": "Request sent",
|
||||
"needContact": "Add an email, Telegram or WhatsApp",
|
||||
"badEmail": "Check the email address",
|
||||
"consent": "By sending the form, you agree to the <link>privacy policy</link>."
|
||||
},
|
||||
"support": {
|
||||
"telegram": "Telegram",
|
||||
"email": "Email"
|
||||
},
|
||||
"contact": {
|
||||
"email": "Your email",
|
||||
"topic": "Topic",
|
||||
"message": "What happened",
|
||||
"send": "Send",
|
||||
"sent": "Sent, we will reply by email",
|
||||
"needEmail": "Add your email so we can reply",
|
||||
"needMessage": "Describe what happened"
|
||||
},
|
||||
"error": {
|
||||
"title": "Something went wrong",
|
||||
"text": "We already know about the error. Try reloading the page in a minute.",
|
||||
"retry": "Reload the page",
|
||||
"home": "Go to home page"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user