{ "common": { "appName": "HexaHost GameCloud", "login": "Anmelden", "register": "Registrieren", "dashboard": "Dashboard", "logout": "Abmelden", "theme": "Design", "themeLight": "Hell", "themeDark": "Dunkel", "themeSystem": "System", "language": "Sprache", "loading": "Wird geladen…", "submit": "Absenden", "cancel": "Abbrechen", "back": "Zurück", "footer": "Selbstgehostete Minecraft-Server-Plattform.", "servers": "Server", "features": "Funktionen", "pricing": "Preise", "docs": "Dokumentation", "status": "Status", "impressum": "Impressum", "privacy": "Datenschutz", "terms": "AGB", "admin": "Admin", "phaseBadge": "MVP · Phasen 0–9" }, "landing": { "badge": "MVP · Phase 9 abgeschlossen", "title": "Minecraft-Server on demand", "subtitle": "Erstellen, konfigurieren und betreiben Sie Minecraft-Server über ein zentrales Webpanel — mandantenfähig, skalierbar und produktionsbereit.", "ctaPrimary": "Jetzt starten", "ctaSecondary": "Anmelden", "features": { "control": { "title": "Zentrale Steuerung", "description": "Server-Lifecycle, Quotas und Scheduling über eine einheitliche Control Plane." }, "nodes": { "title": "Multi-Node", "description": "Horizontale Skalierung über dedizierte Game-Nodes mit Agent-basierter Orchestrierung." }, "security": { "title": "Enterprise-Sicherheit", "description": "mTLS, granulare Berechtigungen und auditierbare Zustandsübergänge von Anfang an." } } }, "auth": { "loginTitle": "Anmelden", "loginSubtitle": "Melden Sie sich mit Ihrem Konto an.", "registerTitle": "Konto erstellen", "registerSubtitle": "Registrieren Sie sich für die Plattform.", "email": "E-Mail", "emailPlaceholder": "name@beispiel.de", "username": "Benutzername", "usernamePlaceholder": "spieler123", "displayName": "Anzeigename", "displayNamePlaceholder": "Ihr Name", "optional": "optional", "password": "Passwort", "passwordPlaceholder": "••••••••", "confirmPassword": "Passwort bestätigen", "noAccount": "Noch kein Konto?", "hasAccount": "Bereits registriert?", "forgotPasswordLink": "Passwort vergessen?", "forgotPasswordTitle": "Passwort zurücksetzen", "forgotPasswordSubtitle": "Geben Sie Ihre E-Mail-Adresse ein. Wir senden Ihnen einen Link zum Zurücksetzen.", "forgotPasswordSubmit": "Link senden", "forgotPasswordSent": "Falls ein Konto mit dieser E-Mail existiert, erhalten Sie in Kürze einen Link.", "resetPasswordTitle": "Neues Passwort festlegen", "resetPasswordSubtitle": "Wählen Sie ein neues Passwort für Ihr Konto.", "resetPasswordSubmit": "Passwort aktualisieren", "resetPasswordMissingToken": "Dieser Link ist ungültig oder abgelaufen.", "verifyEmailTitle": "E-Mail-Verifizierung", "verifyEmailSent": "Registrierung erfolgreich. Bitte prüfen Sie Ihren Posteingang und klicken Sie auf den Verifizierungslink.", "verifyEmailLoading": "E-Mail-Adresse wird verifiziert…", "verifyEmailSuccess": "Ihre E-Mail-Adresse wurde verifiziert. Sie können sich jetzt anmelden.", "verifyEmailError": "Verifizierung fehlgeschlagen. Der Link ist möglicherweise ungültig oder abgelaufen.", "verifyEmailMissingToken": "Kein Verifizierungstoken angegeben.", "twoFactorTitle": "Zwei-Faktor-Authentifizierung", "twoFactorSubtitle": "Geben Sie den 6-stelligen Code aus Ihrer Authenticator-App ein.", "twoFactorCode": "Authentifizierungscode", "twoFactorSubmit": "Bestätigen", "twoFactorMissingChallenge": "Keine Anmelde-Challenge gefunden. Bitte melden Sie sich erneut an.", "twoFactorSetupTitle": "Zwei-Faktor-Authentifizierung", "twoFactorSetupDescription": "Schützen Sie Ihr Konto mit zusätzlicher TOTP-Sicherheit.", "twoFactorSetupStart": "2FA einrichten", "twoFactorScanQr": "Scannen Sie diesen QR-Code mit Ihrer Authenticator-App und geben Sie den Code ein.", "twoFactorQrAlt": "QR-Code für Authenticator-Einrichtung", "twoFactorConfirm": "2FA aktivieren", "twoFactorEnabled": "Zwei-Faktor-Authentifizierung ist für Ihr Konto aktiviert.", "recoveryCodesTitle": "Wiederherstellungscodes — sicher aufbewahren", "securityTitle": "Sicherheit", "securitySubtitle": "Authentifizierung und Sicherheitseinstellungen Ihres Kontos verwalten.", "backToLogin": "Zurück zur Anmeldung", "ssoTitle": "Anmeldung wird vorbereitet", "ssoLoading": "Sicherer Anmeldelink wird geprüft…", "ssoError": "Anmeldung fehlgeschlagen. Der Link ist abgelaufen oder wurde bereits verwendet.", "ssoMissingTicket": "Es wurde kein Anmeldeticket übergeben.", "impersonationBanner": "Support-Sitzung aktiv: {label}", "impersonationDefaultLabel": "WHMCS-Admin-Impersonation", "sessionNone": "Sitzung: keine", "errors": { "generic": "Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut." } }, "dashboard": { "title": "Dashboard", "welcome": "Willkommen in Ihrem Kontrollbereich.", "servers": "Server", "serversEmpty": "Noch keine Server", "serversEmptyDescription": "Erstellen Sie Ihren ersten Minecraft-Server, um loszulegen.", "createServer": "Server erstellen", "status": "Status", "resources": "Ressourcen", "activity": "Aktivität", "activityEmpty": "Keine aktuellen Ereignisse", "controlPlaneOnline": "Control Plane · Online", "activeServers": "Aktive Server", "resourcesSubtitle": "Zugewiesen / Kontingent", "allocatedRam": "Zugewiesener RAM", "activitySubtitle": "Übersicht", "totalServers": "Server gesamt", "credits": "Credits", "creditsSubtitle": "Laufzeit-Guthaben", "creditsRemaining": "Verbleibende Credits", "viewAllServers": "Alle Server anzeigen", "serversSummary": "Server in Ihrem Konto" }, "validation": { "emailRequired": "E-Mail ist erforderlich", "emailInvalid": "Ungültige E-Mail-Adresse", "passwordRequired": "Passwort ist erforderlich", "passwordMin": "Passwort muss mindestens 8 Zeichen haben", "confirmPasswordRequired": "Passwortbestätigung ist erforderlich", "passwordMismatch": "Passwörter stimmen nicht überein", "usernameInvalid": "Benutzername: 3–32 Zeichen (Buchstaben, Zahlen, _ und -)", "codeRequired": "Authentifizierungscode ist erforderlich", "codeInvalid": "Geben Sie einen gültigen 6-stelligen Code ein", "serverNameRequired": "Servername ist erforderlich", "serverNameMax": "Servername darf höchstens 64 Zeichen lang sein", "planRequired": "Bitte wählen Sie einen Tarif", "planInvalid": "Ungültiger Tarif ausgewählt", "versionRequired": "Minecraft-Version ist erforderlich", "softwareRequired": "Software-Familie ist erforderlich", "eulaRequired": "Sie müssen die Minecraft-EULA akzeptieren", "motdMax": "MOTD darf höchstens 256 Zeichen lang sein", "maxPlayersMin": "Mindestens 1 Spieler erforderlich", "maxPlayersMax": "Höchstens 200 Spieler erlaubt" }, "servers": { "title": "Server", "subtitle": "Verwalten Sie Ihre Minecraft-Server.", "create": "Server erstellen", "createTitle": "Neuer Server", "createDescription": "Konfigurieren und provisionieren Sie einen neuen Minecraft-Server.", "name": "Servername", "plan": "Tarif", "selectPlan": "Tarif auswählen", "noPlans": "Keine Tarife verfügbar. Bitten Sie einen Administrator, einen Tarif anzulegen.", "software": "Software", "version": "Minecraft-Version", "eula": "Ich akzeptiere die Minecraft End User License Agreement (EULA).", "loading": "Wird geladen…", "cancel": "Abbrechen", "emptyTitle": "Noch keine Server", "emptyDescription": "Erstellen Sie Ihren ersten Server, um zu spielen.", "address": "Adresse", "addressPending": "Zuweisung ausstehend", "ram": "RAM", "start": "Starten", "stop": "Stoppen", "idleCountdown": "Auto-Stop in {seconds}s (keine Spieler)", "details": "Details", "detailSubtitle": "Serverdetails und Lifecycle-Steuerung", "backToList": "Zurück zur Serverliste", "retry": "Erneut versuchen", "status": { "DRAFT": "Entwurf", "PROVISIONING": "Provisionierung", "INSTALLING": "Installation", "STOPPED": "Gestoppt", "QUEUED": "In Warteschlange", "STARTING": "Startet", "RUNNING": "Läuft", "STOPPING": "Stoppt", "UNKNOWN": "Unbekannt", "ERROR": "Fehler", "DELETING": "Wird gelöscht", "DELETED": "Gelöscht" }, "softwareOptions": { "VANILLA": "Vanilla", "PAPER": "Paper", "PURPUR": "Purpur", "FABRIC": "Fabric", "FORGE": "Forge", "NEOFORGE": "NeoForge", "QUILT": "Quilt", "BEDROCK_DEDICATED": "Bedrock Dedicated" }, "errors": { "generic": "Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut.", "loadFailed": "Server konnten nicht geladen werden." }, "tabs": { "navigation": "Server-Bereiche", "overview": "Übersicht", "console": "Konsole", "files": "Dateien", "properties": "Eigenschaften", "players": "Spieler", "worlds": "Welten", "backups": "Backups", "addons": "Add-ons", "software": "Software", "schedules": "Zeitpläne", "access": "Zugriffe" }, "wizard": { "stepsLabel": "Erstellungsschritte", "steps": { "basics": "Grundlagen", "software": "Software", "review": "Prüfen" }, "next": "Weiter", "back": "Zurück" }, "software": { "title": "Software", "description": "Installierte Server-Software und Version.", "loading": "Wird geladen…", "loadError": "Software-Informationen konnten nicht geladen werden.", "family": "Software-Familie", "version": "Minecraft-Version", "edition": "Edition", "changeHint": "Software-Wechsel wird in einer zukünftigen Version unterstützt.", "reinstall": "Software neu installieren", "reinstalling": "Wird neu installiert…", "reinstallConfirm": "Server-Software wirklich neu installieren? Zuerst wird ein Backup erstellt.", "reinstallStarted": "Neuinstallation gestartet. Der Server ist während der Installation nicht verfügbar.", "reinstallError": "Neuinstallation konnte nicht gestartet werden.", "reinstallStoppedHint": "Stoppen Sie den Server, bevor Sie die Software neu installieren." }, "console": { "loading": "Wird geladen…", "notRunning": "Die Konsole ist nur verfügbar, wenn der Server läuft. Starten Sie den Server über die Übersicht.", "connecting": "Verbindung wird hergestellt…", "connected": "Verbunden", "disconnected": "Getrennt", "clear": "Log leeren", "commandPlaceholder": "Serverbefehl eingeben…", "send": "Senden", "errors": { "connectionFailed": "Verbindung zur Konsole fehlgeschlagen." } }, "files": { "loading": "Wird geladen…", "browser": "Dateibrowser", "editor": "Editor", "up": "Hoch", "empty": "Dieses Verzeichnis ist leer.", "selectFile": "Wählen Sie eine Datei zum Anzeigen oder Bearbeiten.", "readOnlyStopped": "Schreibgeschützt, solange der Server gestoppt ist.", "notAvailable": "Dateien sind nur verfügbar, wenn der Server läuft oder gestoppt ist.", "truncated": "Datei wurde zur Anzeige gekürzt. Bearbeiten Sie mit Vorsicht.", "save": "Speichern", "saving": "Wird gespeichert…", "saved": "Datei gespeichert.", "upload": "Hochladen", "uploading": "Wird hochgeladen…", "uploaded": "Datei hochgeladen.", "delete": "Löschen", "deleted": "Gelöscht.", "deleteConfirm": "{name} wirklich löschen?", "archive": "Auswahl archivieren", "archiving": "Wird archiviert…", "archived": "Archiv erstellt.", "unarchive": "Archiv entpacken", "unarchiving": "Wird entpackt…", "unarchived": "Archiv-Entpackung gestartet.", "unarchiveConfirm": "{name} ins aktuelle Verzeichnis entpacken?", "errors": { "loadFailed": "Verzeichnis konnte nicht geladen werden.", "readFailed": "Datei konnte nicht gelesen werden.", "saveFailed": "Datei konnte nicht gespeichert werden.", "deleteFailed": "Datei konnte nicht gelöscht werden.", "uploadFailed": "Datei konnte nicht hochgeladen werden.", "archiveFailed": "Archiv konnte nicht erstellt werden.", "unarchiveFailed": "Archiv konnte nicht entpackt werden." } }, "properties": { "title": "Server-Eigenschaften", "description": "Bearbeiten Sie gängige server.properties-Einstellungen. Unbekannte Eigenschaften bleiben auf dem Server erhalten.", "loading": "Wird geladen…", "motd": "MOTD", "gamemode": "Spielmodus", "difficulty": "Schwierigkeit", "maxPlayers": "Max. Spieler", "pvp": "PVP", "whitelist": "Whitelist", "hardcore": "Hardcore", "onlineMode": "Online-Modus", "enableCommandBlock": "Befehlsblöcke", "allowFlight": "Fliegen erlauben", "viewDistance": "Sichtweite", "simulationDistance": "Simulationsdistanz", "spawnProtection": "Spawn-Schutz", "save": "Änderungen speichern", "saving": "Wird gespeichert…", "saved": "Eigenschaften gespeichert.", "gamemodes": { "survival": "Überleben", "creative": "Kreativ", "adventure": "Abenteuer", "spectator": "Zuschauer" }, "difficulties": { "peaceful": "Friedlich", "easy": "Einfach", "normal": "Normal", "hard": "Schwer" }, "errors": { "loadFailed": "Server-Eigenschaften konnten nicht geladen werden.", "saveFailed": "Server-Eigenschaften konnten nicht gespeichert werden." } }, "players": { "loading": "Wird geladen…", "onlineCount": "Spieler online", "whitelistCount": "Whitelist-Einträge", "operatorsCount": "Operatoren", "onlineTitle": "Spieler online", "whitelistTitle": "Whitelist", "operatorsTitle": "Operatoren", "bansTitle": "Gebannte Spieler", "bansEmpty": "Keine gebannten Spieler.", "empty": "Keine Spieler online.", "retry": "Erneut versuchen", "kick": "Kicken", "addWhitelist": "Zur Whitelist hinzufügen", "addOperator": "Operator hinzufügen", "addBan": "Spieler bannen", "remove": "Entfernen", "fields": { "name": "Spielername", "uuid": "UUID", "reason": "Grund" }, "columns": { "name": "Spieler", "ping": "Ping", "actions": "Aktionen" }, "errors": { "loadFailed": "Spielerliste konnte nicht geladen werden.", "actionFailed": "Aktion fehlgeschlagen." } }, "worlds": { "loading": "Wird geladen…", "loadError": "Weltinformationen konnten nicht geladen werden.", "activeWorld": "Aktive Welt: {name}", "stoppedHint": "Upload und Ersetzen erfordern einen gestoppten Server.", "worldName": "Weltname", "uploadArchive": "Welt-Archiv (.tar.gz)", "uploadError": "Welt-Upload fehlgeschlagen.", "download": "Welt herunterladen", "downloadError": "Download konnte nicht gestartet werden.", "downloadPending": "Backup wird erstellt. Versuchen Sie den Download in Kürze erneut.", "empty": "Keine Welten gefunden.", "validWorld": "Gültige Welt", "invalidWorld": "Ungültig", "active": "Aktiv" }, "backups": { "loading": "Wird geladen…", "loadError": "Backups konnten nicht geladen werden.", "create": "Backup erstellen", "manualLabel": "Manuelles Backup", "createError": "Backup konnte nicht erstellt werden.", "download": "Download", "downloadError": "Download-URL konnte nicht erstellt werden.", "restore": "Wiederherstellen", "restoreConfirm": "Welt wirklich aus diesem Backup wiederherstellen? Der Server muss gestoppt sein.", "restoreError": "Wiederherstellung fehlgeschlagen.", "delete": "Löschen", "deleteConfirm": "Backup wirklich löschen?", "deleteError": "Backup konnte nicht gelöscht werden.", "enableSchedule": "Geplante Backups aktivieren", "disableSchedule": "Geplante Backups deaktivieren", "scheduleError": "Zeitplan konnte nicht aktualisiert werden.", "scheduleInfo": "Intervall: alle {hours}h · Aufbewahrung: {retention} Backups", "label": "Bezeichnung", "status": "Status", "size": "Größe", "created": "Erstellt", "actions": "Aktionen", "empty": "Noch keine Backups vorhanden." }, "addons": { "loading": "Wird geladen…", "unsupported": "Add-ons werden für diese Server-Software noch nicht unterstützt. Verwenden Sie Paper oder Fabric.", "stoppedHint": "Add-ons können nur installiert oder entfernt werden, wenn der Server gestoppt ist.", "searchPlaceholder": "Modrinth durchsuchen…", "search": "Suchen", "searchError": "Katalogsuche fehlgeschlagen.", "versionsError": "Versionen konnten nicht geladen werden.", "installError": "Installation fehlgeschlagen.", "removeError": "Entfernen fehlgeschlagen.", "select": "Versionen", "compatibleVersions": "Kompatible Versionen für {name}", "install": "Installieren", "remove": "Entfernen", "installed": "Installiert", "empty": "Noch keine Add-ons installiert." }, "schedules": { "title": "Zeitpläne", "description": "Geplante Start-, Stopp- und Wartungsaktionen.", "loading": "Wird geladen…", "empty": "Noch keine Zeitpläne vorhanden.", "create": "Zeitplan erstellen", "edit": "Bearbeiten", "save": "Änderungen speichern", "cancel": "Abbrechen", "delete": "Löschen", "enable": "Aktivieren", "disable": "Deaktivieren", "saving": "Wird gespeichert…", "deleteConfirm": "Zeitplan \"{name}\" wirklich löschen?", "fields": { "name": "Name", "cron": "Cron-Ausdruck", "timezone": "Zeitzone", "taskType": "Aufgabe", "enabled": "Aktiv", "command": "Konsolenbefehl", "commandPlaceholder": "say Server startet neu" }, "columns": { "name": "Name", "cron": "Cron", "task": "Aufgabe", "status": "Status", "actions": "Aktionen" }, "status": { "enabled": "Aktiv", "disabled": "Inaktiv" }, "taskTypes": { "START": "Server starten", "STOP": "Server stoppen", "RESTART": "Server neu starten", "BACKUP": "Backup erstellen", "CONSOLE_COMMAND": "Befehl ausführen", "UPDATE_CHECK": "Updates prüfen", "MAINTENANCE": "Wartung" }, "errors": { "loadFailed": "Zeitpläne konnten nicht geladen werden.", "saveFailed": "Zeitplan konnte nicht gespeichert werden.", "deleteFailed": "Zeitplan konnte nicht gelöscht werden." } }, "access": { "title": "Zugriffe", "description": "Freigaben und Berechtigungen für diesen Server.", "loading": "Wird geladen…", "empty": "Noch keine Mitglieder. Laden Sie jemanden ein, um diesen Server zu teilen.", "invite": "Mitglied einladen", "sendInvite": "Einladung senden", "inviting": "Wird gesendet…", "cancel": "Abbrechen", "remove": "Entfernen", "inviteSuccess": "Mitglied erfolgreich eingeladen.", "invitePending": "Einladung vermerkt. Der Benutzer muss sich registrieren, bevor er auf diesen Server zugreifen kann.", "removeConfirm": "{name} von diesem Server entfernen?", "fields": { "email": "E-Mail-Adresse", "emailPlaceholder": "benutzer@beispiel.de", "role": "Rolle" }, "columns": { "member": "Mitglied", "email": "E-Mail", "role": "Rolle", "status": "Status", "actions": "Aktionen" }, "roles": { "OWNER": "Inhaber", "ADMIN": "Administrator", "OPERATOR": "Operator", "DEVELOPER": "Entwickler", "VIEWER": "Betrachter" }, "status": { "active": "Aktiv", "pending": "Ausstehend" }, "errors": { "loadFailed": "Mitglieder konnten nicht geladen werden.", "inviteFailed": "Einladung konnte nicht gesendet werden.", "removeFailed": "Mitglied konnte nicht entfernt werden." } } }, "account": { "nav": { "label": "Kontonavigation", "dashboard": "Dashboard", "servers": "Server", "billing": "Abrechnung", "profile": "Profil", "notifications": "Benachrichtigungen", "security": "Sicherheit" }, "billing": { "title": "Abrechnung", "subtitle": "Credits und Transaktionsverlauf.", "loading": "Wird geladen…", "loadError": "Abrechnungsdaten konnten nicht geladen werden.", "balanceTitle": "Aktuelles Guthaben", "periodStart": "Abrechnungszeitraum ab {date}", "creditsLabel": "Verbleibende Credits", "transactionsTitle": "Transaktionen", "transactionsEmpty": "Noch keine Transaktionen in diesem Zeitraum.", "columns": { "date": "Datum", "type": "Typ", "amount": "Betrag", "reference": "Referenz" } }, "profile": { "title": "Profil", "subtitle": "Ihre Kontoinformationen.", "loading": "Wird geladen…", "notSignedIn": "Nicht angemeldet.", "accountInfo": "Kontodaten", "accountInfoDescription": "Profilinformationen aus Ihrem Konto.", "fields": { "email": "E-Mail", "username": "Benutzername", "displayName": "Anzeigename", "emailVerified": "E-Mail verifiziert", "twoFactor": "Zwei-Faktor-Auth" }, "yes": "Ja", "no": "Nein", "enabled": "Aktiv", "disabled": "Inaktiv", "securityHint": "Passwort, 2FA und Sitzungen verwalten unter", "securityLink": "Sicherheit" }, "notifications": { "title": "Benachrichtigungen", "subtitle": "E-Mail- und In-App-Benachrichtigungen.", "loading": "Wird geladen…", "listTitle": "Neueste Benachrichtigungen", "unreadCount": "{count, plural, one {# ungelesene Benachrichtigung} other {# ungelesene Benachrichtigungen}}", "allRead": "Alles gelesen.", "markRead": "Als gelesen markieren", "markAllRead": "Alle als gelesen markieren", "emptyTitle": "Keine Benachrichtigungen", "emptyDescription": "Sie haben noch keine Benachrichtigungen erhalten.", "preferencesTitle": "Einstellungen", "preferencesDescription": "Wählen Sie, welche Benachrichtigungen Sie pro Kanal erhalten.", "enabled": "Aktiv", "disabled": "Inaktiv", "channels": { "IN_APP": "In-App", "EMAIL": "E-Mail", "WEBHOOK": "Webhook", "DISCORD": "Discord" }, "types": { "SERVER_READY": "Server bereit", "SERVER_START_FAILED": "Serverstart fehlgeschlagen", "SERVER_STOPPED": "Server gestoppt", "IDLE_STOP_WARNING": "Leerlauf-Stopp-Warnung", "BACKUP_SUCCESS": "Backup erfolgreich", "BACKUP_FAILED": "Backup fehlgeschlagen", "RESTORE_SUCCESS": "Wiederherstellung erfolgreich", "RESTORE_FAILED": "Wiederherstellung fehlgeschlagen", "CREDITS_LOW": "Wenig Credits", "BILLING_ISSUE": "Abrechnungsproblem", "INVITE": "Einladung", "NODE_INCIDENT": "Node-Vorfall", "MAINTENANCE": "Wartung", "SECURITY": "Sicherheit", "NEW_LOGIN": "Neue Anmeldung", "TWO_FA_CHANGED": "Zwei-Faktor geändert" }, "errors": { "loadFailed": "Benachrichtigungen konnten nicht geladen werden.", "markReadFailed": "Benachrichtigung konnte nicht aktualisiert werden.", "preferencesFailed": "Einstellungen konnten nicht gespeichert werden." } } }, "admin": { "backToPanel": "Zurück zum Panel", "nav": { "label": "Admin-Navigation", "dashboard": "Dashboard", "nodes": "Nodes", "users": "Benutzer", "jobs": "Jobs", "audit": "Audit" }, "dashboard": { "title": "Admin-Dashboard", "subtitle": "Plattformweite Kennzahlen und Systemstatus.", "loading": "Wird geladen…", "loadError": "Dashboard-Daten konnten nicht geladen werden.", "generatedAt": "Stand: {time}", "stats": { "activeUsers": "Aktive Benutzer", "totalServers": "Server gesamt", "runningServers": "Laufende Server", "queueLength": "Warteschlange", "onlineNodes": "Online-Nodes", "failedJobs24h": "Fehlgeschlagene Jobs (24h)", "openAbuseReports": "Offene Abuse-Reports", "openTickets": "Offene Tickets" } }, "nodes": { "title": "Game-Nodes", "subtitle": "Node-Status und Wartungsaktionen.", "loading": "Wird geladen…", "loadError": "Nodes konnten nicht geladen werden.", "empty": "Keine Nodes registriert.", "drain": "Drain", "maintenance": "Wartung", "exitMaintenance": "Wartung beenden", "actionError": "Aktion fehlgeschlagen.", "columns": { "name": "Node", "status": "Status", "servers": "Server", "ram": "RAM", "actions": "Aktionen" } }, "users": { "title": "Benutzer", "subtitle": "Benutzerkonten suchen und verwalten.", "loading": "Wird geladen…", "loadError": "Benutzer konnten nicht geladen werden.", "empty": "Keine Benutzer gefunden.", "searchPlaceholder": "E-Mail oder Benutzername…", "search": "Suchen", "suspend": "Sperren", "unsuspend": "Entsperren", "actionError": "Aktion fehlgeschlagen.", "columns": { "user": "Benutzer", "status": "Status", "roles": "Rollen", "servers": "Server", "actions": "Aktionen" } }, "jobs": { "title": "Hintergrund-Jobs", "subtitle": "Aktuelle und kürzlich abgeschlossene Queue-Jobs.", "loading": "Wird geladen…", "loadError": "Jobs konnten nicht geladen werden.", "empty": "Keine Jobs gefunden.", "columns": { "queue": "Queue", "job": "Job", "status": "Status", "attempts": "Versuche", "created": "Erstellt" } }, "audit": { "title": "Audit-Log", "subtitle": "Plattformweite Sicherheits- und Lifecycle-Ereignisse.", "loading": "Wird geladen…", "loadError": "Audit-Ereignisse konnten nicht geladen werden.", "empty": "Keine Ereignisse gefunden.", "loadMore": "Mehr laden", "columns": { "time": "Zeit", "action": "Aktion", "user": "Benutzer", "entity": "Entität" } } }, "public": { "pricing": { "title": "Preise", "description": "Transparente Tarife für Minecraft-Server-Hosting.", "cta": "Jetzt registrieren →", "tiers": { "starter": { "name": "Starter", "description": "Ideal zum Ausprobieren.", "price": "Kostenlos", "features": ["2 GB RAM", "1 Server", "Idle-Shutdown", "Community-Support"] }, "standard": { "name": "Standard", "description": "Für kleine Communities.", "price": "Credits", "features": ["4 GB RAM", "3 Server", "Backups", "Modrinth Add-ons"] }, "pro": { "name": "Pro", "description": "Für anspruchsvolle Welten.", "price": "Credits", "features": ["8+ GB RAM", "Unbegrenzte Server*", "Prioritäts-Queue", "WHMCS-Integration"] } } }, "features": { "title": "Funktionen", "description": "Alles für professionelles Minecraft-Server-Hosting.", "items": { "control": { "title": "Zentrale Steuerung", "description": "Lifecycle, Konsole, Dateien und Properties über ein einheitliches Panel." }, "nodes": { "title": "Multi-Node", "description": "Horizontale Skalierung mit Agent-basierter Orchestrierung." }, "security": { "title": "Sicherheit", "description": "Sessions, 2FA, CSRF-Schutz und auditierbare Aktionen." }, "billing": { "title": "Credit-Abrechnung", "description": "Laufzeitbasierte Abrechnung mit transparentem Guthaben." }, "backups": { "title": "Backups & Welten", "description": "Manuelle und geplante Backups, Welt-Upload und -Download." }, "whmcs": { "title": "WHMCS-Integration", "description": "Provisioning, SSO und Abrechnung über WHMCS." } } }, "status": { "title": "Systemstatus", "description": "Aktueller Betriebsstatus der Plattformkomponenten.", "operational": "Betriebsbereit", "selfHostedNote": "Status basiert auf Self-Hosted-Deployment. Konfigurieren Sie Health-Checks für Live-Monitoring.", "components": { "api": { "name": "API", "description": "REST Control Plane unter /api/v1" }, "worker": { "name": "Worker", "description": "BullMQ Hintergrundverarbeitung" }, "panel": { "name": "Web-Panel", "description": "Next.js Benutzeroberfläche" }, "dns": { "name": "DNS / Edge", "description": "Join-to-Start und Edge-Gateway" } } }, "docs": { "title": "Dokumentation", "description": "Einstieg, API-Referenz und Betriebshinweise.", "openapi": "Interaktive API-Dokumentation:", "openapiLink": "OpenAPI / Swagger", "cta": "Konto erstellen →", "sections": { "gettingStarted": { "title": "Erste Schritte", "body": "Registrieren Sie sich, verifizieren Sie Ihre E-Mail, erstellen Sie einen Server über den mehrstufigen Assistenten und starten Sie ihn über das Dashboard." }, "api": { "title": "API", "body": "Die REST-API unter /api/v1 bietet Endpunkte für Auth, Server-Lifecycle, Dateien, Backups und Admin-Funktionen. Authentifizierung erfolgt über Session-Cookies." }, "operations": { "title": "Betrieb", "body": "Deployen Sie Control Plane, Worker und Node-Agent über Docker Compose oder Ansible. Siehe docs/operations im Repository." }, "whmcs": { "title": "WHMCS", "body": "Das Server-Modul provisioniert Dienste automatisch. SSO ermöglicht nahtlosen Zugang aus dem WHMCS Client Area." } } }, "impressum": { "title": "Impressum", "description": "Angaben gemäß § 5 TMG.", "notice": "Dies ist ein Impressums-Entwurf. Ersetzen Sie die Platzhalterangaben vor dem Produktivbetrieb.", "sections": { "operator": { "title": "Anbieter", "body": "HexaHost\nPlattform für Game-Server-Hosting" }, "address": { "title": "Anschrift", "body": "HexaHost\nMusterstraße 1\n12345 Musterstadt\nDeutschland" }, "contact": { "title": "Kontakt", "body": "E-Mail: kontakt@hexahost.example\nTelefon: +49 (0) 123 456789" }, "responsible": { "title": "Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV", "body": "Max Mustermann\nHexaHost\nMusterstraße 1\n12345 Musterstadt" }, "register": { "title": "Registereintrag", "body": "Registergericht: Amtsgericht Musterstadt\nRegisternummer: HRB 12345\nUSt-IdNr.: DE123456789" }, "dispute": { "title": "Streitbeilegung", "body": "Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen." } } }, "privacy": { "title": "Datenschutzerklärung", "description": "Informationen zur Verarbeitung personenbezogener Daten.", "sections": { "controller": { "title": "Verantwortlicher", "body": "Der Betreiber dieser selbstgehosteten Instanz ist für die Datenverarbeitung verantwortlich. Passen Sie diese Erklärung an Ihre Organisation an." }, "data": { "title": "Erhobene Daten", "body": "Wir verarbeiten Kontodaten (E-Mail, Benutzername), Sitzungsinformationen, Server-Metadaten und Nutzungsdaten zur Abrechnung." }, "cookies": { "title": "Cookies", "body": "Session-Cookies (hgc_session) und CSRF-Cookies (hgc_csrf) sind für die Authentifizierung erforderlich." }, "rights": { "title": "Ihre Rechte", "body": "Sie haben das Recht auf Auskunft, Berichtigung, Löschung und Datenübertragbarkeit gemäß DSGVO." }, "contact": { "title": "Kontakt", "body": "Wenden Sie sich für Datenschutzanfragen an den in Ihrem Impressum genannten Betreiber." } } }, "terms": { "title": "Allgemeine Geschäftsbedingungen", "description": "Nutzungsbedingungen der Plattform.", "sections": { "scope": { "title": "Geltungsbereich", "body": "Diese AGB gelten für die Nutzung der Minecraft-Server-Hosting-Plattform durch registrierte Benutzer." }, "usage": { "title": "Nutzung", "body": "Server dürfen nur für legale Zwecke betrieben werden. Missbrauch kann zur Sperrung führen." }, "billing": { "title": "Abrechnung", "body": "Credits werden nach Laufzeit verbraucht. Guthaben ist nicht übertragbar, sofern nicht anders vereinbart." }, "liability": { "title": "Haftung", "body": "Der Betreiber haftet nur bei Vorsatz und grober Fahrlässigkeit. Datenverluste sind durch eigene Backups abzusichern." }, "changes": { "title": "Änderungen", "body": "Der Betreiber kann diese Bedingungen mit angemessener Frist ändern. Fortgesetzte Nutzung gilt als Zustimmung." } } } } }