67b3fd23d1
gates / gates (push) Failing after 13m1s
Part A: claim table documentation/audits/website-refresh-2026-10-08/claims.md; "100% open source" corrected from the licence read; unbacked claims cut (firewall, RAID, snapshots, new-machine restore, self-managed mode, household VPN, "never lost"). Part B: dawarich, docmost, grimmory, homebox, karakeep, mealie, metube, radicale, recipe-importer, sparkyfitness cards; plant-it and wger cut (not offered). Part C: /en/ twins, nav language switch, hreflang both ways, sitemap with xhtml:link, og-image-en.png. Part D: site_gates.py twins/lang/same-apps/no-Hungarian/FAQ-JSON-LD/tail. Operator ruling 9 + choice B in 10-localisation.md §11, §10.7. Register: R-902 (contact mailer source in no repo); R-813, R-784, R-559 annotated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
96 lines
10 KiB
Python
96 lines
10 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""/en/contact — the English twin of kapcsolat.html. Same form, same /api/contact, same ?tema= values;
|
|
English subject labels go into the mail subject. The consent text is translated as it is (R-813 owns it)."""
|
|
import sys
|
|
sys.path.insert(0, __file__.rsplit("/", 1)[0])
|
|
from common import *
|
|
from en_common import *
|
|
|
|
s = en_head(read("kapcsolat.html"), "/kapcsolat", "/en/contact")
|
|
s = tr(s, [
|
|
("<title>Kapcsolat — Kérj személyre szabott ajánlatot otthoni szerveredhez | Felhom.eu</title>",
|
|
"<title>Contact — ask for a personal offer for your home server | Felhom.eu</title>"),
|
|
('content="Írj nekünk és személyre szabott ajánlatot készítünk otthoni szerveredhez. Kérdésed van? Segítünk! Email: info@felhom.eu"',
|
|
'content="Write to us and we will make a personal offer for your home server in Hungary. A question? We help! E-mail: info@felhom.eu"'),
|
|
('content="kapcsolat, ajánlatkérés, otthoni szerver ajánlat, Felhom elérhetőség"', 'content="contact, request an offer, home server offer, Felhom contact"'),
|
|
('content="Kapcsolat — Felhom.eu"', 'content="Contact — Felhom.eu"', 2),
|
|
('content="Írj nekünk és személyre szabott ajánlatot készítünk otthoni szerveredhez."', 'content="Write to us and we will make a personal offer for your home server."'),
|
|
('content="Kérdésed van? Írj nekünk: info@felhom.eu"', 'content="A question? Write to us: info@felhom.eu"'),
|
|
("<h1>Írj nekünk <span>bátran!</span></h1>", "<h1>Write to <span>us!</span></h1>"),
|
|
("<p>Kérdésed van, vagy szeretnéd megbeszélni az igényeidet? Töltsd ki az űrlapot, és hamarosan válaszolunk.</p>",
|
|
"<p>A question, or want to talk about what you need? Fill in the form and we will answer soon. We answer in English or Hungarian.</p>"),
|
|
('<label for="name">Név <span class="required">*</span></label>', '<label for="name">Name <span class="required">*</span></label>'),
|
|
('placeholder="Teljes neved"', 'placeholder="Your full name"'),
|
|
('<div class="error-message" id="nameError">Kérlek, add meg a neved.</div>', '<div class="error-message" id="nameError">Enter your name.</div>'),
|
|
('<label for="email">Email <span class="required">*</span></label>', '<label for="email">E-mail <span class="required">*</span></label>'),
|
|
('placeholder="pelda@email.hu"', 'placeholder="you@example.com"'),
|
|
('<div class="error-message" id="emailError">Kérlek, adj meg egy érvényes email címet.</div>', '<div class="error-message" id="emailError">Enter a valid e-mail address.</div>'),
|
|
('<label for="subject">Tárgy <span class="required">*</span></label>', '<label for="subject">Subject <span class="required">*</span></label>'),
|
|
('<option value="" disabled selected>Válassz témát...</option>', '<option value="" disabled selected>Choose a topic...</option>'),
|
|
('<option value="zart-teszt">Zárt teszt — jelentkezem tesztelőnek</option>', '<option value="zart-teszt">Closed test — I want to be a tester</option>'),
|
|
('<option value="erdeklodes">Érdeklődés — szeretném megismerni a szolgáltatást</option>', '<option value="erdeklodes">Interest — I would like to learn about the service</option>'),
|
|
('<option value="arajanlat">Árajánlat kérés — konkrét igényeim vannak</option>', '<option value="arajanlat">Request a quote — I have specific needs</option>'),
|
|
('<option value="tamogatas">Támogatás — meglévő szerveremet érintő kérdés</option>', '<option value="tamogatas">Support — a question about my existing server</option>'),
|
|
('<option value="egyeb">Egyéb</option>', '<option value="egyeb">Other</option>'),
|
|
('<div class="error-message" id="subjectError">Kérlek, válassz egy témát.</div>', '<div class="error-message" id="subjectError">Choose a topic.</div>'),
|
|
('<label for="message">Üzenet <span class="required">*</span></label>', '<label for="message">Message <span class="required">*</span></label>'),
|
|
('placeholder="Írd le, miben segíthetünk..."', 'placeholder="Tell us how we can help..."'),
|
|
('<div class="error-message" id="messageError">Kérlek, írd le az üzeneted.</div>', '<div class="error-message" id="messageError">Write your message.</div>'),
|
|
('<label>Fájl csatolás <span style="color: var(--text-3); font-weight: 400;">(opcionális)</span></label>', '<label>Attach files <span style="color: var(--text-3); font-weight: 400;">(optional)</span></label>'),
|
|
("<strong>Kattints ide</strong> vagy húzd ide a fájlokat", "<strong>Click here</strong> or drag your files here"),
|
|
('<div class="upload-hint">PDF, képek, dokumentumok · Max. 20 MB összesen</div>', '<div class="upload-hint">PDF, images, documents · max. 20 MB in total</div>'),
|
|
("Elfogadom, hogy az űrlapon megadott adataimat a Felhom.eu a megkeresésem megválaszolásához felhasználja. Az adatokat harmadik félnek nem adjuk ki.",
|
|
"I agree that Felhom.eu uses the details I give in this form to answer my enquiry. The details are not passed on to third parties."),
|
|
('>Az adatkezelési hozzájárulás szükséges.</div>', '>Your consent to the use of your details is needed.</div>'),
|
|
('<span class="btn-text">Üzenet küldése →</span>', '<span class="btn-text">Send message →</span>'),
|
|
("Közvetlen email</h3>", "E-mail us directly</h3>"),
|
|
("<p>Ha inkább emailben írnál:</p>", "<p>If you would rather send an e-mail:</p>"),
|
|
("Válaszidő</h3>", "Reply time</h3>"),
|
|
('<p>Általában <strong style="color: var(--blue-bright);">24 órán belül</strong> válaszolunk munkanapokon.</p>',
|
|
'<p>We usually answer <strong style="color: var(--blue-bright);">within 24 hours</strong> on working days.</p>'),
|
|
("<p>Sürgős támogatási kérdés esetén jelezd a tárgyban.</p>", "<p>If a support question is urgent, say so in the subject.</p>"),
|
|
("Miben segíthetünk?</h3>", "How can we help?</h3>"),
|
|
("Szerver konfiguráció tanácsadás</li>", "Advice on a server set-up</li>"),
|
|
("Alkalmazás telepítés és beállítás</li>", "Installing and setting up apps</li>"),
|
|
("Biztonsági mentés kialakítás</li>", "Setting up backups</li>"),
|
|
("Távoli elérés beállítása</li>", "Setting up remote access</li>"),
|
|
("Meglévő szerver karbantartás</li>", "Maintaining an existing server</li>"),
|
|
# --- the form script: every message the visitor can see
|
|
("// Preselect the subject from ?tema= (the „Zárt teszt\" CTA on the landing page\n // links here as /kapcsolat?tema=zart-teszt). Unknown values are ignored.",
|
|
"// Preselect the subject from ?tema= (the closed-test CTA on the landing page\n // links here as /en/contact?tema=zart-teszt — the same values as the Hungarian page). Unknown values are ignored."),
|
|
("console.warn('[kapcsolat] unknown ?tema= value, ignoring:', wanted);", "console.warn('[contact] unknown ?tema= value, ignoring:', wanted);"),
|
|
('showStatus(`A "${file.name}" fájltípus nem engedélyezett.`, \'error-state\');', 'showStatus(`The file type of "${file.name}" is not allowed.`, \'error-state\');'),
|
|
('showStatus(`A "${file.name}" túl nagy (max. ${formatFileSize(CONFIG.maxSingleFileSize)} / fájl).`, \'error-state\');',
|
|
'showStatus(`"${file.name}" is too large (max. ${formatFileSize(CONFIG.maxSingleFileSize)} per file).`, \'error-state\');'),
|
|
("showStatus(`Maximum ${CONFIG.maxFiles} fájl csatolható.`, 'error-state');", "showStatus(`You can attach at most ${CONFIG.maxFiles} files.`, 'error-state');"),
|
|
("showStatus(`Összesített fájlméret meghaladja a ${formatFileSize(CONFIG.maxTotalFileSize)} limitet.`, 'error-state');",
|
|
"showStatus(`The files together are over the ${formatFileSize(CONFIG.maxTotalFileSize)} limit.`, 'error-state');"),
|
|
('title="Eltávolítás"', 'title="Remove"'),
|
|
("missing.push('név');", "missing.push('name');"),
|
|
("missing.push('tárgy');", "missing.push('subject');"),
|
|
("missing.push('üzenet');", "missing.push('message');"),
|
|
("missing.push('adatkezelési hozzájárulás');", "missing.push('consent');"),
|
|
("missing[0] === 'adatkezelési hozzájárulás'", "missing[0] === 'consent'"),
|
|
("showStatus('Kérlek, fogadd el az adatkezelési hozzájárulást a küldéshez.', 'error-state');", "showStatus('Tick the consent box to send the form.', 'error-state');"),
|
|
("showStatus('Kérlek, töltsd ki az összes kötelező mezőt.', 'error-state');", "showStatus('Fill in every required field.', 'error-state');"),
|
|
("'zart-teszt': 'Jelentkezés — zárt teszt',", "'zart-teszt': 'Application — closed test (EN)',"),
|
|
("erdeklodes: 'Érdeklődés',", "erdeklodes: 'Interest (EN)',"),
|
|
("arajanlat: 'Árajánlat kérés',", "arajanlat: 'Quote request (EN)',"),
|
|
("tamogatas: 'Támogatás',", "tamogatas: 'Support (EN)',"),
|
|
("egyeb: 'Egyéb',", "egyeb: 'Other (EN)',"),
|
|
("showStatus('Üzeneted sikeresen elküldtük! Hamarosan válaszolunk.', 'success');", "showStatus('Your message has been sent. We will answer soon.', 'success');"),
|
|
("`Név: ${formData.name}`,", "`Name: ${formData.name}`,"),
|
|
("showStatus('Az email kliens megnyílt. A csatolt fájlokat kézzel kell hozzáadnod az emailhez, mert a mailto: link nem támogatja a mellékleteket.', 'error-state');",
|
|
"showStatus('Your e-mail program has opened. Add the attached files to the e-mail by hand: a mailto: link cannot carry attachments.', 'error-state');"),
|
|
("showStatus('Az email kliens megnyílt az üzeneteddel. Küld el az emailt a kapcsolatfelvételhez!', 'success');",
|
|
"showStatus('Your e-mail program has opened with your message. Send the e-mail to get in touch.', 'success');"),
|
|
("showStatus(`Hiba történt a küldés során. Kérlek, próbáld újra vagy írj közvetlenül az info@felhom.eu címre.`, 'error-state');",
|
|
"showStatus(`Something went wrong while sending. Try again, or write to info@felhom.eu directly.`, 'error-state');"),
|
|
("// showSuccess: () => showStatus('Üzeneted sikeresen elküldtük!', 'success'),", "// showSuccess: () => showStatus('Your message has been sent.', 'success'),"),
|
|
("throw new Error(`Szerver hiba: ${response.status}`);", "throw new Error(`Server error: ${response.status}`);"),
|
|
("// showError: () => showStatus('Hiba történt.', 'error-state'),", "// showError: () => showStatus('Something went wrong.', 'error-state'),"),
|
|
])
|
|
s = finish_en(s, "/kapcsolat", "/en/contact", "/en/contact")
|
|
write("en/contact.html", s)
|
|
print("written en/contact.html")
|