Rechtstexte in fuenf Sprachen

Impressum, AGB, Widerrufsbelehrung und Datenschutzerklaerung gibt es
jetzt auf Deutsch, Schweizer Hochdeutsch, Englisch, Franzoesisch und
Portugiesisch. 95 Textbloecke, rund 13.000 Zeichen je Sprache.

DIE MASSGEBLICHKEITSKLAUSEL STEHT IN JEDER SPRACHE

Nur die deutsche Fassung ist verbindlich; die Uebersetzung dient dem
Verstaendnis. Ohne diesen Hinweis waere die Uebersetzung ein Risiko --
ein Kunde koennte sich auf die franzoesische Fassung berufen. Der
Hinweis stand schon auf der Seite, aber selbst nur auf Deutsch: Genau
die Leute, fuer die er gedacht ist, konnten ihn nicht lesen.

WIDERRUFSBELEHRUNG UND MUSTERFORMULAR SIND AMTLICH

Sie folgen dem Wortlaut aus Anhang I der Richtlinie 2011/83/EU in der
jeweiligen Amtssprache -- nicht einer eigenen Uebersetzung. Der
Gesetzgeber hat diese Saetze selbst formuliert; wer sie neu uebersetzt,
verliert den Schutz der Musterbelehrung. Angepasst ist nur die Person:
Die Muster sprechen von "wir/uns", hier schreibt ein Einzelunternehmer
"ich/mir" -- diese Anpassung sieht das Muster ausdruecklich vor.

SCHWEIZERDEUTSCH GIBT ES HIER BEWUSST NICHT

Auf allen anderen Seiten spricht "de-CH" echten Dialekt. In
Rechtstexten waere das unserioes -- es gibt keine Widerrufsbelehrung auf
Mundart. Die Schweiz schreibt Hochdeutsch, nur ohne Eszett. Genau das
erzeugt eine Zeile Code aus dem deutschen Text, statt 95 von Hand
gepflegter Doppeleintraege, die beim naechsten Aendern auseinanderlaufen
wuerden.

DER FEHLER, DER FAST LIVE GEGANGEN WAERE

Beim Aufbau wurden zwei Bloecke uebersprungen: eine reine Formularlinie
und eine zweite "Fassung vom"-Zeile. Ab dort war jede Schluesselnummer
um eins verschoben.

Im Musterformular haette dadurch ueber jedem Feld die falsche
Beschriftung gestanden -- "Datum" wo "Name" hingehoert. Und in fuenf
Sprachen waere es niemandem aufgefallen, denn jede Sprache war ja
vollstaendig gefuellt: Eine Vollstaendigkeitspruefung ist gegen diese
Art Fehler wehrlos.

Die Schluessel sind deshalb jetzt ueber den TEXT zugeordnet, nicht ueber
eine laufende Nummer. Ein eigener Durchlauf vergleicht jeden deutschen
Text im Woerterbuch mit dem an derselben Stelle im HTML.

WAS DER NEUE DURCHLAUF SONST PRUEFT

- Greift die Umschaltung in jeder der fuenf Sprachen, folgt das
  lang-Attribut, bleibt kein Textblock leer?
- Gegenprobe, dass die Umschaltung ueberhaupt etwas tut: Englisch,
  Franzoesisch und Portugiesisch MUESSEN sich vom Deutschen
  unterscheiden. Ohne diese Probe waere ein Woerterbuch, das ueberall
  denselben deutschen Text zurueckgibt, gruen durchgelaufen.
- Kein Eszett in der Schweizer Fassung, sonst wortgleich.
- Die Massgeblichkeitsklausel nennt in jeder Sprache die deutsche
  Fassung.

