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:
@@ -215,7 +215,7 @@ export default function PlayerDetail() {
|
||||
className="btn btn-small btn-danger"
|
||||
onClick={() => setDialog({ type: 'revert', character })}
|
||||
>
|
||||
Zuruecknehmen
|
||||
Zurücknehmen
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
@@ -254,7 +254,7 @@ export default function PlayerDetail() {
|
||||
)}
|
||||
<p className="muted small">
|
||||
{free
|
||||
? 'Kommt gratis zurueck — kostet kein Guthaben.'
|
||||
? 'Kommt gratis zurück — kostet kein Guthaben.'
|
||||
: 'Reaktivierung kostet ein Redesign- oder CC-Guthaben.'}
|
||||
</p>
|
||||
</div>
|
||||
@@ -363,7 +363,7 @@ export default function PlayerDetail() {
|
||||
<CharacterFormModal
|
||||
title="Neuen CC anlegen"
|
||||
submitLabel="Anlegen"
|
||||
hint="Kostet 1 CC-Guthaben. Kulanz-Guthaben ist dafuer nicht einsetzbar."
|
||||
hint="Kostet 1 CC-Guthaben. Kulanz-Guthaben ist dafür nicht einsetzbar."
|
||||
busy={busy}
|
||||
onClose={() => setDialog({ type: 'none' })}
|
||||
onSubmit={(values) =>
|
||||
@@ -382,7 +382,7 @@ export default function PlayerDetail() {
|
||||
{dialog.type === 'redesign' && (
|
||||
<CharacterFormModal
|
||||
title={`Redesign von "${dialog.character.name}"`}
|
||||
submitLabel="Redesign durchfuehren"
|
||||
submitLabel="Redesign durchführen"
|
||||
hint={`"${dialog.character.name}" wird inaktiv (redesignt), der neue CC tritt an seine Stelle.`}
|
||||
busy={busy}
|
||||
withKind={['REDESIGN_KULANZ', 'REDESIGN_PAID']}
|
||||
@@ -442,9 +442,9 @@ export default function PlayerDetail() {
|
||||
|
||||
{dialog.type === 'revert' && (
|
||||
<ReasonModal
|
||||
title={`"${dialog.character.name}" zuruecknehmen`}
|
||||
hint="Der CC wird geloescht, verbrauchte Guthaben werden zurueckgebucht. Fuer Fehleintraege gedacht."
|
||||
confirmLabel="Zuruecknehmen"
|
||||
title={`"${dialog.character.name}" zurücknehmen`}
|
||||
hint="Der CC wird gelöscht, verbrauchte Guthaben werden zurückgebucht. Für Fehleinträge gedacht."
|
||||
confirmLabel="Zurücknehmen"
|
||||
danger
|
||||
busy={busy}
|
||||
onClose={() => setDialog({ type: 'none' })}
|
||||
@@ -455,7 +455,7 @@ export default function PlayerDetail() {
|
||||
method: 'POST',
|
||||
body: { reason },
|
||||
}),
|
||||
`"${dialog.character.name}" wurde zurueckgenommen.`,
|
||||
`"${dialog.character.name}" wurde zurückgenommen.`,
|
||||
)
|
||||
}
|
||||
/>
|
||||
@@ -562,7 +562,7 @@ function CharacterFormModal({
|
||||
{KIND_LABEL[kind]}
|
||||
<span className={balances[kind] < 1 ? 'neg' : 'muted'}>
|
||||
{' '}
|
||||
({balances[kind]} verfuegbar)
|
||||
({balances[kind]} verfügbar)
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
@@ -627,7 +627,7 @@ function KindChoiceModal({
|
||||
{KIND_LABEL[kind]}
|
||||
<span className={balances[kind] < 1 ? 'neg' : 'muted'}>
|
||||
{' '}
|
||||
({balances[kind]} verfuegbar)
|
||||
({balances[kind]} verfügbar)
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
@@ -639,7 +639,7 @@ function KindChoiceModal({
|
||||
Abbrechen
|
||||
</button>
|
||||
<button type="submit" className="btn btn-primary" disabled={busy}>
|
||||
{busy ? 'Speichere …' : 'Bestaetigen'}
|
||||
{busy ? 'Speichere …' : 'Bestätigen'}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
@@ -670,8 +670,8 @@ function DeactivateModal({
|
||||
}}
|
||||
>
|
||||
<Notice kind="info">
|
||||
Der CC bleibt unveraendert und kommt spaeter in beiden Faellen gratis zurueck. Nur ein
|
||||
Redesign macht ihn kostenpflichtig — das laeuft aber ueber die Redesign-Aktion.
|
||||
Der CC bleibt unverändert und kommt später in beiden Fällen gratis zurück. Nur ein
|
||||
Redesign macht ihn kostenpflichtig — das läuft aber über die Redesign-Aktion.
|
||||
</Notice>
|
||||
|
||||
<div className="radio-group">
|
||||
@@ -683,8 +683,8 @@ function DeactivateModal({
|
||||
onChange={() => setReason('PLAYER_INACTIVITY')}
|
||||
/>
|
||||
<span>
|
||||
<strong>Spieler-Inaktivitaet</strong>
|
||||
<span className="muted"> — vom Server geputzt, weil der Spieler laenger weg war</span>
|
||||
<strong>Spieler-Inaktivität</strong>
|
||||
<span className="muted"> — vom Server geputzt, weil der Spieler länger weg war</span>
|
||||
</span>
|
||||
</label>
|
||||
<label className="radio">
|
||||
@@ -696,7 +696,7 @@ function DeactivateModal({
|
||||
/>
|
||||
<span>
|
||||
<strong>Anderer Grund</strong>
|
||||
<span className="muted"> — etwa eine voruebergehend entfernte Einheit</span>
|
||||
<span className="muted"> — etwa eine vorübergehend entfernte Einheit</span>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
@@ -708,7 +708,7 @@ function DeactivateModal({
|
||||
id="deactivate-note"
|
||||
value={note}
|
||||
onChange={(event) => setNote(event.target.value)}
|
||||
placeholder="z. B. Einheit bis Maerz entfernt"
|
||||
placeholder="z. B. Einheit bis März entfernt"
|
||||
/>
|
||||
|
||||
<div className="form-actions">
|
||||
@@ -753,7 +753,7 @@ function ReasonModal({
|
||||
>
|
||||
<Notice kind={danger ? 'warn' : 'info'}>{hint}</Notice>
|
||||
|
||||
<label htmlFor="reason">Begruendung</label>
|
||||
<label htmlFor="reason">Begründung</label>
|
||||
<input
|
||||
id="reason"
|
||||
value={reason}
|
||||
|
||||
Reference in New Issue
Block a user