Umlaute statt Umschreibungen

Oberflaeche, Fehlermeldungen und Kommentare schrieben durchgehend ae, oe, ue
und ss. Dafuer gab es keinen Grund - die Anwendung ist deutschsprachig und
laeuft durchgehend in UTF-8.

Betroffen waren 55 Dateien, darunter alle sichtbaren Texte: Guthaben-Zaehler,
Import, Nutzerverwaltung, Passwortwechsel und die Zwei-Faktor-Einrichtung.

Der Name einer Migration bleibt im README-Beispiel bewusst bei ASCII, weil
daraus ein Verzeichnisname wird.
This commit is contained in:
2026-09-18 16:57:39 +02:00
parent b9364151b0
commit 724f68644b
49 changed files with 256 additions and 254 deletions
+7 -7
View File
@@ -49,7 +49,7 @@ export default function Dashboard() {
try {
setFlagged(await api<UnmatchedOverview>('/api/scrape/unmatched/overview'));
} catch {
// Der Hinweis ist Beiwerk - ein Fehler hier darf die Liste nicht stoeren.
// Der Hinweis ist Beiwerk - ein Fehler hier darf die Liste nicht stören.
}
}, []);
@@ -62,9 +62,9 @@ export default function Dashboard() {
setSyncResult(null);
try {
const result = await api<ScrapeSummary>('/api/scrape/run', { method: 'POST', body: {} });
const parts = [`${result.scannedPlayers} Profile geprueft`];
if (result.newRows > 0) parts.push(`${result.newRows} neue Pakete zur Bestaetigung`);
if (result.unclear > 0) parts.push(`${result.unclear} ungeklaert`);
const parts = [`${result.scannedPlayers} Profile geprüft`];
if (result.newRows > 0) parts.push(`${result.newRows} neue Pakete zur Bestätigung`);
if (result.unclear > 0) parts.push(`${result.unclear} ungeklärt`);
if (result.duplicates > 0) parts.push(`${result.duplicates} schon gebucht`);
if (result.failedPlayers.length > 0) parts.push(`${result.failedPlayers.length} nicht erreichbar`);
setSyncResult(parts.join(', ') + '.');
@@ -76,7 +76,7 @@ export default function Dashboard() {
}
};
// Tippen entprellen, damit nicht jeder Anschlag eine Anfrage ausloest.
// Tippen entprellen, damit nicht jeder Anschlag eine Anfrage auslöst.
useEffect(() => {
const controller = new AbortController();
const timer = setTimeout(() => void load(query, controller.signal), 250);
@@ -119,7 +119,7 @@ export default function Dashboard() {
{flagged.total > 0 && (
<Notice kind="warn">
<strong>
{flagged.total} ungeklaerte {flagged.total === 1 ? 'Eintrag' : 'Eintraege'} bei{' '}
{flagged.total} ungeklärte {flagged.total === 1 ? 'Eintrag' : 'Einträge'} bei{' '}
{flagged.players.length} {flagged.players.length === 1 ? 'Spieler' : 'Spielern'}:
</strong>{' '}
{flagged.players.map((entry, index) => (
@@ -251,7 +251,7 @@ function CreatePlayerModal({ onClose, onCreated }: { onClose: () => void; onCrea
placeholder="76561198... oder STEAM_0:1:..."
/>
<p className="muted small">
Beide Schreibweisen sind moeglich, auch <code className="mono">[U:1:...]</code>.
Beide Schreibweisen sind möglich, auch <code className="mono">[U:1:...]</code>.
Gespeichert wird immer die 64-Bit-Form, damit derselbe Spieler nicht doppelt anlegt.
</p>