Geprueft: 1303 Pruefungen gruen (Browser 737, Server 566), i18n ohne
Fehler, WCAG ohne Fundstellen.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-25 22:28:52 +02:00
co-authored by Claude Opus 5
parent c42fed7b27
commit 2e2172202e
18 changed files with 889 additions and 98 deletions
+622
View File
@@ -0,0 +1,622 @@
/* =====================================================================
i18n-wd-rechtliches.js — Impressum, AGB, Widerruf, Datenschutz
VIER ENTSCHEIDUNGEN, DIE MAN KENNEN MUSS:
1. Die deutsche Fassung ist allein verbindlich.
Das steht auf der Seite selbst und ist in jeder Sprache uebersetzt.
Die Uebersetzung dient dem Verstaendnis, nicht dem Vertragsschluss.
Anders waere es fahrlaessig: Ein Uebersetzungsfehler in einer
Widerrufsbelehrung wirkt gegen den Verfasser.
2. Schweizerdeutsch gibt es hier NICHT.
Auf allen anderen Seiten spricht "de-CH" echten Dialekt. In
Rechtstexten waere das unserioes -- es gibt keine
Widerrufsbelehrung auf Mundart. Die Schweiz schreibt Hochdeutsch,
nur ohne Eszett. Genau das erzeugt schweizerdeutsch() aus dem
deutschen Text: eine Zeile Code statt 95 von Hand gepflegter
Doppeleintraege, die beim naechsten Aendern auseinanderlaufen.
3. Widerrufsbelehrung und Musterformular sind AMTLICH.
Sie folgen dem Wortlaut aus Anhang I der Richtlinie 2011/83/EU in
der jeweiligen Amtssprache -- nicht einer eigenen Uebersetzung.
Der Gesetzgeber hat diese Saetze selbst formuliert; wer sie neu
uebersetzt, verliert den Schutz der Musterbelehrung. Angepasst ist
nur die Person: Die Muster sprechen von "wir/uns", hier schreibt
ein Einzelunternehmer "ich/mir".
4. Die Schluessel sind ueber den TEXT zugeordnet, nicht ueber eine
laufende Nummer.
Beim Aufbau wurden zwei Bloecke uebersprungen (eine Formularlinie
und eine zweite "Fassung vom"-Zeile). Ab dort war jede Nummer um
eins verschoben: Im Musterformular haette ueber jedem Feld die
falsche Beschriftung gestanden, "Datum" wo "Name" hingehoert.
Eine Pruefung vergleicht deshalb jeden deutschen Text hier mit dem
im HTML -- gegen diese Art Fehler ist eine Nummer wehrlos.
===================================================================== */
/* Hochdeutsch in Schweizer Rechtschreibung: Eszett wird zu Doppel-s.
Sonst ist der Text identisch -- absichtlich. */
function schweizerdeutsch(text) {
return text.replace(/ß/g, "ss");
}
const T = {
rl_001: {
de: "Impressum, AGB &amp; Datenschutz",
en: "Legal notice, terms &amp; privacy",
fr: "Mentions légales, CGV &amp; confidentialité",
pt: "Informação legal, condições &amp; privacidade",
},
rl_002: {
de: "Alles Rechtliche zu Dogfather Webdesign an einer Stelle — Impressum, Geschäftsbedingungen, Widerrufsrecht und Datenschutz.",
en: "Everything legal about Dogfather Web Design in one place — legal notice, terms and conditions, right of withdrawal and data protection.",
fr: "Tout ce qui est juridique concernant Dogfather Web Design au même endroit — mentions légales, conditions générales, droit de rétractation et protection des données.",
pt: "Tudo o que é legal sobre a Dogfather Web Design num só sítio — informação legal, condições gerais, direito de livre resolução e proteção de dados.",
},
rl_003: {
de: "Vertragssprache ist Deutsch",
en: "The language of the contract is German",
fr: "La langue du contrat est l'allemand",
pt: "A língua do contrato é o alemão",
},
rl_004: {
de: "Die Seite gibt es in fünf Sprachen, damit man sich zurechtfindet. Verträge werden aber ausschließlich auf Deutsch geschlossen, und diese Rechtstexte sind allein in der deutschen Fassung verbindlich. Wenn du in einer anderen Sprache abschließen möchtest, sprich mich vorher an — dann klären wir das im Einzelfall.",
en: "This site is available in five languages so that everyone can find their way around. Contracts, however, are concluded exclusively in German, and only the German version of these legal texts is binding. The translations are provided for understanding only. If you would like to conclude a contract in another language, please contact me beforehand — we will then arrange it individually.",
fr: "Ce site existe en cinq langues afin que chacun s'y retrouve. Les contrats sont toutefois conclus exclusivement en allemand, et seule la version allemande de ces textes juridiques fait foi. Les traductions ne servent qu'à la compréhension. Si vous souhaitez contracter dans une autre langue, contactez-moi au préalable — nous conviendrons alors d'une solution au cas par cas.",
pt: "Este site existe em cinco línguas para que todos se orientem. Os contratos, porém, são celebrados exclusivamente em alemão, e apenas a versão alemã destes textos jurídicos é vinculativa. As traduções servem apenas para compreensão. Se desejar contratar noutra língua, contacte-me previamente — trataremos disso caso a caso.",
},
rl_005: {
de: "Impressum",
en: "Legal notice",
fr: "Mentions légales",
pt: "Informação legal",
},
rl_006: {
de: "Filipe Pereira Queiroz<br /> 3, rue Arthur Thinnes<br /> L-3919 Mondercange, Luxemburg<br /> E-Mail: [email protected]",
en: "Filipe Pereira Queiroz<br /> 3, rue Arthur Thinnes<br /> L-3919 Mondercange, Luxembourg<br /> Email: [email protected]",
fr: "Filipe Pereira Queiroz<br /> 3, rue Arthur Thinnes<br /> L-3919 Mondercange, Luxembourg<br /> E-mail : [email protected]",
pt: "Filipe Pereira Queiroz<br /> 3, rue Arthur Thinnes<br /> L-3919 Mondercange, Luxemburgo<br /> E-mail: [email protected]",
},
rl_007: {
de: 'Telefon: +49 177 3292805<br /> E-Mail: <a href="mailto:[email protected]">[email protected]</a>',
en: 'Phone: +49 177 3292805<br /> Email: <a href="mailto:[email protected]">[email protected]</a>',
fr: 'Téléphone : +49 177 3292805<br /> E-mail : <a href="mailto:[email protected]">[email protected]</a>',
pt: 'Telefone: +49 177 3292805<br /> E-mail: <a href="mailto:[email protected]">[email protected]</a>',
},
rl_008: {
de: "<strong>Verantwortlich für den Inhalt:</strong> Filipe Pereira Queiroz (Anschrift wie oben).",
en: "<strong>Responsible for the content:</strong> Filipe Pereira Queiroz (address as above).",
fr: "<strong>Responsable du contenu :</strong> Filipe Pereira Queiroz (adresse ci-dessus).",
pt: "<strong>Responsável pelo conteúdo:</strong> Filipe Pereira Queiroz (morada acima).",
},
rl_009: {
de: "<strong>Umsatzsteuer:</strong> Der Anbieter ist eine Kleinstunternehmung mit Sitz in Luxemburg und macht von der Kleinunternehmerregelung Gebrauch (Art. 57 des geänderten luxemburgischen TVA-Gesetzes vom 12.02.1979 sowie der EU-weiten Kleinunternehmerregelung nach Richtlinie (EU) 2020/285). Alle genannten Preise sind Endpreise und enthalten keine gesondert ausgewiesene Mehrwertsteuer.",
en: "<strong>VAT:</strong> The provider is a micro-enterprise based in Luxembourg and applies the small business scheme (Art. 57 of the amended Luxembourg VAT Act of 12 February 1979 and the EU-wide small business scheme under Directive (EU) 2020/285). All prices stated are final prices and do not include separately shown VAT.",
fr: "<strong>TVA :</strong> Le prestataire est une micro-entreprise établie au Luxembourg et applique le régime de franchise pour petites entreprises (art. 57 de la loi TVA luxembourgeoise modifiée du 12 février 1979 ainsi que le régime européen des petites entreprises selon la directive (UE) 2020/285). Tous les prix indiqués sont des prix finaux et ne comportent pas de TVA facturée séparément.",
pt: "<strong>IVA:</strong> O prestador é uma microempresa sediada no Luxemburgo e aplica o regime das pequenas empresas (art. 57.º da Lei do IVA luxemburguesa alterada, de 12 de fevereiro de 1979, bem como o regime europeu das pequenas empresas nos termos da Diretiva (UE) 2020/285). Todos os preços indicados são preços finais e não incluem IVA discriminado.",
},
rl_010: {
de: '<strong>EU-Streitschlichtung:</strong> Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung bereit: <a href="https://ec.europa.eu/consumers/odr/" target="_blank" rel="noopener">ec.europa.eu/consumers/odr</a>. Die E-Mail-Adresse steht oben.',
en: '<strong>EU dispute resolution:</strong> The European Commission provides a platform for online dispute resolution: <a href="https://ec.europa.eu/consumers/odr/" target="_blank" rel="noopener">ec.europa.eu/consumers/odr</a>. The email address is stated above.',
fr: '<strong>Règlement des litiges dans l\'UE :</strong> La Commission européenne met à disposition une plateforme de règlement en ligne des litiges : <a href="https://ec.europa.eu/consumers/odr/" target="_blank" rel="noopener">ec.europa.eu/consumers/odr</a>. L\'adresse e-mail figure ci-dessus.',
pt: '<strong>Resolução de litígios na UE:</strong> A Comissão Europeia disponibiliza uma plataforma de resolução de litígios em linha: <a href="https://ec.europa.eu/consumers/odr/" target="_blank" rel="noopener">ec.europa.eu/consumers/odr</a>. O endereço de e-mail consta acima.',
},
rl_011: {
de: "<strong>Verbraucherstreitbeilegung:</strong> Ich bin nicht bereit und nicht verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.",
en: "<strong>Consumer dispute resolution:</strong> I am neither willing nor obliged to take part in dispute resolution proceedings before a consumer arbitration board.",
fr: "<strong>Médiation de la consommation :</strong> Je ne suis ni disposé ni tenu de participer à une procédure de règlement des litiges devant un organisme de médiation de la consommation.",
pt: "<strong>Resolução de litígios de consumo:</strong> Não estou disposto nem obrigado a participar em procedimentos de resolução de litígios perante uma entidade de resolução alternativa de litígios de consumo.",
},
rl_012: {
de: "Allgemeine Geschäftsbedingungen",
en: "General terms and conditions",
fr: "Conditions générales de vente",
pt: "Condições gerais",
},
rl_013: {
de: "Fassung vom 23.08.2026",
en: "Version of 23 August 2026",
fr: "Version du 23 août 2026",
pt: "Versão de 23 de agosto de 2026",
},
rl_014: {
de: "1. Geltungsbereich und Vertragspartner",
en: "1. Scope and contracting parties",
fr: "1. Champ d'application et parties au contrat",
pt: "1. Âmbito e partes contratantes",
},
rl_015: {
de: "Diese Bedingungen gelten für alle Verträge über Webdesign- und Entwicklungsleistungen zwischen Filipe Pereira Queiroz (nachfolgend „Anbieter“) und dem Auftraggeber. Sie gelten gegenüber Verbrauchern und Unternehmern; einzelne Regelungen gelten ausdrücklich nur gegenüber Verbrauchern und sind dann so gekennzeichnet.",
en: "These terms apply to all contracts for web design and development services between Filipe Pereira Queiroz (hereinafter “the provider”) and the client. They apply to both consumers and businesses; individual provisions apply expressly to consumers only and are marked as such.",
fr: "Les présentes conditions s'appliquent à tous les contrats de prestations de conception et de développement web entre Filipe Pereira Queiroz (ci-après « le prestataire ») et le client. Elles s'appliquent aux consommateurs comme aux professionnels ; certaines dispositions s'appliquent expressément aux seuls consommateurs et sont signalées comme telles.",
pt: "Estas condições aplicam-se a todos os contratos de serviços de conceção e desenvolvimento web entre Filipe Pereira Queiroz (adiante «o prestador») e o cliente. Aplicam-se a consumidores e a empresas; algumas disposições aplicam-se expressamente apenas a consumidores e estão assinaladas como tal.",
},
rl_016: {
de: "2. Angebot und Vertragsschluss",
en: "2. Offer and conclusion of contract",
fr: "2. Offre et conclusion du contrat",
pt: "2. Proposta e celebração do contrato",
},
rl_017: {
de: "Die Darstellung der Pakete und Preise auf dieser Seite ist kein bindendes Angebot, sondern eine Aufforderung zur Anfrage. Ein Vertrag kommt erst zustande, wenn der Anbieter ein individuelles Angebot abgibt und der Auftraggeber dieses in Textform annimmt.",
en: "The presentation of packages and prices on this site is not a binding offer but an invitation to enquire. A contract is concluded only once the provider submits an individual offer and the client accepts it in text form.",
fr: "La présentation des forfaits et des prix sur ce site ne constitue pas une offre ferme, mais une invitation à demander un devis. Le contrat n'est conclu que lorsque le prestataire remet une offre individuelle et que le client l'accepte par écrit.",
pt: "A apresentação de pacotes e preços neste site não constitui uma proposta vinculativa, mas um convite a pedido de orçamento. O contrato só se celebra quando o prestador apresenta uma proposta individual e o cliente a aceita por escrito.",
},
rl_018: {
de: "Innerhalb eines laufenden Projekts können im Kundenportal zusätzlich einzelne <strong>Zusatzleistungen verbindlich beauftragt</strong> werden, indem der Auftraggeber ein dort beziffertes Angebot annimmt. Der Preis und der zusätzliche Zeitbedarf werden vor der Annahme angezeigt.",
en: "Within an ongoing project, individual <strong>additional services may be ordered bindingly</strong> in the client portal by accepting a priced offer shown there. The price and the additional time required are displayed before acceptance.",
fr: "Au sein d'un projet en cours, des <strong>prestations complémentaires peuvent être commandées de manière ferme</strong> dans l'espace client, en acceptant une offre chiffrée qui y est présentée. Le prix et le délai supplémentaire sont affichés avant l'acceptation.",
pt: "Num projeto em curso, podem ser <strong>encomendados de forma vinculativa serviços adicionais</strong> no portal do cliente, aceitando uma proposta aí orçamentada. O preço e o tempo adicional necessário são apresentados antes da aceitação.",
},
rl_019: {
de: "3. Leistungsumfang",
en: "3. Scope of services",
fr: "3. Étendue des prestations",
pt: "3. Âmbito dos serviços",
},
rl_020: {
de: "Was zum Projekt gehört, ergibt sich aus dem individuellen Angebot und der Aufgabenliste im Kundenportal. Punkte, die ausdrücklich als <em>nicht enthalten</em> gekennzeichnet sind, gehören nicht zum Leistungsumfang und werden nur nach gesonderter Beauftragung erbracht.",
en: "What belongs to the project follows from the individual offer and the task list in the client portal. Items expressly marked as <em>not included</em> are not part of the scope and are provided only upon separate instruction.",
fr: "Le contenu du projet résulte de l'offre individuelle et de la liste des tâches figurant dans l'espace client. Les points expressément signalés comme <em>non inclus</em> ne font pas partie des prestations et ne sont réalisés que sur commande distincte.",
pt: "O que integra o projeto resulta da proposta individual e da lista de tarefas no portal do cliente. Os pontos expressamente assinalados como <em>não incluídos</em> não fazem parte do âmbito e só são prestados mediante encomenda separada.",
},
rl_021: {
de: "Der Auftraggeber stellt die benötigten Inhalte (Texte, Bilder, Logos, Zugangsdaten) rechtzeitig bereit und versichert, dass er über die erforderlichen Rechte daran verfügt. Verzögerungen, die daraus entstehen, dass Inhalte fehlen, verschieben vereinbarte Termine entsprechend.",
en: "The client provides the required content (texts, images, logos, access data) in good time and warrants that they hold the necessary rights to it. Delays caused by missing content postpone agreed dates accordingly.",
fr: "Le client fournit en temps utile les contenus nécessaires (textes, images, logos, identifiants) et garantit qu'il en détient les droits requis. Les retards dus à des contenus manquants décalent d'autant les échéances convenues.",
pt: "O cliente disponibiliza atempadamente os conteúdos necessários (textos, imagens, logótipos, dados de acesso) e garante que detém os direitos necessários sobre os mesmos. Os atrasos causados por falta de conteúdos adiam as datas acordadas na mesma medida.",
},
rl_022: {
de: "4. Preise, Anzahlung und Zahlung",
en: "4. Prices, deposit and payment",
fr: "4. Prix, acompte et paiement",
pt: "4. Preços, sinal e pagamento",
},
rl_023: {
de: "Es gilt der im Angebot genannte Preis. Alle Preise sind Endpreise; Mehrwertsteuer wird nach der Kleinunternehmerregelung nicht gesondert ausgewiesen (siehe Impressum).",
en: "The price stated in the offer applies. All prices are final prices; under the small business scheme, VAT is not shown separately (see legal notice).",
fr: "Le prix indiqué dans l'offre s'applique. Tous les prix sont des prix finaux ; en vertu du régime des petites entreprises, la TVA n'est pas facturée séparément (voir mentions légales).",
pt: "Aplica-se o preço indicado na proposta. Todos os preços são preços finais; ao abrigo do regime das pequenas empresas, o IVA não é discriminado (ver informação legal).",
},
rl_024: {
de: "<strong>30 % Anzahlung</strong> werden mit Vertragsschluss fällig und reservieren das Zeitfenster. Der Restbetrag wird nach Abnahme und vor der Veröffentlichung fällig. Zusatzleistungen werden nach Annahme des jeweiligen Angebots abgerechnet.",
en: "A <strong>30 % deposit</strong> falls due upon conclusion of the contract and reserves the time slot. The remaining amount falls due after acceptance and before publication. Additional services are invoiced once the respective offer has been accepted.",
fr: "Un <strong>acompte de 30 %</strong> est exigible à la conclusion du contrat et réserve le créneau. Le solde est exigible après la réception et avant la mise en ligne. Les prestations complémentaires sont facturées après acceptation de l'offre correspondante.",
pt: "Um <strong>sinal de 30 %</strong> vence-se com a celebração do contrato e reserva o período de trabalho. O remanescente vence-se após a aceitação e antes da publicação. Os serviços adicionais são faturados após a aceitação da respetiva proposta.",
},
rl_025: {
de: "5. Mitwirkung, Entwürfe und Abnahme",
en: "5. Cooperation, drafts and acceptance",
fr: "5. Collaboration, maquettes et réception",
pt: "5. Colaboração, propostas e aceitação",
},
rl_026: {
de: "Im Preis enthalten sind die im Angebot genannten Korrekturrunden. Weitergehende Änderungen werden vorher beziffert und erst nach Zustimmung ausgeführt.",
en: "The price includes the rounds of revisions stated in the offer. Further changes are quoted in advance and carried out only after approval.",
fr: "Le prix comprend les séries de corrections indiquées dans l'offre. Toute modification supplémentaire est chiffrée au préalable et n'est réalisée qu'après accord.",
pt: "O preço inclui as rondas de correções indicadas na proposta. Alterações adicionais são orçamentadas previamente e só executadas após aprovação.",
},
rl_027: {
de: "Nach Fertigstellung prüft der Auftraggeber die Leistung. Die Abnahme erfolgt ausdrücklich über das Kundenportal oder in Textform. Nimmt der Auftraggeber die Leistung in Gebrauch, ohne innerhalb von 14 Tagen wesentliche Mängel zu rügen, gilt sie als abgenommen.",
en: "After completion, the client examines the work. Acceptance is declared expressly via the client portal or in text form. If the client puts the work into use without notifying material defects within 14 days, it is deemed accepted.",
fr: "Après achèvement, le client examine la prestation. La réception est déclarée expressément via l'espace client ou par écrit. Si le client utilise la prestation sans signaler de défauts substantiels dans un délai de 14 jours, elle est réputée réceptionnée.",
pt: "Após a conclusão, o cliente verifica o trabalho. A aceitação é declarada expressamente através do portal do cliente ou por escrito. Se o cliente utilizar o trabalho sem comunicar defeitos substanciais no prazo de 14 dias, considera-se aceite.",
},
rl_028: {
de: "6. Nutzungsrechte",
en: "6. Rights of use",
fr: "6. Droits d'utilisation",
pt: "6. Direitos de utilização",
},
rl_029: {
de: "Der Auftraggeber erhält mit <strong>vollständiger Bezahlung</strong> das einfache, zeitlich und räumlich unbeschränkte Recht, die erstellten Ergebnisse für den vereinbarten Zweck zu nutzen. Bis zur vollständigen Bezahlung verbleiben alle Rechte beim Anbieter.",
en: "Upon <strong>payment in full</strong>, the client receives the non-exclusive right, unlimited in time and territory, to use the results created for the agreed purpose. Until payment in full, all rights remain with the provider.",
fr: "Après <strong>paiement intégral</strong>, le client reçoit le droit simple, illimité dans le temps et l'espace, d'utiliser les résultats créés aux fins convenues. Jusqu'au paiement intégral, tous les droits demeurent au prestataire.",
pt: "Com o <strong>pagamento integral</strong>, o cliente recebe o direito simples, ilimitado no tempo e no espaço, de utilizar os resultados criados para a finalidade acordada. Até ao pagamento integral, todos os direitos permanecem com o prestador.",
},
rl_030: {
de: "An eingesetzten Fremdbestandteilen (Open-Source-Bibliotheken, Schriften, Bildmaterial) gelten die jeweiligen Lizenzen der Rechteinhaber. Der Anbieter weist auf Lizenzen hin, die eine eigene Vergütung oder Namensnennung erfordern.",
en: "For third-party components used (open source libraries, fonts, imagery), the respective licences of the rights holders apply. The provider points out licences that require separate remuneration or attribution.",
fr: "Pour les composants tiers utilisés (bibliothèques open source, polices, images), les licences respectives des titulaires de droits s'appliquent. Le prestataire signale les licences exigeant une rémunération propre ou la mention de l'auteur.",
pt: "Aos componentes de terceiros utilizados (bibliotecas de código aberto, tipos de letra, imagens) aplicam-se as respetivas licenças dos titulares de direitos. O prestador assinala as licenças que exigem remuneração própria ou atribuição.",
},
rl_031: {
de: "Der Anbieter darf das Projekt nur dann als Referenz zeigen, wenn der Auftraggeber dem zugestimmt hat. Die Zustimmung ist jederzeit widerrufbar.",
en: "The provider may show the project as a reference only if the client has consented. Consent may be withdrawn at any time.",
fr: "Le prestataire ne peut présenter le projet à titre de référence qu'avec l'accord du client. Cet accord est révocable à tout moment.",
pt: "O prestador só pode apresentar o projeto como referência se o cliente tiver consentido. O consentimento pode ser retirado a qualquer momento.",
},
rl_032: {
de: "7. Termine",
en: "7. Deadlines",
fr: "7. Délais",
pt: "7. Prazos",
},
rl_033: {
de: "Genannte Termine sind Richtwerte, sofern sie nicht ausdrücklich als verbindlich vereinbart wurden. Verbindliche Termine setzen voraus, dass die Mitwirkungspflichten aus Ziffer 3 rechtzeitig erfüllt werden.",
en: "Stated dates are guide values unless expressly agreed as binding. Binding dates presuppose that the duties to cooperate under clause 3 are fulfilled in good time.",
fr: "Les dates indiquées sont indicatives, sauf si elles ont été expressément convenues comme fermes. Les dates fermes supposent que les obligations de collaboration prévues au point 3 soient remplies en temps utile.",
pt: "As datas indicadas são orientativas, salvo se expressamente acordadas como vinculativas. As datas vinculativas pressupõem que os deveres de colaboração previstos no ponto 3 sejam cumpridos atempadamente.",
},
rl_034: {
de: "8. Laufende Betreuung",
en: "8. Ongoing support",
fr: "8. Suivi régulier",
pt: "8. Acompanhamento contínuo",
},
rl_035: {
de: "Ein Betreuungsvertrag läuft monatlich und ist zum Ende eines Abrechnungsmonats kündbar. Was er umfasst, steht im jeweiligen Angebot. Hosting- und Domainkosten Dritter sind nicht enthalten, sofern nicht ausdrücklich anders vereinbart.",
en: "A support contract runs monthly and may be terminated with effect from the end of a billing month. Its scope is set out in the respective offer. Third-party hosting and domain costs are not included unless expressly agreed otherwise.",
fr: "Un contrat de suivi est mensuel et résiliable pour la fin d'un mois de facturation. Son contenu figure dans l'offre correspondante. Les frais d'hébergement et de nom de domaine de tiers ne sont pas inclus, sauf accord exprès contraire.",
pt: "O contrato de acompanhamento é mensal e pode ser denunciado com efeitos no final de um mês de faturação. O seu âmbito consta da respetiva proposta. Os custos de alojamento e domínio de terceiros não estão incluídos, salvo acordo expresso em contrário.",
},
rl_036: {
de: "9. Gewährleistung und Haftung",
en: "9. Warranty and liability",
fr: "9. Garantie et responsabilité",
pt: "9. Garantia e responsabilidade",
},
rl_037: {
de: "Es gelten die gesetzlichen Vorschriften. Der Anbieter haftet unbeschränkt bei Vorsatz und grober Fahrlässigkeit sowie bei Verletzung von Leben, Körper und Gesundheit. Bei einfacher Fahrlässigkeit haftet er nur bei Verletzung wesentlicher Vertragspflichten und begrenzt auf den vertragstypischen, vorhersehbaren Schaden.",
en: "The statutory provisions apply. The provider is liable without limitation in cases of intent and gross negligence, as well as for injury to life, body or health. In cases of ordinary negligence, liability arises only for breach of material contractual obligations and is limited to the foreseeable damage typical of the contract.",
fr: "Les dispositions légales s'appliquent. Le prestataire répond sans limitation en cas de dol et de faute lourde, ainsi qu'en cas d'atteinte à la vie, à l'intégrité physique ou à la santé. En cas de négligence simple, il ne répond qu'en cas de manquement à des obligations contractuelles essentielles, et dans la limite du dommage prévisible typique du contrat.",
pt: "Aplicam-se as disposições legais. O prestador responde sem limitação em caso de dolo e negligência grosseira, bem como por lesão da vida, do corpo ou da saúde. Em caso de negligência simples, responde apenas por violação de obrigações contratuais essenciais e com o limite do dano previsível típico do contrato.",
},
rl_038: {
de: "Für Inhalte, die der Auftraggeber beisteuert, ist dieser selbst verantwortlich. Die rechtliche Prüfung von Impressum, Datenschutzerklärung und sonstigen Pflichtangaben der erstellten Website ist nicht Teil der Leistung; dafür ist eine fachkundige Stelle hinzuzuziehen.",
en: "The client is responsible for content they contribute. The legal review of the legal notice, privacy policy and other mandatory information on the website created is not part of the services; a qualified professional must be consulted for that.",
fr: "Le client est responsable des contenus qu'il fournit. L'examen juridique des mentions légales, de la politique de confidentialité et des autres mentions obligatoires du site créé ne fait pas partie des prestations ; il convient de consulter un professionnel compétent.",
pt: "O cliente é responsável pelos conteúdos que fornece. A análise jurídica da informação legal, da política de privacidade e das demais menções obrigatórias do site criado não faz parte dos serviços; para tal deve ser consultado um profissional habilitado.",
},
rl_039: {
de: "10. Widerrufsrecht für Verbraucher",
en: "10. Right of withdrawal for consumers",
fr: "10. Droit de rétractation des consommateurs",
pt: "10. Direito de livre resolução dos consumidores",
},
rl_040: {
de: 'Verbrauchern steht ein gesetzliches Widerrufsrecht zu. Einzelheiten stehen unter <a href="#widerruf">Widerrufsrecht</a>. Der Widerruf kann jederzeit über die <a href="/webdesign/widerruf.html">elektronische Widerrufsfunktion</a> erklärt werden.',
en: 'Consumers have a statutory right of withdrawal. Details are set out under <a href="#widerruf">right of withdrawal</a>. Withdrawal may be declared at any time via the <a href="/webdesign/widerruf.html">electronic withdrawal function</a>.',
fr: 'Les consommateurs disposent d\'un droit légal de rétractation. Les détails figurent sous <a href="#widerruf">droit de rétractation</a>. La rétractation peut être déclarée à tout moment via la <a href="/webdesign/widerruf.html">fonction de rétractation en ligne</a>.',
pt: 'Os consumidores dispõem de um direito legal de livre resolução. Os pormenores constam em <a href="#widerruf">direito de livre resolução</a>. A resolução pode ser declarada a qualquer momento através da <a href="/webdesign/widerruf.html">função eletrónica de resolução</a>.',
},
rl_041: {
de: "11. Anwendbares Recht und Gerichtsstand",
en: "11. Applicable law and place of jurisdiction",
fr: "11. Droit applicable et juridiction compétente",
pt: "11. Lei aplicável e foro competente",
},
rl_042: {
de: "Es gilt luxemburgisches Recht unter Ausschluss des UN-Kaufrechts. Gegenüber Verbrauchern gilt dies nur, soweit dadurch nicht der Schutz entzogen wird, der ihnen durch zwingende Vorschriften des Rechts ihres gewöhnlichen Aufenthaltsstaats gewährt wird (Art. 6 Rom-I-VO).",
en: "Luxembourg law applies, excluding the UN Convention on Contracts for the International Sale of Goods. Vis-à-vis consumers this applies only insofar as it does not deprive them of the protection afforded by mandatory provisions of the law of their country of habitual residence (Art. 6 Rome I Regulation).",
fr: "Le droit luxembourgeois s'applique, à l'exclusion de la Convention des Nations unies sur les contrats de vente internationale de marchandises. À l'égard des consommateurs, cela ne vaut que dans la mesure où cela ne les prive pas de la protection que leur assurent les dispositions impératives de la loi de leur pays de résidence habituelle (art. 6 du règlement Rome I).",
pt: "Aplica-se o direito luxemburguês, com exclusão da Convenção das Nações Unidas sobre Contratos de Compra e Venda Internacional de Mercadorias. Perante consumidores, tal só vale na medida em que não os prive da proteção que lhes é conferida por disposições imperativas da lei do país da sua residência habitual (art. 6.º do Regulamento Roma I).",
},
rl_043: {
de: "12. Schlussbestimmungen",
en: "12. Final provisions",
fr: "12. Dispositions finales",
pt: "12. Disposições finais",
},
rl_044: {
de: "Sollte eine Bestimmung unwirksam sein, bleibt der übrige Vertrag wirksam. Änderungen und Ergänzungen bedürfen der Textform.",
en: "Should any provision be invalid, the remainder of the contract remains effective. Amendments and additions require text form.",
fr: "Si une disposition devait être nulle, le reste du contrat demeure valable. Les modifications et compléments requièrent la forme écrite.",
pt: "Caso alguma disposição seja inválida, o restante contrato mantém-se válido. As alterações e os aditamentos exigem forma escrita.",
},
rl_045: {
de: "Widerrufsrecht für Verbraucher",
en: "Right of withdrawal for consumers",
fr: "Droit de rétractation des consommateurs",
pt: "Direito de livre resolução dos consumidores",
},
rl_046: {
de: "Widerrufsbelehrung",
en: "Withdrawal instructions",
fr: "Informations sur le droit de rétractation",
pt: "Informação sobre o direito de livre resolução",
},
rl_047: {
de: "<strong>Widerrufsrecht</strong>",
en: "<strong>Right of withdrawal</strong>",
fr: "<strong>Droit de rétractation</strong>",
pt: "<strong>Direito de livre resolução</strong>",
},
rl_048: {
de: "Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen. Die Widerrufsfrist beträgt vierzehn Tage ab dem Tag des Vertragsabschlusses.",
en: "You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day of the conclusion of the contract.",
fr: "Vous avez le droit de vous rétracter du présent contrat sans donner de motif dans un délai de quatorze jours. Le délai de rétractation expire quatorze jours après le jour de la conclusion du contrat.",
pt: "Tem o direito de resolver o presente contrato sem indicar qualquer motivo no prazo de 14 dias. O prazo para exercer o direito de livre resolução expira 14 dias a contar do dia da celebração do contrato.",
},
rl_049: {
de: "Um Ihr Widerrufsrecht auszuüben, müssen Sie mir",
en: "To exercise the right of withdrawal, you must inform me",
fr: "Pour exercer le droit de rétractation, vous devez me notifier",
pt: "Para exercer o seu direito de livre resolução, tem de me comunicar",
},
rl_050: {
de: "Filipe Pereira Queiroz<br /> 3, rue Arthur Thinnes<br /> L-3919 Mondercange, Luxemburg<br /> E-Mail: [email protected]",
en: "Filipe Pereira Queiroz<br /> 3, rue Arthur Thinnes<br /> L-3919 Mondercange, Luxembourg<br /> Email: [email protected]",
fr: "Filipe Pereira Queiroz<br /> 3, rue Arthur Thinnes<br /> L-3919 Mondercange, Luxembourg<br /> E-mail : [email protected]",
pt: "Filipe Pereira Queiroz<br /> 3, rue Arthur Thinnes<br /> L-3919 Mondercange, Luxemburgo<br /> E-mail: [email protected]",
},
rl_051: {
de: 'mittels einer eindeutigen Erklärung (z. B. ein mit der Post versandter Brief oder eine E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren. Sie können dafür das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist. Bequemer geht es über die <a href="/webdesign/widerruf.html">elektronische Widerrufsfunktion</a>; dort erhalten Sie unverzüglich eine Bestätigung über den Eingang.',
en: 'of your decision to withdraw from this contract by an unequivocal statement (e.g. a letter sent by post or an email). You may use the attached model withdrawal form, but it is not obligatory. It is more convenient via the <a href="/webdesign/widerruf.html">electronic withdrawal function</a>; there you will receive confirmation of receipt without delay.',
fr: 'votre décision de rétractation du présent contrat au moyen d\'une déclaration dénuée d\'ambiguïté (par exemple, lettre envoyée par la poste ou courrier électronique). Vous pouvez utiliser le modèle de formulaire de rétractation, mais ce n\'est pas obligatoire. C\'est plus simple via la <a href="/webdesign/widerruf.html">fonction de rétractation en ligne</a> ; vous y recevez sans délai un accusé de réception.',
pt: 'a sua decisão de resolução do presente contrato por meio de uma declaração inequívoca (por exemplo, carta enviada pelo correio ou correio eletrónico). Pode utilizar o modelo de formulário de livre resolução, embora não seja obrigatório. É mais cómodo através da <a href="/webdesign/widerruf.html">função eletrónica de resolução</a>; aí receberá de imediato um aviso de receção.',
},
rl_052: {
de: "Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.",
en: "To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.",
fr: "Pour que le délai de rétractation soit respecté, il suffit que vous transmettiez votre communication relative à l'exercice du droit de rétractation avant l'expiration du délai de rétractation.",
pt: "Para que o prazo de livre resolução seja respeitado, basta que a sua comunicação referente ao exercício do direito de livre resolução seja enviada antes do termo do prazo.",
},
rl_053: {
de: "<strong>Folgen des Widerrufs</strong>",
en: "<strong>Effects of withdrawal</strong>",
fr: "<strong>Effets de la rétractation</strong>",
pt: "<strong>Efeitos da livre resolução</strong>",
},
rl_054: {
de: "Wenn Sie diesen Vertrag widerrufen, habe ich Ihnen alle Zahlungen, die ich von Ihnen erhalten habe, unverzüglich und spätestens binnen vierzehn Tagen ab dem Tag zurückzuzahlen, an dem die Mitteilung über Ihren Widerruf dieses Vertrags bei mir eingegangen ist. Für diese Rückzahlung verwende ich dasselbe Zahlungsmittel, das Sie bei der ursprünglichen Transaktion eingesetzt haben, es sei denn, mit Ihnen wurde ausdrücklich etwas anderes vereinbart; in keinem Fall werden Ihnen wegen dieser Rückzahlung Entgelte berechnet.",
en: "If you withdraw from this contract, I shall reimburse to you all payments received from you without undue delay and in any event not later than 14 days from the day on which I am informed about your decision to withdraw from this contract. I will carry out such reimbursement using the same means of payment as you used for the initial transaction, unless you have expressly agreed otherwise; in any event, you will not incur any fees as a result of such reimbursement.",
fr: "En cas de rétractation de votre part du présent contrat, je vous rembourserai tous les paiements reçus de vous sans retard excessif et, en tout état de cause, au plus tard quatorze jours à compter du jour où je suis informé de votre décision de rétractation du présent contrat. Je procéderai au remboursement en utilisant le même moyen de paiement que celui que vous aurez utilisé pour la transaction initiale, sauf si vous convenez expressément d'un moyen différent ; en tout état de cause, ce remboursement n'occasionnera pas de frais pour vous.",
pt: "Em caso de resolução do presente contrato, ser-lhe-ão reembolsados todos os pagamentos efetuados, sem demora injustificada e, em qualquer caso, o mais tardar 14 dias a contar da data em que for informado da sua decisão de resolução do presente contrato. Efetuo esse reembolso usando o mesmo meio de pagamento que usou na transação inicial, salvo acordo expresso em contrário da sua parte; em qualquer caso, não incorre em quaisquer custos como consequência de tal reembolso.",
},
rl_055: {
de: "Haben Sie verlangt, dass die Dienstleistung während der Widerrufsfrist beginnen soll, so haben Sie mir einen angemessenen Betrag zu zahlen, der dem Anteil der bis zu dem Zeitpunkt, zu dem Sie mich von der Ausübung des Widerrufsrechts unterrichten, bereits erbrachten Dienstleistungen im Vergleich zum Gesamtumfang der im Vertrag vorgesehenen Dienstleistungen entspricht.",
en: "If you requested to begin the performance of services during the withdrawal period, you shall pay me an amount which is in proportion to what has been provided until you have communicated to me your withdrawal from this contract, in comparison with the full coverage of the contract.",
fr: "Si vous avez demandé de commencer la prestation de services pendant le délai de rétractation, vous devrez me payer un montant proportionnel à ce qui vous a été fourni jusqu'au moment où vous m'avez informé de votre rétractation du présent contrat, par rapport à l'ensemble des prestations prévues par le contrat.",
pt: "Se tiver solicitado que a prestação de serviços se inicie durante o prazo de livre resolução, deve pagar-me um montante proporcional ao que lhe foi fornecido até ao momento em que me comunicou a sua resolução do presente contrato, em relação ao conjunto das prestações previstas no contrato.",
},
rl_056: {
de: "<strong>Vorzeitiges Erlöschen des Widerrufsrechts</strong>",
en: "<strong>Early expiry of the right of withdrawal</strong>",
fr: "<strong>Extinction anticipée du droit de rétractation</strong>",
pt: "<strong>Extinção antecipada do direito de livre resolução</strong>",
},
rl_057: {
de: "Ihr Widerrufsrecht erlischt bei einem Vertrag über Dienstleistungen vorzeitig, wenn ich die Dienstleistung vollständig erbracht habe und mit der Ausführung erst begonnen habe, nachdem Sie dazu Ihre <strong>ausdrückliche Zustimmung</strong> gegeben und gleichzeitig Ihre Kenntnis davon bestätigt haben, dass Sie Ihr Widerrufsrecht bei vollständiger Vertragserfüllung verlieren.",
en: "In the case of a contract for services, your right of withdrawal expires early if I have fully performed the service and began performance only after you gave your <strong>express consent</strong> and at the same time acknowledged that you lose your right of withdrawal once the contract has been fully performed.",
fr: "Dans le cas d'un contrat de prestation de services, votre droit de rétractation s'éteint par anticipation lorsque j'ai pleinement exécuté la prestation et que l'exécution n'a commencé qu'après votre <strong>accord préalable exprès</strong> et votre reconnaissance de perdre votre droit de rétractation une fois le contrat pleinement exécuté.",
pt: "No caso de um contrato de prestação de serviços, o seu direito de livre resolução extingue-se antecipadamente se eu tiver prestado integralmente o serviço e a execução só tiver começado após o seu <strong>consentimento expresso</strong> e o reconhecimento de que perde o direito de livre resolução com a execução integral do contrato.",
},
rl_058: {
de: "Muster-Widerrufsformular",
en: "Model withdrawal form",
fr: "Modèle de formulaire de rétractation",
pt: "Modelo de formulário de livre resolução",
},
rl_059: {
de: "Wenn Sie den Vertrag widerrufen wollen, füllen Sie bitte dieses Formular aus und senden Sie es zurück. Sie müssen es nicht verwenden.",
en: "If you wish to withdraw from the contract, please fill in this form and send it back. You are not obliged to use it.",
fr: "Veuillez compléter et renvoyer le présent formulaire si vous souhaitez vous rétracter du contrat. Son utilisation n'est pas obligatoire.",
pt: "Preencha e devolva o presente formulário se desejar resolver o contrato. A sua utilização não é obrigatória.",
},
rl_060: {
de: "An Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxemburg, E-Mail: [email protected]",
en: "To Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxembourg, email: [email protected]",
fr: "À l'attention de Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxembourg, e-mail : [email protected]",
pt: "Para Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxemburgo, e-mail: [email protected]",
},
rl_061: {
de: "Hiermit widerrufe(n) ich/wir (*) den von mir/uns (*) abgeschlossenen Vertrag über die Erbringung der folgenden Dienstleistung (*):",
en: "I/We (*) hereby give notice that I/We (*) withdraw from my/our (*) contract for the provision of the following service (*):",
fr: "Je/Nous (*) vous notifie/notifions (*) par la présente ma/notre (*) rétractation du contrat portant sur la prestation de services ci-dessous (*) :",
pt: "Pela presente comunico/comunicamos (*) que resolvo/resolvemos (*) o meu/nosso (*) contrato de prestação do seguinte serviço (*):",
},
rl_062: {
de: "Bestellt am (*) / erhalten am (*): _______________",
en: "Ordered on (*) / received on (*): _______________",
fr: "Commandé le (*) / reçu le (*) : _______________",
pt: "Encomendado em (*) / recebido em (*): _______________",
},
rl_063: {
de: "Name des/der Verbraucher(s): _______________",
en: "Name of consumer(s): _______________",
fr: "Nom du (des) consommateur(s) : _______________",
pt: "Nome do(s) consumidor(es): _______________",
},
rl_064: {
de: "Anschrift des/der Verbraucher(s): _______________",
en: "Address of consumer(s): _______________",
fr: "Adresse du (des) consommateur(s) : _______________",
pt: "Endereço do(s) consumidor(es): _______________",
},
rl_065: {
de: "Unterschrift des/der Verbraucher(s) (nur bei Mitteilung auf Papier): _______________",
en: "Signature of consumer(s) (only if this form is notified on paper): _______________",
fr: "Signature du (des) consommateur(s) (uniquement en cas de notification du présent formulaire sur papier) : _______________",
pt: "Assinatura do(s) consumidor(es) (só no caso de o presente formulário ser notificado em papel): _______________",
},
rl_066: {
de: "Datum: _______________",
en: "Date: _______________",
fr: "Date : _______________",
pt: "Data: _______________",
},
rl_067: {
de: "(*) Unzutreffendes streichen.",
en: "(*) Delete as appropriate.",
fr: "(*) Rayez la mention inutile.",
pt: "(*) Riscar o que não interessa.",
},
rl_068: {
de: "Datenschutzerklärung",
en: "Privacy policy",
fr: "Politique de confidentialité",
pt: "Política de privacidade",
},
rl_069: {
de: "Fassung vom 23.08.2026",
en: "Version of 23 August 2026",
fr: "Version du 23 août 2026",
pt: "Versão de 23 de agosto de 2026",
},
rl_070: {
de: "1. Verantwortlicher",
en: "1. Controller",
fr: "1. Responsable du traitement",
pt: "1. Responsável pelo tratamento",
},
rl_071: {
de: 'Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxemburg — <a href="mailto:[email protected]">[email protected]</a>',
en: 'Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxembourg — <a href="mailto:[email protected]">[email protected]</a>',
fr: 'Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxembourg — <a href="mailto:[email protected]">[email protected]</a>',
pt: 'Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxemburgo — <a href="mailto:[email protected]">[email protected]</a>',
},
rl_072: {
de: "2. Hosting und Server-Protokolle",
en: "2. Hosting and server logs",
fr: "2. Hébergement et journaux du serveur",
pt: "2. Alojamento e registos do servidor",
},
rl_073: {
de: "Diese Seite läuft auf einem eigenen Server der netcup GmbH (Daimlerstraße 25, 76185 Karlsruhe, Deutschland) im Rechenzentrum Nürnberg; mit netcup besteht ein Vertrag zur Auftragsverarbeitung. Beim Aufruf verarbeitet der Server technisch notwendige Daten (IP-Adresse, Zeitstempel, aufgerufene Adresse, Browserkennung) zur Bereitstellung, Absicherung und Fehlersuche.",
en: "This site runs on a dedicated server of netcup GmbH (Daimlerstraße 25, 76185 Karlsruhe, Germany) in the Nuremberg data centre; a data processing agreement is in place with netcup. When the site is accessed, the server processes technically necessary data (IP address, timestamp, address requested, browser identifier) for provision, security and troubleshooting.",
fr: "Ce site fonctionne sur un serveur dédié de netcup GmbH (Daimlerstraße 25, 76185 Karlsruhe, Allemagne) situé au centre de données de Nuremberg ; un contrat de sous-traitance est conclu avec netcup. Lors de la consultation, le serveur traite des données techniquement nécessaires (adresse IP, horodatage, adresse appelée, identifiant du navigateur) à des fins de mise à disposition, de sécurisation et de dépannage.",
pt: "Este site funciona num servidor próprio da netcup GmbH (Daimlerstraße 25, 76185 Karlsruhe, Alemanha), no centro de dados de Nuremberga; existe um contrato de subcontratação com a netcup. Ao aceder, o servidor trata dados tecnicamente necessários (endereço IP, data e hora, endereço solicitado, identificação do navegador) para disponibilização, segurança e resolução de erros.",
},
rl_074: {
de: "Vorgeschaltet ist Cloudflare (Cloudflare, Inc., 101 Townsend St, San Francisco, USA) als Auslieferungsnetz und Schutz vor Überlastungsangriffen. Dabei verarbeitet Cloudflare dieselben technischen Daten; eine Übermittlung in die USA ist nicht ausgeschlossen, abgesichert über EU-Standardvertragsklauseln bzw. das EU-US Data Privacy Framework. Rechtsgrundlage ist jeweils Art. 6 Abs. 1 lit. f DSGVO.",
en: "Cloudflare (Cloudflare, Inc., 101 Townsend St, San Francisco, USA) is placed in front as a delivery network and protection against overload attacks. Cloudflare processes the same technical data; a transfer to the USA cannot be ruled out and is safeguarded by EU standard contractual clauses or the EU-US Data Privacy Framework. The legal basis in each case is Art. 6(1)(f) GDPR.",
fr: "Cloudflare (Cloudflare, Inc., 101 Townsend St, San Francisco, États-Unis) est placé en amont comme réseau de diffusion et protection contre les attaques par saturation. Cloudflare traite les mêmes données techniques ; un transfert vers les États-Unis n'est pas exclu et est encadré par les clauses contractuelles types de l'UE ou le cadre de protection des données UE-États-Unis. La base juridique est l'art. 6, par. 1, point f), du RGPD.",
pt: "A Cloudflare (Cloudflare, Inc., 101 Townsend St, São Francisco, EUA) está colocada a montante como rede de distribuição e proteção contra ataques de sobrecarga. A Cloudflare trata os mesmos dados técnicos; não se exclui uma transferência para os EUA, salvaguardada por cláusulas contratuais-tipo da UE ou pelo Quadro de Privacidade de Dados UE-EUA. A base jurídica é o art. 6.º, n.º 1, alínea f), do RGPD.",
},
rl_075: {
de: "3. Zugangsschutz, Cookies und lokaler Speicher",
en: "3. Access protection, cookies and local storage",
fr: "3. Protection d'accès, cookies et stockage local",
pt: "3. Proteção de acesso, cookies e armazenamento local",
},
rl_076: {
de: "Es werden keine Werbe- oder Auswertungs-Cookies eingesetzt. Verwendet werden nur:",
en: "No advertising or analytics cookies are used. Only the following are used:",
fr: "Aucun cookie publicitaire ou de mesure d'audience n'est utilisé. Seuls sont utilisés :",
pt: "Não são utilizados cookies publicitários nem de análise. São utilizados apenas:",
},
rl_077: {
de: "dogiwd_zugang — signiertes Sitzungs-Cookie der Zugangswand dieses Bereichs, Art. 6 Abs. 1 lit. f DSGVO.",
en: "dogiwd_zugang — signed session cookie of this area's access gate, Art. 6(1)(f) GDPR.",
fr: "dogiwd_zugang — cookie de session signé du mur d'accès de cette section, art. 6, par. 1, point f), du RGPD.",
pt: "dogiwd_zugang — cookie de sessão assinado do muro de acesso desta área, art. 6.º, n.º 1, alínea f), do RGPD.",
},
rl_078: {
de: "dogiwd_rolle — merkt sich nur, welche Ansicht gilt.",
en: "dogiwd_rolle — only remembers which view applies.",
fr: "dogiwd_rolle — mémorise uniquement la vue applicable.",
pt: "dogiwd_rolle — memoriza apenas qual a vista aplicável.",
},
rl_079: {
de: "Lokaler Browser-Speicher für die Anmeldung im Kundenportal und in der Verwaltung sowie für den Zwischenspeicher des Anfrageformulars. Er verbleibt auf deinem Gerät.",
en: "Local browser storage for signing in to the client portal and the admin area, and for the draft of the enquiry form. It remains on your device.",
fr: "Stockage local du navigateur pour la connexion à l'espace client et à l'administration, ainsi que pour le brouillon du formulaire de demande. Il reste sur votre appareil.",
pt: "Armazenamento local do navegador para o início de sessão no portal do cliente e na administração, bem como para o rascunho do formulário de pedido. Permanece no seu dispositivo.",
},
rl_080: {
de: "Der Zwischenspeicher des Anfrageformulars löscht sich nach 30 Tagen selbst und lässt sich jederzeit über den Formularschritt „Entwurf verwerfen“ entfernen.",
en: "The draft of the enquiry form deletes itself after 30 days and can be removed at any time via the form step “discard draft”.",
fr: "Le brouillon du formulaire de demande s'efface de lui-même après 30 jours et peut être supprimé à tout moment via l'étape « supprimer le brouillon ».",
pt: "O rascunho do formulário de pedido apaga-se automaticamente ao fim de 30 dias e pode ser removido a qualquer momento através do passo «descartar rascunho».",
},
rl_081: {
de: "4. Anfrageformular",
en: "4. Enquiry form",
fr: "4. Formulaire de demande",
pt: "4. Formulário de pedido",
},
rl_082: {
de: "Die dort angegebenen Daten (Name, Kontaktmöglichkeit, Angaben zum Vorhaben) werden zur Bearbeitung der Anfrage gespeichert. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO (vorvertragliche Maßnahmen). Zum Schutz vor automatisiertem Missbrauch wird ein Hashwert der IP-Adresse gespeichert — nicht die Adresse selbst, und der Hashwert lässt sich nicht zurückrechnen.",
en: "The data entered there (name, contact details, information about the project) is stored in order to process the enquiry. The legal basis is Art. 6(1)(b) GDPR (pre-contractual measures). To protect against automated misuse, a hash of the IP address is stored — not the address itself, and the hash cannot be reversed.",
fr: "Les données saisies (nom, coordonnées, informations sur le projet) sont conservées pour traiter la demande. La base juridique est l'art. 6, par. 1, point b), du RGPD (mesures précontractuelles). Pour se prémunir contre les abus automatisés, une empreinte de l'adresse IP est enregistrée — non l'adresse elle-même, et l'empreinte n'est pas réversible.",
pt: "Os dados aí indicados (nome, forma de contacto, informações sobre o projeto) são conservados para tratar o pedido. A base jurídica é o art. 6.º, n.º 1, alínea b), do RGPD (diligências pré-contratuais). Para proteção contra abuso automatizado é guardado um valor de dispersão do endereço IP — não o endereço em si, e esse valor não é reversível.",
},
rl_083: {
de: "5. Kundenportal",
en: "5. Client portal",
fr: "5. Espace client",
pt: "5. Portal do cliente",
},
rl_084: {
de: "Für den Zugang werden Name, E-Mail-Adresse, ein Passwort (nur als Hashwert gespeichert, im Klartext nicht einsehbar), Projektdaten, Aufgabenstände und Nachrichten verarbeitet. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung).",
en: "For access, the following are processed: name, email address, a password (stored only as a hash and not readable in plain text), project data, task statuses and messages. The legal basis is Art. 6(1)(b) GDPR (performance of a contract).",
fr: "Pour l'accès sont traités : le nom, l'adresse e-mail, un mot de passe (conservé uniquement sous forme d'empreinte, non lisible en clair), les données du projet, l'état des tâches et les messages. La base juridique est l'art. 6, par. 1, point b), du RGPD (exécution du contrat).",
pt: "Para o acesso são tratados: nome, endereço de e-mail, uma palavra-passe (guardada apenas como valor de dispersão, não legível em texto simples), dados do projeto, estados das tarefas e mensagens. A base jurídica é o art. 6.º, n.º 1, alínea b), do RGPD (execução do contrato).",
},
rl_085: {
de: "6. Zahlungen",
en: "6. Payments",
fr: "6. Paiements",
pt: "6. Pagamentos",
},
rl_086: {
de: 'Zahlungen können über PayPal abgewickelt werden (PayPal (Europe) S.à r.l. et Cie, S.C.A., 22-24 Boulevard Royal, L-2449 Luxemburg). Dabei übermittelt PayPal die zur Abwicklung notwendigen Daten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO. Näheres: <a href="https://www.paypal.com/privacy" target="_blank" rel="noopener">paypal.com/privacy</a>.',
en: 'Payments may be processed via PayPal (PayPal (Europe) S.à r.l. et Cie, S.C.A., 22-24 Boulevard Royal, L-2449 Luxembourg). PayPal transmits the data required for processing. The legal basis is Art. 6(1)(b) GDPR. Further details: <a href="https://www.paypal.com/privacy" target="_blank" rel="noopener">paypal.com/privacy</a>.',
fr: 'Les paiements peuvent être effectués via PayPal (PayPal (Europe) S.à r.l. et Cie, S.C.A., 22-24 Boulevard Royal, L-2449 Luxembourg). PayPal transmet les données nécessaires au traitement. La base juridique est l\'art. 6, par. 1, point b), du RGPD. En savoir plus : <a href="https://www.paypal.com/privacy" target="_blank" rel="noopener">paypal.com/privacy</a>.',
pt: 'Os pagamentos podem ser processados através do PayPal (PayPal (Europe) S.à r.l. et Cie, S.C.A., 22-24 Boulevard Royal, L-2449 Luxemburgo). O PayPal transmite os dados necessários ao processamento. A base jurídica é o art. 6.º, n.º 1, alínea b), do RGPD. Mais informações: <a href="https://www.paypal.com/privacy" target="_blank" rel="noopener">paypal.com/privacy</a>.',
},
rl_087: {
de: "7. Widerrufe und Zustimmungen",
en: "7. Withdrawals and consents",
fr: "7. Rétractations et consentements",
pt: "7. Resoluções e consentimentos",
},
rl_088: {
de: "Wird ein Widerruf über die elektronische Widerrufsfunktion erklärt, werden die dort angegebenen Daten sowie der Zeitpunkt gespeichert. Das ist gesetzlich vorgeschrieben (§ 356a BGB verlangt eine Eingangsbestätigung mit Zeitpunkt) und dient dem Nachweis für beide Seiten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. c DSGVO.",
en: "If a withdrawal is declared via the electronic withdrawal function, the data entered there and the time are stored. This is required by law (§ 356a of the German Civil Code requires confirmation of receipt including the time) and serves as evidence for both sides. The legal basis is Art. 6(1)(c) GDPR.",
fr: "Si une rétractation est déclarée via la fonction de rétractation en ligne, les données saisies ainsi que l'heure sont enregistrées. La loi l'exige (le § 356a du code civil allemand impose un accusé de réception horodaté) et cela sert de preuve pour les deux parties. La base juridique est l'art. 6, par. 1, point c), du RGPD.",
pt: "Se a resolução for declarada através da função eletrónica, são guardados os dados aí indicados e o momento. Tal é exigido por lei (o § 356a do Código Civil alemão exige um aviso de receção com indicação do momento) e serve de prova para ambas as partes. A base jurídica é o art. 6.º, n.º 1, alínea c), do RGPD.",
},
rl_089: {
de: "Ebenso wird die ausdrückliche Zustimmung zum vorzeitigen Leistungsbeginn samt dem angezeigten Wortlaut und einem Zeitstempel gespeichert, weil die Beweislast dafür beim Anbieter liegt (§ 356 Abs. 4 BGB).",
en: "Likewise, the express consent to an early start of performance is stored together with the wording displayed and a timestamp, because the burden of proof lies with the provider (§ 356(4) of the German Civil Code).",
fr: "De même, le consentement exprès au démarrage anticipé de la prestation est enregistré avec le libellé affiché et un horodatage, la charge de la preuve incombant au prestataire (§ 356, al. 4, du code civil allemand).",
pt: "De igual modo, o consentimento expresso para o início antecipado da prestação é guardado juntamente com o texto apresentado e uma marca temporal, uma vez que o ónus da prova recai sobre o prestador (§ 356.º, n.º 4, do Código Civil alemão).",
},
rl_090: {
de: "8. Speicherdauer",
en: "8. Retention period",
fr: "8. Durée de conservation",
pt: "8. Prazo de conservação",
},
rl_091: {
de: "Daten werden gelöscht, sobald der Zweck entfällt und keine gesetzliche Aufbewahrungspflicht entgegensteht. Für Unterlagen mit steuerlicher oder handelsrechtlicher Bedeutung gelten die gesetzlichen Fristen. Widerrufsnachweise werden für die Dauer möglicher Ansprüche aufbewahrt.",
en: "Data is deleted as soon as the purpose no longer applies and no statutory retention obligation stands in the way. Statutory periods apply to documents of fiscal or commercial relevance. Evidence of withdrawals is retained for as long as claims remain possible.",
fr: "Les données sont effacées dès que la finalité disparaît et qu'aucune obligation légale de conservation ne s'y oppose. Les délais légaux s'appliquent aux documents ayant une portée fiscale ou commerciale. Les preuves de rétractation sont conservées pendant la durée des actions possibles.",
pt: "Os dados são apagados assim que a finalidade deixa de existir e não exista obrigação legal de conservação em contrário. Aos documentos com relevância fiscal ou comercial aplicam-se os prazos legais. As provas de resolução são conservadas durante o período em que sejam possíveis reclamações.",
},
rl_092: {
de: "9. Deine Rechte",
en: "9. Your rights",
fr: "9. Vos droits",
pt: "9. Os seus direitos",
},
rl_093: {
de: "Du hast das Recht auf Auskunft (Art. 15), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch (Art. 21 DSGVO). Eine erteilte Einwilligung kannst du jederzeit mit Wirkung für die Zukunft widerrufen. Wende dich dafür an die oben genannte Adresse.",
en: "You have the right of access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction (Art. 18), data portability (Art. 20) and objection (Art. 21 GDPR). You may withdraw any consent given at any time with effect for the future. Please contact the address stated above.",
fr: "Vous disposez d'un droit d'accès (art. 15), de rectification (art. 16), d'effacement (art. 17), de limitation (art. 18), à la portabilité (art. 20) et d'opposition (art. 21 du RGPD). Vous pouvez retirer à tout moment un consentement donné, avec effet pour l'avenir. Adressez-vous pour cela à l'adresse indiquée ci-dessus.",
pt: "Tem direito de acesso (art. 15.º), retificação (art. 16.º), apagamento (art. 17.º), limitação (art. 18.º), portabilidade (art. 20.º) e oposição (art. 21.º do RGPD). Pode retirar a qualquer momento um consentimento dado, com efeitos para o futuro. Para tal, contacte a morada indicada acima.",
},
rl_094: {
de: 'Außerdem steht dir ein Beschwerderecht bei einer Aufsichtsbehörde zu, in Luxemburg bei der <a href="https://cnpd.public.lu/" target="_blank" rel="noopener">Commission nationale pour la protection des données (CNPD)</a>, oder bei der Behörde deines Aufenthaltsorts.',
en: 'You also have the right to lodge a complaint with a supervisory authority, in Luxembourg with the <a href="https://cnpd.public.lu/" target="_blank" rel="noopener">Commission nationale pour la protection des données (CNPD)</a>, or with the authority of your place of residence.',
fr: 'Vous disposez en outre d\'un droit de réclamation auprès d\'une autorité de contrôle, au Luxembourg auprès de la <a href="https://cnpd.public.lu/" target="_blank" rel="noopener">Commission nationale pour la protection des données (CNPD)</a>, ou auprès de l\'autorité de votre lieu de résidence.',
pt: 'Tem ainda o direito de apresentar reclamação junto de uma autoridade de controlo, no Luxemburgo junto da <a href="https://cnpd.public.lu/" target="_blank" rel="noopener">Commission nationale pour la protection des données (CNPD)</a>, ou junto da autoridade do seu local de residência.',
},
rl_095: {
de: "Stand: 23.08.2026. Diese Texte werden angepasst, wenn sich Leistungen, Technik oder Rechtslage ändern.",
en: "Last updated: 23 August 2026. These texts are amended whenever services, technology or the legal situation change.",
fr: "Mise à jour : 23 août 2026. Ces textes sont adaptés lorsque les prestations, la technique ou la situation juridique évoluent.",
pt: "Atualizado em: 23 de agosto de 2026. Estes textos são adaptados sempre que os serviços, a tecnologia ou o enquadramento jurídico mudem.",
},
};
/* de-CH wird aus de erzeugt -- siehe Punkt 2 im Kopf der Datei. */
for (const eintrag of Object.values(T)) {
eintrag["de-CH"] = schweizerdeutsch(eintrag.de);
}
window.I18N_WD = T;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 KiB

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 KiB

