{
  "pageTitle": "VDO.Ninja OBS Control Dock",
  "mainHeading": "VDO.Ninja OBS Steuerung",
  "languageSwitcher": {
    "label": "Sprache:"
  },
  "collapsible": {
    "clickToExpand": "Klicken zum Erweitern",
    "clickToCollapse": "Klicken zum Einklappen"
  },
  "customCss": {
    "title": "Benutzerdefiniertes CSS",
    "label": "Geben Sie hier Ihr benutzerdefiniertes CSS ein:",
    "description": "Dieses CSS wird auf die Quellen angewendet."
  },
  "obsConnection": {
    "title": "OBS WebSocket-Verbindung",
    "websocketUrlLabel": "WebSocket-URL:",
    "passwordLabel": "Passwort:",
    "cameraPrefixLabel": "Allgemeines Kamera-Präfix:",
    "reactionPrefixLabel": "Reaktions-Präfix: VDO.",
    "highlightPrefixLabel": "Hervorhebungs-Präfix: VDO.",
    "reactionPrefixDynamicLabel": "Reaktions-Präfix: {{prefix}}{{separator}}{{subPrefix}}",
    "highlightPrefixDynamicLabel": "Hervorhebungs-Präfix: {{prefix}}{{separator}}{{subPrefix}}",
    "connectButton": "Verbinden",
    "disconnectButton": "Trennen",
    "statusDisconnected": "Status: Getrennt",
    "statusConnected": "Status: Verbunden",
    "statusConnecting": "Status: Verbinden...",
    "statusError": "Status: Fehler",
    "statusErrorUrlMissing": "Status: Fehler - URL fehlt",
    "statusErrorTimeout": "Status: Fehler - Verbindung hat Zeitüberschreitung",
    "statusErrorCameraPrefixMissing": "Status: Fehler - Kamera-Präfix fehlt"
  },
  "vdoNinjaSettings": {
    "title": "VDO.Ninja Einstellungen",
    "baseUrlLabel": "VDO.Ninja Basis-URL:",
    "baseUrlPlaceholder": "https://vdo.ninja",
    "roomNameLabel": "Raumname:",
    "roomNamePlaceholder": "z.B. MeinNinjaRaum",
    "passwordLabel": "Passwort:",
    "passwordPlaceholder": "Raum oder &password",
    "streamIdsLabel": "Stream-IDs:",
    "streamIdsPlaceholder": "streamId1,streamId2",
    "roomOrStreamIdsNeeded": "Raumname oder Stream-ID(s) erforderlich",
    "connectButton": "Verbinden",
    "disconnectButton": "Trennen",
    "cancelButton": "Abbrechen",
    "statusDisconnected": "Status: Getrennt",
    "statusConnected": "Status: Verbunden",
    "statusConnecting": "Status: Verbinden...",
    "statusConnectionFailed": "Status: Verbindung fehlgeschlagen",
    "statusConnectionLost": "Status: Verbindung verloren"
  },
  "streamIdMappings": {
    "title": "Stream-ID-Zuordnungen",
    "addNewMappingButton": "Neue Zuordnung hinzufügen",
    "ruleTitle": "Stream-Zuordnungsregel",
    "streamIdPlaceholder": "Stream-ID",
    "streamIdTooltip": "VDO.Ninja Stream-ID",
    "labelPlaceholder": "Bezeichnung (optional)",
    "labelTooltip": "VDO.Ninja Stream-Bezeichnung",
    "matchTypeTooltip": "Wie der Stream zugeordnet wird",
    "matchType": {
        "idOnly": "Nur ID",
        "labelOnly": "Nur Bezeichnung",
        "bothRequired": "Beides erforderlich",
        "eitherMatch": "Eines davon"
    },
    "targetSceneTooltip": "Ziel-OBS-Szene",
    "selectSceneOption": "Szene auswählen...",
    "removeRuleTooltip": "Diese Zuordnungsregel entfernen",
    "cloneToMainSceneLabel": "In Hauptszene klonen",
    "switchToSceneOnAddLabel": "Beim Hinzufügen zur Szene wechseln",
    "ruleDescription": "Definieren Sie, wie eingehende Streams an OBS-Szenen weitergeleitet werden."
  },
  "obsTargetSettings": {
    "title": "OBS Zieleinstellungen",
    "sourceCreationScenesLabel": "Szenen für Quellenerstellung:",
    "sourceCreationScenesDesc": "Wählen Sie eine oder mehrere Szenen. Die erste ist die primäre, andere zum Kopieren.",
    "loadingScenes": "Lade Szenen...",
    "noScenesFound": "Keine Szenen gefunden",
    "refetchScenesButton": "Szenen neu laden",
    "screenShareSettings": {
        "title": "Bildschirmfreigabe-Einstellungen:",
        "widthLabel": "Breite:",
        "heightLabel": "Höhe:",
        "resolutionNote": "Diese Auflösung wird für Bildschirmfreigabe-Quellen in Szenen mit einem 'Reaktions'-Layout verwendet."
    },
    "autoAddSourcesLabel": "Neue Streams automatisch als Quellen hinzufügen",
    "autoRemoveSourcesLabel": "Quellen bei Trennung automatisch entfernen",
    "newSourceSizing": {
        "label": "Standard-Quellengröße:",
        "defaultSizeOption": "Standard (1920x1080 bei 0,0)",
        "bestFitOption": "Beste Anpassung (Seitenverhältnis beibehalten)",
        "stretchToFillOption": "Auf Bildschirm strecken",
        "overrideNote": "Spezifische Layouts im Abschnitt \"Layouts\" überschreiben diese für diese Szenen."
    },
    "codec": {
        "label": "Codec:",
        "noneOption": "keiner",
        "learnMoreTitle": "Mehr über Codec-Optionen erfahren"
    }
  },
  "sceneLayouts": {
    "title": "Szenen-Layouts",
    "addNewLayoutButton": "Neues Layout hinzufügen",
    "description": "Definieren Sie automatische Layouts für bestimmte OBS-Szenen. Diese überschreiben die Standard-Quellengröße für die konfigurierten Szenen.",
    "sceneLabel": "Szene:",
    "selectSceneOption": "Szene auswählen...",
    "layoutLabel": "Layout:",
    "selectLayoutOption": "Layout auswählen...",
    "layoutTypes": {
        "grid": "Raster",
        "reaction": "Reaktion",
        "highlight": "Hervorhebung"
    },
    "noActiveLayouts": "Keine aktiven Layouts",
    "removeLayoutTooltip": "Diese Layout-Konfiguration entfernen",
    "sceneAlreadyConfiguredTooltip": "(Bereits in Verwendung)",
    "sceneAlreadyConfiguredAlert": "Szene '{{sceneName}}' wird bereits von einer anderen Layout-Konfiguration verwendet.",
    "controls": {
        "margin": "Rand",
        "spacing": "Abstand",
        "offsetX": "X-Versatz",
        "offsetY": "Y-Versatz",
        "gridSplitScreenTwoCameras": "Geteilter Bildschirm für 2 Kameras (Raster)",
        "distributeCameras": "Kameras verteilen (Reaktion/Hervorhebung)"
    }
  },
  "activeStreams": {
    "title": "Aktive Streams",
    "noActiveStreams": "Keine aktiven Streams",
    "streamIdLabel": "ID: {{id}}",
    "labelLabel": "Bezeichnung: {{label}}",
    "targetSceneLabelText": "Zielszene: {{sceneName}}",
    "notSet": "Nicht festgelegt",
    "defaultSceneTag": "Standard",
    "mappedSceneTag": "zugeordnet",
    "addedToObs": "✓ Zu OBS hinzugefügt",
    "notInObs": "✗ Nicht in OBS",
    "buttons": {
        "addToObs": "Zu OBS hinzufügen",
        "removeFromObs": "Aus OBS entfernen",
        "highlight": "Hervorheben",
        "unhighlight": "Hervorhebung aufheben",
        "screenShare": "Bildschirm teilen",
        "stopScreenShare": "Bildschirmfreigabe beenden"
    }
  },
  "log": {
    "title": "Protokoll"
  },
  "vdoNinja": {
    "defaultStreamLabel": "Stream {{id}}"
  },
  "logMessages": {
    "settingsSaved": "Einstellungen gespeichert.",
    "settingsLoaded": "Einstellungen aus localStorage geladen.",
    "customCssChangedWillApplyToSource": "Benutzerdefinierte CSS-Eingabe geändert. Wird bei der nächsten Erstellung/Aktualisierung direkt auf OBS-Quelleneinstellungen angewendet.",
    "errorLoadingSettings": "Fehler beim Laden der Einstellungen aus localStorage: {{message}}. Verwende Standardwerte.",
    "noSavedSettings": "Keine gespeicherten Einstellungen gefunden. Verwende Standardwerte.",
    "appInitialized": "VDO.Ninja OBS Control Dock initialisiert. Willkommen!",
    "jsShaLoaded": "jsSHA-Bibliothek erfolgreich geladen (Fallback für Web Crypto).",
    "errorLoadingJsSha": "Fehler: jsSHA-Bibliothek konnte nicht geladen werden. OBS-Authentifizierung könnte fehlschlagen, wenn Web Crypto ebenfalls nicht verfügbar ist.",
    "loadedStreamMappings": "{{count}} Stream-Zuordnungen geladen.",
    "errorLoadingStreamMappings": "Fehler beim Laden der Stream-Zuordnungen aus localStorage: {{message}}",
    "warningStreamMappingElementsNotFound": "Warnung: Konnte nicht alle erwarteten Elemente in einem Stream-Zuordnungs-UI-Div finden.",
    "loadedLayoutConfigs": "{{count}} Szenen-Layout-Konfigurationen geladen.",
    "errorLoadingLayoutConfigs": "Fehler beim Laden der Szenen-Layout-Konfigurationen: {{message}}",
    "savedLayoutConfigs": "{{count}} Szenen-Layout-Konfigurationen gespeichert.",
    "errorSavingLayoutsDuplicateScene": "Fehler beim Speichern der Layouts: Szene '{{sceneName}}' ist mehrfach konfiguriert. Bitte stellen Sie sicher, dass jede Szene nur ein Layout hat.",
    "layoutSceneNotFound": "Gespeicherte Szene '{{sceneName}}' für Layout nicht in aktuellen OBS-Szenen gefunden.",
    "errorHidingSource": "Fehler beim Ausblenden des Quellelements {{sourceName}} in {{sceneName}}: {{message}}",
    "sceneAlreadyConfiguredError": "Szene '{{sceneName}}' ist bereits für ein anderes Layout konfiguriert. Auswahl wird zurückgesetzt.",
    "vdoNinja": {
        "disconnected": "Von VDO.Ninja getrennt.",
        "alreadyConnected": "Bereits mit VDO.Ninja verbunden.",
        "errorRoomOrStreamIdNeeded": "VDO.Ninja Fehler: Raumname oder Stream-ID(s) müssen angegeben werden.",
        "connectionTimeout": "VDO.Ninja Verbindung hat Zeitüberschreitung. Keine Aktivität vom iframe empfangen.",
        "roomOrStreamIdNeededForConnect": "VDO.Ninja: Raumname oder spezifische Stream-ID(s) müssen zum Verbinden angegeben werden.",
        "streamIdsEmptyAfterTrim": "VDO.Ninja: Stream-IDs wurden angegeben, waren aber nach dem Trimmen leer.",
        "initializingIframe": "Initialisiere VDO.Ninja iframe mit URL: {{url}}",
        "invalidBaseUrl": "Ungültige VDO.Ninja Basis-URL in Einstellungen: {{url}}",
        "iframeConnectedActive": "VDO.Ninja iframe-Verbindung hergestellt und aktiv.",
        "streamConnectedActive": "VDO.Ninja Stream verbunden/aktiv: \"{{label}}\" (ID: {{id}})",
        "autoAddingStream": "Füge Stream {{id}} automatisch zu OBS hinzu.",
        "streamDisconnectedInactive": "VDO.Ninja Stream getrennt/inaktiv: \"{{label}}\" (ID: {{id}})",
        "autoRemovingStream": "Entferne Stream {{id}} automatisch aus OBS.",
        "streamLabelUpdated": "VDO.Ninja Stream-Bezeichnung für ID {{id}} aktualisiert: \"{{newLabel}}\" (war \"{{oldLabel}}\")",
        "connectionLostResetting": "VDO.Ninja Verbindung verloren (keine Aktivität vom iframe). Versuche zurückzusetzen."
    },
    "obs": {
        "disconnecting": "Trenne von OBS WebSocket...",
        "errorCameraPrefixRequired": "Fehler: Allgemeines Kamera-Präfix ist für OBS-Verbindung erforderlich.",
        "errorUrlRequired": "Fehler: OBS WebSocket-URL ist erforderlich.",
        "attemptingConnection": "Versuche Verbindung zu OBS WebSocket bei {{url}} herzustellen...",
        "connectionTimeout": "OBS WebSocket-Verbindungsversuch hat Zeitüberschreitung.",
        "connectionOpenedWaitingHello": "OBS WebSocket-Verbindung geöffnet. Warte auf Server Hello...",
        "receivedHelloSendingIdentify": "Hello von OBS empfangen. Sende Identify...",
        "authDataPrepared": "Authentifizierungsdaten für Identify-Nachricht vorbereitet.",
        "warningAuthRequiredNoPassword": "Warnung: OBS-Server erfordert Authentifizierung, aber kein Passwort angegeben.",
        "authSuccessConnected": "OBS WebSocket-Authentifizierung erfolgreich! Verbindung hergestellt.",
        "requestError": "OBS Anfragefehler (Typ: {{type}}, ID: {{id}}): {{error}} (Code: {{code}})",
        "eventSceneListChanged": "OBS Ereignis: Szenenliste geändert. Lade Szenen neu.",
        "errorProcessingMessage": "Fehler beim Verarbeiten der OBS WebSocket-Nachricht: {{message}}. Daten: {{data}}",
        "webSocketError": "OBS WebSocket Fehler: {{error}}",
        "authFailedReason": "Authentifizierung fehlgeschlagen - falsches Passwort oder Authentifizierung erforderlich und nicht angegeben.",
        "connectionClosedReasonCode": "Code: {{code}}{{wasClean}}",
        "uncleanDisconnection": " (Unsaubere Trennung)",
        "connectionClosed": "OBS WebSocket-Verbindung geschlossen. Grund: {{reason}}",
        "errorCreatingConnection": "Fehler beim Erstellen der OBS WebSocket-Verbindung: {{message}}",
        "authGenerationError": "OBS Authentifizierungs-Generierungsfehler: {{message}}",
        "cannotSendRequestNotConnected": "Kann Anfrage '{{requestType}}' nicht senden: Nicht mit OBS verbunden.",
        "errorSendingRequest": "Fehler beim Senden der OBS-Anfrage '{{requestType}}': {{message}}",
        "requestTimeout": "OBS Anfrage '{{requestType}}' (ID: {{id}}) hat Zeitüberschreitung.",
        "connectionEstablishedFetchingData": "OBS-Verbindung vollständig hergestellt. Lade Anfangsdaten...",
        "errorPostConnectionSetup": "Fehler beim Post-OBS-Verbindungsaufbau (Laden der Szenen): {{message}}",
        "connectionClosedOrLost": "OBS-Verbindung wurde geschlossen oder verloren.",
        "cannotFetchScenesNotConnected": "Kann OBS-Szenen nicht laden: Nicht mit OBS verbunden.",
        "fetchingScenes": "Lade OBS-Szenen...",
        "fetchedScenesCount": "{{count}} Szenen von OBS geladen.",
        "failedToFetchScenes": "Laden der OBS-Szenen fehlgeschlagen oder keine Szenen zurückgegeben.",
        "errorFetchingScenes": "Fehler beim Laden der OBS-Szenen: {{message}}",
        "cannotHighlightNotConnected": "Kann nicht hervorheben: Nicht mit OBS verbunden.",
        "highlightLayoutActiveManualLegacy": "Szene '{{sceneName}}' verwendet das neue Hervorhebungs-Layout. Manuelle Hervorhebungs-Schaltfläche könnte begrenzte Wirkung haben oder wird überschrieben.",
        "stoppingScreenShareForHighlight": "Eine Bildschirmfreigabe ist aktiv ({{id}}). Beende sie vor der Hervorhebung.",
        "cannotScreenShareNotConnected": "Kann Bildschirmfreigabe nicht starten: Nicht mit OBS verbunden.",
        "unhighlightingForScreenShare": "Eine Kamera ist hervorgehoben ({{id}}). Hebe Hervorhebung auf bevor Bildschirmfreigabe gestartet wird.",
        "cannotAddScreenShareNotConnected": "Kann Bildschirmfreigabe nicht hinzufügen: Nicht mit OBS verbunden.",
        "cannotAddScreenShareNoRoom": "Kann Bildschirmfreigabe nicht hinzufügen: VDO.Ninja Raumname ist für Bildschirmfreigabe-URLs erforderlich.",
        "cannotAddScreenShareNoReactionLayoutScene": "Kann Bildschirmfreigabe nicht hinzufügen: Keine Szenen sind mit einem 'Reaktions'-Layout konfiguriert.",
        "addingUpdatingScreenShareToReactionScenes": "Füge/Aktualisiere Bildschirmfreigabe-Quelle '{{sourceName}}' (URL: {{url}}) zu Reaktions-Szenen hinzu. Primäre Erstellung in '{{primaryScene}}'. ({{count}} Szenen insgesamt)",
        "reconfiguringExistingScreenShare": "Konfiguriere bestehende Bildschirmfreigabe-Quelle '{{oldName}}' neu zu '{{newName}}'.",
        "reconfiguredRenamedScreenShare": "Bestehende Bildschirmfreigabe-Quelle neu konfiguriert und umbenannt zu '{{sourceName}}'.",
        "screenShareExistsUpdating": "Bildschirmfreigabe-Quelle '{{sourceName}}' existiert bereits. Aktualisiere ihre Einstellungen.",
        "creatingNewScreenShareInScene": "Erstelle neue Bildschirmfreigabe-Quelle '{{sourceName}}' in Szene '{{sceneName}}'.",
        "ensuredTransformedScreenShareReaction": "Bildschirmfreigabe-Quelle '{{sourceName}}' in Reaktions-Szene '{{sceneName}}' sichergestellt und transformiert.",
        "sourceFoundInSceneEnabled": "Quelle '{{sourceName}}' in Szene '{{sceneName}}' gefunden, Element-ID: {{itemId}}. Stelle sicher, dass sie aktiviert ist.",
        "sourceAddedToScene": "Quelle '{{sourceName}}' zu Szene '{{sceneName}}' hinzugefügt, Element-ID: {{itemId}}.",
        "errorCreatingSceneItem": "Fehler beim Erstellen des Szenenelements für '{{sourceName}}' in '{{sceneName}}': {{message}}",
        "errorCheckingSceneForItem": "Fehler beim Prüfen auf '{{sourceName}}' in Szene '{{sceneName}}': {{message}}",
        "errorApplyingInitialTransform": "Fehler beim Anwenden der anfänglichen Standard-Transformation auf '{{sourceName}}' in '{{sceneName}}': {{message}}",
        "successConfigScreenShare": "Bildschirmfreigabe für Stream {{streamId}} ({{label}}) erfolgreich konfiguriert.",
        "errorAddingUpdatingScreenShare": "Fehler beim Hinzufügen/Aktualisieren der Bildschirmfreigabe-Quelle '{{sourceName}}': {{message}}.",
        "cannotToggleHighlightNotConnected": "Kann Hervorhebung nicht umschalten: Nicht mit OBS verbunden.",
        "streamUnhighlighted": "Stream {{id}} Hervorhebung aufgehoben (umbenannt von {{oldName}} zu {{newName}}).",
        "streamSuccessfullyUnhighlighted": "Stream {{id}} Hervorhebung erfolgreich aufgehoben (umbenannt zu {{newName}}).",
        "streamSuccessfullyHighlighted": "Stream {{id}} erfolgreich hervorgehoben (umbenannt zu {{newName}}).",
        "unhighlightError": "Konnte Hervorhebung nicht aufheben (umbenennen) {{sourceName}}, existiert möglicherweise nicht oder anderer Fehler: {{message}}",
        "highlightError": "Konnte nicht hervorheben (umbenennen) {{sourceName}}, existiert möglicherweise nicht oder anderer Fehler: {{message}}",
        "legacyHighlightUnhighlightOnRemove": "Stream {{id}} war legacy hervorgehoben. Hebe Hervorhebung auf.",
        "cannotAddStreamNotConnected": "Kann Stream \"{{label}}\" ({{id}}) nicht zu OBS hinzufügen: Nicht mit OBS verbunden.",
        "cannotAddStreamNoTargetSceneName": "Kann Stream \"{{label}}\" ({{id}}) nicht hinzufügen: Ziel-OBS-Szenenname ist erforderlich, aber nicht festgelegt (kein Standard und keine Zuordnung).",
        "foundExistingStandardSource": "Bestehende Standard-Quelle '{{sourceName}}' für Stream {{streamId}} gefunden.",
        "foundExistingHighlightForConnectingStream": "Bestehende OBS-Quelle '{{sourceName}}' gefunden, die der Hervorhebungs-Benennung für verbindenden Stream {{streamId}} entspricht. Aktualisiere internen Hervorhebungsstatus.",
        "foundExistingHighlightedSource": "Bestehende hervorgehobene Quelle '{{sourceName}}' für Stream {{streamId}} gefunden.",
        "noExistingSourceFoundWillCreate": "Weder Standard- ('{{baseSourceName}}') noch hervorgehobene ('{{highlightedSourceName}}') Quelle für Stream {{streamId}} gefunden. Erstelle neue.",
        "noExistingStandardSourceSamePrefix": "Standard-Quelle '{{sourceName}}' für Stream {{streamId}} nicht gefunden (Hervorhebungs-Präfix ist gleich). Erstelle neue.",
        "errorGettingCanvasSize": "Fehler beim Abrufen der OBS-Canvas-Größe: {{message}}. Verwende Standard {{width}}x{{height}}.",
        "sourceNotGlobalCreating": "Quelle '{{sourceName}}' existiert nicht global. Erstelle sie in Szene '{{sceneName}}'.",
        "sourceCreatedAddedToScene": "Quelle '{{sourceName}}' erstellt und zu Szene '{{sceneName}}' hinzugefügt.",
        "sourceGlobalUpdatingWithUrl": "Quelle '{{sourceName}}' existiert bereits global. Aktualisiere ihre Einstellungen. URL: {{url}}",
        "sourceFoundAsItemInScene": "Quelle '{{sourceName}}' als Element in Szene '{{sceneName}}' gefunden.",
        "sourceNotInSceneAdding": "Quelle '{{sourceName}}' nicht in Szene '{{sceneName}}'. Füge sie hinzu.",
        "cloningToMainScene": "Klone Quelle '{{sourceName}}' zur Hauptszene (aus Checkboxen) '{{sceneName}}' aufgrund der Zuordnungsregel.",
        "addingSourceToOtherScene": "Füge Quelle '{{sourceName}}' als Element zu anderer ausgewählter Szene '{{sceneName}}' hinzu.",
        "switchingProgramScene": "Wechsle OBS aktuelle Programmszene zu '{{sceneName}}'.",
        "successfullyProcessedStream": "Stream \"{{label}}\" ({{id}}) erfolgreich verarbeitet, effektive OBS-Quelle: '{{sourceName}}'.",
        "errorManagingStream": "Fehler beim Verwalten des Streams '{{sourceName}}' (\"{{label}}\") in OBS: {{message}}",
        "applyTransformAndGridCalled": "applyTransformAndGrid für {{sourceName}} in {{sceneName}} aufgerufen. Löse vollständige Layout-Aktualisierung für Szene aus.",
        "triggeringLayoutUpdate": "Löse Layout-Aktualisierung für Szene '{{sceneName}}' aus...",
        "gridFallbackSourceChanged": "Raster-Einstellungen für '{{sourceGridScene}}' (primärer Fallback-Kandidat) geändert. Löse Aktualisierung für Reaktions-/Hervorhebungs-Szene '{{dependentScene}}' aus.",
        "noSceneItemsForLayout": "Keine Szenenelemente in Szene '{{sceneName}}' für Layout-Aktualisierung gefunden.",
        "applyingConfiguredLayout": "Wende '{{layoutType}}'-Layout auf Szene '{{sceneName}}' an. ({{count}} Elemente)",
        "unknownLayoutType": "Unbekannter Layout-Typ '{{layoutType}}' für Szene '{{sceneName}}'. Wende Standard-Größe an.",
        "noSpecificLayoutApplyingDefault": "Kein spezifisches Layout für Szene '{{sceneName}}'. Wende Standard-Quellengröße an ('{{sizing}}').",
        "errorTriggeringLayoutUpdate": "Fehler während Layout-Aktualisierung für Szene '{{sceneName}}': {{message}}",
        "applyingDefaultSizing": "Wende Standard-Quellengröße ('{{sizing}}') auf {{count}} Elemente in Szene '{{sceneName}}' an.",
        "errorApplyingDefaultTransformItem": "Fehler beim Anwenden der Standard-Transformation auf {{sourceName}} in {{sceneName}}: {{message}}",
        "noSourcesForGridLayout": "Keine VDO.Ninja Kamera-Quellen für Raster-Layout in Szene '{{sceneName}}'.",
        "applyingGridLayoutScene": "Wende Raster-Layout auf {{count}} VDO.Ninja Kamera-Quellen in Szene '{{sceneName}}' an.",
        "applyingGridSplitScreen": "Wende 2-Kamera geteilten Bildschirm Raster-Layout auf Szene '{{sceneName}}' an.",
        "reactionMainNotFoundFallbackGrid": "Hauptinhalt für Reaktions-Layout in Szene '{{sceneName}}' nicht gefunden/sichtbar. Wende Fallback-Raster von Kameras an.",
        "highlightMainNotFoundFallbackGrid": "Hauptinhalt für Hervorhebungs-Layout in Szene '{{sceneName}}' nicht gefunden/sichtbar. Wende Fallback-Raster von Kameras an.",
        "usingGridSceneFallbackSettings": "Verwende Raster-Einstellungen von der ersten konfigurierten 'Raster'-Layout-Szene ('{{sceneName}}') als Fallback für '{{targetScene}}'.",
        "usingDefaultGridFallbackSettings": "Keine 'Raster'-Layout-Szene gefunden. Verwende Standard-Raster-Einstellungen als Fallback für '{{targetScene}}'.",
        "applyingFallbackGridToCameras": "Wende Fallback-Raster-Layout auf {{count}} Kamera-Quellen in Szene '{{sceneName}}' an.",
        "noCamerasForFallbackGridHidingAll": "Keine Kamera-Elemente zum Anzeigen im Fallback-Raster für Szene '{{sceneName}}'. Alle VDO-Quellen in dieser Szene werden ausgeblendet.",
        "cannotRemoveStreamNotConnected": "Kann Stream {{id}} nicht aus OBS entfernen: Nicht mit OBS verbunden.",
        "triggeredRemoval": "Benutzer oder automatisch ausgelöste Entfernung von Stream '{{id}}' aus OBS. Basis-Quelle: '{{baseName}}'.",
        "streamScreenSharingRemoving": "Stream {{id}} hat aktiv Bildschirm geteilt. Starte Entfernung der Bildschirmfreigabe.",
        "finishedRemovingSourceItems": "Entfernung der Quellelemente für Stream {{id}} aus angegebenen OBS-Szenen abgeschlossen.",
        "cannotRemoveScreenShareNotConnected": "Kann Bildschirmfreigabe nicht entfernen: Nicht mit OBS verbunden.",
        "attemptingRemoveScreenShareSource": "Versuche Bildschirmfreigabe-Quelle '{{sourceName}}' vollständig aus OBS zu entfernen (alle Szenen und Eingabe).",
        "removingGlobalInput": "Entferne globale Eingabe '{{sourceName}}' aus OBS.",
        "successfullyRemovedInput": "Eingabe '{{sourceName}}' erfolgreich entfernt.",
        "errorScreenShareRemovalProcess": "Fehler während des Bildschirmfreigabe-Entfernungsprozesses für '{{sourceName}}': {{message}}",
        "removingSourceItemFromScene": "Entferne Quellelement '{{sourceName}}' (ID: {{itemId}}) aus Szene '{{sceneName}}'.",
        "errorTryingRemoveSourceItem": "Fehler beim Versuch, Quellelement '{{sourceName}}' aus Szene '{{sceneName}}' zu entfernen: {{message}}",
        "codecChangedUpdatingSources": "Codec geändert zu: {{codec}}. Aktualisiere OBS-Quellen...",
        "codecChangedNotConnected": "OBS ist nicht verbunden. Quellen werden nicht mit dem neuen Codec aktualisiert, bis zur Wiederverbindung und einer neuen Aktion.",
        "sourceUpdatedWithUrlAndCss": "Quelle '{{sourceName}}' aktualisiert mit URL: {{url}} und benutzerdefiniertem CSS.",
        "screenShareSourceUpdatedWithUrlAndCss": "Bildschirmfreigabe-Quelle '{{sourceName}}' aktualisiert mit URL: {{url}} und benutzerdefiniertem CSS.",
        "codecUpdateComplete": "Codec-Aktualisierung für OBS-Quellen abgeschlossen.",
        "codecCssUpdateComplete": "Codec/CSS-Aktualisierung für OBS-Quellen abgeschlossen.",
        "inputNameChanged": "OBS Ereignis: Eingabename geändert von '{{oldName}}' zu '{{newName}}'. Prüfe relevante Szenen für Layout-Aktualisierungen.",
        "foundPreExistingHighlight": "Vorhandene hervorgehobene Quelle in OBS gefunden: '{{sourceName}}'. Setze aktive Hervorhebung auf Stream-ID: {{streamId}}.",
        "errorCheckingMainContentEnabled": "Fehler beim Prüfen, ob Hauptinhalt {{sourceName}} aktiviert ist: {{message}}"
    }
  }
}