{ "$schema": "https://inlang.com/schema/inlang-message-format", "app_name": "Punktfunk", "app_tagline": "Verwaltungskonsole", "display_settings_saved": "Display-Konfiguration gespeichert", "nav_dashboard": "Übersicht", "nav_host": "Host", "nav_displays": "Virtuelle Anzeigen", "nav_clients": "Gekoppelte Geräte", "nav_pairing": "Kopplung", "nav_library": "Bibliothek", "nav_settings": "Einstellungen", "nav_more": "Mehr", "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", "host_gpus": "GPUs", "host_gpus_help": "Die GPU, auf der der Host aufnimmt und encodiert. Automatisch wählt die beste GPU; eine bevorzugte GPU bindet Aufnahme + Encoding an sie. Eine Änderung gilt ab der nächsten Sitzung.", "gpu_automatic": "Automatisch", "gpu_prefer": "Bevorzugen", "gpu_preferred": "Bevorzugt", "gpu_in_use": "In Benutzung · {backend}", "gpu_next_session": "Nächste Sitzung", "gpu_none": "Keine GPUs erkannt.", "gpu_missing_warning": "Die bevorzugte GPU „{name}“ ist nicht vorhanden — stattdessen wird automatisch gewählt.", "gpu_env_note": "PUNKTFUNK_RENDER_ADAPTER={value} bindet die GPU im Automatikmodus.", "host_displays": "Virtuelle Displays", "host_displays_help": "Wie virtuelle Displays erstellt, aktiv gehalten und angeordnet werden. Wähle eine Voreinstellung oder „Benutzerdefiniert“, um Optionen direkt zu setzen. Eine Änderung gilt ab der nächsten Sitzung.", "display_config_title": "Konfiguration", "display_preset": "Voreinstellung", "display_preset_custom": "Benutzerdefiniert", "display_preset_default": "Standard", "display_preset_gaming_rig": "Gaming-Rig", "display_preset_shared_desktop": "Geteilter Desktop", "display_preset_hotdesk": "Hot-Desk", "display_preset_workstation": "Workstation", "display_keep_alive": "Nach Trennung aktiv halten", "display_keep_alive_off": "Aus", "display_keep_alive_keep": "Behalten für", "display_keep_alive_seconds": "Sekunden", "display_topology": "Topologie", "display_topology_auto": "Automatisch", "display_topology_extend": "Erweitern", "display_topology_primary": "Primär", "display_topology_exclusive": "Exklusiv", "display_max": "Max. Displays", "display_save": "Speichern", "display_effective": "Aktiv", "display_pending_note": "Änderungen greifen ab der nächsten Verbindung — eine laufende Sitzung behält die Anzeige, mit der sie gestartet ist.", "display_live": "Aktive Displays", "display_none_live": "Derzeit keine virtuellen Displays.", "display_state_active": "Aktiv", "display_state_lingering": "Wird gehalten", "display_state_pinned": "Angeheftet", "display_release_btn": "Freigeben", "display_release_all": "Alle gehaltenen freigeben", "display_expires_in": "Abbau in {sec}s", "display_sessions": "{count} streamend", "display_arrange": "Anzeigen anordnen", "display_arrange_help": "Legen Sie fest, wo jede gestreamte Anzeige auf dem Desktop sitzt (in Pixeln). Beim Speichern wird auf ein manuelles Layout umgeschaltet; es greift ab der nächsten Verbindung.", "display_arrange_save": "Anordnung speichern", "display_custom_desc": "Jede Option selbst festlegen.", "display_preset_current": "Aktiv", "display_preset_soon": "in Kürze", "display_keep_alive_help": "„Aus“ baut die Anzeige sofort beim Trennen ab. Halte sie (und bei gamescope ihr Spiel) am Leben, damit ein schnelles Wiederverbinden sofort fortsetzt, statt neu aufzubauen.", "display_topology_help": "Wie sich die gestreamte Anzeige in den Desktop des Hosts einfügt. Erweitern: ein zusätzlicher Bildschirm neben deinen Monitoren. Primär: die gestreamte Anzeige wird der primäre Ausgang, deine Monitore bleiben. Exklusiv: die gestreamte Anzeige ist der einzige Ausgang — physische Monitore werden beim Streamen deaktiviert und danach wiederhergestellt. Auf einem Host ohne Monitor legt es nur fest, ob die gestreamte Anzeige primär ist.", "display_conflict": "Wenn ein weiterer Client verbindet", "display_conflict_help": "Was passiert, wenn ein zweiter Client verbindet, während bereits gestreamt wird, und eine andere Auflösung anfragt.", "display_conflict_separate": "Eigene Anzeige", "display_conflict_steal": "Übernehmen", "display_conflict_join": "Ansicht teilen", "display_conflict_reject": "Besetzt — ablehnen", "display_identity": "Client-Identität", "display_identity_help": "Ob die gestreamte Anzeige eine stabile Client-Identität trägt, sodass der Desktop des Hosts die Monitor-Einstellungen dieses Clients (Skalierung, Auflösung) merkt und beim erneuten Verbinden wieder anwendet. Geteilt: eine Identität für alle. Pro Client: jedes Gerät eigene. Pro Client + Auflösung: separate Einstellungen je Gerät und Auflösung.", "display_game_session": "Dedizierte Spiel-Sitzungen", "display_game_session_help": "Wie eine Sitzung bedient wird, die ein Spiel aus der Bibliothek startet. „Dediziert“ gibt dem Start immer ein eigenes headless-gamescope in genau deiner Auflösung — das Spiel startet direkt, ohne Steam Big Picture, ohne Game-Mode. „Auto“ nutzt die aktuelle Sitzung der Box. gamescope muss installiert sein; sonst fällt Dediziert auf Auto zurück.", "display_game_session_auto": "Auto", "display_game_session_dedicated": "Dediziert", "display_experimental": "Experimentell", "display_ddc": "Monitore beim Streamen ausschalten (DDC/CI)", "display_ddc_help": "Nur Windows, wirkt bei Topologie Exklusiv. Bevor die physischen Monitore deaktiviert werden, weist der Host sie zusätzlich über den DDC/CI-Steuerkanal an, ihr Panel auszuschalten — und weckt sie am Ende des Streams wieder. Das kann ein periodisches Ruckeln beheben, das manche Setups zeigen, wenn die gestreamte Anzeige die einzige aktive ist (der dunkle Monitor sucht sonst weiter seine Eingänge ab; ein schlafen gelegtes Panel nicht). Monitore ohne DDC/CI werden übersprungen — falls ein Monitor danach nicht aufwacht, einmal seinen Power-Knopf drücken und die Option ausschalten.", "display_ddc_disabled": "Aus", "display_ddc_enabled": "Ein", "display_ddc_badge": "Monitore aus via DDC/CI", "display_identity_shared": "Geteilt", "display_identity_per_client": "Pro Client", "display_identity_per_client_mode": "Pro Client + Auflösung", "display_layout_mode": "Multi-Monitor-Anordnung", "display_layout_help": "Automatisch ordnet die Anzeigen nebeneinander an (links nach rechts). Manuell: Du platzierst jede selbst — ein X/Y-Editor pro Anzeige erscheint im Abschnitt „Aktive Displays“ unten, sobald zwei oder mehr streamen.", "display_layout_auto_row": "Automatisch (nebeneinander)", "display_layout_manual": "Manuell", "display_preset_custom_label": "Eigene Voreinstellungen", "display_preset_save_as": "Als Voreinstellung speichern…", "display_preset_name": "Name der Voreinstellung", "display_preset_edit": "Umbenennen", "display_preset_update": "Auf aktuelle Einstellungen aktualisieren", "display_preset_delete": "Löschen", "display_preset_delete_confirm": "Diese eigene Voreinstellung löschen?", "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_protocol": "Protokoll", "pairing_protocol_native": "punktfunk/1", "pairing_protocol_moonlight": "Moonlight", "pairing_pending_title": "Warten auf Freigabe", "pairing_pending_desc": "Diese Geräte haben versucht, sich zu verbinden. Eine Freigabe koppelt das Gerät sofort — ohne PIN.", "pairing_pending_approve": "Freigeben", "pairing_pending_deny": "Ablehnen", "pairing_pending_name_prompt": "Gerät benennen:", "pairing_pending_age_just_now": "gerade eben", "pairing_pending_age_secs": "vor {s}s", "pairing_pending_age_mins": "vor {min} min", "pairing_moonlight_title": "Moonlight-Kopplung (GameStream)", "library_title": "Bibliothek", "library_empty": "Noch keine Spiele gefunden.", "library_store_steam": "Steam", "library_store_custom": "Eigene", "library_add_title": "Eigenes Spiel hinzufügen", "library_edit_title": "Eigenes Spiel bearbeiten", "library_add_button": "Eigenes Spiel hinzufügen", "library_field_title": "Titel", "library_field_portrait": "Portrait-Bild-URL", "library_field_hero": "Hero-Bild-URL", "library_field_header": "Header-Bild-URL", "library_field_command": "Startbefehl", "library_field_command_help": "Optional. Der Befehl, mit dem der Host diesen Titel startet.", "library_save": "Speichern", "library_create": "Hinzufügen", "library_cancel": "Abbrechen", "library_edit": "Bearbeiten", "library_delete": "Löschen", "library_delete_confirm": "Dieses eigene Spiel löschen? Das kann nicht rückgängig gemacht werden.", "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. Du weißt nicht weiter?", "login_docs_link": "Besuche die Dokumentation", "login_password": "Passwort", "login_submit": "Anmelden", "login_error": "Falsches Passwort.", "login_signing_in": "Anmeldung läuft…", "action_logout": "Abmelden", "nav_stats": "Leistung", "nav_logs": "Logs", "logs_title": "Logs", "logs_subtitle": "Der aktuelle Log-Stream des Hosts — live verfolgen, nach Level filtern, durchsuchen.", "logs_follow": "Folgen", "logs_pause": "Pause", "logs_clear": "Leeren", "logs_search": "Logs durchsuchen…", "logs_empty": "Keine passenden Logeinträge — Filter anpassen oder auf Host-Aktivität warten.", "logs_dropped": "Einige Einträge wurden verdrängt, bevor sie abgeholt werden konnten", "stats_title": "Leistung", "stats_subtitle": "Zeichne die Pipeline-Zeiten einer Sitzung auf und betrachte sie als Diagramme.", "stats_capture_title": "Aufzeichnung", "stats_capture_desc": "Aufzeichnung scharfschalten, eine Sitzung fahren, dann stoppen, um eine Aufnahme zu speichern. Die Abtastung erfolgt an der Aggregationsgrenze des Hosts — kein Overhead pro Frame.", "stats_recording": "Zeichnet auf", "stats_idle": "Inaktiv", "stats_start": "Aufzeichnung starten", "stats_stop": "Stoppen & speichern", "stats_elapsed": "Vergangen", "stats_samples": "Proben", "stats_kind": "Pfad", "stats_kind_native": "Nativ", "stats_kind_gamestream": "GameStream", "stats_live_title": "Live", "stats_live_waiting": "Scharf — warte auf die ersten Proben. Starte eine Sitzung, um aufzuzeichnen.", "stats_latency_title": "Latenz nach Stufe", "stats_latency_axis": "µs", "stats_latency_desc": "Pipeline-Zeit pro Stufe, gestapelt — die Ansicht „wohin geht die Zeit“.", "stats_throughput_title": "Durchsatz", "stats_health_title": "Zustand", "stats_fps_new": "Neue fps", "stats_fps_repeat": "Wiederholte fps", "stats_mbps": "Mb/s", "stats_p99": "p99", "stats_p50": "p50", "stats_frames_dropped": "Verworfene Frames", "stats_packets_dropped": "Verworfene Pakete", "stats_send_dropped": "Sende-Verluste", "stats_fec_recovered": "FEC wiederhergestellt", "stats_recordings_title": "Aufnahmen", "stats_recordings_empty": "Noch keine Aufnahmen. Starte eine Aufzeichnung, um eine anzulegen.", "stats_col_time": "Zeit", "stats_col_kind": "Pfad", "stats_col_resolution": "Auflösung", "stats_col_codec": "Codec", "stats_col_duration": "Dauer", "stats_col_samples": "Proben", "stats_view": "Ansehen", "stats_download": "Herunterladen", "stats_delete": "Löschen", "stats_delete_confirm": "Diese Aufnahme löschen? Das kann nicht rückgängig gemacht werden.", "stats_detail_title": "Aufnahme-Details", "stats_close": "Schließen", "stats_no_samples": "Diese Aufnahme enthält keine Proben." }