mod: localized English version of README and UI texts, enhanced accessibility and internationalization features
HYPN0 Build and Push Docker Image / build-and-push (push) Successful in 51s
HYPN0 Build and Push Docker Image / build-and-push (push) Successful in 51s
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Реконструкция матрицы | HypnoSVG</title>
|
||||
<meta name="description" content="Сектор временно закрыт на квантовую реконструкцию и модернизацию алгоритмов HypnoSVG." />
|
||||
<title>Under Reconstruction — Reality Rebuilding | HypnoSVG</title>
|
||||
<meta name="description" content="This brain sector of HypnoSVG is undergoing reconstruction. All Glory to the Hypnotoad." />
|
||||
<meta name="robots" content="noindex, follow" />
|
||||
<link rel="icon" type="image/svg+xml" href="/media/_error/favicon.svg" />
|
||||
<link rel="shortcut icon" href="/media/_error/favicon.ico" />
|
||||
@@ -353,10 +353,10 @@
|
||||
<body>
|
||||
<header>
|
||||
<div class="header-inner">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — На главную">
|
||||
<a href="/" class="logo-link" title="HypnoSVG (hypn0) — Home">
|
||||
<img src="/static/img/logo-hypn0.svg" onerror="this.onerror=null; this.src='/media/_error/logo-hypn0.svg';" alt="HypnoSVG" class="logo-img" />
|
||||
</a>
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Переключить тему" title="Переключить тему">
|
||||
<button type="button" class="theme-toggle" id="theme-btn" aria-label="Toggle theme" title="Toggle theme">
|
||||
<span id="theme-icon">●</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -368,40 +368,40 @@
|
||||
<img src="/static/img/thinking.svg" onerror="this.onerror=null; this.src='/media/_error/thinking.svg';" alt="Under Reconstruction Slug" />
|
||||
</div>
|
||||
|
||||
<div class="error-code-badge">РЕКОНСТРУКЦИЯ ИНТРОСПЕКЦИИ</div>
|
||||
<div class="error-code-badge">INTROSPECTION RECONSTRUCTION</div>
|
||||
|
||||
<h1 class="error-title">Отдел мозга на реконструкции</h1>
|
||||
<h1 class="error-title">Brain Sector Under Reconstruction</h1>
|
||||
|
||||
<p class="error-desc">
|
||||
Узел ментальной матрицы перестраивается по бредо-чертежам Гипножабы. Бри-Гады мозговых слизней под контролем Мозгоклюя разворачивают новый слой интроспекций. Скоро здесь появится нечто гипнотически непознаваемое.
|
||||
This mental matrix node is being refitted according to the visionary blueprints of the Hypnotoad. Brain Slug brigades, supervised by the Brainpicker, are unrolling a brand-new layer of introspections. Soon something hypnotically unknowable will emerge here.
|
||||
</p>
|
||||
|
||||
<div class="hypno-quote">
|
||||
<big>Справка бюрократа 24-го уровня:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">«</span><em>Ведутся строительно-монтажные работы по укладке новых векторных силовых линий. Проход без мантальной каски и без вживленного мозгового слизня ограничен даже гражданам в глубоком трансе.</em>»
|
||||
<big>Grade 24 Bureaucrat Notice:</big><br/> <br/>
|
||||
<span style="margin-left: -0.49em;">“</span><em>Construction work in progress: laying new vector flux lines. Entry without a psychic hard hat and an implanted Brain Slug is strictly prohibited, even for citizens in a deep trance.</em>”
|
||||
</div>
|
||||
|
||||
<div class="actions-box">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary" id="return-btn">
|
||||
<span>● Попытка вынырнуть из интроспекции</span>
|
||||
<span>● Emerge from Introspection</span>
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="window.history.length > 1 ? window.history.back() : window.location.href='/'">
|
||||
<span>← На шаг назад</span>
|
||||
<span>← Go Back</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Панель калибровки с задержкой и смешными фразами -->
|
||||
<!-- Calibration panel with delay and witty messages -->
|
||||
<div class="calibration-panel" id="calibration-panel">
|
||||
<div class="calibration-status" id="calibration-status">
|
||||
Инициа­лизация перемещения из зоны работ…
|
||||
Initializing egress from construction sector…
|
||||
</div>
|
||||
<div class="progress-bar-container">
|
||||
<div class="progress-bar-fill" id="progress-bar"></div>
|
||||
</div>
|
||||
<div class="calibration-subtext">
|
||||
<span>Снижение ментальной нагрузки на кластер</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Пройти гипноз мгновенно →</a>
|
||||
<span>Reducing mental load on cluster</span>
|
||||
<a href="/" class="instant-link" id="skip-link">Instant Hypnosis →</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -410,11 +410,11 @@
|
||||
|
||||
<footer>
|
||||
<div class="ascii-grid">░▒▓█ UNDER RECONSTRUCTION █▓▒░</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. Слава Гипножабе. Все права подчинены.</div>
|
||||
<div>Hypn0.xyz (HypnoSVG) © 2026. All Glory to the Hypnotoad. All minds subjugated.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// 1. Управление темой оформления (Light / Dark)
|
||||
// 1. Theme switcher (Light / Dark)
|
||||
var themeBtn = document.getElementById('theme-btn');
|
||||
var themeIcon = document.getElementById('theme-icon');
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
|
||||
// 2. Умная кнопка с задержкой и смешными сообщениями перекалибровки
|
||||
// 2. Smart button with delay and humorous recalibration messages
|
||||
var returnBtn = document.getElementById('return-btn');
|
||||
var calibPanel = document.getElementById('calibration-panel');
|
||||
var calibStatus = document.getElementById('calibration-status');
|
||||
@@ -438,10 +438,10 @@
|
||||
var isCalibrating = false;
|
||||
|
||||
var phrases = [
|
||||
{ at: 0, text: "✦ Фаза 1/4: Закладываем квантовый фундамент новой функциональности…" },
|
||||
{ at: 25, text: "✦ Фаза 2/4: Монтируем передовые генераторы векторных паттернов…" },
|
||||
{ at: 55, text: "✦ Фаза 3/4: Бюрократ 24-го уровня согласует счет-фактуру…" },
|
||||
{ at: 85, text: "✦ Фаза 4/4: Акт согласования готов! Это не поможет, но возвращаемся в активную зону сайта…" }
|
||||
{ at: 0, text: "✦ Phase 1/4: Pouring quantum foundation for next-gen features…" },
|
||||
{ at: 25, text: "✦ Phase 2/4: Mounting high-voltage vector pattern generators…" },
|
||||
{ at: 55, text: "✦ Phase 3/4: Grade 24 Bureaucrat approves preliminary construction invoice…" },
|
||||
{ at: 85, text: "✦ Phase 4/4: Bureaucratic approval signed! It won't help, but warping to active sector…" }
|
||||
];
|
||||
|
||||
returnBtn.addEventListener('click', function() {
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
returnBtn.disabled = true;
|
||||
returnBtn.style.opacity = '0.7';
|
||||
returnBtn.innerHTML = '<span>Выполняется внушение…</span>';
|
||||
returnBtn.innerHTML = '<span>Transmitting hypnotic command…</span>';
|
||||
calibPanel.style.display = 'block';
|
||||
|
||||
var duration = 12000;
|
||||
@@ -462,7 +462,7 @@
|
||||
|
||||
progressBar.style.width = progress + '%';
|
||||
|
||||
// Подбираем актуальную смешную фразу
|
||||
// Select the active phrase
|
||||
for (var i = phrases.length - 1; i >= 0; i--) {
|
||||
if (progress >= phrases[i].at) {
|
||||
calibStatus.innerHTML = phrases[i].text;
|
||||
|
||||
Reference in New Issue
Block a user