<?php

return [
    'title' => 'Hosts',
    'subtitle' => 'Proxmox-Hosts und Kapazität.',
    'add' => 'Host hinzufügen',
    'empty' => 'Noch keine Hosts. Füge deinen ersten Server hinzu.',
    'no_matches' => 'Keine Hosts für diese Filter.',
    'search_placeholder' => 'Nach Name oder IP suchen …',
    'all_datacenters' => 'Alle Rechenzentren',
    'all_statuses' => 'Alle Status',
    'clear' => 'Zurücksetzen',
    'count' => ':shown von :total',
    'col' => [
        'host' => 'Host',
        'datacenter' => 'RZ',
        'health' => 'Zustand',
        'vpn' => 'VPN',
        'instances' => 'Instanzen',
        'capacity' => 'Kapazität',
        'status' => 'Status',
    ],
    'health' => [
        'online' => 'Online',
        'stale' => 'Verzögert',
        'offline' => 'Offline',
    ],
    'vpn' => [
        'not_configured' => 'Nicht eingerichtet',
        'connected' => 'Verbunden',
        'silent' => 'Still',
        'silent_since' => 'Still · :time',
        'unknown' => 'Unbekannt',
    ],

    'create_title' => 'Host hinzufügen',
    'create_sub' => 'Frischen Server (Debian, nur Root) automatisch als Proxmox-Host aufnehmen.',
    'back' => 'Zurück zu Hosts',
    'cancel' => 'Abbrechen',
    'save' => 'Onboarding starten',

    'field' => [
        'name' => 'Name',
        'name_hint' => 'Vergibt CluPilot fortlaufend. Erreichbar unter :fqdn',
        'datacenter' => 'Rechenzentrum',
        'public_ip' => 'Öffentliche IP',
        'root_password' => 'Root-Passwort (einmalig)',
        'root_password_hint' => 'Nur für den ersten Login. Wird nach dem Deploy des SSH-Schlüssels verworfen — nie dauerhaft gespeichert.',
    ],

    'datacenter' => [
        'fsn' => 'Falkenstein',
        'hel' => 'Helsinki',
    ],

    'capacity' => 'Kapazität',
    'free' => 'frei',
    'unknown' => '—',
    // Kurzform für Zeilen (Host-Liste, Kapazitätsseite) — dieselbe wie in
    // 'detail.reserved_for', aber klein genug für eine Tabellenzelle.
    'reserved_badge' => 'reserviert für :name',
    'meta' => [
        'cores' => 'Kerne',
        'ram' => 'RAM',
        'version' => 'Version',
        'wg_ip' => 'Mgmt-IP',
        'datacenter' => 'RZ',
    ],

    'status' => [
        'pending' => 'Ausstehend',
        'onboarding' => 'Onboarding',
        'active' => 'Aktiv',
        'error' => 'Fehler',
        'disabled' => 'Deaktiviert',
    ],

    'detail' => [
        'health' => 'Zustand',
        'storage' => 'Speicher',
        'compute' => 'Rechenleistung',
        'load' => 'Last',
        'load_hint' => 'letzte Stunde',
        'no_load' => 'Keine Messwerte — der Host antwortet gerade nicht.',
        'no_load_short' => 'keine Messwerte',
        'cpu' => 'CPU',
        'ram' => 'RAM',
        'cpu_load' => 'CPU-Auslastung',
        'ram_load' => 'RAM-Auslastung',
        'net_in' => 'Eingehend',
        'net_out' => 'Ausgehend',
        'public_ip' => 'Öffentliche IP',
        'spec' => 'Ausstattung',
        'build' => 'Bau',
        'onboarding_done' => 'Übernahme abgeschlossen',
        'node' => 'Node',
        'fqdn' => 'Adresse',
        'fqdn_hint' => 'Proxmox-Oberfläche — antwortet nur aus dem WireGuard-Tunnel.',
        'instances' => 'Instanzen',
        'hosted' => 'Gehostete Instanzen',
        'no_instances' => 'Auf diesem Host laufen noch keine Instanzen.',
        'last_seen' => 'Zuletzt gesehen :time',
        'never_seen' => 'Noch nie gesehen',
        'committed' => ':gb GB belegt',
        'reserve' => ':pct % Reserve',
        'reserve_label' => 'Reserve',
        'reserve_hint' => 'Anteil des Speichers, der frei bleibt.',
        'reserve_save' => 'Speichern',
        'reserve_saved' => 'Reserve aktualisiert.',
        'drain' => 'In Wartung',
        'activate' => 'Aktivieren',

        'reserved_general' => 'Allgemeiner Bestand.',
        'reserved_for' => 'Reserviert für :name.',
        'reserved_pick' => 'Kunde wählen …',
        'reserved_save' => 'Reservieren',
        'reserved_saved' => 'Für :name reserviert.',
        'reserved_release' => 'Lösen',
        'reserved_released' => 'Reservierung gelöst.',
    ],

    'istatus' => [
        'active' => 'Aktiv',
        'provisioning' => 'Bereitstellung',
        'failed' => 'Fehler',
        'suspended' => 'Ausgesetzt',
        'cancellation_scheduled' => 'Kündigung',
    ],

    'progress' => 'Fortschritt',
    'events' => 'Ereignisse',
    'no_run' => 'Für diesen Host läuft keine Bereitstellung.',
    'attempt' => 'Versuch',
    'retry' => 'Erneut versuchen',
    'error_title' => 'Onboarding fehlgeschlagen',

    'remove' => 'Host entfernen',
    'remove_title' => 'Host entfernen?',
    'remove_body' => 'Entfernt nur den CluPilot-Eintrag von :name. Der physische Server wird NICHT gelöscht oder zurückgesetzt.',
    'remove_confirm' => 'Entfernen',

    'outcome' => [
        'advanced' => 'Weiter',
        'retry' => 'Wiederholung',
        'failed' => 'Fehler',
        'info' => 'Info',
    ],

    'step' => [
        'validate_host_input' => 'Eingaben prüfen',
        'establish_ssh_trust' => 'SSH-Vertrauen herstellen',
        'prepare_base_system' => 'Basissystem vorbereiten',
        'configure_wireguard' => 'WireGuard einrichten',
        'install_proxmox_ve' => 'Proxmox VE installieren',
        'reboot_into_pve_kernel' => 'In Proxmox-Kernel neu starten',
        'ensure_network_bridge' => 'Netzbrücke vmbr0 bauen',
        'configure_proxmox' => 'Proxmox konfigurieren',
        'create_automation_token' => 'Automation-Token erstellen',
        'verify_proxmox_api' => 'Proxmox-API prüfen',
        'build_vm_template' => 'VM-Vorlage bauen',
        'verify_vm_template' => 'VM-Vorlage prüfen',
        'register_host_dns' => 'Internen DNS-Namen registrieren',
        'register_capacity' => 'Kapazität registrieren',
        'secure_host_firewall' => 'Host-Firewall absichern',
        'complete_host_onboarding' => 'Onboarding abschließen',
    ],
    'release_reservation' => [
        'title' => 'Reservierung lösen?',
        'body' => ':host wird wieder allgemeiner Bestand — bisher reserviert für :customer. Der nächste Startkunde kann darauf landen.',
        'confirm' => 'Lösen',
    ],

    'reissue' => [
        'action' => 'Befehlszeile neu ausstellen',
        'title' => 'Neue Befehlszeile ausstellen?',
        'body' => 'Für :name entsteht ein neuer Einmal-Code und ein neues Schlüsselpaar. Die Zeile wird danach einmal angezeigt.',
        'invalidates' => 'Ein bisher ausgegebener Code wird damit wertlos. Läuft auf der Maschine gerade eine Übernahme, verliert sie mitten im Lauf ihren Ausweis — dann wird sie neu aufgesetzt, nicht nachgebessert.',
        'confirm' => 'Neu ausstellen',
        'done' => 'Fertig',
        'not_eligible' => 'Dieser Host läuft bereits. Eine neue Befehlszeile würde die Maschine neu aufsetzen — dafür wird der Host entfernt und neu angelegt.',
    ],

    'takeover' => [
        'eyebrow' => 'Host-Übernahme',
        'how_title' => 'So läuft eine Host-Übernahme ab',
        'how_sub' => 'Sechs Schritte, etwa 20 bis 40 Minuten. Die ersten beiden passieren beim Anbieter.',

        'rail_title' => 'Ablauf',
        'badge_before' => 'vorher',

        // Kurz — sie stehen in der Schiene nebeneinander, nicht als Absatz.
        's1_label' => 'Server bestellen',
        's2_label' => 'Rettungssystem',
        's3_label' => 'Host anlegen',
        's4_label' => 'Zeile kopieren',
        's5_label' => 'Einfügen',
        's6_label' => 'Zusehen',

        's1_title' => 'Server bestellen',
        's1_body' => 'Dediziert, nicht Cloud. Ohne /dev/kvm startet kein Gast, und das Skript weist die Maschine ab.',

        's2_title' => 'Rettungssystem starten',
        's2_body' => 'Einschalten UND neu starten. Läuft der Server noch im alten System, weigert sich das Skript — es überschreibt Platten.',

        's3_title' => 'Host anlegen',
        's3_body' => 'Die Angaben unten. Danach entsteht der Einmal-Code, und seine Frist von 24 Stunden beginnt.',

        's4_title' => 'Befehlszeile kopieren',
        's4_body' => 'Sie erscheint nach dem Speichern und wird genau einmal gezeigt.',

        's5_title' => 'Im Rettungssystem einfügen',
        's5_body' => 'Per SSH als root, Zeile einfügen, Eingabetaste. Nichts abtippen, nichts ausfüllen.',
        's5_hint' => 'Holt das Skript von :url und startet es. Mehr lädt der Server nicht nach.',

        's6_title' => 'Zusehen',
        's6_body' => 'Der Fortschritt läuft auf der Host-Seite mit. Bis der Tunnel steht, meldet der Server nichts — danach kommt alles auf einmal nach.',

        'requirements_title' => 'Beim Anbieter, vorher',
        'requirements_sub' => 'Beides muss erledigt sein, bevor unten gespeichert wird — der Code läuft ab dem Speichern.',

        'form_title' => 'Der Host',
        'form_sub' => 'Vier Angaben. Den Rest holt sich der Server selbst.',

        'command_title' => 'Die Befehlszeile',
        'command_sub' => 'Einfügen im Rettungssystem, als root. Sie trägt alles, was der Server vor dem Tunnel braucht.',

        'after_title' => 'Danach',

        'missing_title' => 'Der Tunnel ist noch nicht eingerichtet',
        'missing_body' => 'Es fehlt: :settings. Ohne diese Werte entsteht eine Zeile, die läuft und in einem Tunnel endet, der nie einen Handshake hat — und das fällt erst auf der Maschine auf.',

        'title' => ':name ist angelegt',
        'subtitle' => 'Noch drei Schritte, dann macht der Server den Rest allein.',

        'once_title' => 'Diese Zeile gibt es nur jetzt',
        'once_body' => 'In der Datenbank steht nur der Hash des Codes, der WireGuard-Schlüssel gar nicht. Neu laden bringt sie nicht zurück, sondern legt einen neuen Code an — der alte ist dann wertlos.',

        'watch' => 'Fortschritt ansehen',
        'copy' => 'Kopieren',
        'copied' => 'Kopiert',

        'footnote' => 'Der Code gilt 24 Stunden und lässt sich einmal einlösen. Bleibt die Übernahme stehen, wird die Maschine neu aufgesetzt statt nachgebessert — siehe docs/runbooks/host-bootstrap.md.',
    ],
];
