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:
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user