From 55a189e78ef109fb16d27954934aab15e29d7413 Mon Sep 17 00:00:00 2001
From: Matthias Meister
- Projektbrief fuer regionale Unternehmen
+ Projektbrief für regionale Unternehmen
- Ich baue Websites fuer Handwerk, Praxen, Salons und
- Dienstleister aus der Region. Direkt, glaubwuerdig und so
- reduziert, dass der naechste Kontakt naheliegt.
+ Ich baue Websites für Handwerk, Praxen, Salons und
+ Dienstleister aus der Region. Direkt, glaubwürdig und so
+ reduziert, dass der nächste Kontakt naheliegt.
Website ohne Umweg
@@ -79,9 +79,9 @@ const CanvaLanding = () => {
Strategie trifft Umsetzung
- Klarer Auftritt. Harte Kante. Weniger Agenturlaerm. + Klarer Auftritt. Harte Kante. Weniger Agenturlärm.
{ Kontakt (05)- Ein paar Saetze reichen: Was bieten Sie an, was soll die Website + Ein paar Sätze reichen: Was bieten Sie an, was soll die Website leisten, und wann soll sie online sein?
{Noch bevor es um Pakete oder Features geht, soll direkt klar sein, warum diese Zusammenarbeit für regionale Unternehmen greifbar und - verlaesslich wirkt. + verlässlich wirkt.
- Falls noch etwas offen ist, schreiben Sie mir gern ueber das + Falls noch etwas offen ist, schreiben Sie mir gern über das Kontaktformular diff --git a/src/components/feature284.tsx b/src/components/feature284.tsx index 1fc5593..e641086 100644 --- a/src/components/feature284.tsx +++ b/src/components/feature284.tsx @@ -6,35 +6,35 @@ import { cn } from "@/lib/utils"; const featureData = [ { - desc: "Ihre Website erklaert in wenigen Sekunden, fuer wen Sie arbeiten und was Sie konkret anbieten.", + desc: "Ihre Website erklärt in wenigen Sekunden, für wen Sie arbeiten und was Sie konkret anbieten.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img1.jpeg", title: "Klare Positionierung", badgeTitle: "Vorteil 01", gridClass: "md:col-span-1", }, { - desc: "Ein zeitgemaesses Design sorgt fuer einen starken ersten Eindruck und passt zu Ihrem Unternehmen.", + desc: "Ein zeitgemäßes Design sorgt für einen starken ersten Eindruck und passt zu Ihrem Unternehmen.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img7.jpeg", title: "Modernes Erscheinungsbild", badgeTitle: "Vorteil 02", gridClass: "lg:col-span-2", }, { - desc: "Ihre Inhalte funktionieren sauber auf Smartphone, Tablet und Desktop - ohne Umwege fuer Besucher.", + desc: "Ihre Inhalte funktionieren sauber auf Smartphone, Tablet und Desktop - ohne Umwege für Besucher.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img11.jpeg", title: "Mobil optimiert", badgeTitle: "Vorteil 03", gridClass: "md:col-span-1 lg:row-span-2 ", }, { - desc: "Klare Kontaktwege mit gut sichtbaren Handlungsaufforderungen machen den naechsten Schritt leicht.", + desc: "Klare Kontaktwege mit gut sichtbaren Handlungsaufforderungen machen den nächsten Schritt leicht.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img2.jpeg", - title: "Anfragen ohne Huerden", + title: "Anfragen ohne Hürden", badgeTitle: "Vorteil 04", gridClass: "lg:col-span-2", }, { - desc: "Die Seite bleibt wartbar aufgebaut, damit Inhalte spaeter schnell angepasst oder erweitert werden koennen.", + desc: "Die Seite bleibt wartbar aufgebaut, damit Inhalte später schnell angepasst oder erweitert werden können.", img: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/guri3/img4.jpeg", title: "Pflegeleicht aufgebaut", badgeTitle: "Vorteil 05", diff --git a/tests/landing-content.test.mjs b/tests/landing-content.test.mjs index 53e87ef..7067d91 100644 --- a/tests/landing-content.test.mjs +++ b/tests/landing-content.test.mjs @@ -7,7 +7,26 @@ const componentPath = new URL("../src/components/canva-landing.tsx", import.meta test("Canva landing component contains the core brief anchors", async () => { const source = await readFile(componentPath, "utf8"); - for (const phrase of ["Projektbrief", "01", "Website", "Kontakt"]) { + for (const phrase of ["Projektbrief", "01", "Website", "Kontakt", "für", "müssen", "Änderungen"]) { assert.match(source, new RegExp(phrase)); } }); + +test("Canva landing component uses real German umlauts in visible copy", async () => { + const source = await readFile(componentPath, "utf8"); + + for (const asciiFallback of [ + "fuer", + "muessen", + "spaetere", + "Aenderungen", + "glaubwuerdig", + "naechste", + "Agenturlaerm", + "Erzaehlen", + "Saetze", + "Rueckmeldung", + ]) { + assert.doesNotMatch(source, new RegExp(asciiFallback)); + } +});