Anfuehrungszeichen: 199 falsche Schlusszeichen im sichtbaren Text

Deutsch oeffnet mit „ und schliesst mit “. An 199 Stellen, die ein
Mensch liest, stand als Schlusszeichen ein GERADES " -- „Nächstes"
statt „Nächstes“. Auf sechzehn oeffentlichen Seiten, in vierzig
Dateien des Workspace und in zwoelf Servermodulen, die Texte
verschicken.

Auf dem Bildschirm sieht man den Unterschied sofort. Beim Schreiben
nicht: Das gerade " liegt auf der Tastatur, die anderen nicht.

WARUM EIN ERSTER ANLAUF ZURUECKGENOMMEN WURDE

Ein gerades " ist an vielen Stellen SYNTAX und kein Schriftzeichen --
Grenze einer Zeichenkette, Grenze eines HTML-Attributs, Zeichen in
einem regulaeren Ausdruck. Wer stumpf ersetzt, macht aus

    „<a href="https://…                  ein kaputtes Attribut
    /^["'„»\s]+|["'“«.\s]+$/              einen kaputten Ausdruck
    "… nichts „mal " + "eben …"          eine kaputte Zeichenkette

DIE UNTERSCHEIDUNG LAEUFT AN MERKMALEN, NICHT AN EINER LISTE

  < > = dazwischen        -> HTML-Marke oder Attribut
  endet auf Leerzeichen   -> die Zeichenkette hoert hier auf, der
                             Satz geht in der naechsten Zeile weiter.
                             Ein deutsches Schlusszeichen steht NIE
                             hinter einem Leerzeichen.
  Rueckstrich mittendrin  -> regulaerer Ausdruck
  ${ ohne }               -> mitten in einem Ausdruck

Eine Liste erlaubter Ausnahmen waere die naechste, die niemand
pflegt. Zwoelf Stellen bleiben dadurch stehen, alle zwoelf einzeln
angesehen und alle zwoelf zu Recht -- dort steht das richtige
Schlusszeichen ohnehin weiter unten im Satz.

Fuenf davon waren allerdings ECHTE Fehler HINTER dem Link
(`…>HasiDog</a>".`) -- die erste Regel hatte nur das Attribut
gesehen, nicht den Satz danach. Gezielt nachgezogen.

Ein maskiertes `\"` in workspace-vorlagen.js (28 Hooks) wird zu “ --
ohne Rueckstrich, denn “ begrenzt nichts.

KOMMENTARE BLEIBEN, WIE SIE SIND. Dort liest es niemand ausser mir;
eine Wache, die auch Kosmetik anmahnt, wird weggeklickt. Beim ersten
Messen fielen ausserdem acht Stellen aus buehne.html faelschlich an,
weil `/* */` in HTML (in <style> und <script>) nicht ausgeblendet
war -- jetzt schon.

DIE WACHE DAZU

pruef-struktur prueft es ab sofort mit derselben Regel: 322 Dateien
mit sichtbarem Text, 0 Funde, und die zwoelf bewussten Ausnahmen
werden GEZAEHLT und genannt (erlaubt: 12). Eine Ausnahme, die niemand
sieht, waechst -- und irgendwann steht der echte Fall darin.

GEPRUEFT

  pruef-struktur   59 -> 68 Pruefungen, 0 Fehler
  node --check auf allen geaenderten JS-Dateien
  nachgemessen: 199 geaendert, 12 mit Grund stehen geblieben

  gruen geblieben: bewerbung-aufgaben 163, nachwuchs 262,
  reaktion 421, support 63, content 45, terminregel 35, treff 85

  Und nachgesehen, ob eine Pruefung noch die alte Schreibweise
  ERWARTET: 13 Fundstellen, alle dreizehn nur Text in ihrer eigenen
  Ausgabe, keine einzige ein Vergleich mit dem Seitentext.

GEGENPROBE: In reaktion.html ein Schlusszeichen zurueckgedreht ->
„workspace/reaktion.html:546 „Nächstes"", mit Datei und Zeile. Und
die Erkennung einzeln gegen HTML-Attribut, fortgesetzte
Zeichenkette, regulaeren Ausdruck und eingesetzten Wert geprueft.

Stempel gesetzt: workspace 670 Verweise in 45 Dateien, oeffentlich
554 in 48 Seiten.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-10-01 01:56:15 +02:00
co-authored by Claude Opus 5
parent 7dc5356c80
commit 95c4599baa
138 changed files with 1510 additions and 1390 deletions
+6 -6
View File
@@ -154,7 +154,7 @@
abgelehnt: 'Du hast diese Aufgabe abgelehnt. Wenn du sie doch machen willst, sag kurz Bescheid.',
darf_nicht_bewerten:'Rückmeldung geben dürfen nur DogFather und die Hände.',
ungueltige_bewertung:'Diese Rückmeldung kennt das System nicht. Lade die Seite neu.',
text_fehlt: 'Zu „Verbesserungsmöglichkeiten" gehört ein Satz – sonst weiß niemand, was gemeint ist.',
text_fehlt: 'Zu „Verbesserungsmöglichkeiten“ gehört ein Satz – sonst weiß niemand, was gemeint ist.',
text_zu_lang: 'Der Text ist zu lang. Kürze ihn etwas.',
noch_nicht_erledigt:'Rückmeldung gibt es erst, wenn die Aufgabe fertig ist.',
/* 22.09.2026: Seit die Modis sich keine Aufgaben mehr selbst geben,
@@ -217,7 +217,7 @@
+ 'zurückzusetzen würde allen das Video wegnehmen.',
satz_unbekannt:
'Diesen Münzsatz gibt es nicht. Wähl einen aus der Liste — '
+ '„Eigenes Zeichen" geht erst, wenn du eines hochgeladen hast.',
+ '„Eigenes Zeichen“ geht erst, wenn du eines hochgeladen hast.',
person_unbekannt:
'Diese Person gibt es hier nicht. Wähl jemanden aus der Liste '
+ 'oder lass das Feld leer.',
@@ -284,7 +284,7 @@
'Das Bild ist zu groß. Erlaubt sind 3 MB.',
kein_zweites:
'Es liegt kein zweites Video bereit. Trag eins unter „Sendung" ein, '
'Es liegt kein zweites Video bereit. Trag eins unter „Sendung“ ein, '
+ 'dann kannst du hin und her wechseln.',
betrag_unklar:
'Diese Zahl ergibt keinen Sinn. Schreib sie in Dogen, '
@@ -304,7 +304,7 @@
'Diese Maßnahme gibt es nicht. Möglich sind: stumm und aus der Sendung.',
nicht_gegen_team:
'Gegen jemanden aus dem Team geht das hier nicht. '
+ 'Wenn wirklich etwas ist, gehört das zu „Personen & Zugänge".',
+ 'Wenn wirklich etwas ist, gehört das zu „Personen & Zugänge“.',
dauer_unklar:
'Eine Stummschaltung geht höchstens eine Stunde. '
+ 'Für länger nimm die Maßnahmen im Treff – die haben eine Begründung und eine Frist.',
@@ -355,7 +355,7 @@
kein_block: 'Diesen Bereich gibt es nicht mehr. Lade die Seite neu.',
kein_hakt:
'Daraus lässt sich kein Schritt machen – dafür müsste der Punkt auf '
+ '„Da hakt es" stehen.',
+ '„Da hakt es“ stehen.',
/* ---- Erst das andere zu Ende -------------------------------- */
uebergang_offen:
@@ -387,7 +387,7 @@
'Da war jemand schneller – das ist schon vergeben. Such dir ein '
+ 'anderes aus, damit nichts zweimal gepostet wird.',
nicht_genommen:
'Dieses Bild gehört dir nicht. Nimm dir eines aus „Zum Mitnehmen", '
'Dieses Bild gehört dir nicht. Nimm dir eines aus „Zum Mitnehmen“, '
+ 'dann kannst du es laden.',
art_nicht_erlaubt:
'Das geht hier nicht – es nimmt nur Bilder (JPG, PNG, WebP, GIF, '