screen5: Aus dem Treff wird das Rudel, aus der Zentrale die IrrenAnstalt

Filipe, 22.09.2026: "ersetze die zentrale durch, Die IrrenAnstalt.
genau so geschrieben bitte. und alles was treff heißt oder wo treff
steht soll durch Rudel ersetzt werden bitte."

Die Schreibweise "IrrenAnstalt" mit grossem A in der Mitte ist so
gewollt. Das steht als Hinweis daneben, damit sie beim naechsten Mal
niemand "korrigiert".

WAS UMBENANNT WURDE: alles, was jemand LIEST -- Kachelnamen,
Ueberschriften, Markenzeilen, Saetze, Meldungen, Aufgabenvorlagen.
116 Zeilen in 42 Dateien.

WAS BLEIBT: Adressen (treff-regeln.html), Bezeichner (TREFF_ROLLEN),
Datenbankwerte (bereich = 'treff'), Abfrageteile (b=treff). Eine
Adresse umzubenennen bricht jedes Lesezeichen, und ein Datenbankwert
umzuschreiben waere eine Umstellung ohne Gegenwert. Dieselbe
Entscheidung wie heute frueh bei Dogi-Media, wo material.html auch
material.html geblieben ist.

DREI GRAMMATIKFEHLER IM EIGENEN ENTWURF, alle vor dem Ausliefern
gefunden -- ein blindes Ersetzen reicht hier nicht:

1. "der Treff" ist maennlich, "das Rudel" saechlich. Ohne Tabelle
   waere ueberall "Der Rudel" gestanden. (Und "Treffer" waere zu
   "Rudeler" geworden, "Treffen" zu "Rudelen" -- deshalb greift die
   Regel nur bei Wortgrenze und nie vor einem Kleinbuchstaben.)

2. BINDESTRICH-ZUSAMMENSETZUNGEN. In "der Treff-Chat" gehoert der
   Artikel zu "Chat", nicht zu "Treff". Der erste Durchlauf machte
   daraus "das Rudel-Chat", "das Rudel-Kacheln" und "ein Rudel-Raum".
   Jetzt greift die Artikelregel nur, wenn das Wort allein steht.

3. GESCHUETZTE LEERZEICHEN. In den Markenzeilen steht
   `Der Treff`, damit die zwei Woerter nicht umbrechen. Das
   Muster hat daran vorbeigegriffen: "Der Rudel", auf fuenf
   Seiten. Jetzt wird das Trennzeichen mitgefasst und unveraendert
   wieder eingesetzt.

Gefunden wurden alle drei, weil jede einzelne der 116 Zeilen vor dem
Schreiben als ALT/NEU ausgegeben und gelesen wurde -- und danach
gezielt nach falschen Artikeln gesucht ("den Rudel", "der Rudel",
"einen Rudel"). Uebrig blieben sechs Treffer, und die sind alle
richtig: "einen Rudel-Raum", "der Rudel-Chat", "den Rudel-Regeln" --
Zusammensetzungen, bei denen der Artikel zum letzten Wort gehoert.

UND ZWEI PRUEFUNGEN, die die Umbenennung nicht mitbekommen haetten:
`/Treff/.test(...)` und `/Treff/i.test(...)`. Ein regulaerer Ausdruck
ist keine Zeichenkette -- sie haetten ab sofort nach einem Wort
gesucht, das die Seite nicht mehr sagt, und waeren still rot geworden,
ohne dass etwas kaputt ist.

