Unify frontend German UI copy

This commit is contained in:
AzuTear
2026-06-17 14:11:30 +02:00
parent 12cf63ef49
commit 6b679937fe
12 changed files with 59 additions and 59 deletions
+12 -12
View File
@@ -43,9 +43,9 @@ async function resolveRiskFlag(riskFlagId: number, status = 'resolved') {
try {
await store.resolveRiskFlag(riskFlagId, status)
adminMessage.value = `Risk Flag ${riskFlagId} wurde als ${status} markiert.`
adminMessage.value = `Risikohinweis ${riskFlagId} wurde aktualisiert.`
} catch (error) {
adminError.value = error instanceof Error ? error.message : 'Risk Flag konnte nicht aktualisiert werden.'
adminError.value = error instanceof Error ? error.message : 'Risikohinweis konnte nicht aktualisiert werden.'
} finally {
riskSaving.value = null
}
@@ -55,7 +55,7 @@ async function resolveRiskFlag(riskFlagId: number, status = 'resolved') {
<template>
<div class="space-y-6">
<AdminPageHeader
eyebrow="Risk & Audit"
eyebrow="Risiko & Audit"
title="Auffaellige Muster und Admin-Aktionen verfolgen"
description="Dieser Bereich trennt operative Risiko-Sichtung von der Nachvollziehbarkeit. So findest du sowohl offene Flags als auch bereits ausgefuehrte Eingriffe deutlich schneller."
/>
@@ -64,7 +64,7 @@ async function resolveRiskFlag(riskFlagId: number, status = 'resolved') {
<Card class="p-7">
<div class="flex items-center justify-between gap-4">
<div>
<h2 class="font-[Cormorant_Garamond] text-4xl text-violet-800">Risk Center</h2>
<h2 class="font-[Cormorant_Garamond] text-4xl text-violet-800">Risikopruefung</h2>
<p class="mt-2 text-sm text-slate-500">Auffaellige Login-, Nominierungs- und Voting-Muster fuer die manuelle Sichtung.</p>
</div>
<span class="text-sm uppercase tracking-[0.2em] text-slate-500">
@@ -84,10 +84,10 @@ async function resolveRiskFlag(riskFlagId: number, status = 'resolved') {
v-model="riskFilter"
type="text"
class="rounded-2xl border border-violet-200 px-4 py-3"
placeholder="Risk Flags nach Typ, User oder IP filtern"
placeholder="Risikohinweise nach Typ, Nutzer oder IP filtern"
/>
<div class="rounded-2xl border border-violet-100 bg-violet-50/60 px-4 py-3 text-sm text-slate-600">
Tipp: Filtere erst auf den Problemtyp und resolve dann nur den geprueften Fall.
Tipp: Filtere erst auf den Problemtyp und markiere dann nur den geprueften Fall.
</div>
</div>
@@ -114,19 +114,19 @@ async function resolveRiskFlag(riskFlagId: number, status = 'resolved') {
<div class="mt-4 flex flex-wrap justify-end gap-3">
<Button :disabled="riskSaving === flag.id" variant="secondary" @click="resolveRiskFlag(flag.id, 'dismissed')">
{{ riskSaving === flag.id ? 'Speichert ...' : 'Dismiss' }}
{{ riskSaving === flag.id ? 'Speichert ...' : 'Verwerfen' }}
</Button>
<Button :disabled="riskSaving === flag.id" @click="resolveRiskFlag(flag.id, 'resolved')">
{{ riskSaving === flag.id ? 'Speichert ...' : 'Resolve' }}
{{ riskSaving === flag.id ? 'Speichert ...' : 'Erledigt markieren' }}
</Button>
</div>
</div>
<p v-if="riskFlags.length === 0" class="rounded-[26px] border border-dashed border-violet-100 px-5 py-6 text-sm text-slate-500">
Keine offenen Risk Flags vorhanden.
Keine offenen Risikohinweise vorhanden.
</p>
<p v-else-if="filteredRiskFlags.length === 0" class="rounded-[26px] border border-dashed border-violet-100 px-5 py-6 text-sm text-slate-500">
Keine Risk Flags passen zum aktuellen Filter.
Keine Risikohinweise passen zum aktuellen Filter.
</p>
</div>
</Card>
@@ -134,7 +134,7 @@ async function resolveRiskFlag(riskFlagId: number, status = 'resolved') {
<Card class="p-7">
<div class="flex items-center justify-between gap-4">
<div>
<h2 class="font-[Cormorant_Garamond] text-4xl text-violet-800">Audit Log</h2>
<h2 class="font-[Cormorant_Garamond] text-4xl text-violet-800">Audit-Protokoll</h2>
<p class="mt-2 text-sm text-slate-500">Nachvollziehbare Admin-Aktionen fuer Kategorie-, Kandidaten- und Review-Aenderungen.</p>
</div>
<span class="text-sm uppercase tracking-[0.2em] text-slate-500">
@@ -147,7 +147,7 @@ async function resolveRiskFlag(riskFlagId: number, status = 'resolved') {
v-model="auditFilter"
type="text"
class="w-full rounded-2xl border border-violet-200 px-4 py-3"
placeholder="Audit-Eintraege nach Aktion, Admin oder Entitaet filtern"
placeholder="Audit-Eintraege nach Aktion, Admin oder Objekt filtern"
/>
</div>