179 lines
9.9 KiB
PHP
179 lines
9.9 KiB
PHP
<?php
|
|
|
|
return [
|
|
'site_title' => 'Sichtbarkeit der Website',
|
|
'site_public' => 'Öffentlich',
|
|
'site_hidden' => 'Versteckt',
|
|
'site_public_body' => 'Website und Kundenportal sind für alle erreichbar und werden von Suchmaschinen erfasst.',
|
|
'site_hidden_body' => 'Besucher von außen sehen nur eine Platzhalterseite (Status 503, „noindex“). Über das VPN und als angemeldeter Mitarbeiter sehen Sie weiterhin alles. Die Konsole bleibt in jedem Fall erreichbar.',
|
|
'site_your_view' => 'Ihre Adresse :ip —',
|
|
'site_via_vpn' => 'über das VPN, Sie sehen immer die echte Seite.',
|
|
'site_not_vpn' => 'nicht im VPN. Als angemeldeter Mitarbeiter sehen Sie die echte Seite trotzdem.',
|
|
'site_hide' => 'Website verstecken',
|
|
'site_show' => 'Website veröffentlichen',
|
|
'site_now_public' => 'Website ist wieder öffentlich.',
|
|
'site_now_hidden' => 'Website ist jetzt versteckt.',
|
|
'title' => 'Einstellungen',
|
|
'subtitle' => 'Ihr Operator-Konto und die Verwaltung Ihres Teams.',
|
|
'save' => 'Speichern',
|
|
|
|
'account_title' => 'Mein Konto',
|
|
'name' => 'Name',
|
|
'email' => 'E-Mail',
|
|
'account_saved' => 'Konto aktualisiert.',
|
|
|
|
'staff_title' => 'Team & Zugriff',
|
|
'staff_sub' => 'Mitarbeiter einladen und deren Rolle festlegen. Nur der Inhaber kann das Team verwalten.',
|
|
'role' => 'Rolle',
|
|
'invite' => 'Einladen',
|
|
'invite_hint' => 'Der Zugang wird angelegt; die Einladungs-/Passwort-Zustellung folgt mit der E-Mail-Anbindung.',
|
|
'staff_invited' => 'Mitarbeiter angelegt.',
|
|
'temp_title' => 'Zugangsdaten (einmalig sichtbar)',
|
|
'temp_hint' => 'Teilen Sie diese Daten sicher mit dem Mitarbeiter. Beim späteren E-Mail-Setup wird ein Einladungslink versendet.',
|
|
'temp_password' => 'Temporäres Passwort',
|
|
|
|
'col_person' => 'Person',
|
|
'col_actions' => 'Aktionen',
|
|
'you' => 'Sie',
|
|
'revoke' => 'Zugriff entziehen',
|
|
|
|
'role_owner' => 'Inhaber',
|
|
'role_admin' => 'Administrator',
|
|
'role_support' => 'Support',
|
|
'role_billing' => 'Abrechnung',
|
|
'role_read-only' => 'Nur Lesen',
|
|
'role_developer' => 'Entwickler',
|
|
|
|
'role_updated' => 'Rolle aktualisiert.',
|
|
'staff_revoked' => 'Zugriff entzogen.',
|
|
'not_self' => 'Sie können Ihre eigene Rolle nicht ändern.',
|
|
'owner_only' => 'Nur ein Inhaber darf die Inhaber-Rolle vergeben oder entziehen.',
|
|
'last_owner' => 'Der letzte Inhaber kann nicht geändert oder entfernt werden.',
|
|
'not_staff' => 'Nur bestehende Mitarbeiter können bearbeitet werden.',
|
|
'is_customer' => 'Diese E-Mail gehört bereits zu einem Kundenkonto.',
|
|
|
|
// Console network access — who may reach /admin at all.
|
|
'console_title' => 'Zugang zur Konsole',
|
|
'console_locked_badge' => 'Eingeschränkt',
|
|
'console_open_badge' => 'Offen',
|
|
'console_locked_body' => 'Nur das VPN und die unten gelisteten Adressen erreichen die Konsole. Alle anderen bekommen 404 — sie erfahren nicht einmal, dass es sie gibt.',
|
|
'console_open_body' => 'Die Konsole ist von überall erreichbar, wo ihr Hostname aufgerufen wird. Solange das so ist, schützt sie allein das Passwort.',
|
|
'console_your_ip' => 'Sie sehen diese Seite gerade von :ip',
|
|
'console_lock' => 'Einschränken',
|
|
'console_unlock' => 'Freigeben',
|
|
'console_always' => 'Immer erlaubt',
|
|
'console_vpn_note' => 'Management-VPN, nicht entfernbar',
|
|
'console_extra' => 'Zusätzlich erlaubt',
|
|
'console_none' => 'Noch keine weitere Adresse — ohne VPN kommt dann niemand herein.',
|
|
'console_add' => 'Hinzufügen',
|
|
'console_remove' => 'Entfernen',
|
|
'console_ip_hint' => 'Einzelne Adresse oder Bereich, z. B. 203.0.113.7 oder 203.0.113.0/24.',
|
|
'console_ip_invalid' => 'Das ist keine gültige IP-Adresse und kein gültiger Bereich.',
|
|
'console_ip_added' => ':ip darf die Konsole jetzt erreichen.',
|
|
'console_ip_removed' => ':ip wurde entfernt.',
|
|
'console_ip_last' => 'Nicht entfernt: Sie greifen gerade selbst über :ip zu und würden sich aussperren.',
|
|
'console_locked' => 'Konsole eingeschränkt — nur noch VPN und gelistete Adressen.',
|
|
'console_unlocked' => 'Einschränkung aufgehoben.',
|
|
'console_lock_refused' => 'Nicht eingeschränkt: :ip steht auf keiner Liste, Sie hätten sich damit ausgesperrt.',
|
|
|
|
// Two-factor policy — console.require_2fa. Enrolment selbst ist eine
|
|
// eigene Seite, admin.two-factor-setup (App\Livewire\Admin\TwoFactorSetup)
|
|
// — siehe RequireOperatorTwoFactor dafür, warum nur die Einrichtung und
|
|
// nicht diese ganze Seite von der erzwungenen Weiterleitung ausgenommen ist.
|
|
'saved' => 'Gespeichert.',
|
|
'two_factor_title' => 'Zwei-Faktor-Pflicht',
|
|
'two_factor_body' => 'Gilt dann für jeden Mitarbeiter: Wer Zwei-Faktor nicht eingerichtet hat, kommt nur noch auf die Zwei-Faktor-Einrichtung.',
|
|
'two_factor_require' => 'Für alle verbindlich machen',
|
|
'two_factor_required' => 'Zwei-Faktor ist für die Konsole verbindlich. Bitte richten Sie sie hier ein.',
|
|
'two_factor_self_first' => 'Richten Sie zuerst Ihre eigene Zwei-Faktor-Bestätigung ein — sonst sperren Sie sich mit diesem Schalter selbst aus.',
|
|
|
|
'update_title' => 'Version & Aktualisierung',
|
|
'update_version' => 'Läuft',
|
|
'update_source' => 'Quelle',
|
|
'update_deployed' => 'Ausgerollt',
|
|
'update_checked' => 'Zuletzt geprüft',
|
|
// Zwei eigenständige Aktionen statt einer, die beides tat: schauen soll
|
|
// nicht erst durch eine echte Aktualisierung samt Wartungsfenster müssen.
|
|
'update_check' => 'Nach Aktualisierungen suchen',
|
|
'update_checking' => 'Prüfung läuft',
|
|
'update_now' => 'Jetzt aktualisieren',
|
|
'update_running' => 'Läuft gerade',
|
|
'update_available' => ':n Aktualisierung(en) verfügbar',
|
|
// Mit Versionsnummer, sobald der Agent den Tag genannt hat: „Version 1.1.0
|
|
// verfügbar" ist etwas, worüber jemand entscheiden kann.
|
|
'update_available_release' => 'Version :version verfügbar',
|
|
// Warum der Knopf grau ist. Aktualisiert wird nur auf eine Version mit Tag,
|
|
// nie auf den Stand eines Branches — ein Commit auf main ist keine Freigabe.
|
|
'update_only_releases' => 'Aktualisiert wird nur auf eine freigegebene Version. Was auf main landet, ändert hier nichts, bis daraus eine Version mit Tag wird.',
|
|
'update_nothing_released' => 'Es gibt keine neuere freigegebene Version.',
|
|
'update_current' => 'Aktuell',
|
|
'update_unknown' => 'Unbekannt',
|
|
// Kurz gehalten, ohne eigene Zeitangabe: der Live-Countdown, der direkt im
|
|
// Anschluss erscheint (update_starts_in), trägt die Genauigkeit bereits.
|
|
'update_requested' => 'Aktualisierung angefordert.',
|
|
'update_check_requested' => 'Prüfung angefordert.',
|
|
'update_already_requested' => 'Es ist schon etwas angefordert — bitte kurz warten.',
|
|
'update_no_agent' => 'Der Update-Dienst auf dem Server läuft nicht. Einmalig auf dem Server einrichten: sudo bash /opt/clupilot/deploy/install-agent.sh',
|
|
'update_log' => 'Protokoll des letzten Laufs',
|
|
|
|
'update_error' => [
|
|
'repo_unreachable' => 'Das Repository ist vom Server aus nicht erreichbar.',
|
|
'detached_no_release' => 'Der Checkout hängt an keinem Branch und ist auf keine Version gepinnt.',
|
|
'update_failed' => 'Die Aktualisierung ist fehlgeschlagen (Code :code). Siehe Protokoll.',
|
|
'restart_failed' => 'Der Neustart der Dienste ist fehlgeschlagen. Bitte manuell ausführen: docker compose restart queue queue-provisioning scheduler reverb.',
|
|
],
|
|
|
|
'update_last_run' => 'Letzter Lauf: :state, :when.',
|
|
'update_state' => [
|
|
'succeeded' => 'erfolgreich',
|
|
'failed' => 'fehlgeschlagen',
|
|
'running' => 'läuft',
|
|
],
|
|
|
|
// Vollbild-Ansicht in der Konsolen-Hülle (layouts/admin.blade.php) — steht
|
|
// auf jeder Konsolenseite, solange eine Aktualisierung läuft, nicht nur
|
|
// auf der Einstellungsseite.
|
|
'update_overlay_title' => 'Aktualisierung läuft.',
|
|
|
|
// Kein Countdown mehr, weder beim Prüfen noch beim Aktualisieren. Der alte
|
|
// lief rückwärts vier Sekunden und sprang zurück auf eine Minute, weil das
|
|
// Ziel bei jedem Poll neu gerechnet wurde und auf jedem Server, dessen
|
|
// Timer länger ist als das gemeldete Intervall, in der Vergangenheit lag.
|
|
// Und er wird nicht gebraucht: der Dienst wird beim Anfordern geweckt.
|
|
'update_starting' => 'Wird jetzt gestartet.',
|
|
// Nur für Server, auf denen deploy/install-agent.sh noch nicht neu gelaufen
|
|
// ist — dort holt der Timer die Anforderung ab, und das wird gesagt statt
|
|
// eine Sofortigkeit zu versprechen, die dieser Server nicht liefert.
|
|
'update_starting_queued' => 'Wird gestartet, sobald der Dienst die Anforderung übernimmt.',
|
|
'update_step' => 'Schritt: :step',
|
|
'update_since' => 'Läuft seit :when',
|
|
'update_offline_hint' => 'Während der Aktualisierung ist die Seite kurz im Wartungsmodus — diese Anzeige bleibt so lange stehen und meldet sich danach von selbst zurück.',
|
|
'update_took' => 'Dauer: :duration',
|
|
'update_failed_at' => 'Abgebrochen beim Schritt: :step',
|
|
|
|
// Die Schritte, die deploy/update.sh meldet. Das Skript schreibt Schlüssel,
|
|
// damit hier übersetzt und nicht englisch durchgereicht wird.
|
|
'update_phase' => [
|
|
'fetch' => 'Neue Version holen',
|
|
'maintenance_on' => 'Wartungsmodus einschalten',
|
|
'checkout' => 'Code übernehmen',
|
|
'image' => 'Container-Image neu bauen',
|
|
'composer' => 'PHP-Pakete installieren',
|
|
'npm' => 'JS-Pakete installieren',
|
|
'migrate' => 'Datenbank migrieren',
|
|
'assets' => 'Assets neu bauen',
|
|
'caches' => 'Caches neu aufbauen',
|
|
'restart' => 'Dienste neu starten',
|
|
'maintenance_off' => 'Wartungsmodus beenden',
|
|
],
|
|
|
|
'password_title' => 'Passwort ändern',
|
|
'password_sub' => 'Gilt sofort. Andere Sitzungen bleiben angemeldet.',
|
|
'password_current' => 'Aktuelles Passwort',
|
|
'password_new' => 'Neues Passwort',
|
|
'password_repeat' => 'Wiederholen',
|
|
'password_save' => 'Passwort ändern',
|
|
'password_wrong' => 'Das aktuelle Passwort stimmt nicht.',
|
|
'password_changed' => 'Passwort geändert.',
|
|
];
|