After

Width:  |  Height:  |  Size: 304 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

After

Width:  |  Height:  |  Size: 277 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 KiB

After

Width:  |  Height:  |  Size: 320 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 801 KiB

After

Width:  |  Height:  |  Size: 797 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 KiB

After

Width:  |  Height:  |  Size: 184 KiB

+159
View File
@@ -0,0 +1,159 @@
/* =====================================================================
Prueft die Rechtstexte in fuenf Sprachen.
Der wichtigste Test hier ist NICHT "ist alles uebersetzt", sondern:
Steht unter jedem Schluessel auch der Text, der im HTML an dieser
Stelle steht?
Beim Bauen waren die Schluessel ab einer Stelle um eins verschoben,
weil zwei Bloecke uebersprungen worden waren. Im Musterformular haette
dadurch ueber jedem Feld die falsche Beschriftung gestanden -- "Datum"
wo "Name" hingehoert. In fuenf Sprachen waere das niemandem
aufgefallen, denn jede Sprache war ja vollstaendig gefuellt.
Gegen diese Art Fehler ist eine Vollstaendigkeitspruefung wehrlos.
Deshalb wird hier der deutsche Text im Woerterbuch mit dem im HTML
verglichen -- Zeichen fuer Zeichen.
===================================================================== */
import { chromium } from "playwright";
import http from "http";
import fs from "fs";
import path from "path";
const TYP = {
".html": "text/html", ".css": "text/css", ".js": "text/javascript",
".png": "image/png", ".svg": "image/svg+xml", ".webp": "image/webp",
".json": "application/json", ".ico": "image/x-icon", ".jpg": "image/jpeg",
};
const srv = http.createServer((q, r) => {
const p = path.join(process.cwd(), decodeURIComponent(q.url.split("?")[0]));
if (fs.existsSync(p) && !p.endsWith("/")) {
r.writeHead(200, { "content-type": TYP[path.extname(p)] || "text/plain" });
return r.end(fs.readFileSync(p));
}
r.writeHead(404);
r.end("");
});
let ok = 0, fehl = 0;
const pruefe = (name, gut, info) => {
if (gut) { ok++; console.log(" ok " + name + (info ? " -> " + info : "")); }
else { fehl++; console.log(" FEHL " + name + (info ? " -> " + info : "")); }
};
const SPRACHEN = ["de", "de-CH", "en", "fr", "pt"];
srv.listen(4406, async () => {
const browser = await chromium.launch();
const seite = await browser.newPage({ viewport: { width: 1440, height: 900 } });
const skriptfehler = [];
seite.on("pageerror", (e) => skriptfehler.push(String(e).slice(0, 140)));
await seite.goto("http://127.0.0.1:4406/webdesign/rechtliches.html");
await seite.waitForTimeout(1600);
console.log("1. LIEGT UNTER JEDEM SCHLUESSEL DER RICHTIGE TEXT?");
const versatz = await seite.evaluate(() => {
const W = window.I18N_WD || {};
/* HTML-Entitaeten aufloesen, bevor verglichen wird.
Im Woerterbuch steht "&amp;", im Browser liest textContent daraus
ein "&". Ohne dieses Aufloesen meldet der Test eine Abweichung,
wo in Wahrheit derselbe Text steht -- genau bei der Ueberschrift
"Impressum, AGB & Datenschutz". */
const entschluesseln = (t) => {
const hilf = document.createElement("textarea");
hilf.innerHTML = t;
return hilf.value;
};
const sauber = (t) => entschluesseln(t).replace(/\s+/g, " ").trim();
const raus = [];
for (const el of document.querySelectorAll("[data-i18n^='rl_']")) {
const k = el.getAttribute("data-i18n");
if (!W[k]) { raus.push({ k, grund: "kein Eintrag", html: sauber(el.textContent).slice(0, 50) }); continue; }
const imBuch = sauber(W[k].de.replace(/<[^>]*>/g, " "));
const imHtml = sauber(el.textContent);
if (imBuch.slice(0, 45) !== imHtml.slice(0, 45)) {
raus.push({ k, grund: "Text weicht ab", html: imHtml.slice(0, 45), buch: imBuch.slice(0, 45) });
}
}
return raus;
});
pruefe("jeder Schluessel traegt seinen eigenen Text",
versatz.length === 0,
versatz.length ? versatz.slice(0, 3).map((v) => v.k + " (" + v.grund + ")").join(", ")
: "alle 95 stimmen");
console.log("\n2. GREIFT DIE UEBERSETZUNG IN JEDER SPRACHE?");
const proben = { rl_001: "Titel", rl_003: "Sprachhinweis", rl_047: "Widerrufsrecht" };
const gesehen = {};
for (const spr of SPRACHEN) {
const r = await seite.evaluate((p) => {
window.WD.setSprache(p);
const hole = (k) => document.querySelector(`[data-i18n="${k}"]`)?.textContent.trim() || "";
return {
lang: document.documentElement.lang,
rl_001: hole("rl_001"),
rl_003: hole("rl_003"),
rl_047: hole("rl_047"),
leer: [...document.querySelectorAll("[data-i18n^='rl_']")]
.filter((el) => !el.textContent.trim()).length,
};
}, spr);
gesehen[spr] = r;
pruefe(` ${spr}: lang-Attribut folgt`, r.lang === spr, r.lang);
pruefe(` ${spr}: kein Textblock ist leer`, r.leer === 0, r.leer + " leer");
}
/* Gegenprobe: Der Test darf nicht gruen sein, weil die Umschaltung
gar nichts tut. Die drei Fremdsprachen MUESSEN sich vom Deutschen
unterscheiden. */
for (const spr of ["en", "fr", "pt"]) {
pruefe(` ${spr} unterscheidet sich wirklich vom Deutschen`,
gesehen[spr].rl_003 !== gesehen.de.rl_003,
gesehen[spr].rl_003.slice(0, 38));
}
/* de-CH ist bei Rechtstexten ABSICHTLICH kein Dialekt, sondern
Hochdeutsch in Schweizer Rechtschreibung -- also identisch bis auf
das Eszett. Eine Widerrufsbelehrung auf Mundart waere unserioes. */
console.log("\n3. SCHWEIZ: HOCHDEUTSCH OHNE ESZETT, KEIN DIALEKT");
const ch = await seite.evaluate(() => {
window.WD.setSprache("de-CH");
const W = window.I18N_WD;
let mitEszett = 0, abweichend = 0;
for (const v of Object.values(W)) {
if (/ß/.test(v["de-CH"])) mitEszett++;
if (v["de-CH"] !== v.de.replace(/ß/g, "ss")) abweichend++;
}
return { mitEszett, abweichend };
});
pruefe("kein Eszett in der Schweizer Fassung", ch.mitEszett === 0, ch.mitEszett + " Stellen");
pruefe("sonst wortgleich mit dem Deutschen", ch.abweichend === 0, ch.abweichend + " Abweichungen");
console.log("\n4. DIE MASSGEBLICHKEITSKLAUSEL STEHT IN JEDER SPRACHE");
/* Ohne diesen Hinweis waere die Uebersetzung ein Risiko: Ein Kunde
koennte sich auf die franzoesische Fassung berufen. */
const klausel = await seite.evaluate(() => {
const W = window.I18N_WD;
const muster = {
de: /deutsch/i, "de-CH": /deutsch/i, en: /german/i,
fr: /allemand/i, pt: /alem/i,
};
const raus = {};
for (const [spr, m] of Object.entries(muster)) {
raus[spr] = m.test(W.rl_003[spr]) && m.test(W.rl_004[spr]);
}
return raus;
});
for (const [spr, gut] of Object.entries(klausel)) {
pruefe(` ${spr}: nennt die deutsche Fassung als verbindlich`, gut);
}
pruefe("kein Skriptfehler", skriptfehler.length === 0, skriptfehler[0] || "");
console.log(`\n===== ${ok} bestanden, ${fehl} fehlgeschlagen =====`);
await browser.close();
srv.close();
process.exit(fehl ? 1 : 0);
});
Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

