Files
yourpart3/frontend/src/i18n/locales/de/admin.json
Torsten Schulz (local) 25b658acce feat(admin): enhance adult verification file handling and localization
- Added a new method in AdminService to resolve adult verification file paths, improving file retrieval logic.
- Updated the AdminVerificationView to display a message when the verification document is missing.
- Localized the missing document message in German, English, and Spanish for better user experience.
2026-03-27 11:08:52 +01:00

435 lines
19 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"admin": {
"interests": {
"title": "[Admin] - Interessen verwalten",
"newinterests": {
"name": "Name des Interesses",
"status": "Freigegeben",
"adultonly": "Nur für Erwachsene",
"translations": "Übersetzungen",
"isactive": "Aktiviert",
"isadult": "Nur für Erwachsene",
"delete": "Löschen"
}
},
"contacts": {
"title": "[Admin] - Kontaktanfragen",
"date": "Datum",
"from": "Absender",
"actions": "Aktionen",
"open": "Bearbeiten",
"finished": "Abschließen"
},
"editcontactrequest": {
"title": "[Admin] - Kontaktanfrage bearbeiten"
},
"user": {
"name": "Benutzername",
"active": "Aktiv",
"blocked": "Gesperrt",
"actions": "Aktionen",
"search": "Suchen"
},
"adultVerification": {
"title": "[Admin] - Erotik-Freigaben",
"intro": "Volljährige Nutzer können den Erotikbereich beantragen. Hier werden Anfragen geprüft und freigegeben oder abgelehnt.",
"username": "Benutzer",
"age": "Alter",
"statusLabel": "Status",
"requestLabel": "Nachweis",
"actions": "Aktionen",
"approve": "Freigeben",
"reject": "Ablehnen",
"resetPending": "Auf Prüfung setzen",
"openDocument": "Dokument ansehen",
"previewTitle": "Nachweis-Vorschau",
"closePreview": "Vorschau schließen",
"previewUnavailable": "Für diesen Dateityp ist hier keine Vorschau verfügbar.",
"documentMissing": "Die Nachweisdatei wurde auf dem Server nicht gefunden.",
"empty": "Keine passenden Anfragen gefunden.",
"loadError": "Die Freigaben konnten nicht geladen werden.",
"updateError": "Der Status konnte nicht geändert werden.",
"documentError": "Das Dokument konnte nicht geöffnet werden.",
"filters": {
"pending": "Offen",
"approved": "Freigegeben",
"rejected": "Abgelehnt",
"all": "Alle"
},
"status": {
"none": "Nicht angefragt",
"pending": "In Prüfung",
"approved": "Freigegeben",
"rejected": "Abgelehnt"
},
"messages": {
"approved": "Freigabe erteilt.",
"rejected": "Freigabe abgelehnt.",
"pending": "Anfrage wieder auf Prüfung gesetzt."
}
},
"eroticModeration": {
"title": "[Admin] - Erotik-Moderation",
"intro": "Gemeldete Erotikbilder und -videos können hier geprüft, verborgen, gelöscht oder gegen den Account eskaliert werden.",
"empty": "Keine passenden Meldungen gefunden.",
"loadError": "Die Meldungen konnten nicht geladen werden.",
"actionError": "Die Moderationsaktion konnte nicht ausgeführt werden.",
"actionSuccess": "Die Moderationsaktion wurde gespeichert.",
"target": "Ziel",
"owner": "Besitzer",
"reporter": "Meldender",
"reason": "Grund",
"statusLabel": "Status",
"meta": "Zeit / Maßnahme",
"actions": "Aktionen",
"image": "Bild",
"video": "Video",
"hidden": "Verborgen",
"preview": "Vorschau",
"previewError": "Die Vorschau konnte nicht geladen werden.",
"dismiss": "Zurückweisen",
"hide": "Verbergen",
"restore": "Wieder freigeben",
"delete": "Löschen",
"blockUploads": "Uploads sperren",
"revokeAccess": "Erotikzugang entziehen",
"notePrompt": "Notiz zur Moderationsentscheidung",
"actionLabels": {
"dismiss": "Zurückgewiesen",
"hide_content": "Verborgen",
"restore_content": "Freigegeben",
"delete_content": "Gelöscht",
"block_uploads": "Uploads gesperrt",
"revoke_access": "Zugang entzogen"
},
"filters": {
"open": "Offen",
"actioned": "Bearbeitet",
"dismissed": "Zurückgewiesen",
"all": "Alle"
},
"status": {
"open": "Offen",
"actioned": "Bearbeitet",
"dismissed": "Zurückgewiesen"
}
},
"rights": {
"add": "Recht hinzufügen",
"select": "Bitte wählen",
"current": "Aktuelle Rechte"
},
"forum": {
"title": "[Admin] - Forum",
"currentForums": "Existierende Foren",
"edit": "Ändern",
"delete": "Löschen",
"createForum": "Anlegen",
"forumName": "Titel",
"create": "Anlegen",
"permissions": {
"label": "Berechtigungen",
"all": "Jeder",
"admin": "Nur Admins",
"teammember": "Nur Teammitglieder",
"user": "Nur bestimmte Benutzer",
"age": "Nur ab Alter 14"
},
"selectPermissions": "Bitte auswählen",
"confirmDeleteMessage": "Soll das Forum wirklich gelöscht werden?",
"confirmDeleteTitle": "Forum löschen"
},
"falukant": {
"edituser": {
"title": "Falukant Benutzer bearbeiten",
"username": "Benutzername",
"characterName": "Charaktername",
"user": "Benutzer",
"success": "Die Änderungen wurden gespeichert.",
"error": "Die Änderungen konnten nicht gespeichert werden.",
"errorLoadingBranches": "Fehler beim Laden der Niederlassungen.",
"errorUpdatingStock": "Fehler beim Aktualisieren des Lagers.",
"stockUpdated": "Lager erfolgreich aktualisiert.",
"search": "Suchen",
"tabs": {
"userdata": "Benutzerdaten",
"branches": "Niederlassungen"
},
"branches": {
"title": "Niederlassungen & Lager",
"noStocks": "Kein Lager vorhanden",
"noBranches": "Keine Niederlassungen gefunden",
"addStock": "Lager hinzufügen",
"stockType": "Lagertyp",
"selectStockType": "Lagertyp auswählen",
"quantity": "Menge",
"allStocksAdded": "Alle verfügbaren Lagertypen sind bereits vorhanden"
},
"errorLoadingStockTypes": "Fehler beim Laden der Lagertypen.",
"errorAddingStock": "Fehler beim Hinzufügen des Lagers.",
"stockAdded": "Lager erfolgreich hinzugefügt.",
"invalidStockData": "Bitte gültige Lagertyp- und Mengenangaben eingeben."
},
"map": {
"title": "Falukant Karten-Editor (Regionen)",
"description": "Zeichne Rechtecke auf der Falukant-Karte und weise sie Städten zu.",
"tabs": {
"regions": "Positionen",
"distances": "Entfernungen"
},
"regionList": "Städte",
"noCoords": "Keine Koordinaten gesetzt",
"currentRect": "Aktuelles Rechteck",
"hintDraw": "Wähle eine Stadt und ziehe mit der Maus ein Rechteck auf der Karte, um die Position festzulegen.",
"saveAll": "Alle geänderten Städte speichern",
"connectionsTitle": "Verbindungen (region_distance)",
"source": "Von",
"target": "Nach",
"selectSource": "Quellstadt wählen",
"selectTarget": "Zielstadt wählen",
"mode": "Transportart",
"modeLand": "Land",
"modeWater": "Wasser",
"modeAir": "Luft",
"distance": "Entfernung",
"saveConnection": "Verbindung speichern",
"pickOnMap": "Auf Karte wählen",
"errorSaveConnection": "Die Verbindung konnte nicht gespeichert werden.",
"errorDeleteConnection": "Die Verbindung konnte nicht gelöscht werden.",
"confirmDeleteConnection": "Verbindung wirklich löschen?"
},
"createNPC": {
"title": "NPCs erstellen",
"region": "Stadt",
"allRegions": "Alle Städte",
"ageRange": "Altersbereich",
"to": "bis",
"years": "Jahre",
"titleRange": "Titel-Bereich",
"count": "Anzahl pro Stadt-Titel-Kombination",
"countHelp": "Diese Anzahl wird für jede Kombination aus gewählter Stadt und Titel erstellt.",
"create": "NPCs erstellen",
"creating": "Erstelle...",
"result": "Ergebnis",
"createdCount": "{count} NPCs wurden erstellt.",
"combinationInfo": "{perCombination} NPCs pro Kombination × {combinations} Kombinationen = {count} NPCs insgesamt",
"age": "Alter",
"errorLoadingRegions": "Fehler beim Laden der Städte.",
"errorLoadingTitles": "Fehler beim Laden der Titel.",
"errorCreating": "Fehler beim Erstellen der NPCs.",
"invalidAgeRange": "Ungültiger Altersbereich.",
"invalidTitleRange": "Ungültiger Titel-Bereich.",
"invalidCount": "Ungültige Anzahl (1-500).",
"progress": "Fortschritt",
"progressDetails": "{current} von {total} NPCs erstellt",
"timeRemainingSeconds": "Verbleibende Zeit: {seconds} Sekunden",
"timeRemainingMinutes": "Verbleibende Zeit: {minutes} Minuten {seconds} Sekunden",
"almostDone": "Fast fertig...",
"jobNotFound": "Job nicht gefunden oder abgelaufen."
}
},
"chatrooms": {
"title": "[Admin] - Chaträume verwalten",
"roomName": "Raumname",
"create": "Chatraum anlegen",
"edit": "Chatraum bearbeiten",
"type": "Typ",
"isPublic": "Öffentlich sichtbar",
"isAdultOnly": "Nur Erotikbereich",
"actions": "Aktionen",
"genderRestriction": {
"show": "Geschlechtsbeschränkung aktivieren",
"label": "Geschlechtsbeschränkung"
},
"minAge": {
"show": "Mindestalter angeben",
"label": "Mindestalter"
},
"maxAge": {
"show": "Höchstalter angeben",
"label": "Höchstalter"
},
"password": {
"show": "Passwortschutz aktivieren",
"label": "Passwort"
},
"friendsOfOwnerOnly": "Nur Freunde des Besitzers",
"requiredUserRight": {
"show": "Benötigtes Benutzerrecht angeben",
"label": "Benötigtes Benutzerrecht"
},
"roomtype": {
"chat": "Reden",
"dice": "Würfeln",
"poker": "Poker",
"hangman": "Hangman"
},
"rights": {
"talk": "Reden",
"scream": "Schreien",
"whisper": "Flüstern",
"start game": "Spiel starten",
"open room": "Raum öffnen",
"systemmessage": "Systemnachricht"
},
"confirmDelete": "Soll dieser Chatraum wirklich gelöscht werden?"
},
"match3": {
"title": "Match3 Level verwalten",
"newLevel": "Neues Level erstellen",
"editLevel": "Level bearbeiten",
"deleteLevel": "Level löschen",
"confirmDelete": "Möchtest du dieses Level wirklich löschen?",
"levelName": "Name",
"levelDescription": "Beschreibung",
"boardWidth": "Breite",
"boardHeight": "Höhe",
"moveLimit": "Zug-Limit",
"levelOrder": "Reihenfolge",
"boardLayout": "Board-Layout",
"tileTypes": "Verfügbare Tile-Typen",
"actions": "Aktionen",
"edit": "Bearbeiten",
"delete": "Löschen",
"save": "Speichern",
"cancel": "Abbrechen",
"update": "Aktualisieren",
"create": "Erstellen",
"boardControls": {
"fillAll": "Alle aktivieren",
"clearAll": "Alle deaktivieren",
"invert": "Invertieren"
},
"loading": "Lade Level...",
"retry": "Erneut versuchen",
"availableLevels": "Verfügbare Level: {count}",
"levelFormat": "Level {number}: {name}",
"levelObjectives": "Level-Objekte",
"objectivesTitle": "Siegvoraussetzungen",
"addObjective": "Objektiv hinzufügen",
"removeObjective": "Entfernen",
"objectiveType": "Typ",
"objectiveTypeScore": "Punkte sammeln",
"objectiveTypeMatches": "Matches machen",
"objectiveTypeMoves": "Züge verwenden",
"objectiveTypeTime": "Zeit einhalten",
"objectiveTypeSpecial": "Spezialziel",
"objectiveOperator": "Operator",
"operatorGreaterEqual": "Größer oder gleich (≥)",
"operatorLessEqual": "Kleiner oder gleich (≤)",
"operatorEqual": "Gleich (=)",
"operatorGreater": "Größer als (>)",
"operatorLess": "Kleiner als (<)",
"objectiveTarget": "Zielwert",
"objectiveTargetPlaceholder": "z.B. 100",
"objectiveOrder": "Reihenfolge",
"objectiveOrderPlaceholder": "1, 2, 3...",
"objectiveDescription": "Beschreibung",
"objectiveDescriptionPlaceholder": "z.B. Sammle 100 Punkte",
"objectiveRequired": "Erforderlich für Level-Abschluss",
"noObjectives": "Keine Siegvoraussetzungen definiert. Klicke auf 'Objektiv hinzufügen' um welche zu erstellen."
},
"userStatistics": {
"title": "[Admin] - Benutzerstatistiken",
"totalUsers": "Gesamtanzahl Benutzer",
"genderDistribution": "Geschlechterverteilung",
"ageDistribution": "Altersverteilung"
},
"taxiTools": {
"title": "Taxi-Tools",
"description": "Verwalte Taxi-Maps, Level und Konfigurationen",
"mapEditor": {
"title": "Map bearbeiten",
"availableMaps": "Verfügbare Maps: {count}",
"newMap": "Neue Map erstellen",
"mapFormat": "{name} (Position: {x},{y})",
"mapName": "Map-Name",
"mapDescription": "Beschreibung",
"mapWidth": "Breite",
"mapHeight": "Höhe",
"tileSize": "Tile-Größe",
"positionX": "X-Position",
"positionY": "Y-Position",
"mapType": "Map-Typ",
"mapLayout": "Map-Layout",
"tilePalette": "Tile-Palette",
"streetNames": "Straßennamen",
"extraElements": "Zusätzliche Elemente",
"streetNameHorizontal": "Straßenname (horizontal)",
"streetNameVertical": "Straßenname (vertikal)",
"continueHorizontal": "In anderer Richtung fortführen (→)",
"continueVertical": "In anderer Richtung fortführen (↓)",
"continueOther": "In anderer Richtung fortführen",
"position": "Position",
"fillAllRoads": "Alle Straßen",
"clearAll": "Alle löschen",
"generateRandom": "Zufällig generieren",
"delete": "Löschen",
"update": "Aktualisieren",
"cancel": "Abbrechen",
"create": "Erstellen",
"createSuccess": "Map wurde erfolgreich erstellt!",
"updateSuccess": "Map wurde erfolgreich aktualisiert!",
"deleteSuccess": "Map wurde erfolgreich gelöscht!"
}
},
"servicesStatus": {
"title": "Service-Status",
"description": "Überwache den Status von Backend, Chat und Daemon",
"status": {
"connected": "Verbunden",
"connecting": "Verbinde...",
"disconnected": "Nicht verbunden",
"error": "Fehler",
"unknown": "Unbekannt"
},
"backend": {
"title": "Backend",
"connected": "Backend-Service ist erreichbar und verbunden"
},
"chat": {
"title": "Chat",
"connected": "Chat-Service ist erreichbar und verbunden"
},
"daemon": {
"title": "Daemon",
"connected": "Daemon-Service ist erreichbar und verbunden",
"connections": {
"title": "Aktive Verbindungen",
"none": "Keine aktiven Verbindungen",
"userId": "Benutzer-ID",
"username": "Benutzername",
"connections": "Verbindungen",
"duration": "Verbindungsdauer",
"lastPong": "Zeit seit letztem Pong",
"pingTimeouts": "Ping-Timeouts",
"pongReceived": "Pong empfangen",
"yes": "Ja",
"no": "Nein",
"notConnected": "Daemon nicht verbunden",
"sendError": "Fehler beim Senden der Anfrage",
"error": "Fehler beim Abrufen der Verbindungen"
},
"websocketLog": {
"title": "WebSocket-Log",
"showLog": "WebSocket-Log anzeigen",
"refresh": "Aktualisieren",
"loading": "Lädt...",
"close": "Schließen",
"entryCount": "{count} Einträge",
"noEntries": "Keine Log-Einträge vorhanden",
"notConnected": "Daemon nicht verbunden",
"sendError": "Fehler beim Senden der Anfrage",
"parseError": "Fehler beim Verarbeiten der Antwort",
"timestamp": "Zeitstempel",
"direction": "Richtung",
"peer": "Peer",
"connUser": "Verbindungs-User",
"targetUser": "Ziel-User",
"event": "Event"
}
}
}
}
}