{
  "pageTitle": "Painel de Controle do OBS - VDO.Ninja",
  "mainHeading": "VDO.Ninja - Controle do OBS",
  "languageSwitcher": {
    "label": "Idioma:"
  },
  "collapsible": {
    "clickToExpand": "Clique para expandir",
    "clickToCollapse": "Clique para recolher"
  },
  "customCss": {
    "title": "CSS Personalizado",
    "label": "Insira seu CSS personalizado aqui:",
    "description": "Este CSS será aplicado às fontes."
  },
  "obsConnection": {
    "title": "Conexão com OBS WebSocket",
    "websocketUrlLabel": "URL WebSocket:",
    "passwordLabel": "Senha:",
    "cameraPrefixLabel": "Prefixo Geral das Câmeras:",
    "reactionPrefixLabel": "Prefixo de Reação: VDO.",
    "highlightPrefixLabel": "Prefixo de Destaque: VDO.",
    "reactionPrefixDynamicLabel": "Prefixo de Reação: {{prefix}}{{separator}}{{subPrefix}}",
    "highlightPrefixDynamicLabel": "Prefixo de Destaque: {{prefix}}{{separator}}{{subPrefix}}",
    "connectButton": "Conectar",
    "disconnectButton": "Desconectar",
    "statusDisconnected": "Status: Desconectado",
    "statusConnected": "Status: Conectado",
    "statusConnecting": "Status: Conectando...",
    "statusError": "Status: Erro",
    "statusErrorUrlMissing": "Status: Erro - URL faltando",
    "statusErrorTimeout": "Status: Erro - Tempo de conexão esgotado",
    "statusErrorCameraPrefixMissing": "Status: Erro - Prefixo da Câmera Faltando"
  },
  "vdoNinjaSettings": {
    "title": "Configurações do VDO.Ninja",
    "baseUrlLabel": "URL Base do VDO.Ninja:",
    "baseUrlPlaceholder": "https://vdo.ninja",
    "roomNameLabel": "Nome da Sala:",
    "roomNamePlaceholder": "ex: MinhaSalaNinja",
    "passwordLabel": "Senha:",
    "passwordPlaceholder": "Sala ou &password",
    "streamIdsLabel": "IDs de Stream:",
    "streamIdsPlaceholder": "streamId1,streamId2",
    "roomOrStreamIdsNeeded": "Nome da Sala ou ID(s) de Stream são necessários",
    "connectButton": "Conectar",
    "disconnectButton": "Desconectar",
    "cancelButton": "Cancelar",
    "statusDisconnected": "Status: Desconectado",
    "statusConnected": "Status: Conectado",
    "statusConnecting": "Status: Conectando...",
    "statusConnectionFailed": "Status: Falha na Conexão",
    "statusConnectionLost": "Status: Conexão Perdida"
  },
  "streamIdMappings": {
    "title": "Mapeamentos de ID de Stream",
    "addNewMappingButton": "Adicionar Novo Mapeamento",
    "ruleTitle": "Regra de Mapeamento de Stream",
    "streamIdPlaceholder": "ID do Stream",
    "streamIdTooltip": "ID do Stream VDO.Ninja",
    "labelPlaceholder": "Rótulo (opcional)",
    "labelTooltip": "Rótulo do Stream VDO.Ninja",
    "matchTypeTooltip": "Como reconhecer o stream",
    "matchType": {
        "idOnly": "Apenas ID",
        "labelOnly": "Apenas Rótulo",
        "bothRequired": "Ambos Necessários",
        "eitherMatch": "Qualquer um Combina"
    },
    "targetSceneTooltip": "Cena Alvo do OBS",
    "selectSceneOption": "Selecione uma cena...",
    "removeRuleTooltip": "Remover esta regra de mapeamento",
    "cloneToMainSceneLabel": "Clonar para cena principal",
    "switchToSceneOnAddLabel": "Mudar para cena ao adicionar",
    "ruleDescription": "Defina como os streams de entrada são roteados para as cenas do OBS."
  },
  "obsTargetSettings": {
    "title": "Configurações de Alvo do OBS",
    "sourceCreationScenesLabel": "Cenas para Criação de Fontes:",
    "sourceCreationScenesDesc": "Selecione uma ou mais cenas. A primeira será a principal, as outras para cópia.",
    "loadingScenes": "Carregando cenas...",
    "noScenesFound": "Nenhuma cena encontrada",
    "refetchScenesButton": "Buscar Cenas Novamente",
    "screenShareSettings": {
        "title": "Configurações de Compartilhamento de Tela:",
        "widthLabel": "Largura:",
        "heightLabel": "Altura:",
        "resolutionNote": "Esta resolução será usada para as fontes de compartilhamento de tela em cenas com layout de 'Reação'."
    },
    "autoAddSourcesLabel": "Adicionar automaticamente novos streams como fontes",
    "autoRemoveSourcesLabel": "Remover automaticamente fontes ao desconectar",
    "newSourceSizing": {
        "label": "Dimensionamento Padrão de Fonte:",
        "defaultSizeOption": "Padrão (1920x1080 em 0,0)",
        "bestFitOption": "Melhor Ajuste (Preservar Proporção)",
        "stretchToFillOption": "Esticar para Preencher Tela",
        "overrideNote": "Layouts específicos definidos na seção \"Layouts\" irão sobrescrever estas configurações para aquelas cenas."
    },
    "codec": {
        "label": "Codec:",
        "noneOption": "nenhum",
        "learnMoreTitle": "Saiba mais sobre as opções de codec"
    }
  },
  "sceneLayouts": {
    "title": "Layouts de Cena",
    "addNewLayoutButton": "Adicionar Novo Layout",
    "description": "Defina layouts automáticos para cenas específicas do OBS. Estes irão sobrescrever o dimensionamento padrão de fonte para as cenas configuradas.",
    "sceneLabel": "Cena:",
    "selectSceneOption": "Selecione a Cena...",
    "layoutLabel": "Layout:",
    "selectLayoutOption": "Selecione o Layout...",
    "layoutTypes": {
        "grid": "Grade",
        "reaction": "Reação",
        "highlight": "Destaque"
    },
    "noActiveLayouts": "Nenhum layout ativo",
    "removeLayoutTooltip": "Remover esta configuração de layout",
    "sceneAlreadyConfiguredTooltip": "(Já em uso)",
    "sceneAlreadyConfiguredAlert": "A cena '{{sceneName}}' já está em uso por outra configuração de layout.",
    "controls": {
        "margin": "Margem",
        "spacing": "Espaçamento",
        "offsetX": "Deslocamento X",
        "offsetY": "Deslocamento Y",
        "gridSplitScreenTwoCameras": "Tela dividida para 2 câmeras (Grade)",
        "distributeCameras": "Distribuir câmeras (Reação/Destaque)"
    }
  },
  "activeStreams": {
    "title": "Streams Ativos",
    "noActiveStreams": "Nenhum stream ativo",
    "streamIdLabel": "ID: {{id}}",
    "labelLabel": "Rótulo: {{label}}",
    "targetSceneLabelText": "Cena Alvo: {{sceneName}}",
    "notSet": "Não Definido",
    "defaultSceneTag": "padrão",
    "mappedSceneTag": "mapeado",
    "addedToObs": "✓ Adicionado ao OBS",
    "notInObs": "✗ Não está no OBS",
    "buttons": {
        "addToObs": "Adicionar ao OBS",
        "removeFromObs": "Remover do OBS",
        "highlight": "Destacar",
        "unhighlight": "Remover Destaque",
        "screenShare": "Compart. Tela",
        "stopScreenShare": "Parar Compart."
    }
  },
  "log": {
    "title": "Registro"
  },
  "vdoNinja": {
    "defaultStreamLabel": "Stream {{id}}"
  },
  "logMessages": {
    "settingsSaved": "Configurações salvas.",
    "settingsLoaded": "Configurações carregadas do localStorage.",
    "customCssChangedWillApplyToSource": "Entrada de CSS personalizado mudada. Ela será aplicada diretamente à configuração de fontes do OBS na próxima criação/atualização.",
    "errorLoadingSettings": "Erro ao carregar configurações do localStorage: {{message}}. Usando padrões.",
    "noSavedSettings": "Nenhuma configuração salva encontrada. Usando valores padrão.",
    "appInitialized": "Painel de Controle OBS VDO.Ninja Inicializado. Bem-vindo!",
    "jsShaLoaded": "Biblioteca jsSHA carregada com sucesso (fallback para Web Crypto).",
    "errorLoadingJsSha": "Erro: Falha ao carregar a biblioteca jsSHA. A autenticação OBS pode falhar se Web Crypto também não estiver disponível.",
    "loadedStreamMappings": "{{count}} mapeamentos de stream carregados.",
    "errorLoadingStreamMappings": "Erro ao carregar mapeamentos de stream do localStorage: {{message}}",
    "warningStreamMappingElementsNotFound": "Aviso: Não foi possível encontrar todos os elementos esperados em uma div da UI de mapeamento de stream.",
    "loadedLayoutConfigs": "{{count}} configurações de layout de cena carregadas.",
    "errorLoadingLayoutConfigs": "Erro ao carregar configurações de layout de cena: {{message}}",
    "savedLayoutConfigs": "{{count}} configurações de layout de cena salvas.",
    "errorSavingLayoutsDuplicateScene": "Erro ao salvar layouts: A cena '{{sceneName}}' está configurada várias vezes. Por favor, garanta que cada cena tenha apenas um layout.",
    "layoutSceneNotFound": "A cena '{{sceneName}}' salva para o layout não foi encontrada nas cenas atuais do OBS.",
    "errorHidingSource": "Erro ao ocultar item de fonte {{sourceName}} em {{sceneName}}: {{message}}",
    "sceneAlreadyConfiguredError": "A cena '{{sceneName}}' já está configurada para outro layout. Revertendo seleção.",
    "vdoNinja": {
        "disconnected": "Desconectado do VDO.Ninja.",
        "alreadyConnected": "Já conectado ao VDO.Ninja.",
        "errorRoomOrStreamIdNeeded": "Erro VDO.Ninja: Nome da Sala ou ID(s) de Stream devem ser fornecidos.",
        "connectionTimeout": "Tempo de conexão com VDO.Ninja esgotado. Nenhuma atividade recebida do iframe.",
        "roomOrStreamIdNeededForConnect": "VDO.Ninja: Nome da Sala ou ID(s) de Stream específicos devem ser fornecidos para conectar.",
        "streamIdsEmptyAfterTrim": "VDO.Ninja: IDs de Stream fornecidos, mas estavam vazios após remover espaços.",
        "initializingIframe": "Inicializando iframe VDO.Ninja com URL: {{url}}",
        "invalidBaseUrl": "URL base VDO.Ninja inválida nas configurações: {{url}}",
        "iframeConnectedActive": "Conexão iframe VDO.Ninja estabelecida e ativa.",
        "streamConnectedActive": "Stream VDO.Ninja conectado/ativo: \"{{label}}\" (ID: {{id}})",
        "autoAddingStream": "Adicionando automaticamente stream {{id}} ao OBS.",
        "streamDisconnectedInactive": "Stream VDO.Ninja desconectado/inativo: \"{{label}}\" (ID: {{id}})",
        "autoRemovingStream": "Removendo automaticamente stream {{id}} do OBS.",
        "streamLabelUpdated": "Rótulo do stream VDO.Ninja atualizado para ID {{id}}: \"{{newLabel}}\" (era \"{{oldLabel}}\")",
        "connectionLostResetting": "Conexão VDO.Ninja perdida (sem atividade do iframe). Tentando reiniciar."
    },
    "obs": {
        "disconnecting": "Desconectando do OBS WebSocket...",
        "errorCameraPrefixRequired": "Erro: Prefixo Geral da Câmera é obrigatório para conexão com o OBS.",
        "errorUrlRequired": "Erro: URL WebSocket OBS é obrigatória.",
        "attemptingConnection": "Tentando conectar ao OBS WebSocket em {{url}}...",
        "connectionTimeout": "Tentativa de conexão OBS WebSocket esgotou o tempo.",
        "connectionOpenedWaitingHello": "Conexão OBS WebSocket aberta. Aguardando Hello do Servidor...",
        "receivedHelloSendingIdentify": "Hello recebido do OBS. Enviando Identify...",
        "authDataPrepared": "Dados de autenticação preparados para mensagem Identify.",
        "warningAuthRequiredNoPassword": "Aviso: Servidor OBS requer autenticação, mas nenhuma senha foi fornecida.",
        "authSuccessConnected": "Autenticação OBS WebSocket bem-sucedida! Conexão estabelecida.",
        "requestError": "Erro na Requisição OBS (Tipo: {{type}}, ID: {{id}}): {{error}} (Código: {{code}})",
        "eventSceneListChanged": "Evento OBS: Lista de cenas alterada. Buscando cenas novamente.",
        "errorProcessingMessage": "Erro ao processar mensagem OBS WebSocket: {{message}}. Dados: {{data}}",
        "webSocketError": "Erro OBS WebSocket: {{error}}",
        "authFailedReason": "Falha na Autenticação - senha incorreta ou autenticação necessária e não fornecida.",
        "connectionClosedReasonCode": "Código: {{code}}{{wasClean}}",
        "uncleanDisconnection": " (Desconexão não limpa)",
        "connectionClosed": "Conexão OBS WebSocket Fechada. Motivo: {{reason}}",
        "errorCreatingConnection": "Erro ao criar conexão OBS WebSocket: {{message}}",
        "authGenerationError": "Erro na geração de autenticação OBS: {{message}}",
        "cannotSendRequestNotConnected": "Não é possível enviar requisição '{{requestType}}': Não conectado ao OBS.",
        "errorSendingRequest": "Erro ao enviar requisição OBS '{{requestType}}': {{message}}",
        "requestTimeout": "Requisição OBS '{{requestType}}' (ID: {{id}}) esgotou o tempo.",
        "connectionEstablishedFetchingData": "Conexão OBS totalmente estabelecida. Buscando dados iniciais...",
        "errorPostConnectionSetup": "Erro durante configuração pós-conexão OBS (buscando cenas): {{message}}",
        "connectionClosedOrLost": "Conexão OBS foi fechada ou perdida.",
        "cannotFetchScenesNotConnected": "Não é possível buscar cenas OBS: Não conectado ao OBS.",
        "fetchingScenes": "Buscando cenas OBS...",
        "fetchedScenesCount": "{{count}} cenas buscadas do OBS.",
        "failedToFetchScenes": "Falha ao buscar cenas OBS ou nenhuma cena retornada.",
        "errorFetchingScenes": "Erro ao buscar cenas OBS: {{message}}",
        "cannotHighlightNotConnected": "Não é possível destacar: Não conectado ao OBS.",
        "highlightLayoutActiveManualLegacy": "A cena '{{sceneName}}' usa o novo Layout de Destaque. O botão de destaque manual pode ter efeito limitado ou ser substituído.",
        "stoppingScreenShareForHighlight": "Um compartilhamento de tela está ativo ({{id}}). Parando antes de destacar.",
        "cannotScreenShareNotConnected": "Não é possível iniciar compartilhamento de tela: Não conectado ao OBS.",
        "unhighlightingForScreenShare": "Uma câmera está destacada ({{id}}). Removendo destaque antes de iniciar compartilhamento de tela.",
        "cannotAddScreenShareNotConnected": "Não é possível adicionar compartilhamento de tela: Não conectado ao OBS.",
        "cannotAddScreenShareNoRoom": "Não é possível adicionar compartilhamento de tela: Nome da Sala VDO.Ninja é obrigatório para URLs de compartilhamento de tela.",
        "cannotAddScreenShareNoReactionLayoutScene": "Não é possível adicionar compartilhamento de tela: Nenhuma cena está configurada com um layout de 'Reação'.",
        "addingUpdatingScreenShareToReactionScenes": "Adicionando/Atualizando fonte de compart. de tela '{{sourceName}}' (URL: {{url}}) para cenas de Reação. Criação primária em '{{primaryScene}}'. ({{count}} cenas no total)",
        "reconfiguringExistingScreenShare": "Reconfigurando fonte de compart. de tela existente '{{oldName}}' para ser '{{newName}}'.",
        "reconfiguredRenamedScreenShare": "Fonte de compart. de tela existente reconfigurada e renomeada para '{{sourceName}}'.",
        "screenShareExistsUpdating": "Fonte de compart. de tela '{{sourceName}}' já existe. Atualizando suas configurações.",
        "creatingNewScreenShareInScene": "Criando nova fonte de compart. de tela '{{sourceName}}' na cena '{{sceneName}}'.",
        "ensuredTransformedScreenShareReaction": "Fonte de compartilhamento de tela '{{sourceName}}' assegurada e transformada na cena de Reação '{{sceneName}}'.",
        "sourceFoundInSceneEnabled": "Fonte '{{sourceName}}' encontrada na cena '{{sceneName}}', ID do item: {{itemId}}. Garantindo que está ativada.",
        "sourceAddedToScene": "Fonte '{{sourceName}}' adicionada à cena '{{sceneName}}', ID do item: {{itemId}}.",
        "errorCreatingSceneItem": "Erro ao criar item de cena para '{{sourceName}}' em '{{sceneName}}': {{message}}",
        "errorCheckingSceneForItem": "Erro ao verificar por '{{sourceName}}' na cena '{{sceneName}}': {{message}}",
        "errorApplyingInitialTransform": "Erro ao aplicar transformação padrão inicial para '{{sourceName}}' em '{{sceneName}}': {{message}}",
        "successConfigScreenShare": "Compartilhamento de tela configurado com sucesso para stream {{streamId}} ({{label}}).",
        "errorAddingUpdatingScreenShare": "Erro ao adicionar/atualizar fonte de compart. de tela '{{sourceName}}': {{message}}.",
        "cannotToggleHighlightNotConnected": "Não é possível alternar destaque: Não conectado ao OBS.",
        "streamUnhighlighted": "Stream {{id}} sem destaque (renomeado de {{oldName}} para {{newName}}).",
        "streamSuccessfullyUnhighlighted": "Stream {{id}} sem destaque com sucesso (renomeado para {{newName}}).",
        "streamSuccessfullyHighlighted": "Stream {{id}} destacado com sucesso (renomeado para {{newName}}).",
        "unhighlightError": "Não foi possível remover o destaque (renomear) de {{sourceName}}, pode não existir ou outro erro: {{message}}",
        "highlightError": "Não foi possível destacar (renomear) {{sourceName}}, pode não existir ou outro erro: {{message}}",
        "legacyHighlightUnhighlightOnRemove": "O stream {{id}} era um destaque legado. Removendo o destaque.",
        "cannotAddStreamNotConnected": "Não é possível adicionar stream \"{{label}}\" ({{id}}) ao OBS: Não conectado ao OBS.",
        "cannotAddStreamNoTargetSceneName": "Não é possível adicionar stream \"{{label}}\" ({{id}}): Nome da cena alvo OBS é obrigatório mas não definido (sem padrão e sem mapeamento).",
        "foundExistingStandardSource": "Fonte padrão '{{sourceName}}' existente encontrada para o stream {{streamId}}.",
        "foundExistingHighlightForConnectingStream": "Fonte OBS existente '{{sourceName}}' que corresponde à nomeação de destaque para o stream {{streamId}} conectado. Atualizando estado interno de destaque.",
        "foundExistingHighlightedSource": "Fonte destacada '{{sourceName}}' existente encontrada para o stream {{streamId}}.",
        "noExistingSourceFoundWillCreate": "Nenhuma fonte padrão ('{{baseSourceName}}') nem destacada ('{{highlightedSourceName}}') encontrada para o stream {{streamId}}. Será criada uma nova.",
        "noExistingStandardSourceSamePrefix": "Fonte padrão '{{sourceName}}' não encontrada para o stream {{streamId}} (prefixo de destaque é o mesmo). Será criada uma nova.",
        "errorGettingCanvasSize": "Erro ao obter tamanho da tela OBS: {{message}}. Usando padrão {{width}}x{{height}}.",
        "sourceNotGlobalCreating": "Fonte '{{sourceName}}' não existe globalmente. Criando na cena '{{sceneName}}'.",
        "sourceCreatedAddedToScene": "Fonte '{{sourceName}}' criada e adicionada à cena '{{sceneName}}'.",
        "sourceGlobalUpdatingWithUrl": "Fonte '{{sourceName}}' já existe globalmente. Atualizando suas configurações. URL: {{url}}",
        "sourceFoundAsItemInScene": "Fonte '{{sourceName}}' encontrada como item na cena '{{sceneName}}'.",
        "sourceNotInSceneAdding": "Fonte '{{sourceName}}' não está na cena '{{sceneName}}'. Adicionando.",
        "cloningToMainScene": "Clonando fonte '{{sourceName}}' para cena principal (dos checkboxes) '{{sceneName}}' devido à regra de mapeamento.",
        "addingSourceToOtherScene": "Adicionando fonte '{{sourceName}}' como item para outra cena selecionada '{{sceneName}}'.",
        "switchingProgramScene": "Mudando cena do programa atual OBS para '{{sceneName}}'.",
        "successfullyProcessedStream": "Stream \"{{label}}\" ({{id}}) processado com sucesso, fonte OBS efetiva: '{{sourceName}}'.",
        "errorManagingStream": "Erro ao gerenciar stream '{{sourceName}}' (\"{{label}}\") no OBS: {{message}}",
        "applyTransformAndGridCalled": "applyTransformAndGrid chamado para {{sourceName}} em {{sceneName}}. Acionando atualização completa de layout para a cena.",
        "triggeringLayoutUpdate": "Acionando atualização de layout para a cena '{{sceneName}}'...",
        "gridFallbackSourceChanged": "As configurações de grid para '{{sourceGridScene}}' (candidata principal para fallback) foram alteradas. Acionando atualização para a cena Reaction/Highlight '{{dependentScene}}'.",
        "noSceneItemsForLayout": "Nenhum item de cena encontrado na cena '{{sceneName}}' para atualização de layout.",
        "applyingConfiguredLayout": "Aplicando layout '{{layoutType}}' à cena '{{sceneName}}'. ({{count}} itens)",
        "unknownLayoutType": "Tipo de layout '{{layoutType}}' desconhecido para a cena '{{sceneName}}'. Aplicando dimensionamento padrão.",
        "noSpecificLayoutApplyingDefault": "Nenhum layout específico para a cena '{{sceneName}}'. Aplicando dimensionamento padrão de fonte ('{{sizing}}').",
        "errorTriggeringLayoutUpdate": "Erro durante a atualização de layout para a cena '{{sceneName}}': {{message}}",
        "applyingDefaultSizing": "Aplicando dimensionamento padrão de fonte ('{{sizing}}') para {{count}} itens na cena '{{sceneName}}'.",
        "errorApplyingDefaultTransformItem": "Erro ao aplicar transformação padrão para {{sourceName}} em {{sceneName}}: {{message}}",
        "noSourcesForGridLayout": "Nenhuma fonte de câmera VDO.Ninja para aplicar layout de Grade na cena '{{sceneName}}'.",
        "applyingGridLayoutScene": "Aplicando Layout de Grade para {{count}} fontes de câmera VDO.Ninja na cena '{{sceneName}}'.",
        "applyingGridSplitScreen": "Aplicando layout de grade de tela dividida para 2 câmeras à cena '{{sceneName}}'.",
        "reactionMainNotFoundFallbackGrid": "Conteúdo principal para layout de Reação na cena '{{sceneName}}' não encontrado/visível. Aplicando grade de fallback de câmeras.",
        "highlightMainNotFoundFallbackGrid": "Conteúdo principal para layout de Destaque na cena '{{sceneName}}' não encontrado/visível. Aplicando grade de fallback de câmeras.",
        "usingGridSceneFallbackSettings": "Usando configurações de grade da primeira cena 'Grade' configurada ('{{sceneName}}') como fallback para '{{targetScene}}'.",
        "usingDefaultGridFallbackSettings": "Nenhuma cena de layout 'Grade' encontrada. Usando configurações de grade padrão como fallback para '{{targetScene}}'.",
        "applyingFallbackGridToCameras": "Aplicando layout de Grade de fallback para {{count}} fontes de câmera na cena '{{sceneName}}'.",
        "noCamerasForFallbackGridHidingAll": "Nenhum item de câmera para exibir na grade de fallback para a cena '{{sceneName}}'. Todas as fontes VDO nesta cena serão ocultadas.",
        "cannotRemoveStreamNotConnected": "Não é possível remover stream {{id}} do OBS: Não conectado ao OBS.",
        "triggeredRemoval": "Remoção acionada por usuário ou automaticamente do stream '{{id}}' do OBS. Fonte base: '{{baseName}}'.",
        "streamScreenSharingRemoving": "Stream {{id}} estava ativamente compartilhando tela. Iniciando remoção do compartilhamento de tela.",
        "finishedRemovingSourceItems": "Concluída remoção de itens de fonte para stream {{id}} das cenas OBS especificadas.",
        "cannotRemoveScreenShareNotConnected": "Não é possível remover compartilhamento de tela: Não conectado ao OBS.",
        "attemptingRemoveScreenShareSource": "Tentando remover completamente fonte de compart. de tela '{{sourceName}}' do OBS (todas as cenas e entrada).",
        "removingGlobalInput": "Removendo entrada global '{{sourceName}}' do OBS.",
        "successfullyRemovedInput": "Entrada '{{sourceName}}' removida com sucesso.",
        "errorScreenShareRemovalProcess": "Erro durante processo de remoção de compart. de tela para '{{sourceName}}': {{message}}",
        "removingSourceItemFromScene": "Removendo item de fonte '{{sourceName}}' (ID: {{itemId}}) da cena '{{sceneName}}'.",
        "errorTryingRemoveSourceItem": "Erro ao tentar remover item de fonte '{{sourceName}}' da cena '{{sceneName}}': {{message}}",
        "codecChangedUpdatingSources": "Codec alterado para: {{codec}}. Atualizando fontes OBS...",
        "codecChangedNotConnected": "OBS não está conectado. As fontes não serão atualizadas com o novo codec até reconexão e uma nova ação.",
        "sourceUpdatedWithUrlAndCss": "Fonte '{{sourceName}}' atualizada com URL: {{url}} e CSS personalizado.",
        "screenShareSourceUpdatedWithUrlAndCss": "Fonte de compart. de tela '{{sourceName}}' atualizada com URL: {{url}} e CSS personalizado.",
        "codecUpdateComplete": "Atualização de codec para fontes OBS completa.",
        "codecCssUpdateComplete": "Atualização de Codec/CSS para fontes OBS completa.",
        "inputNameChanged": "Evento OBS: Nome da entrada alterado de '{{oldName}}' para '{{newName}}'. Verificando cenas relevantes para atualizações de layout.",
        "foundPreExistingHighlight": "Fonte destacada pré-existente encontrada no OBS: '{{sourceName}}'. Definindo destaque ativo para o ID de stream: {{streamId}}.",
        "errorCheckingMainContentEnabled": "Erro ao verificar se o conteúdo principal {{sourceName}} está ativo: {{message}}"
    }
  }
}
