diff --git a/assets/js/i18n-wd-leistungen.js b/assets/js/i18n-wd-leistungen.js index c2491b36..7056492e 100644 --- a/assets/js/i18n-wd-leistungen.js +++ b/assets/js/i18n-wd-leistungen.js @@ -210,4 +210,82 @@ window.I18N_WD = { fr: "Décris simplement ton projet. Si une formule plus petite suffit, je le dirai — même si cela signifie moins de chiffre d'affaires.", pt: "Descreve simplesmente o teu projeto. Se um pacote menor chegar, eu digo-o — mesmo que isso signifique menos faturação.", }, + + /* ---------- Uebernommen von der frueheren Seite "Preise & Zeit" ---------- + Die Seite wurde am 23.08.2026 entfernt, weil sie dieselben Pakete und + Preise zeigte wie die Leistungen. Diese Texte gehoerten aber zu den + beiden Abschnitten, die es dort ZUSAETZLICH gab und die hierher + umgezogen sind -- ohne sie waeren die Abschnitte einsprachig. */ + pr_hoch_1: { de: "Viele Unterseiten oder viele Produkte", "de-CH": "Viili Undersite oder viili Produkt", en: "Many sub-pages or many products", fr: "Beaucoup de sous-pages ou de produits", pt: "Muitas subpáginas ou muitos produtos" }, + pr_hoch_2: { de: "Zusätzliche Sprachen", "de-CH": "Zuesätzlichi Sprooche", en: "Additional languages", fr: "Langues supplémentaires", pt: "Idiomas adicionais" }, + pr_hoch_3: { de: "Texte und Bilder müssen erst erstellt werden", "de-CH": "Täxt und Bilder mönd zerscht gmacht wärde", en: "Texts and images still have to be created", fr: "Les textes et images doivent encore être créés", pt: "Textos e imagens ainda têm de ser criados" }, + pr_hoch_4: { de: "Anbindung an fremde Systeme (Kasse, Kalender, Warenwirtschaft)", "de-CH": "Aabindig a frömdi Syschtem (Kasse, Kaländer, Warewirtschaft)", en: "Connections to third-party systems (checkout, calendar, inventory)", fr: "Connexions à des systèmes tiers (caisse, agenda, gestion des stocks)", pt: "Ligações a sistemas externos (caixa, calendário, gestão de stock)" }, + pr_hoch_5: { de: "Mehr Feedbackrunden als vereinbart", "de-CH": "Meh Feedbackrunde als vereinbart", en: "More feedback rounds than agreed", fr: "Plus de tours de retours que convenu", pt: "Mais rondas de feedback do que o acordado" }, + pr_hoch_h3: { de: "Macht es teurer und länger", "de-CH": "Macht s tüürer und länger", en: "Makes it more expensive and longer", fr: "Rend le projet plus cher et plus long", pt: "Torna mais caro e mais demorado" }, + pr_keine_zusage_text: { + de: "Die Angaben auf dieser Seite sind Richtwerte, kein Vertrag. Auch das Anfrageformular erzeugt keine verbindliche Zusage. Der Endpreis entsteht ausschließlich durch ein schriftliches Angebot nach Prüfung des tatsächlichen Umfangs.", + "de-CH": "D Aagabe uf dere Site sind Richtwärt, kein Vertrag. Au s Aafrogformular macht kei verbindlichi Zuesag. Dr Ändpriis entstoht uusschliesslich dur es schriftlichs Aagebot nach Prüefig vom tatsächliche Umfang.", + en: "The figures on this page are guide values, not a contract. The enquiry form does not create a binding commitment either. The final price arises exclusively from a written quote after the actual scope has been reviewed.", + fr: "Les indications de cette page sont des valeurs indicatives, pas un contrat. Le formulaire de demande ne crée pas non plus d'engagement ferme. Le prix final résulte exclusivement d'un devis écrit après examen de l'étendue réelle.", + pt: "Os valores nesta página são indicativos, não um contrato. O formulário de pedido também não cria compromisso vinculativo. O preço final resulta exclusivamente de um orçamento escrito após análise do âmbito real.", + }, + pr_keine_zusage_titel: { + de: "Keine automatische Preiszusage", + "de-CH": "Kei automatischi Priiszuesag", + en: "No automatic price commitment", + fr: "Aucun engagement de prix automatique", + pt: "Sem compromisso automático de preço", + }, + pr_runter_1: { de: "Texte, Logo und Bilder liegen fertig vor", "de-CH": "Täxt, Logo und Bilder sind fertig do", en: "Texts, logo and images are ready", fr: "Textes, logo et images sont prêts", pt: "Textos, logótipo e imagens já prontos" }, + pr_runter_2: { de: "Klare Vorstellung vom Ziel der Seite", "de-CH": "Klari Vorstellig vom Ziel vo dr Site", en: "A clear idea of what the site should achieve", fr: "Une idée claire de l'objectif du site", pt: "Uma ideia clara do objetivo do site" }, + pr_runter_3: { de: "Eine Person entscheidet, nicht ein Gremium", "de-CH": "Ei Person entscheidet, nöd es Gremium", en: "One person decides, not a committee", fr: "Une personne décide, pas un comité", pt: "Uma pessoa decide, não um comité" }, + pr_runter_4: { de: "Rückmeldungen gebündelt statt tröpfchenweise", "de-CH": "Rückmäldige bündlet statt tröpfliwiis", en: "Feedback bundled instead of trickling in", fr: "Des retours groupés plutôt qu'au compte-gouttes", pt: "Feedback agrupado em vez de aos poucos" }, + pr_runter_5: { de: "Bestehende Domain und bestehendes Hosting", "de-CH": "Bestehendi Domain und bestehends Hosting", en: "An existing domain and existing hosting", fr: "Un domaine et un hébergement existants", pt: "Domínio e alojamento já existentes" }, + pr_runter_h3: { de: "Macht es günstiger und schneller", "de-CH": "Macht s günschtiger und schnäller", en: "Makes it cheaper and faster", fr: "Rend le projet moins cher et plus rapide", pt: "Torna mais barato e mais rápido" }, + pr_was_h2: { + de: "Was den Preis bewegt", + "de-CH": "Was dä Priis bewegt", + en: "What moves the price", + fr: "Ce qui fait bouger le prix", + pt: "O que faz mexer o preço", + }, + pr_z1_h3: { de: "1. Angebot", "de-CH": "1. Aagebot", en: "1. Quote", fr: "1. Devis", pt: "1. Orçamento" }, + pr_z1_p: { + de: "Nach dem Briefing bekommst du Preis, Umfang und Zeitrahmen schriftlich. Bis dahin entstehen dir keine Kosten.", + "de-CH": "Nach em Briefing überchunnsch Priis, Umfang und Ziitrahme schriftlich. Bis dete entstöhnd dir kei Choschte.", + en: "After the briefing you receive price, scope and timeframe in writing. Up to that point you incur no costs.", + fr: "Après le briefing, tu reçois le prix, l'étendue et le délai par écrit. Jusque-là, aucun frais pour toi.", + pt: "Após o briefing recebes preço, âmbito e prazo por escrito. Até aí não tens custos.", + }, + pr_z2_h3: { de: "2. Anzahlung 30 %", "de-CH": "2. Aazahlig 30 %", en: "2. Deposit 30 %", fr: "2. Acompte 30 %", pt: "2. Sinal 30 %" }, + pr_z2_p: { + de: "Mit der Annahme des Angebots und dem Eingang der Anzahlung wird dein Zeitfenster fest reserviert. Erst dann beginnt die Arbeit.", + "de-CH": "Mit dr Aanahm vom Aagebot und em Iigang vo dr Aazahlig wird dis Ziitfenschter fescht reserviert. Erscht denn foht d Arbet a.", + en: "Accepting the quote and the arrival of the deposit firmly reserve your time slot. Only then does work begin.", + fr: "L'acceptation du devis et la réception de l'acompte réservent fermement ton créneau. Le travail commence seulement ensuite.", + pt: "A aceitação do orçamento e a entrada do sinal reservam firmemente a tua janela. Só então começa o trabalho.", + }, + pr_z3_h3: { de: "3. Restbetrag", "de-CH": "3. Rescht", en: "3. Remaining amount", fr: "3. Solde", pt: "3. Valor restante" }, + pr_z3_p: { + de: "Der Rest wird nach deiner Abnahme fällig, vor der Veröffentlichung. Die Nutzungsrechte gehen mit der vollständigen Bezahlung an dich über.", + "de-CH": "Dr Rescht wird nach dinere Abnahm fällig, vor dr Veröffentlichig. D Nutzigsrächt göhnd mit dr vollständige Zahlig a dich über.", + en: "The remainder is due after your acceptance, before publication. Usage rights transfer to you upon full payment.", + fr: "Le solde est dû après ta validation, avant la mise en ligne. Les droits d'utilisation te sont transférés au paiement intégral.", + pt: "O restante é devido após a tua aceitação, antes da publicação. Os direitos de utilização passam para ti com o pagamento integral.", + }, + pr_z4_h3: { de: "Betreuung", "de-CH": "Betreuig", en: "Support", fr: "Suivi", pt: "Acompanhamento" }, + pr_z4_p: { + de: "Läuft monatlich und ist jederzeit zum Monatsende kündbar. Keine Mindestlaufzeit, keine automatische Verlängerung um ein ganzes Jahr.", + "de-CH": "Lauft monetlich und isch jederziit uf s Monetsänd kündbar. Kei Mindeschtlaufziit, kei automatischi Verlängerig um es ganzes Jahr.", + en: "Runs monthly and can be cancelled at any time to the end of the month. No minimum term, no automatic renewal for a whole year.", + fr: "Mensuel et résiliable à tout moment pour la fin du mois. Pas de durée minimale, pas de reconduction automatique d'un an.", + pt: "É mensal e cancelável a qualquer momento para o fim do mês. Sem prazo mínimo, sem renovação automática por um ano inteiro.", + }, + pr_zahlung_h2: { + de: "Wie bezahlt wird", + "de-CH": "Wie zahlt wird", + en: "How payment works", + fr: "Comment se passe le paiement", + pt: "Como se paga", + }, }; diff --git a/assets/js/i18n-wd-preise.js b/assets/js/i18n-wd-preise.js deleted file mode 100644 index 047fc82d..00000000 --- a/assets/js/i18n-wd-preise.js +++ /dev/null @@ -1,140 +0,0 @@ -/* ===================================================================== - i18n-wd-preise.js — Preise & Zeit (Masterplan S.8) - Die konkreten Beträge und Zeitrahmen stehen NICHT hier, sondern in - wd-core.js — siehe dort den Abschnitt "EINZIGE QUELLE DER WAHRHEIT". - Hier nur die Texte drumherum. - ===================================================================== */ -window.I18N_WD = { - seiten_titel: { - de: "Preise & Zeit — Dogfather Webdesign", - "de-CH": "Priis & Ziit — Dogfather Webdesign", - en: "Pricing & time — Dogfather Web Design", - fr: "Tarifs & délais — Dogfather Web Design", - pt: "Preços & prazos — Dogfather Web Design", - }, - - pr_eyebrow: { de: "Preise & Zeit", "de-CH": "Priis & Ziit", en: "Pricing & time", fr: "Tarifs & délais", pt: "Preços & prazos" }, - pr_h1: { - de: "Was es kostet und wie lange es dauert", - "de-CH": "Was es choschtet und wie lang s duuret", - en: "What it costs and how long it takes", - fr: "Combien ça coûte et combien de temps ça prend", - pt: "Quanto custa e quanto tempo demora", - }, - pr_lead: { - de: "Alle Werte sind transparente Einstiegspunkte. Personalisierung, Funktionsumfang, Materialien und zusätzliche Änderungswünsche können Preis und Dauer verändern.", - "de-CH": "Alli Wärt sind transparänti Iistiegspünkt. Personalisierig, Funktionsumfang, Material und zuesätzlichi Änderigswünsch chönd Priis und Duur verändere.", - en: "All figures are transparent starting points. Personalisation, feature scope, materials and additional change requests can alter price and duration.", - fr: "Tous les montants sont des points de départ transparents. La personnalisation, l'étendue des fonctions, les matériaux et les demandes de modification supplémentaires peuvent modifier le prix et la durée.", - pt: "Todos os valores são pontos de partida transparentes. Personalização, âmbito de funcionalidades, materiais e pedidos de alteração adicionais podem alterar preço e duração.", - }, - - pr_tabelle_titel: { - de: "Alles auf einen Blick", - "de-CH": "Alles uf ei Blick", - en: "Everything at a glance", - fr: "Tout en un coup d'œil", - pt: "Tudo num relance", - }, - pr_sp_paket: { de: "Paket", "de-CH": "Paket", en: "Package", fr: "Formule", pt: "Pacote" }, - pr_sp_preis: { de: "Einstiegspreis", "de-CH": "Iistiegspriis", en: "Starting price", fr: "Prix de départ", pt: "Preço inicial" }, - pr_sp_dauer: { de: "Zeitrahmen", "de-CH": "Ziitrahme", en: "Timeframe", fr: "Délai", pt: "Prazo" }, - pr_sp_fuer: { de: "Gedacht für", "de-CH": "Dänkt für", en: "Intended for", fr: "Destiné à", pt: "Destinado a" }, - - pr_kurz_onepager: { de: "Eine Person, ein Angebot, eine Aktion", "de-CH": "Ei Person, es Aagebot, ei Aktion", en: "One person, one offer, one campaign", fr: "Une personne, une offre, une action", pt: "Uma pessoa, uma oferta, uma ação" }, - pr_kurz_website: { de: "Firmen, Teams, mehrere Themen", "de-CH": "Firme, Teams, mehreri Thema", en: "Companies, teams, several topics", fr: "Entreprises, équipes, plusieurs thèmes", pt: "Empresas, equipas, vários temas" }, - pr_kurz_shop: { de: "Wer wirklich online verkauft", "de-CH": "Wär würklich online verchauft", en: "Anyone genuinely selling online", fr: "Ceux qui vendent vraiment en ligne", pt: "Quem vende mesmo online" }, - pr_kurz_verwaltung: { de: "Belege und Zahlen organisieren", "de-CH": "Bäläg und Zahle organisiere", en: "Organising receipts and figures", fr: "Organiser justificatifs et chiffres", pt: "Organizar comprovativos e números" }, - pr_kurz_betreuung: { de: "Nach der Übergabe weiterlaufen lassen", "de-CH": "Nach dr Übergab wiiterlaufe lo", en: "Keeping things running after handover", fr: "Faire vivre le site après la remise", pt: "Manter tudo a funcionar após a entrega" }, - - pr_was_h2: { - de: "Was den Preis bewegt", - "de-CH": "Was dä Priis bewegt", - en: "What moves the price", - fr: "Ce qui fait bouger le prix", - pt: "O que faz mexer o preço", - }, - pr_hoch_h3: { de: "Macht es teurer und länger", "de-CH": "Macht s tüürer und länger", en: "Makes it more expensive and longer", fr: "Rend le projet plus cher et plus long", pt: "Torna mais caro e mais demorado" }, - pr_hoch_1: { de: "Viele Unterseiten oder viele Produkte", "de-CH": "Viili Undersite oder viili Produkt", en: "Many sub-pages or many products", fr: "Beaucoup de sous-pages ou de produits", pt: "Muitas subpáginas ou muitos produtos" }, - pr_hoch_2: { de: "Zusätzliche Sprachen", "de-CH": "Zuesätzlichi Sprooche", en: "Additional languages", fr: "Langues supplémentaires", pt: "Idiomas adicionais" }, - pr_hoch_3: { de: "Texte und Bilder müssen erst erstellt werden", "de-CH": "Täxt und Bilder mönd zerscht gmacht wärde", en: "Texts and images still have to be created", fr: "Les textes et images doivent encore être créés", pt: "Textos e imagens ainda têm de ser criados" }, - pr_hoch_4: { de: "Anbindung an fremde Systeme (Kasse, Kalender, Warenwirtschaft)", "de-CH": "Aabindig a frömdi Syschtem (Kasse, Kaländer, Warewirtschaft)", en: "Connections to third-party systems (checkout, calendar, inventory)", fr: "Connexions à des systèmes tiers (caisse, agenda, gestion des stocks)", pt: "Ligações a sistemas externos (caixa, calendário, gestão de stock)" }, - pr_hoch_5: { de: "Mehr Feedbackrunden als vereinbart", "de-CH": "Meh Feedbackrunde als vereinbart", en: "More feedback rounds than agreed", fr: "Plus de tours de retours que convenu", pt: "Mais rondas de feedback do que o acordado" }, - - pr_runter_h3: { de: "Macht es günstiger und schneller", "de-CH": "Macht s günschtiger und schnäller", en: "Makes it cheaper and faster", fr: "Rend le projet moins cher et plus rapide", pt: "Torna mais barato e mais rápido" }, - pr_runter_1: { de: "Texte, Logo und Bilder liegen fertig vor", "de-CH": "Täxt, Logo und Bilder sind fertig do", en: "Texts, logo and images are ready", fr: "Textes, logo et images sont prêts", pt: "Textos, logótipo e imagens já prontos" }, - pr_runter_2: { de: "Klare Vorstellung vom Ziel der Seite", "de-CH": "Klari Vorstellig vom Ziel vo dr Site", en: "A clear idea of what the site should achieve", fr: "Une idée claire de l'objectif du site", pt: "Uma ideia clara do objetivo do site" }, - pr_runter_3: { de: "Eine Person entscheidet, nicht ein Gremium", "de-CH": "Ei Person entscheidet, nöd es Gremium", en: "One person decides, not a committee", fr: "Une personne décide, pas un comité", pt: "Uma pessoa decide, não um comité" }, - pr_runter_4: { de: "Rückmeldungen gebündelt statt tröpfchenweise", "de-CH": "Rückmäldige bündlet statt tröpfliwiis", en: "Feedback bundled instead of trickling in", fr: "Des retours groupés plutôt qu'au compte-gouttes", pt: "Feedback agrupado em vez de aos poucos" }, - pr_runter_5: { de: "Bestehende Domain und bestehendes Hosting", "de-CH": "Bestehendi Domain und bestehends Hosting", en: "An existing domain and existing hosting", fr: "Un domaine et un hébergement existants", pt: "Domínio e alojamento já existentes" }, - - pr_zahlung_h2: { - de: "Wie bezahlt wird", - "de-CH": "Wie zahlt wird", - en: "How payment works", - fr: "Comment se passe le paiement", - pt: "Como se paga", - }, - pr_z1_h3: { de: "1. Angebot", "de-CH": "1. Aagebot", en: "1. Quote", fr: "1. Devis", pt: "1. Orçamento" }, - pr_z1_p: { - de: "Nach dem Briefing bekommst du Preis, Umfang und Zeitrahmen schriftlich. Bis dahin entstehen dir keine Kosten.", - "de-CH": "Nach em Briefing überchunnsch Priis, Umfang und Ziitrahme schriftlich. Bis dete entstöhnd dir kei Choschte.", - en: "After the briefing you receive price, scope and timeframe in writing. Up to that point you incur no costs.", - fr: "Après le briefing, tu reçois le prix, l'étendue et le délai par écrit. Jusque-là, aucun frais pour toi.", - pt: "Após o briefing recebes preço, âmbito e prazo por escrito. Até aí não tens custos.", - }, - pr_z2_h3: { de: "2. Anzahlung 30 %", "de-CH": "2. Aazahlig 30 %", en: "2. Deposit 30 %", fr: "2. Acompte 30 %", pt: "2. Sinal 30 %" }, - pr_z2_p: { - de: "Mit der Annahme des Angebots und dem Eingang der Anzahlung wird dein Zeitfenster fest reserviert. Erst dann beginnt die Arbeit.", - "de-CH": "Mit dr Aanahm vom Aagebot und em Iigang vo dr Aazahlig wird dis Ziitfenschter fescht reserviert. Erscht denn foht d Arbet a.", - en: "Accepting the quote and the arrival of the deposit firmly reserve your time slot. Only then does work begin.", - fr: "L'acceptation du devis et la réception de l'acompte réservent fermement ton créneau. Le travail commence seulement ensuite.", - pt: "A aceitação do orçamento e a entrada do sinal reservam firmemente a tua janela. Só então começa o trabalho.", - }, - pr_z3_h3: { de: "3. Restbetrag", "de-CH": "3. Rescht", en: "3. Remaining amount", fr: "3. Solde", pt: "3. Valor restante" }, - pr_z3_p: { - de: "Der Rest wird nach deiner Abnahme fällig, vor der Veröffentlichung. Die Nutzungsrechte gehen mit der vollständigen Bezahlung an dich über.", - "de-CH": "Dr Rescht wird nach dinere Abnahm fällig, vor dr Veröffentlichig. D Nutzigsrächt göhnd mit dr vollständige Zahlig a dich über.", - en: "The remainder is due after your acceptance, before publication. Usage rights transfer to you upon full payment.", - fr: "Le solde est dû après ta validation, avant la mise en ligne. Les droits d'utilisation te sont transférés au paiement intégral.", - pt: "O restante é devido após a tua aceitação, antes da publicação. Os direitos de utilização passam para ti com o pagamento integral.", - }, - pr_z4_h3: { de: "Betreuung", "de-CH": "Betreuig", en: "Support", fr: "Suivi", pt: "Acompanhamento" }, - pr_z4_p: { - de: "Läuft monatlich und ist jederzeit zum Monatsende kündbar. Keine Mindestlaufzeit, keine automatische Verlängerung um ein ganzes Jahr.", - "de-CH": "Lauft monetlich und isch jederziit uf s Monetsänd kündbar. Kei Mindeschtlaufziit, kei automatischi Verlängerig um es ganzes Jahr.", - en: "Runs monthly and can be cancelled at any time to the end of the month. No minimum term, no automatic renewal for a whole year.", - fr: "Mensuel et résiliable à tout moment pour la fin du mois. Pas de durée minimale, pas de reconduction automatique d'un an.", - pt: "É mensal e cancelável a qualquer momento para o fim do mês. Sem prazo mínimo, sem renovação automática por um ano inteiro.", - }, - - pr_keine_zusage_titel: { - de: "Keine automatische Preiszusage", - "de-CH": "Kei automatischi Priiszuesag", - en: "No automatic price commitment", - fr: "Aucun engagement de prix automatique", - pt: "Sem compromisso automático de preço", - }, - pr_keine_zusage_text: { - de: "Die Angaben auf dieser Seite sind Richtwerte, kein Vertrag. Auch das Anfrageformular erzeugt keine verbindliche Zusage. Der Endpreis entsteht ausschließlich durch ein schriftliches Angebot nach Prüfung des tatsächlichen Umfangs.", - "de-CH": "D Aagabe uf dere Site sind Richtwärt, kein Vertrag. Au s Aafrogformular macht kei verbindlichi Zuesag. Dr Ändpriis entstoht uusschliesslich dur es schriftlichs Aagebot nach Prüefig vom tatsächliche Umfang.", - en: "The figures on this page are guide values, not a contract. The enquiry form does not create a binding commitment either. The final price arises exclusively from a written quote after the actual scope has been reviewed.", - fr: "Les indications de cette page sont des valeurs indicatives, pas un contrat. Le formulaire de demande ne crée pas non plus d'engagement ferme. Le prix final résulte exclusivement d'un devis écrit après examen de l'étendue réelle.", - pt: "Os valores nesta página são indicativos, não um contrato. O formulário de pedido também não cria compromisso vinculativo. O preço final resulta exclusivamente de um orçamento escrito após análise do âmbito real.", - }, - - pr_cta_h2: { - de: "Passt das zu deinem Budget?", - "de-CH": "Passt das zu dim Budget?", - en: "Does that fit your budget?", - fr: "Est-ce compatible avec ton budget ?", - pt: "Isto encaixa no teu orçamento?", - }, - pr_cta_p: { - de: "Sag im Formular einfach, welcher Rahmen realistisch ist. Wenn es nicht passt, sage ich das offen — statt ein Angebot zu schreiben, das nachher niemand bezahlen will.", - "de-CH": "Säg im Formular eifach, wele Rahme realistisch isch. Wenn s nöd passt, säg i das offe — statt es Aagebot z schriibe, wo nachher niemert zahle will.", - en: "Just state in the form what range is realistic. If it doesn't fit, I'll say so openly — instead of writing a quote nobody wants to pay afterwards.", - fr: "Indique simplement dans le formulaire la fourchette réaliste. Si cela ne convient pas, je le dirai franchement — plutôt que d'écrire un devis que personne ne voudra payer.", - pt: "Diz simplesmente no formulário que intervalo é realista. Se não encaixar, digo-o abertamente — em vez de escrever um orçamento que depois ninguém quer pagar.", - }, -}; diff --git a/assets/js/wd-core.js b/assets/js/wd-core.js index cafb7bf0..3de353c5 100644 --- a/assets/js/wd-core.js +++ b/assets/js/wd-core.js @@ -335,7 +335,6 @@ var NAV = [ { key: "nav_start", href: "/webdesign/" }, { key: "nav_leistungen", href: "/webdesign/leistungen.html" }, - { key: "nav_preise", href: "/webdesign/preise.html" }, { key: "nav_portfolio", href: "/webdesign/portfolio.html" }, { key: "nav_ablauf", href: "/webdesign/ablauf.html" }, { key: "nav_ueber", href: "/webdesign/ueber.html" }, diff --git a/server/webdesign-gate.js b/server/webdesign-gate.js index f232f06e..768394f9 100644 --- a/server/webdesign-gate.js +++ b/server/webdesign-gate.js @@ -300,6 +300,33 @@ export function webdesignGate(req, res, next) { // Alles außerhalb von /webdesign geht diese Schranke nichts an. if (pfad !== WD_PRAEFIX && !pfad.startsWith(WD_PRAEFIX + "/")) return next(); + /* WEITERLEITUNG DER ENTFERNTEN PREISSEITE (23.08.2026) + + "Preise & Zeit" zeigte dieselben Pakete und Preise wie die + Leistungen. Zwei Orte fuer dieselbe Zahl sind eine Einladung, dass + sie irgendwann auseinanderlaufen -- und dann steht ein falscher + Preis auf der Seite, ohne dass es jemand merkt. + + Die Seite ist weg, aber die Adresse bleibt bedient. Lesezeichen, + alte Links aus Nachrichten und die installierte App zeigen sonst + ins Leere, und ein 404 auf einer Preisseite ist der denkbar + schlechteste erste Eindruck. + + 302 statt 301: Eine dauerhafte Weiterleitung merken sich Browser + hartnaeckig. Sollte die Seite je zurueckkehren, muesste jeder + Besucher seinen Zwischenspeicher leeren. Suchmaschinen spielt das + ohnehin keine Rolle -- der Bereich ist nicht oeffentlich. + + ⚠️ Diese Pruefung steht GANZ VORNE, noch vor der Zugangspruefung. + Weiter unten (bei den ohne Code erreichbaren Seiten) waere sie nur + fuer NICHT angemeldete Besucher gelaufen -- wer angemeldet ist, + passiert die Schranke vorher mit next() und bekaeme einen 404 auf + die geloeschte Datei. Beim ersten Einbau stand sie genau dort. */ + if (pfad === "/webdesign/preise.html") { + return res.redirect(302, "/webdesign/leistungen.html"); + } + + /* Noindex für den GESAMTEN Bereich, unabhängig vom Anmeldezustand (Masterplan S.14: "Noindex, Zugriffsschutz und interne Linksperre bleiben aktiv, bis Dogfather den Launch ausdrücklich bestätigt"). diff --git a/webdesign/ablauf.html b/webdesign/ablauf.html index 1baa40b2..dd1cc3ce 100644 --- a/webdesign/ablauf.html +++ b/webdesign/ablauf.html @@ -13,8 +13,8 @@ - - + + - - - -
- -
- -
-
- Preise & Zeit -

Was es kostet und wie lange es dauert

-

Alle Werte sind transparente Einstiegspunkte. Personalisierung, Funktionsumfang, Materialien und zusätzliche Änderungswünsche können Preis und Dauer verändern.

-
-
- - -
-
-

Alles auf einen Blick

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PaketEinstiegspreisZeitrahmenGedacht für
Onepagerab 300 €ca. 5–10 ArbeitstageEine Person, ein Angebot, eine Aktion
Professionelle Websiteab 500 €ca. 2–4 WochenFirmen, Teams, mehrere Themen
Shop & umfangreiche Websiteab 1.000 €ca. 4–8 WochenWer wirklich online verkauft
Buchhaltungs- & Steuerverwaltungsseitenab 1.500 €ca. 6–12 WochenBelege und Zahlen organisieren
Laufende Betreuungab 49 € / Monat—Nach der Übergabe weiterlaufen lassen
-
-

Personalisierung möglich — verändert Preis und Dauer.

-
-
- - -
-
-

Was den Preis bewegt

-
-
-

Macht es teurer und länger

-
    -
  • Viele Unterseiten oder viele Produkte
  • -
  • Zusätzliche Sprachen
  • -
  • Texte und Bilder müssen erst erstellt werden
  • -
  • Anbindung an fremde Systeme (Kasse, Kalender, Warenwirtschaft)
  • -
  • Mehr Feedbackrunden als vereinbart
  • -
-
-
-

Macht es günstiger und schneller

-
    -
  • Texte, Logo und Bilder liegen fertig vor
  • -
  • Klare Vorstellung vom Ziel der Seite
  • -
  • Eine Person entscheidet, nicht ein Gremium
  • -
  • Rückmeldungen gebündelt statt tröpfchenweise
  • -
  • Bestehende Domain und bestehendes Hosting
  • -
-
-
-
-
- - -
-
-

Wie bezahlt wird

- -
-
-

1. Angebot

-

Nach dem Briefing bekommst du Preis, Umfang und Zeitrahmen schriftlich. Bis dahin entstehen dir keine Kosten.

-
-
-

2. Anzahlung 30 %

-

Mit der Annahme des Angebots und dem Eingang der Anzahlung wird dein Zeitfenster fest reserviert. Erst dann beginnt die Arbeit.

-
-
-

3. Restbetrag

-

Der Rest wird nach deiner Abnahme fällig, vor der Veröffentlichung. Die Nutzungsrechte gehen mit der vollständigen Bezahlung an dich über.

-
-
-

Betreuung

-

Läuft monatlich und ist jederzeit zum Monatsende kündbar. Keine Mindestlaufzeit, keine automatische Verlängerung um ein ganzes Jahr.

-
-
- - -
-

Wichtig: 30 % Anzahlung

-

Der Projektstart wird nach Annahme des schriftlichen Angebots und Eingang einer Anzahlung von 30 % des vereinbarten Gesamtpreises reserviert.

-
- -
-

Keine automatische Preiszusage

-

Die Angaben auf dieser Seite sind Richtwerte, kein Vertrag. Auch das Anfrageformular erzeugt keine verbindliche Zusage. Der Endpreis entsteht ausschließlich durch ein schriftliches Angebot nach Prüfung des tatsächlichen Umfangs.

-
-
-
- -
-
-

Passt das zu deinem Budget?

-

Sag im Formular einfach, welcher Rahmen realistisch ist. Wenn es nicht passt, sage ich das offen — statt ein Angebot zu schreiben, das nachher niemand bezahlen will.

- -
-
- -
- -
- - - - - diff --git a/webdesign/rechtliches.html b/webdesign/rechtliches.html index 286b28da..e83e7c0e 100644 --- a/webdesign/rechtliches.html +++ b/webdesign/rechtliches.html @@ -8,8 +8,8 @@ - - + +
@@ -400,6 +400,6 @@
- + diff --git a/webdesign/sw.js b/webdesign/sw.js index f6fe070a..36b641bb 100644 --- a/webdesign/sw.js +++ b/webdesign/sw.js @@ -34,7 +34,7 @@ Start alle alten Zwischenspeicher weg. Muss bei jeder Änderung an den Dateien unten hochgezählt werden, sonst hängen Nutzer auf einem alten Stand fest. */ -const CACHE_NAME = "dogfather-webdesign-v19"; +const CACHE_NAME = "dogfather-webdesign-v20"; /* Bausteine, die die Oberfläche zum Anzeigen braucht. Bewusst KEINE HTML-Datei in dieser Liste. */ diff --git a/webdesign/ueber.html b/webdesign/ueber.html index 0011b70d..1fc9c610 100644 --- a/webdesign/ueber.html +++ b/webdesign/ueber.html @@ -13,8 +13,8 @@ - - + +