Merge branch 'main' into narl.io

This commit is contained in:
nvrl committed 2026-02-19 01:38:31 +01:00
commit afc6df24cb
3 files changed
+111 -92

No files matched your search

+56
View File
@@ -180,6 +180,9 @@ const resources = {
"featureRate": "Rate: Share your honest opinion and score flavors from 1 to 10.",
"featureCommunity": "Community: Follow other fans, see their latest tests, and discover new favorites together.",
"featureProfile": "Taste Profile: Build your own personal tiered leaderboard to share with the world.",
"featurePersonalize": "Personalize: Choose from over 15 themes and select interactive banners to make the archive your own.",
"featureEngage": "Engage: Start discussions by replying to reviews and leaving comments on user profiles.",
"featureSupport": "Support: Get direct assistance through our integrated ticket system for any questions or issues.",
"disclaimer": "This website is a fan project and is not officially affiliated with, authorized, maintained, sponsored, or endorsed by HOLY Energy GmbH. All product names, logos, and brands are property of their respective owners.",
"impressumTitle": "Impressum (Legal Notice)",
"legalInfo": "Information according to § 5 TMG:",
@@ -192,6 +195,31 @@ const resources = {
"copyrightTitle": "Copyright:",
"copyrightDesc": "The content and works created by the site operators on these pages are subject to German copyright law. The reproduction, processing, distribution and any kind of exploitation outside the limits of copyright law require the written consent of the respective author."
},
"privacy": {
"title": "Privacy Policy",
"intro": "Protecting your personal data is a top priority for us. Below we inform you about the processing of your data on our website in accordance with the requirements of the GDPR.",
"controllerTitle": "1. Controller",
"controllerDesc": "The party responsible for data processing on this website is:",
"collectionTitle": "2. Collection and Storage of Personal Data",
"regTitle": "Registration:",
"regDesc": "When you create an account, we store your username, email address, and password (encrypted). This data is used to provide community features (ratings, following users). The legal basis is Art. 6 Para. 1 lit. b GDPR.",
"ipTitle": "IP Addresses:",
"ipDesc": "To ensure the security of our IT systems and to prevent abuse, we store the IP addresses from which you log in. This data is deleted as soon as it is no longer necessary to achieve the purpose for which it was collected. The legal basis is Art. 6 Para. 1 lit. f GDPR.",
"profileTitle": "Public Profile:",
"profileDesc": "Your username, avatar, ratings, and profile comments are publicly visible to other users. You can change or delete your profile data at any time in your settings.",
"socialTitle": "Social Interaction:",
"socialDesc": "Comments left on profiles and replies to ratings are stored and displayed publicly. This includes the timestamp and the author of the content.",
"supportTitle": "Support Tickets:",
"supportDesc": "When you open a support ticket, we store the subject, description, and subsequent messages to provide technical assistance and resolve your inquiry.",
"personalizationTitle": "Personalization:",
"personalizationDesc": "Your preferred theme, language, and selected interactive banner are stored in your user profile to provide a consistent experience across sessions.",
"deletionTitle": "Account Deletion:",
"deletionDesc": "You can permanently delete your account and all associated personal data at any time in your account settings. For security reasons, this requires verification via an email code.",
"transferTitle": "3. Data Transfer to Third Parties",
"transferDesc": "We do not pass your data on to third parties without your express consent, unless this is necessary to fulfill a contract or a legal obligation.",
"rightsTitle": "4. Your Rights",
"rightsDesc": "You have the right to information (Art. 15 GDPR), correction (Art. 16 GDPR), deletion (Art. 17 GDPR), and restriction of the processing of your data. Please contact us at:"
},
"cookieBanner": {
"title": "Cookie Settings",
"description": "We use essential technical cookies to manage your login sessions, store your preferred theme and language settings, and ensure the security of your account. These cookies are strictly necessary for the site to function properly. Would you like to switch to Holy Dark mode before you start? It's easier on the eyes!",
@@ -378,6 +406,9 @@ const resources = {
"featureRate": "Bewerten: Deine ehrliche Meinung teilen und Sorten von 1 bis 10 bewerten.",
"featureCommunity": "Community: Folge anderen Fans, sieh dir ihre neuesten Tests an und entdeckt gemeinsam neue Favoriten.",
"featureProfile": "Geschmacksprofil: Erstelle deine eigene persönliche Bestenliste, um sie mit der Welt zu teilen.",
"featurePersonalize": "Personalisieren: Wähle aus über 15 Designs und interaktiven Bannern, um das Archiv nach deinen Wünschen zu gestalten.",
"featureEngage": "Interagieren: Starte Diskussionen durch Antworten auf Rezensionen und Kommentare auf Profilen.",
"featureSupport": "Support: Erhalte direkte Hilfe über unser integriertes Ticketsystem bei Fragen oder Problemen.",
"disclaimer": "Diese Website ist ein Fan-Projekt und wird nicht von der HOLY Energy GmbH offiziell unterstützt, autorisiert, gepflegt oder gesponselt. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Inhaber.",
"impressumTitle": "Impressum",
"legalInfo": "Angaben gemäß § 5 TMG:",
@@ -390,6 +421,31 @@ const resources = {
"copyrightTitle": "Urheberrecht:",
"copyrightDesc": "Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors."
},
"privacy": {
"title": "Datenschutzerklärung",
"intro": "Der Schutz Ihrer persönlichen Daten ist uns ein wichtiges Anliegen. Nachfolgend informieren wir Sie über die Verarbeitung Ihrer Daten auf unserer Webseite gemäß den Anforderungen der DSGVO.",
"controllerTitle": "1. Verantwortlicher",
"controllerDesc": "Verantwortlich für die Datenverarbeitung auf dieser Webseite ist:",
"collectionTitle": "2. Erfassung und Speicherung personenbezogener Daten",
"regTitle": "Registrierung:",
"regDesc": "Wenn Sie ein Konto erstellen, speichern wir Ihren Benutzernamen, Ihre E-Mail-Adresse und Ihr Passwort (verschlüsselt). Diese Daten werden zur Bereitstellung der Community-Funktionen verwendet. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO.",
"ipTitle": "IP-Adressen:",
"ipDesc": "Zur Gewährleistung der Sicherheit unserer IT-Systeme und zur Missbrauchsverhinderung speichern wir die IP-Adressen, von denen aus Sie sich anmelden. Diese Daten werden gelöscht, sobald sie nicht mehr erforderlich sind. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO.",
"profileTitle": "Öffentliches Profil:",
"profileDesc": "Ihr Benutzername, Ihr Avatar, Ihre Bewertungen und Ihre Profilkommentare sind für andere Nutzer öffentlich sichtbar. Sie können diese jederzeit in den Einstellungen ändern oder löschen.",
"socialTitle": "Soziale Interaktion:",
"socialDesc": "Kommentare auf Profilen und Antworten auf Bewertungen werden dauerhaft gespeichert und öffentlich angezeigt. Dies beinhaltet den Zeitpunkt der Erstellung und den Autor.",
"supportTitle": "Support-Tickets:",
"supportDesc": "Wenn Sie ein Support-Ticket eröffnen, speichern wir den Betreff, die Beschreibung sowie die folgenden Nachrichten, um technische Hilfe zu leisten und Ihre Anfrage zu bearbeiten.",
"personalizationTitle": "Personalisierung:",
"personalizationDesc": "Ihr bevorzugtes Design, Ihre Sprache und Ihr ausgewählter interaktiver Banner werden in Ihrem Profil gespeichert, um ein konsistentes Erlebnis über verschiedene Sitzungen hinweg zu bieten.",
"deletionTitle": "Kontolöschung:",
"deletionDesc": "Sie können Ihr Konto und alle damit verbundenen personenbezogenen Daten jederzeit in den Einstellungen dauerhaft löschen. Zur Sicherheit ist hierfür eine Verifizierung per E-Mail-Code erforderlich.",
"transferTitle": "3. Datenübermittlung an Dritte",
"transferDesc": "Wir geben Ihre Daten nicht ohne Ihre ausdrückliche Einwilligung an Dritte weiter, es sei denn, dies ist zur Vertragserfüllung oder zur Erfüllung gesetzlicher Verpflichtungen erforderlich.",
"rightsTitle": "4. Ihre Rechte",
"rightsDesc": "Sie haben das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16 DSGVO), Löschung (Art. 17 DSGVO) und Einschränkung der Verarbeitung Ihrer Daten. Bitte kontaktieren Sie uns unter:"
},
"cookieBanner": {
"title": "Cookie-Einstellungen",
"description": "Wir verwenden technisch notwendige Cookies, um Ihre Login-Sitzungen zu verwalten, Ihre bevorzugten Design- und Spracheinstellungen zu speichern und die Sicherheit Ihres Kontos zu gewährleisten. Diese Cookies sind zwingend erforderlich, damit die Website ordnungsgemäß funktioniert. Möchten Sie zum Holy Dark Modus wechseln, bevor Sie beginnen? Er ist schonender für die Augen!",
+3
View File
@@ -35,6 +35,9 @@ const About: React.FC = () => {
<li>{t('about.featureRate')}</li>
<li>{t('about.featureCommunity')}</li>
<li>{t('about.featureProfile')}</li>
<li>{t('about.featurePersonalize')}</li>
<li>{t('about.featureEngage')}</li>
<li>{t('about.featureSupport')}</li>
</Typography>
</Box>
+52 -92
View File
@@ -8,7 +8,7 @@ import { useTranslation } from 'react-i18next';
const Privacy: React.FC = () => {
const { t, i18n } = useTranslation();
const lang = i18n.language.startsWith('de') ? 'de' : 'en';
useTitle(lang === 'de' ? 'Datenschutzerklärung' : 'Privacy Policy');
useTitle(t('privacy.title'));
const isMobile = useMediaQuery('(max-width:600px)');
const handleLangChange = (_: any, newLang: string | null) => {
@@ -42,105 +42,65 @@ const Privacy: React.FC = () => {
</Box>
<Paper sx={{ p: { xs: 2.5, sm: 4, md: 6 }, borderRadius: 4, overflow: 'hidden' }}>
{lang === 'de' ? (
<Box>
<Typography variant={isMobile ? "h4" : "h3"} gutterBottom sx={{ fontWeight: 'bold' }}>Datenschutzerklärung</Typography>
<Typography variant="body1" paragraph sx={{ lineHeight: 1.7 }}>
Der Schutz Ihrer persönlichen Daten ist uns ein wichtiges Anliegen. Nachfolgend informieren wir Sie
über die Verarbeitung Ihrer Daten auf unserer Webseite gemäß den Anforderungen der DSGVO.
</Typography>
<Typography variant={isMobile ? "h4" : "h3"} gutterBottom sx={{ fontWeight: 'bold' }}>{t('privacy.title')}</Typography>
<Typography variant="body1" paragraph sx={{ lineHeight: 1.7 }}>
{t('privacy.intro')}
</Typography>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>1. Verantwortlicher</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
Verantwortlich für die Datenverarbeitung auf dieser Webseite ist:<br />
{import.meta.env.VITE_IMPRESSUM_NAME || '[Ihr Name]'}<br />
{import.meta.env.VITE_IMPRESSUM_STREET || '[Ihre Straße]'}<br />
{import.meta.env.VITE_IMPRESSUM_CITY || '[Ihre Stadt]'}
</Typography>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>{t('privacy.controllerTitle')}</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
{t('privacy.controllerDesc')}<br />
{import.meta.env.VITE_IMPRESSUM_NAME || '[Your Name]'}<br />
{import.meta.env.VITE_IMPRESSUM_STREET || '[Your Street]'}<br />
{import.meta.env.VITE_IMPRESSUM_CITY || '[Your City]'}
</Typography>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>2. Erfassung und Speicherung personenbezogener Daten</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
<strong>Registrierung:</strong> Wenn Sie ein Konto erstellen, speichern wir Ihren Benutzernamen,
Ihre E-Mail-Adresse und Ihr Passwort (verschlüsselt). Diese Daten werden zur Bereitstellung der
Community-Funktionen (Bewertungen, Folgen von Nutzern) verwendet. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO.
</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
<strong>IP-Adressen:</strong> Zur Gewährleistung der Sicherheit unserer IT-Systeme und zur Missbrauchsverhinderung
speichern wir die IP-Adressen, von denen aus Sie sich anmelden. Diese Daten werden gelöscht, sobald sie für
die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO.
</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
<strong>Öffentliches Profil:</strong> Ihr Benutzername, Ihr Avatar und Ihre Bewertungen sind für
andere Nutzer öffentlich sichtbar. Sie können diese Daten jederzeit in den Einstellungen ändern oder löschen.
</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
<strong>Kontolöschung:</strong> Sie können Ihr Konto und alle damit verbundenen Daten jederzeit
in den Kontoeinstellungen dauerhaft löschen. Zur Sicherheit ist hierfür eine Verifizierung per E-Mail-Code erforderlich.
</Typography>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>{t('privacy.collectionTitle')}</Typography>
<Box sx={{ mb: 2 }}>
<Typography variant="body2" sx={{ fontWeight: 'bold' }}>{t('privacy.regTitle')}</Typography>
<Typography variant="body2" sx={{ lineHeight: 1.7 }}>{t('privacy.regDesc')}</Typography>
</Box>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>3. Datenübermittlung an Dritte</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
Wir geben Ihre Daten nicht ohne Ihre ausdrückliche Einwilligung an Dritte weiter, es sei denn,
dies ist zur Vertragserfüllung oder zur Erfüllung gesetzlicher Verpflichtungen erforderlich.
</Typography>
<Box sx={{ mb: 2 }}>
<Typography variant="body2" sx={{ fontWeight: 'bold' }}>{t('privacy.ipTitle')}</Typography>
<Typography variant="body2" sx={{ lineHeight: 1.7 }}>{t('privacy.ipDesc')}</Typography>
</Box>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>4. Ihre Rechte</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
Sie haben das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16 DSGVO), Löschung (Art. 17 DSGVO)
und Einschränkung der Verarbeitung Ihrer Daten. Bitte kontaktieren Sie uns hierzu unter:
{import.meta.env.VITE_IMPRESSUM_EMAIL}
</Typography>
</Box>
) : (
<Box>
<Typography variant={isMobile ? "h4" : "h3"} gutterBottom sx={{ fontWeight: 'bold' }}>Privacy Policy</Typography>
<Typography variant="body1" paragraph sx={{ lineHeight: 1.7 }}>
Protecting your personal data is a top priority for us. Below we inform you about the processing
of your data on our website in accordance with the requirements of the GDPR.
</Typography>
<Box sx={{ mb: 2 }}>
<Typography variant="body2" sx={{ fontWeight: 'bold' }}>{t('privacy.profileTitle')}</Typography>
<Typography variant="body2" sx={{ lineHeight: 1.7 }}>{t('privacy.profileDesc')}</Typography>
</Box>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>1. Controller</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
The party responsible for data processing on this website is:<br />
{import.meta.env.VITE_IMPRESSUM_NAME || '[Your Name]'}<br />
{import.meta.env.VITE_IMPRESSUM_STREET || '[Your Street]'}<br />
{import.meta.env.VITE_IMPRESSUM_CITY || '[Your City]'}
</Typography>
<Box sx={{ mb: 2 }}>
<Typography variant="body2" sx={{ fontWeight: 'bold' }}>{t('privacy.socialTitle')}</Typography>
<Typography variant="body2" sx={{ lineHeight: 1.7 }}>{t('privacy.socialDesc')}</Typography>
</Box>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>2. Collection and Storage of Personal Data</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
<strong>Registration:</strong> When you create an account, we store your username, email address,
and password (encrypted). This data is used to provide community features (ratings, following users).
The legal basis is Art. 6 Para. 1 lit. b GDPR.
</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
<strong>IP Addresses:</strong> To ensure the security of our IT systems and to prevent abuse,
we store the IP addresses from which you log in. This data is deleted as soon as it is no longer
necessary to achieve the purpose for which it was collected. The legal basis is Art. 6 Para. 1 lit. f GDPR.
</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
<strong>Public Profile:</strong> Your username, avatar, and ratings are publicly visible to other users.
You can change or delete this data at any time in your settings.
</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
<strong>Account Deletion:</strong> You can permanently delete your account and all associated data
at any time in your account settings. For security reasons, this requires verification via an email code.
</Typography>
<Box sx={{ mb: 2 }}>
<Typography variant="body2" sx={{ fontWeight: 'bold' }}>{t('privacy.supportTitle')}</Typography>
<Typography variant="body2" sx={{ lineHeight: 1.7 }}>{t('privacy.supportDesc')}</Typography>
</Box>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>3. Data Transfer to Third Parties</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
We do not pass your data on to third parties without your express consent, unless this is necessary
to fulfill a contract or a legal obligation.
</Typography>
<Box sx={{ mb: 2 }}>
<Typography variant="body2" sx={{ fontWeight: 'bold' }}>{t('privacy.personalizationTitle')}</Typography>
<Typography variant="body2" sx={{ lineHeight: 1.7 }}>{t('privacy.personalizationDesc')}</Typography>
</Box>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>4. Your Rights</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
You have the right to information (Art. 15 GDPR), correction (Art. 16 GDPR), deletion (Art. 17 GDPR),
and restriction of the processing of your data. Please contact us at:
{import.meta.env.VITE_IMPRESSUM_EMAIL}
</Typography>
</Box>
)}
<Box sx={{ mb: 2 }}>
<Typography variant="body2" sx={{ fontWeight: 'bold' }}>{t('privacy.deletionTitle')}</Typography>
<Typography variant="body2" sx={{ lineHeight: 1.7 }}>{t('privacy.deletionDesc')}</Typography>
</Box>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>{t('privacy.transferTitle')}</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
{t('privacy.transferDesc')}
</Typography>
<Typography variant={isMobile ? "h6" : "h5"} gutterBottom sx={{ mt: 4, fontWeight: 'bold' }}>{t('privacy.rightsTitle')}</Typography>
<Typography variant="body2" paragraph sx={{ lineHeight: 1.7 }}>
{t('privacy.rightsDesc')} {import.meta.env.VITE_IMPRESSUM_EMAIL}
</Typography>
</Paper>
</Container>
);