After

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 761 KiB

After

Width:  |  Height:  |  Size: 747 KiB

+7 -1
View File
@@ -65,7 +65,13 @@ for (const datei of seiten) {
Frueher meldete die Pruefung fuer beide schlicht "Datei fehlt". Frueher meldete die Pruefung fuer beide schlicht "Datei fehlt".
Das las sich wie ein Versehen und stand deshalb monatelang als Das las sich wie ein Versehen und stand deshalb monatelang als
Fehler in der Liste, ohne dass jemand etwas tat. */ Fehler in der Liste, ohne dass jemand etwas tat. */
const NUR_DEUTSCH = ["verwaltung", "diagnose", "rechtliches"]; /* "rechtliches" ist seit dem 25.08.2026 UEBERSETZT und steht deshalb
nicht mehr hier. Die Rechtstexte gibt es jetzt in allen fuenf
Sprachen, mit der Massgeblichkeitsklausel in jeder davon: Nur die
deutsche Fassung ist verbindlich, die Uebersetzung dient dem
Verstaendnis. Widerrufsbelehrung und Musterformular folgen dem
amtlichen Wortlaut aus Anhang I der Richtlinie 2011/83/EU. */
const NUR_DEUTSCH = ["verwaltung", "diagnose"];
const einsprachig = NUR_DEUTSCH.includes(name); const einsprachig = NUR_DEUTSCH.includes(name);
if (!existsSync(i18nDatei) && !einsprachig) { if (!existsSync(i18nDatei) && !einsprachig) {
+100 -96
View File
@@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de"> <html lang="de" data-i18n-titel="rl_001">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<!-- viewport-fit=cover ist die Voraussetzung dafuer, dass env(safe-area-inset-*) <!-- viewport-fit=cover ist die Voraussetzung dafuer, dass env(safe-area-inset-*)
@@ -24,8 +24,8 @@
<div class="wd-container wd-schmal"> <div class="wd-container wd-schmal">
<span class="wd-eyebrow">Rechtliches</span> <span class="wd-eyebrow">Rechtliches</span>
<h1>Impressum, AGB &amp; Datenschutz</h1> <h1 data-i18n="rl_001">Impressum, AGB &amp; Datenschutz</h1>
<p class="wd-fuehrung"> <p class="wd-fuehrung" data-i18n="rl_002">
Alles Rechtliche zu Dogfather Webdesign an einer Stelle — Impressum, Alles Rechtliche zu Dogfather Webdesign an einer Stelle — Impressum,
Geschäftsbedingungen, Widerrufsrecht und Datenschutz. Geschäftsbedingungen, Widerrufsrecht und Datenschutz.
</p> </p>
@@ -40,8 +40,8 @@
</nav> </nav>
<div class="wd-hinweis rl-sprache"> <div class="wd-hinweis rl-sprache">
<p class="wd-hinweis-titel">Vertragssprache ist Deutsch</p> <p class="wd-hinweis-titel" data-i18n="rl_003">Vertragssprache ist Deutsch</p>
<p class="wd-klein"> <p class="wd-klein" data-i18n="rl_004">
Die Seite gibt es in fünf Sprachen, damit man sich zurechtfindet. Verträge werden Die Seite gibt es in fünf Sprachen, damit man sich zurechtfindet. Verträge werden
aber ausschließlich auf Deutsch geschlossen, und diese Rechtstexte sind allein in aber ausschließlich auf Deutsch geschlossen, und diese Rechtstexte sind allein in
der deutschen Fassung verbindlich. Wenn du in einer anderen Sprache abschließen der deutschen Fassung verbindlich. Wenn du in einer anderen Sprache abschließen
@@ -50,186 +50,186 @@
</div> </div>
<!-- ================= IMPRESSUM ================= --> <!-- ================= IMPRESSUM ================= -->
<h2 id="impressum" class="rl-h2">Impressum</h2> <h2 id="impressum" class="rl-h2" data-i18n="rl_005">Impressum</h2>
<div class="wd-karte rl-text"> <div class="wd-karte rl-text">
<p> <p data-i18n="rl_006">
<strong>Filipe Pereira Queiroz</strong><br /> <strong>Filipe Pereira Queiroz</strong><br />
3, rue Arthur Thinnes<br /> 3, rue Arthur Thinnes<br />
L-3919 Mondercange<br /> L-3919 Mondercange<br />
Luxemburg Luxemburg
</p> </p>
<p> <p data-i18n="rl_007">
Telefon: +49 177 3292805<br /> Telefon: +49 177 3292805<br />
E-Mail: <a href="mailto:[email protected]">[email protected]</a> E-Mail: <a href="mailto:[email protected]">[email protected]</a>
</p> </p>
<p> <p data-i18n="rl_008">
<strong>Verantwortlich für den Inhalt:</strong> Filipe Pereira Queiroz (Anschrift wie oben). <strong>Verantwortlich für den Inhalt:</strong> Filipe Pereira Queiroz (Anschrift wie oben).
</p> </p>
<p> <p data-i18n="rl_009">
<strong>Umsatzsteuer:</strong> Der Anbieter ist eine Kleinstunternehmung mit Sitz in <strong>Umsatzsteuer:</strong> Der Anbieter ist eine Kleinstunternehmung mit Sitz in
Luxemburg und macht von der Kleinunternehmerregelung Gebrauch (Art. 57 des geänderten Luxemburg und macht von der Kleinunternehmerregelung Gebrauch (Art. 57 des geänderten
luxemburgischen TVA-Gesetzes vom 12.02.1979 sowie der EU-weiten Kleinunternehmerregelung luxemburgischen TVA-Gesetzes vom 12.02.1979 sowie der EU-weiten Kleinunternehmerregelung
nach Richtlinie (EU) 2020/285). <strong>Alle genannten Preise sind Endpreise und enthalten nach Richtlinie (EU) 2020/285). <strong>Alle genannten Preise sind Endpreise und enthalten
keine gesondert ausgewiesene Mehrwertsteuer.</strong> keine gesondert ausgewiesene Mehrwertsteuer.</strong>
</p> </p>
<p> <p data-i18n="rl_010">
<strong>EU-Streitschlichtung:</strong> Die Europäische Kommission stellt eine Plattform zur <strong>EU-Streitschlichtung:</strong> Die Europäische Kommission stellt eine Plattform zur
Online-Streitbeilegung bereit: Online-Streitbeilegung bereit:
<a href="https://ec.europa.eu/consumers/odr/" target="_blank" rel="noopener">ec.europa.eu/consumers/odr</a>. <a href="https://ec.europa.eu/consumers/odr/" target="_blank" rel="noopener">ec.europa.eu/consumers/odr</a>.
Die E-Mail-Adresse steht oben. Die E-Mail-Adresse steht oben.
</p> </p>
<p> <p data-i18n="rl_011">
<strong>Verbraucherstreitbeilegung:</strong> Ich bin nicht bereit und nicht verpflichtet, <strong>Verbraucherstreitbeilegung:</strong> Ich bin nicht bereit und nicht verpflichtet,
an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen. an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.
</p> </p>
</div> </div>
<!-- ================= AGB ================= --> <!-- ================= AGB ================= -->
<h2 id="agb" class="rl-h2">Allgemeine Geschäftsbedingungen</h2> <h2 id="agb" class="rl-h2" data-i18n="rl_012">Allgemeine Geschäftsbedingungen</h2>
<p class="wd-klein wd-leise">Fassung vom 23.08.2026</p> <p class="wd-klein wd-leise" data-i18n="rl_013">Fassung vom 23.08.2026</p>
<div class="wd-karte rl-text"> <div class="wd-karte rl-text">
<h3>1. Geltungsbereich und Vertragspartner</h3> <h3 data-i18n="rl_014">1. Geltungsbereich und Vertragspartner</h3>
<p> <p data-i18n="rl_015">
Diese Bedingungen gelten für alle Verträge über Webdesign- und Entwicklungsleistungen Diese Bedingungen gelten für alle Verträge über Webdesign- und Entwicklungsleistungen
zwischen Filipe Pereira Queiroz (nachfolgend „Anbieter“) und dem Auftraggeber. Sie gelten zwischen Filipe Pereira Queiroz (nachfolgend „Anbieter“) und dem Auftraggeber. Sie gelten
gegenüber Verbrauchern und Unternehmern; einzelne Regelungen gelten ausdrücklich nur gegenüber Verbrauchern und Unternehmern; einzelne Regelungen gelten ausdrücklich nur
gegenüber Verbrauchern und sind dann so gekennzeichnet. gegenüber Verbrauchern und sind dann so gekennzeichnet.
</p> </p>
<h3>2. Angebot und Vertragsschluss</h3> <h3 data-i18n="rl_016">2. Angebot und Vertragsschluss</h3>
<p> <p data-i18n="rl_017">
Die Darstellung der Pakete und Preise auf dieser Seite ist kein bindendes Angebot, sondern Die Darstellung der Pakete und Preise auf dieser Seite ist kein bindendes Angebot, sondern
eine Aufforderung zur Anfrage. Ein Vertrag kommt erst zustande, wenn der Anbieter ein eine Aufforderung zur Anfrage. Ein Vertrag kommt erst zustande, wenn der Anbieter ein
individuelles Angebot abgibt und der Auftraggeber dieses in Textform annimmt. individuelles Angebot abgibt und der Auftraggeber dieses in Textform annimmt.
</p> </p>
<p> <p data-i18n="rl_018">
Innerhalb eines laufenden Projekts können im Kundenportal zusätzlich einzelne Innerhalb eines laufenden Projekts können im Kundenportal zusätzlich einzelne
<strong>Zusatzleistungen verbindlich beauftragt</strong> werden, indem der Auftraggeber ein <strong>Zusatzleistungen verbindlich beauftragt</strong> werden, indem der Auftraggeber ein
dort beziffertes Angebot annimmt. Der Preis und der zusätzliche Zeitbedarf werden vor der dort beziffertes Angebot annimmt. Der Preis und der zusätzliche Zeitbedarf werden vor der
Annahme angezeigt. Annahme angezeigt.
</p> </p>
<h3>3. Leistungsumfang</h3> <h3 data-i18n="rl_019">3. Leistungsumfang</h3>
<p> <p data-i18n="rl_020">
Was zum Projekt gehört, ergibt sich aus dem individuellen Angebot und der Aufgabenliste im Was zum Projekt gehört, ergibt sich aus dem individuellen Angebot und der Aufgabenliste im
Kundenportal. Punkte, die ausdrücklich als <em>nicht enthalten</em> gekennzeichnet sind, Kundenportal. Punkte, die ausdrücklich als <em>nicht enthalten</em> gekennzeichnet sind,
gehören nicht zum Leistungsumfang und werden nur nach gesonderter Beauftragung erbracht. gehören nicht zum Leistungsumfang und werden nur nach gesonderter Beauftragung erbracht.
</p> </p>
<p> <p data-i18n="rl_021">
Der Auftraggeber stellt die benötigten Inhalte (Texte, Bilder, Logos, Zugangsdaten) Der Auftraggeber stellt die benötigten Inhalte (Texte, Bilder, Logos, Zugangsdaten)
rechtzeitig bereit und versichert, dass er über die erforderlichen Rechte daran verfügt. rechtzeitig bereit und versichert, dass er über die erforderlichen Rechte daran verfügt.
Verzögerungen, die daraus entstehen, dass Inhalte fehlen, verschieben vereinbarte Termine Verzögerungen, die daraus entstehen, dass Inhalte fehlen, verschieben vereinbarte Termine
entsprechend. entsprechend.
</p> </p>
<h3>4. Preise, Anzahlung und Zahlung</h3> <h3 data-i18n="rl_022">4. Preise, Anzahlung und Zahlung</h3>
<p> <p data-i18n="rl_023">
Es gilt der im Angebot genannte Preis. Alle Preise sind Endpreise; Mehrwertsteuer wird Es gilt der im Angebot genannte Preis. Alle Preise sind Endpreise; Mehrwertsteuer wird
nach der Kleinunternehmerregelung nicht gesondert ausgewiesen (siehe Impressum). nach der Kleinunternehmerregelung nicht gesondert ausgewiesen (siehe Impressum).
</p> </p>
<p> <p data-i18n="rl_024">
<strong>30 % Anzahlung</strong> werden mit Vertragsschluss fällig und reservieren das <strong>30 % Anzahlung</strong> werden mit Vertragsschluss fällig und reservieren das
Zeitfenster. Der Restbetrag wird nach Abnahme und vor der Veröffentlichung fällig. Zeitfenster. Der Restbetrag wird nach Abnahme und vor der Veröffentlichung fällig.
Zusatzleistungen werden nach Annahme des jeweiligen Angebots abgerechnet. Zusatzleistungen werden nach Annahme des jeweiligen Angebots abgerechnet.
</p> </p>
<h3>5. Mitwirkung, Entwürfe und Abnahme</h3> <h3 data-i18n="rl_025">5. Mitwirkung, Entwürfe und Abnahme</h3>
<p> <p data-i18n="rl_026">
Im Preis enthalten sind die im Angebot genannten Korrekturrunden. Weitergehende Änderungen Im Preis enthalten sind die im Angebot genannten Korrekturrunden. Weitergehende Änderungen
werden vorher beziffert und erst nach Zustimmung ausgeführt. werden vorher beziffert und erst nach Zustimmung ausgeführt.
</p> </p>
<p> <p data-i18n="rl_027">
Nach Fertigstellung prüft der Auftraggeber die Leistung. Die Abnahme erfolgt ausdrücklich Nach Fertigstellung prüft der Auftraggeber die Leistung. Die Abnahme erfolgt ausdrücklich
über das Kundenportal oder in Textform. Nimmt der Auftraggeber die Leistung in Gebrauch, über das Kundenportal oder in Textform. Nimmt der Auftraggeber die Leistung in Gebrauch,
ohne innerhalb von 14 Tagen wesentliche Mängel zu rügen, gilt sie als abgenommen. ohne innerhalb von 14 Tagen wesentliche Mängel zu rügen, gilt sie als abgenommen.
</p> </p>
<h3>6. Nutzungsrechte</h3> <h3 data-i18n="rl_028">6. Nutzungsrechte</h3>
<p> <p data-i18n="rl_029">
Der Auftraggeber erhält mit <strong>vollständiger Bezahlung</strong> das einfache, zeitlich Der Auftraggeber erhält mit <strong>vollständiger Bezahlung</strong> das einfache, zeitlich
und räumlich unbeschränkte Recht, die erstellten Ergebnisse für den vereinbarten Zweck zu und räumlich unbeschränkte Recht, die erstellten Ergebnisse für den vereinbarten Zweck zu
nutzen. Bis zur vollständigen Bezahlung verbleiben alle Rechte beim Anbieter. nutzen. Bis zur vollständigen Bezahlung verbleiben alle Rechte beim Anbieter.
</p> </p>
<p> <p data-i18n="rl_030">
An eingesetzten Fremdbestandteilen (Open-Source-Bibliotheken, Schriften, Bildmaterial) An eingesetzten Fremdbestandteilen (Open-Source-Bibliotheken, Schriften, Bildmaterial)
gelten die jeweiligen Lizenzen der Rechteinhaber. Der Anbieter weist auf Lizenzen hin, die gelten die jeweiligen Lizenzen der Rechteinhaber. Der Anbieter weist auf Lizenzen hin, die
eine eigene Vergütung oder Namensnennung erfordern. eine eigene Vergütung oder Namensnennung erfordern.
</p> </p>
<p> <p data-i18n="rl_031">
Der Anbieter darf das Projekt nur dann als Referenz zeigen, wenn der Auftraggeber dem Der Anbieter darf das Projekt nur dann als Referenz zeigen, wenn der Auftraggeber dem
zugestimmt hat. Die Zustimmung ist jederzeit widerrufbar. zugestimmt hat. Die Zustimmung ist jederzeit widerrufbar.
</p> </p>
<h3>7. Termine</h3> <h3 data-i18n="rl_032">7. Termine</h3>
<p> <p data-i18n="rl_033">
Genannte Termine sind Richtwerte, sofern sie nicht ausdrücklich als verbindlich vereinbart Genannte Termine sind Richtwerte, sofern sie nicht ausdrücklich als verbindlich vereinbart
wurden. Verbindliche Termine setzen voraus, dass die Mitwirkungspflichten aus Ziffer 3 wurden. Verbindliche Termine setzen voraus, dass die Mitwirkungspflichten aus Ziffer 3
rechtzeitig erfüllt werden. rechtzeitig erfüllt werden.
</p> </p>
<h3>8. Laufende Betreuung</h3> <h3 data-i18n="rl_034">8. Laufende Betreuung</h3>
<p> <p data-i18n="rl_035">
Ein Betreuungsvertrag läuft monatlich und ist zum Ende eines Abrechnungsmonats kündbar. Ein Betreuungsvertrag läuft monatlich und ist zum Ende eines Abrechnungsmonats kündbar.
Was er umfasst, steht im jeweiligen Angebot. Hosting- und Domainkosten Dritter sind nicht Was er umfasst, steht im jeweiligen Angebot. Hosting- und Domainkosten Dritter sind nicht
enthalten, sofern nicht ausdrücklich anders vereinbart. enthalten, sofern nicht ausdrücklich anders vereinbart.
</p> </p>
<h3>9. Gewährleistung und Haftung</h3> <h3 data-i18n="rl_036">9. Gewährleistung und Haftung</h3>
<p> <p data-i18n="rl_037">
Es gelten die gesetzlichen Vorschriften. Der Anbieter haftet unbeschränkt bei Vorsatz und Es gelten die gesetzlichen Vorschriften. Der Anbieter haftet unbeschränkt bei Vorsatz und
grober Fahrlässigkeit sowie bei Verletzung von Leben, Körper und Gesundheit. Bei einfacher grober Fahrlässigkeit sowie bei Verletzung von Leben, Körper und Gesundheit. Bei einfacher
Fahrlässigkeit haftet er nur bei Verletzung wesentlicher Vertragspflichten und begrenzt auf Fahrlässigkeit haftet er nur bei Verletzung wesentlicher Vertragspflichten und begrenzt auf
den vertragstypischen, vorhersehbaren Schaden. den vertragstypischen, vorhersehbaren Schaden.
</p> </p>
<p> <p data-i18n="rl_038">
Für Inhalte, die der Auftraggeber beisteuert, ist dieser selbst verantwortlich. Die Für Inhalte, die der Auftraggeber beisteuert, ist dieser selbst verantwortlich. Die
rechtliche Prüfung von Impressum, Datenschutzerklärung und sonstigen Pflichtangaben der rechtliche Prüfung von Impressum, Datenschutzerklärung und sonstigen Pflichtangaben der
erstellten Website ist nicht Teil der Leistung; dafür ist eine fachkundige Stelle erstellten Website ist nicht Teil der Leistung; dafür ist eine fachkundige Stelle
hinzuzuziehen. hinzuzuziehen.
</p> </p>
<h3>10. Widerrufsrecht für Verbraucher</h3> <h3 data-i18n="rl_039">10. Widerrufsrecht für Verbraucher</h3>
<p> <p data-i18n="rl_040">
Verbrauchern steht ein gesetzliches Widerrufsrecht zu. Einzelheiten stehen unter Verbrauchern steht ein gesetzliches Widerrufsrecht zu. Einzelheiten stehen unter
<a href="#widerruf">Widerrufsrecht</a>. Der Widerruf kann jederzeit über die <a href="#widerruf">Widerrufsrecht</a>. Der Widerruf kann jederzeit über die
<a href="/webdesign/widerruf.html">elektronische Widerrufsfunktion</a> erklärt werden. <a href="/webdesign/widerruf.html">elektronische Widerrufsfunktion</a> erklärt werden.
</p> </p>
<h3>11. Anwendbares Recht und Gerichtsstand</h3> <h3 data-i18n="rl_041">11. Anwendbares Recht und Gerichtsstand</h3>
<p> <p data-i18n="rl_042">
Es gilt luxemburgisches Recht unter Ausschluss des UN-Kaufrechts. Gegenüber Verbrauchern Es gilt luxemburgisches Recht unter Ausschluss des UN-Kaufrechts. Gegenüber Verbrauchern
gilt dies nur, soweit dadurch nicht der Schutz entzogen wird, der ihnen durch zwingende gilt dies nur, soweit dadurch nicht der Schutz entzogen wird, der ihnen durch zwingende
Vorschriften des Rechts ihres gewöhnlichen Aufenthaltsstaats gewährt wird (Art. 6 Rom-I-VO). Vorschriften des Rechts ihres gewöhnlichen Aufenthaltsstaats gewährt wird (Art. 6 Rom-I-VO).
</p> </p>
<h3>12. Schlussbestimmungen</h3> <h3 data-i18n="rl_043">12. Schlussbestimmungen</h3>
<p> <p data-i18n="rl_044">
Sollte eine Bestimmung unwirksam sein, bleibt der übrige Vertrag wirksam. Änderungen und Sollte eine Bestimmung unwirksam sein, bleibt der übrige Vertrag wirksam. Änderungen und
Ergänzungen bedürfen der Textform. Ergänzungen bedürfen der Textform.
</p> </p>
</div> </div>
<!-- ================= WIDERRUF ================= --> <!-- ================= WIDERRUF ================= -->
<h2 id="widerruf" class="rl-h2">Widerrufsrecht für Verbraucher</h2> <h2 id="widerruf" class="rl-h2" data-i18n="rl_045">Widerrufsrecht für Verbraucher</h2>
<div class="wd-karte rl-text rl-widerruf"> <div class="wd-karte rl-text rl-widerruf">
<h3>Widerrufsbelehrung</h3> <h3 data-i18n="rl_046">Widerrufsbelehrung</h3>
<p><strong>Widerrufsrecht</strong></p> <p data-i18n="rl_047"><strong>Widerrufsrecht</strong></p>
<p> <p data-i18n="rl_048">
Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu
widerrufen. Die Widerrufsfrist beträgt vierzehn Tage ab dem Tag des Vertragsabschlusses. widerrufen. Die Widerrufsfrist beträgt vierzehn Tage ab dem Tag des Vertragsabschlusses.
</p> </p>
<p> <p data-i18n="rl_049">
Um Ihr Widerrufsrecht auszuüben, müssen Sie mir Um Ihr Widerrufsrecht auszuüben, müssen Sie mir
</p> </p>
<p class="rl-adresse"> <p class="rl-adresse" data-i18n="rl_050">
Filipe Pereira Queiroz<br /> Filipe Pereira Queiroz<br />
3, rue Arthur Thinnes<br /> 3, rue Arthur Thinnes<br />
L-3919 Mondercange, Luxemburg<br /> L-3919 Mondercange, Luxemburg<br />
E-Mail: [email protected] E-Mail: [email protected]
</p> </p>
<p> <p data-i18n="rl_051">
mittels einer eindeutigen Erklärung (z. B. ein mit der Post versandter Brief oder eine mittels einer eindeutigen Erklärung (z. B. ein mit der Post versandter Brief oder eine
E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren. Sie können dafür E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren. Sie können dafür
das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist. das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist.
@@ -237,13 +237,13 @@
<a href="/webdesign/widerruf.html"><strong>elektronische Widerrufsfunktion</strong></a>; <a href="/webdesign/widerruf.html"><strong>elektronische Widerrufsfunktion</strong></a>;
dort erhalten Sie unverzüglich eine Bestätigung über den Eingang. dort erhalten Sie unverzüglich eine Bestätigung über den Eingang.
</p> </p>
<p> <p data-i18n="rl_052">
Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des
Widerrufsrechts vor Ablauf der Widerrufsfrist absenden. Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.
</p> </p>
<p><strong>Folgen des Widerrufs</strong></p> <p data-i18n="rl_053"><strong>Folgen des Widerrufs</strong></p>
<p> <p data-i18n="rl_054">
Wenn Sie diesen Vertrag widerrufen, habe ich Ihnen alle Zahlungen, die ich von Ihnen Wenn Sie diesen Vertrag widerrufen, habe ich Ihnen alle Zahlungen, die ich von Ihnen
erhalten habe, unverzüglich und spätestens binnen vierzehn Tagen ab dem Tag zurückzuzahlen, erhalten habe, unverzüglich und spätestens binnen vierzehn Tagen ab dem Tag zurückzuzahlen,
an dem die Mitteilung über Ihren Widerruf dieses Vertrags bei mir eingegangen ist. Für an dem die Mitteilung über Ihren Widerruf dieses Vertrags bei mir eingegangen ist. Für
@@ -251,7 +251,7 @@
Transaktion eingesetzt haben, es sei denn, mit Ihnen wurde ausdrücklich etwas anderes Transaktion eingesetzt haben, es sei denn, mit Ihnen wurde ausdrücklich etwas anderes
vereinbart; in keinem Fall werden Ihnen wegen dieser Rückzahlung Entgelte berechnet. vereinbart; in keinem Fall werden Ihnen wegen dieser Rückzahlung Entgelte berechnet.
</p> </p>
<p> <p data-i18n="rl_055">
Haben Sie verlangt, dass die Dienstleistung während der Widerrufsfrist beginnen soll, so Haben Sie verlangt, dass die Dienstleistung während der Widerrufsfrist beginnen soll, so
haben Sie mir einen angemessenen Betrag zu zahlen, der dem Anteil der bis zu dem Zeitpunkt, haben Sie mir einen angemessenen Betrag zu zahlen, der dem Anteil der bis zu dem Zeitpunkt,
zu dem Sie mich von der Ausübung des Widerrufsrechts unterrichten, bereits erbrachten zu dem Sie mich von der Ausübung des Widerrufsrechts unterrichten, bereits erbrachten
@@ -259,8 +259,8 @@
entspricht. entspricht.
</p> </p>
<p><strong>Vorzeitiges Erlöschen des Widerrufsrechts</strong></p> <p data-i18n="rl_056"><strong>Vorzeitiges Erlöschen des Widerrufsrechts</strong></p>
<p> <p data-i18n="rl_057">
Ihr Widerrufsrecht erlischt bei einem Vertrag über Dienstleistungen vorzeitig, wenn ich die Ihr Widerrufsrecht erlischt bei einem Vertrag über Dienstleistungen vorzeitig, wenn ich die
Dienstleistung vollständig erbracht habe und mit der Ausführung erst begonnen habe, Dienstleistung vollständig erbracht habe und mit der Ausführung erst begonnen habe,
nachdem Sie dazu Ihre <strong>ausdrückliche Zustimmung</strong> gegeben und gleichzeitig nachdem Sie dazu Ihre <strong>ausdrückliche Zustimmung</strong> gegeben und gleichzeitig
@@ -268,25 +268,25 @@
vollständiger Vertragserfüllung verlieren. vollständiger Vertragserfüllung verlieren.
</p> </p>
<h3>Muster-Widerrufsformular</h3> <h3 data-i18n="rl_058">Muster-Widerrufsformular</h3>
<p class="wd-klein wd-leise"> <p class="wd-klein wd-leise" data-i18n="rl_059">
Wenn Sie den Vertrag widerrufen wollen, füllen Sie bitte dieses Formular aus und senden Wenn Sie den Vertrag widerrufen wollen, füllen Sie bitte dieses Formular aus und senden
Sie es zurück. Sie müssen es nicht verwenden. Sie es zurück. Sie müssen es nicht verwenden.
</p> </p>
<div class="rl-formular"> <div class="rl-formular">
<p>An Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxemburg, <p data-i18n="rl_060">An Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxemburg,
E-Mail: [email protected]</p> E-Mail: [email protected]</p>
<p> <p data-i18n="rl_061">
Hiermit widerrufe(n) ich/wir (*) den von mir/uns (*) abgeschlossenen Vertrag über die Hiermit widerrufe(n) ich/wir (*) den von mir/uns (*) abgeschlossenen Vertrag über die
Erbringung der folgenden Dienstleistung (*): Erbringung der folgenden Dienstleistung (*):
</p> </p>
<p>_______________________________________________</p> <p>_______________________________________________</p>
<p>Bestellt am (*) / erhalten am (*): _______________</p> <p data-i18n="rl_062">Bestellt am (*) / erhalten am (*): _______________</p>
<p>Name des/der Verbraucher(s): _______________</p> <p data-i18n="rl_063">Name des/der Verbraucher(s): _______________</p>
<p>Anschrift des/der Verbraucher(s): _______________</p> <p data-i18n="rl_064">Anschrift des/der Verbraucher(s): _______________</p>
<p>Unterschrift des/der Verbraucher(s) (nur bei Mitteilung auf Papier): _______________</p> <p data-i18n="rl_065">Unterschrift des/der Verbraucher(s) (nur bei Mitteilung auf Papier): _______________</p>
<p>Datum: _______________</p> <p data-i18n="rl_066">Datum: _______________</p>
<p class="wd-klein wd-leise">(*) Unzutreffendes streichen.</p> <p class="wd-klein wd-leise" data-i18n="rl_067">(*) Unzutreffendes streichen.</p>
</div> </div>
<div class="wd-btn-reihe" style="margin-top:1.2rem"> <div class="wd-btn-reihe" style="margin-top:1.2rem">
@@ -295,25 +295,25 @@
</div> </div>
<!-- ================= DATENSCHUTZ ================= --> <!-- ================= DATENSCHUTZ ================= -->
<h2 id="datenschutz" class="rl-h2">Datenschutzerklärung</h2> <h2 id="datenschutz" class="rl-h2" data-i18n="rl_068">Datenschutzerklärung</h2>
<p class="wd-klein wd-leise">Fassung vom 23.08.2026</p> <p class="wd-klein wd-leise" data-i18n="rl_069">Fassung vom 23.08.2026</p>
<div class="wd-karte rl-text"> <div class="wd-karte rl-text">
<h3>1. Verantwortlicher</h3> <h3 data-i18n="rl_070">1. Verantwortlicher</h3>
<p> <p data-i18n="rl_071">
Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxemburg — Filipe Pereira Queiroz, 3, rue Arthur Thinnes, L-3919 Mondercange, Luxemburg —
<a href="mailto:[email protected]">[email protected]</a> <a href="mailto:[email protected]">[email protected]</a>
</p> </p>
<h3>2. Hosting und Server-Protokolle</h3> <h3 data-i18n="rl_072">2. Hosting und Server-Protokolle</h3>
<p> <p data-i18n="rl_073">
Diese Seite läuft auf einem eigenen Server der netcup GmbH (Daimlerstraße 25, 76185 Diese Seite läuft auf einem eigenen Server der netcup GmbH (Daimlerstraße 25, 76185
Karlsruhe, Deutschland) im Rechenzentrum Nürnberg; mit netcup besteht ein Vertrag zur Karlsruhe, Deutschland) im Rechenzentrum Nürnberg; mit netcup besteht ein Vertrag zur
Auftragsverarbeitung. Beim Aufruf verarbeitet der Server technisch notwendige Daten Auftragsverarbeitung. Beim Aufruf verarbeitet der Server technisch notwendige Daten
(IP-Adresse, Zeitstempel, aufgerufene Adresse, Browserkennung) zur Bereitstellung, (IP-Adresse, Zeitstempel, aufgerufene Adresse, Browserkennung) zur Bereitstellung,
Absicherung und Fehlersuche. Absicherung und Fehlersuche.
</p> </p>
<p> <p data-i18n="rl_074">
Vorgeschaltet ist Cloudflare (Cloudflare, Inc., 101 Townsend St, San Francisco, USA) als Vorgeschaltet ist Cloudflare (Cloudflare, Inc., 101 Townsend St, San Francisco, USA) als
Auslieferungsnetz und Schutz vor Überlastungsangriffen. Dabei verarbeitet Cloudflare Auslieferungsnetz und Schutz vor Überlastungsangriffen. Dabei verarbeitet Cloudflare
dieselben technischen Daten; eine Übermittlung in die USA ist nicht ausgeschlossen, dieselben technischen Daten; eine Übermittlung in die USA ist nicht ausgeschlossen,
@@ -321,22 +321,22 @@
Rechtsgrundlage ist jeweils Art. 6 Abs. 1 lit. f DSGVO. Rechtsgrundlage ist jeweils Art. 6 Abs. 1 lit. f DSGVO.
</p> </p>
<h3>3. Zugangsschutz, Cookies und lokaler Speicher</h3> <h3 data-i18n="rl_075">3. Zugangsschutz, Cookies und lokaler Speicher</h3>
<p>Es werden keine Werbe- oder Auswertungs-Cookies eingesetzt. Verwendet werden nur:</p> <p data-i18n="rl_076">Es werden keine Werbe- oder Auswertungs-Cookies eingesetzt. Verwendet werden nur:</p>
<ul> <ul>
<li><code>dogiwd_zugang</code> — signiertes Sitzungs-Cookie der Zugangswand dieses <li data-i18n="rl_077"><code>dogiwd_zugang</code> — signiertes Sitzungs-Cookie der Zugangswand dieses
Bereichs, Art. 6 Abs. 1 lit. f DSGVO.</li> Bereichs, Art. 6 Abs. 1 lit. f DSGVO.</li>
<li><code>dogiwd_rolle</code> — merkt sich nur, welche Ansicht gilt.</li> <li data-i18n="rl_078"><code>dogiwd_rolle</code> — merkt sich nur, welche Ansicht gilt.</li>
<li>Lokaler Browser-Speicher für die Anmeldung im Kundenportal und in der Verwaltung sowie <li data-i18n="rl_079">Lokaler Browser-Speicher für die Anmeldung im Kundenportal und in der Verwaltung sowie
für den Zwischenspeicher des Anfrageformulars. Er verbleibt auf deinem Gerät.</li> für den Zwischenspeicher des Anfrageformulars. Er verbleibt auf deinem Gerät.</li>
</ul> </ul>
<p> <p data-i18n="rl_080">
Der Zwischenspeicher des Anfrageformulars löscht sich nach 30 Tagen selbst und lässt sich Der Zwischenspeicher des Anfrageformulars löscht sich nach 30 Tagen selbst und lässt sich
jederzeit über den Formularschritt „Entwurf verwerfen“ entfernen. jederzeit über den Formularschritt „Entwurf verwerfen“ entfernen.
</p> </p>
<h3>4. Anfrageformular</h3> <h3 data-i18n="rl_081">4. Anfrageformular</h3>
<p> <p data-i18n="rl_082">
Die dort angegebenen Daten (Name, Kontaktmöglichkeit, Angaben zum Vorhaben) werden zur Die dort angegebenen Daten (Name, Kontaktmöglichkeit, Angaben zum Vorhaben) werden zur
Bearbeitung der Anfrage gespeichert. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO Bearbeitung der Anfrage gespeichert. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO
(vorvertragliche Maßnahmen). Zum Schutz vor automatisiertem Missbrauch wird ein (vorvertragliche Maßnahmen). Zum Schutz vor automatisiertem Missbrauch wird ein
@@ -344,57 +344,57 @@
Hashwert lässt sich nicht zurückrechnen. Hashwert lässt sich nicht zurückrechnen.
</p> </p>
<h3>5. Kundenportal</h3> <h3 data-i18n="rl_083">5. Kundenportal</h3>
<p> <p data-i18n="rl_084">
Für den Zugang werden Name, E-Mail-Adresse, ein Passwort (nur als Hashwert gespeichert, Für den Zugang werden Name, E-Mail-Adresse, ein Passwort (nur als Hashwert gespeichert,
im Klartext nicht einsehbar), Projektdaten, Aufgabenstände und Nachrichten verarbeitet. im Klartext nicht einsehbar), Projektdaten, Aufgabenstände und Nachrichten verarbeitet.
Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung). Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung).
</p> </p>
<h3>6. Zahlungen</h3> <h3 data-i18n="rl_085">6. Zahlungen</h3>
<p> <p data-i18n="rl_086">
Zahlungen können über PayPal abgewickelt werden (PayPal (Europe) S.à r.l. et Cie, S.C.A., Zahlungen können über PayPal abgewickelt werden (PayPal (Europe) S.à r.l. et Cie, S.C.A.,
22-24 Boulevard Royal, L-2449 Luxemburg). Dabei übermittelt PayPal die zur Abwicklung 22-24 Boulevard Royal, L-2449 Luxemburg). Dabei übermittelt PayPal die zur Abwicklung
notwendigen Daten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO. Näheres: notwendigen Daten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO. Näheres:
<a href="https://www.paypal.com/de/webapps/mpp/ua/privacy-full" target="_blank" rel="noopener">paypal.com/privacy</a>. <a href="https://www.paypal.com/de/webapps/mpp/ua/privacy-full" target="_blank" rel="noopener">paypal.com/privacy</a>.
</p> </p>
<h3>7. Widerrufe und Zustimmungen</h3> <h3 data-i18n="rl_087">7. Widerrufe und Zustimmungen</h3>
<p> <p data-i18n="rl_088">
Wird ein Widerruf über die elektronische Widerrufsfunktion erklärt, werden die dort Wird ein Widerruf über die elektronische Widerrufsfunktion erklärt, werden die dort
angegebenen Daten sowie der Zeitpunkt gespeichert. Das ist gesetzlich vorgeschrieben angegebenen Daten sowie der Zeitpunkt gespeichert. Das ist gesetzlich vorgeschrieben
(§ 356a BGB verlangt eine Eingangsbestätigung mit Zeitpunkt) und dient dem Nachweis für (§ 356a BGB verlangt eine Eingangsbestätigung mit Zeitpunkt) und dient dem Nachweis für
beide Seiten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. c DSGVO. beide Seiten. Rechtsgrundlage ist Art. 6 Abs. 1 lit. c DSGVO.
</p> </p>
<p> <p data-i18n="rl_089">
Ebenso wird die ausdrückliche Zustimmung zum vorzeitigen Leistungsbeginn samt dem Ebenso wird die ausdrückliche Zustimmung zum vorzeitigen Leistungsbeginn samt dem
angezeigten Wortlaut und einem Zeitstempel gespeichert, weil die Beweislast dafür beim angezeigten Wortlaut und einem Zeitstempel gespeichert, weil die Beweislast dafür beim
Anbieter liegt (§ 356 Abs. 4 BGB). Anbieter liegt (§ 356 Abs. 4 BGB).
</p> </p>
<h3>8. Speicherdauer</h3> <h3 data-i18n="rl_090">8. Speicherdauer</h3>
<p> <p data-i18n="rl_091">
Daten werden gelöscht, sobald der Zweck entfällt und keine gesetzliche Aufbewahrungspflicht Daten werden gelöscht, sobald der Zweck entfällt und keine gesetzliche Aufbewahrungspflicht
entgegensteht. Für Unterlagen mit steuerlicher oder handelsrechtlicher Bedeutung gelten die entgegensteht. Für Unterlagen mit steuerlicher oder handelsrechtlicher Bedeutung gelten die
gesetzlichen Fristen. Widerrufsnachweise werden für die Dauer möglicher Ansprüche gesetzlichen Fristen. Widerrufsnachweise werden für die Dauer möglicher Ansprüche
aufbewahrt. aufbewahrt.
</p> </p>
<h3>9. Deine Rechte</h3> <h3 data-i18n="rl_092">9. Deine Rechte</h3>
<p> <p data-i18n="rl_093">
Du hast das Recht auf Auskunft (Art. 15), Berichtigung (Art. 16), Löschung (Art. 17), Du hast das Recht auf Auskunft (Art. 15), Berichtigung (Art. 16), Löschung (Art. 17),
Einschränkung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch (Art. 21 DSGVO). Einschränkung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch (Art. 21 DSGVO).
Eine erteilte Einwilligung kannst du jederzeit mit Wirkung für die Zukunft widerrufen. Eine erteilte Einwilligung kannst du jederzeit mit Wirkung für die Zukunft widerrufen.
Wende dich dafür an die oben genannte Adresse. Wende dich dafür an die oben genannte Adresse.
</p> </p>
<p> <p data-i18n="rl_094">
Außerdem steht dir ein Beschwerderecht bei einer Aufsichtsbehörde zu, in Luxemburg bei der Außerdem steht dir ein Beschwerderecht bei einer Aufsichtsbehörde zu, in Luxemburg bei der
<a href="https://cnpd.public.lu/" target="_blank" rel="noopener">Commission nationale pour <a href="https://cnpd.public.lu/" target="_blank" rel="noopener">Commission nationale pour
la protection des données (CNPD)</a>, oder bei der Behörde deines Aufenthaltsorts. la protection des données (CNPD)</a>, oder bei der Behörde deines Aufenthaltsorts.
</p> </p>
</div> </div>
<p class="wd-klein wd-leise" style="margin-top:1.6rem"> <p class="wd-klein wd-leise" style="margin-top:1.6rem" data-i18n="rl_095">
Stand: 23.08.2026. Diese Texte werden angepasst, wenn sich Leistungen, Technik oder Stand: 23.08.2026. Diese Texte werden angepasst, wenn sich Leistungen, Technik oder
Rechtslage ändern. Rechtslage ändern.
</p> </p>
@@ -405,6 +405,10 @@
<div id="wd-fuss"></div> <div id="wd-fuss"></div>
<!-- Das Woerterbuch MUSS vor wd-core geladen werden: Der Kern liest
window.I18N_WD beim Uebersetzen, und was noch nicht da ist, kann er
nicht einsetzen. -->
<script src="/assets/js/i18n-wd-rechtliches.js?v=20260825wd51"></script>
<script src="/assets/js/wd-core.js?v=20260823wd20"></script> <script src="/assets/js/wd-core.js?v=20260823wd20"></script>
</body> </body>
</html> </html>
+1 -1
View File
@@ -34,7 +34,7 @@
Start alle alten Zwischenspeicher weg. Muss bei jeder Änderung an den Start alle alten Zwischenspeicher weg. Muss bei jeder Änderung an den
Dateien unten hochgezählt werden, sonst hängen Nutzer auf einem alten Dateien unten hochgezählt werden, sonst hängen Nutzer auf einem alten
Stand fest. */ Stand fest. */
const CACHE_NAME = "dogfather-webdesign-v50"; const CACHE_NAME = "dogfather-webdesign-v51";
/* Bausteine, die die Oberfläche zum Anzeigen braucht. Bewusst KEINE /* Bausteine, die die Oberfläche zum Anzeigen braucht. Bewusst KEINE
HTML-Datei in dieser Liste. */ HTML-Datei in dieser Liste. */