f8c2ecf85f
ci / rust (push) Has been cancelled
Completes the web-UI native (punktfunk/1) pairing flow the unified host backs. The Pairing page now leads with a native card that arms a window via the mgmt API and DISPLAYS the host PIN (the SPAKE2 ceremony is host-mints / client-enters) with a live countdown + Cancel, plus a paired-devices list with unpair — no journalctl. The existing Moonlight PIN-submit moves into its own section below. Uses the orval-generated `native` hooks (regenerated from the committed OpenAPI on build) + en/de strings. Validated end-to-end through the web server's proxy + cookie auth: login → status → arm (PIN shown) → clients. tsc + production build clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
82 lines
3.7 KiB
JSON
82 lines
3.7 KiB
JSON
{
|
|
"$schema": "https://inlang.com/schema/inlang-message-format",
|
|
"app_name": "punktfunk",
|
|
"app_tagline": "Verwaltungskonsole",
|
|
"nav_dashboard": "Übersicht",
|
|
"nav_host": "Host",
|
|
"nav_clients": "Gekoppelte Geräte",
|
|
"nav_pairing": "Kopplung",
|
|
"nav_settings": "Einstellungen",
|
|
"status_title": "Live-Status",
|
|
"status_video": "Video",
|
|
"status_audio": "Audio",
|
|
"status_streaming": "Aktiv",
|
|
"status_idle": "Inaktiv",
|
|
"status_session": "Sitzung",
|
|
"status_no_session": "Keine aktive Sitzung",
|
|
"status_paired_count": "Gekoppelte Geräte",
|
|
"status_pin_pending": "Kopplungs-PIN ausstehend",
|
|
"stream_codec": "Codec",
|
|
"stream_resolution": "Auflösung",
|
|
"stream_fps": "Bildrate",
|
|
"stream_bitrate": "Bitrate",
|
|
"action_stop_session": "Sitzung beenden",
|
|
"action_request_idr": "Keyframe anfordern",
|
|
"action_unpair": "Entkoppeln",
|
|
"host_identity": "Identität",
|
|
"host_hostname": "Hostname",
|
|
"host_local_ip": "Lokale IP",
|
|
"host_version": "Version",
|
|
"host_abi": "ABI-Version",
|
|
"host_codecs": "Codecs",
|
|
"host_ports": "Ports",
|
|
"host_uniqueid": "Eindeutige ID",
|
|
"host_compositors": "Compositoren",
|
|
"host_compositors_help": "Backends, auf denen der Host eine virtuelle Ausgabe erzeugen kann. Übergib eine ID an das --compositor-Flag eines Clients; der Host nutzt sie, falls verfügbar, sonst per Auto-Erkennung.",
|
|
"compositor_available": "Verfügbar",
|
|
"compositor_unavailable": "Nicht verfügbar",
|
|
"compositor_default": "Standard",
|
|
"clients_title": "Gekoppelte Geräte",
|
|
"clients_empty": "Noch keine gekoppelten Geräte.",
|
|
"clients_name": "Name",
|
|
"clients_fingerprint": "Fingerabdruck",
|
|
"clients_unpair_confirm": "Dieses Gerät entkoppeln? Es muss sich erneut koppeln, um zu verbinden.",
|
|
"pairing_title": "Kopplung",
|
|
"pairing_idle": "Keine Kopplung aktiv. Starte die Kopplung in einem Moonlight-Client und gib hier die PIN ein.",
|
|
"pairing_waiting": "Ein Gerät wartet auf Kopplung. Gib die angezeigte PIN ein:",
|
|
"pairing_pin_label": "PIN",
|
|
"pairing_submit": "PIN bestätigen",
|
|
"pairing_success": "Erfolgreich gekoppelt.",
|
|
"pairing_failed": "Kopplung fehlgeschlagen — PIN prüfen und erneut versuchen.",
|
|
"pairing_native_title": "Gerät koppeln",
|
|
"pairing_native_desc": "Zeige hier eine Einmal-PIN an und gib sie in deiner punktfunk-App ein, um dieses Gerät zu koppeln.",
|
|
"pairing_native_disabled": "Der native Host läuft nicht. Starte ihn mit `serve --native`, um punktfunk-Geräte zu koppeln.",
|
|
"pairing_native_arm": "Gerät koppeln",
|
|
"pairing_native_enter": "Gib diese PIN auf deinem Gerät ein:",
|
|
"pairing_native_expires": "Läuft ab in",
|
|
"pairing_native_cancel": "Abbrechen",
|
|
"pairing_native_devices": "Gekoppelte Geräte",
|
|
"pairing_native_empty": "Noch keine Geräte gekoppelt.",
|
|
"pairing_native_unpair_confirm": "Dieses Gerät entkoppeln? Es muss sich erneut koppeln, um zu verbinden.",
|
|
"pairing_moonlight_title": "Moonlight-Kopplung (GameStream)",
|
|
"settings_title": "Einstellungen",
|
|
"settings_token_label": "API-Token",
|
|
"settings_token_help": "Bearer-Token für die Verwaltungs-API. Bei einem Loopback-Host ohne Token leer lassen.",
|
|
"settings_language": "Sprache",
|
|
"settings_save": "Speichern",
|
|
"settings_saved": "Gespeichert.",
|
|
"common_loading": "Wird geladen…",
|
|
"common_error": "Etwas ist schiefgelaufen.",
|
|
"common_retry": "Erneut versuchen",
|
|
"common_yes": "Ja",
|
|
"common_cancel": "Abbrechen",
|
|
"common_unauthorized": "Sitzung abgelaufen — Weiterleitung zur Anmeldung…",
|
|
"login_title": "Anmelden",
|
|
"login_subtitle": "Gib das Verwaltungspasswort ein, um fortzufahren.",
|
|
"login_password": "Passwort",
|
|
"login_submit": "Anmelden",
|
|
"login_error": "Falsches Passwort.",
|
|
"login_signing_in": "Anmeldung läuft…",
|
|
"action_logout": "Abmelden"
|
|
}
|