Geprueft, alle gruen: pruef-treff, pruef-treffchat,
pruef-deutsche-texte, pruef-uebernahme, pruef-crew-adresse,
pruef-willkommen, pruef-wege-nach-draussen, pruef-vorlagen,
pruef-start-ansicht, pruef-struktur.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-22 14:25:56 +02:00
co-authored by Claude Opus 5
parent 091c5f9cd9
commit 25de892fdb
74 changed files with 708 additions and 696 deletions
+4 -4
View File
@@ -72,7 +72,7 @@
};
const BRETT_WORT = {
anschlag: 'Anschlagbrett', ansteht: 'Was ansteht', treff: 'Treff',
anschlag: 'Anschlagbrett', ansteht: 'Was ansteht', treff: 'Rudel',
wunsch: 'Wunschliste', highlight: 'Highlights', regeln: 'Regeln',
mitmachen: 'Mitmachen',
};
@@ -1003,13 +1003,13 @@
}));
}
/* FREIGEBEN. Bei Terminen heisst es "im Treff zeigen", bei
/* FREIGEBEN. Bei Terminen heisst es "im Rudel zeigen", bei
Highlights "freigeben" -- derselbe Vorgang, zwei Woerter,
weil es zwei verschiedene Entscheidungen sind. */
if (bereich === 'ansteht' || bereich === 'highlight') {
const frei = !!e.freigegeben;
const wort = bereich === 'ansteht'
? (frei ? 'nicht mehr zeigen' : 'im Treff zeigen')
? (frei ? 'nicht mehr zeigen' : 'im Rudel zeigen')
: (frei ? 'zurückziehen' : 'freigeben');
if (!frei) {
const m = el('span', 'marke-art marke-art--nur', 'noch nicht sichtbar');
@@ -1083,7 +1083,7 @@
}
/* ---- DAS GESPRAECH (17.09.2026), Stufe 6 des Plans -------------
"Der Treff" war eine Liste aus Karten. Der einzige Bereich, in
"Das Rudel" war eine Liste aus Karten. Der einzige Bereich, in
dem Menschen MITEINANDER reden sollen, zwang sie, nebeneinander
zu reden: Jeder schrieb eine eigene Karte, niemand antwortete
jemandem.
+2 -2
View File
@@ -83,7 +83,7 @@
if (t) t.textContent = r.rolle_name + ' werden';
const m = $('marke-was');
if (m) m.textContent = r.rolle_name + ' werden';
document.title = r.rolle_name + ' werden · Der Treff';
document.title = r.rolle_name + ' werden · Das Rudel';
}
/* ---------------------------------------------------------------
@@ -272,7 +272,7 @@
fertig.append(el('p', 'leise',
'DogFather und die rechte Hand lesen sie – sonst niemand. '
+ 'Du hörst von uns; das kann ein paar Tage dauern.'));
const zurueck = el('a', 'knopf', 'Zurück zum Treff');
const zurueck = el('a', 'knopf', 'Zurück zum Rudel');
zurueck.href = 'bereich.html?b=mitmachen';
fertig.append(zurueck);
fertig.scrollIntoView({ block: 'start', behavior: window.sanft?.() || 'auto' });
+1 -1
View File
@@ -86,7 +86,7 @@
const leer = el('div', 'bw-leer');
leer.append(el('p', 'bw-leer__wort', 'Noch hat sich niemand gemeldet.'));
leer.append(el('p', 'leise',
'Der Weg dorthin steht im Treff unter „Mitmachen“. Wenn dort '
'Der Weg dorthin steht im Rudel unter „Mitmachen“. Wenn dort '
+ 'nichts ankommt, liegt es fast nie an den Leuten, sondern '
+ 'daran, dass niemand weiß, dass es geht – sag es im Stream.'));
liste.append(leer);
+2 -2
View File
@@ -387,7 +387,7 @@
+ ` (noch ${stundenSatz(treffStand.minuten)})`;
} else if (gleich) {
$('nachtruhe-text').textContent =
`In ${stundenSatz(treffStand.minuten)} macht der Treff zu. `
`In ${stundenSatz(treffStand.minuten)} macht das Rudel zu. `
+ `Ab ${String(treffStand.bis).padStart(2, '0')}:00 Uhr geht es weiter.`;
}
@@ -412,7 +412,7 @@
/* DER PLATZHALTER SAGT DEN GRUND. Ein graues Feld ohne Text
sieht aus wie ein Fehler -- und man tippt trotzdem hinein. */
feld.placeholder = zu
? `Der Treff schläft – ab ${String(treffStand.bis).padStart(2, '0')}:00 Uhr wieder`
? `Das Rudel schläft – ab ${String(treffStand.bis).padStart(2, '0')}:00 Uhr wieder`
: 'Nachricht';
}
if (senden) senden.disabled = zu;
+1 -1
View File
@@ -1080,7 +1080,7 @@
/* DER WEG ZURÜCK ZUM TREFF. Dort fällt jemand auf -- das ist
der Anfang der Kette, und ohne ihn beginnt diese Seite im
Nichts. */
const t = el('a', 'schritt schritt--leise', 'Im Treff umsehen');
const t = el('a', 'schritt schritt--leise', 'Im Rudel umsehen');
t.href = 'bereich.html?b=treff';
knoepfe.append(t);
leer.append(knoepfe);
+1 -1
View File
@@ -47,7 +47,7 @@
eine Ansage. */
const BRETTER = [
{ wert: 'highlight', name: 'Highlights', satz: 'Die Videos der Community.' },
{ wert: 'treff', name: 'Der Treff', satz: 'Wenn es eher ein Gesprächsanlass ist.' },
{ wert: 'treff', name: 'Das Rudel', satz: 'Wenn es eher ein Gesprächsanlass ist.' },
{ wert: 'anschlag', name: 'Anschlagbrett', satz: 'Wenn es eine Ansage ist.' },
];
let brett = 'highlight';
+1 -1
View File
@@ -84,7 +84,7 @@
klickt auf das Brett. Eine Vorschau des Textes hier waere eine
zweite Stelle, an der derselbe Beitrag steht. */
const BRETT_NAME = {
anschlag: 'Anschlagbrett', ansteht: 'Was ansteht', treff: 'Der Treff',
anschlag: 'Anschlagbrett', ansteht: 'Was ansteht', treff: 'Das Rudel',
wunsch: 'Wunschliste', highlight: 'Highlights', regeln: 'Regeln & Hilfe',
mitmachen: 'Mitmachen',
};
+2 -2
View File
@@ -48,7 +48,7 @@
if (liste && Array.isArray(r.stufen)) {
const was = {
neu: 'Lesen und bei Wünschen mitstimmen.',
dabei: `Ab ${r.dabei_tage} Tagen: Du kannst im Treff schreiben, `
dabei: `Ab ${r.dabei_tage} Tagen: Du kannst im Rudel schreiben, `
+ 'Wünsche einstellen und dich bei „Mitmachen“ melden.',
stamm: `Ab ${r.stamm_tage} Tagen und ${r.stamm_beitraege} eigenen Beiträgen: `
+ 'Du kannst Clips und Bilder einstellen – sie erscheinen, sobald '
@@ -68,7 +68,7 @@
$('alter').textContent =
`Mindestalter: ${r.mindestalter} Jahre. Wer jünger ist, hat hier nichts `
+ 'verloren – nicht weil wir es kompliziert machen wollen, sondern weil '
+ 'der Treff zu einem Stream für Erwachsene gehört.';
+ 'das Rudel zu einem Stream für Erwachsene gehört.';
}
/* WEN MAN ANSPRICHT -- mit dem Namen aus den Daten.