"physicalDisksSmart":"Discos físicos e status SMART",
"zfsPools":"Conjuntos ZFS",
"local":"Local",
"remote":"Remoto",
"free":"Livre",
"used":"Usado",
"total":"Total",
"available":"Disponível",
"size":"Tamanho",
"allocated":"Alocado",
"none":"Nenhum",
"noRemoteStorage":"Sem armazenamento remoto",
"diskSingular":"disco",
"diskPlural":"discos",
"allHealthy":"tudo saudável",
"criticalCount":"{count} crítico",
"warningCount":"Aviso {count}",
"remoteMount":"montagem remota",
"remoteMountShort":"remoto",
"excluded":"excluído",
"notMonitored":"não monitorado",
"namespaceRestricted":"restrito ao namespace",
"namespaceRestrictedTitle":"Armazenamento acessível; tamanho do armazenamento de dados oculto pela ACL (por exemplo, PBS DatastoreAdmin em um único namespace)",
"testHelp":"Um pequeno teste leva cerca de 2 minutos. O teste estendido é executado em segundo plano e pode levar várias horas em discos grandes. O resultado aparecerá na aba Histórico quando terminar.",
"emptyHint":"Execute um teste SMART para começar a construir o histórico deste disco.",
"title":"Histórico de testes",
"latest":"mais recente",
"today":"Hoje",
"yesterday":"Ontem",
"daysAgo":"{count} dias atrás",
"downloadJson":"Baixar JSON",
"delete":"Excluir",
"confirmDelete":"Excluir este registro de teste?",
"note":"Os resultados dos testes são armazenados localmente e usados para gerar relatórios SMART detalhados."
},
"smartReport":{
"title":"Relatório de saúde SMART",
"printPdf":"Imprimir/Salvar como PDF",
"printHintMac":"Use Cmd+P para salvar como PDF",
"printHintCtrl":"Use Ctrl+P para salvar como PDF",
"subtitle":"ProxMenux Monitor - Análise de integridade do disco",
"htmlLang":"pt",
"date":"Data",
"device":"Dispositivo",
"executiveSummary":"Sumário executivo",
"smartStatus":"Status SMART",
"healthAssessment":"Avaliação da integridade do disco",
"passedUpper":"APROVADO",
"testAgeWarning":"Este relatório é baseado em um teste SMART realizado há {days} dias ({date}). A integridade do disco pode ter mudado desde então. Recomendamos executar um novo teste SMART para obter resultados atualizados.",
"healthyAssessment":"Este disco está operando dentro dos parâmetros normais. Todos os atributos SMART estão dentro dos limites aceitáveis. O disco foi ligado por aproximadamente {uptime} e está operando atualmente em {temperature}. {sectors}",
"failedAssessment":"Este disco relatou uma falha de integridade SMART. É necessária uma acção imediata. Faça backup de todos os dados críticos e planeje a substituição do disco.",
"noBadSectors":"Nenhum setor defeituoso foi detectado.",
"reallocatedSectors":"{count} setores realocados detectados - monitore de perto.",
"healthyMeaningTitle":"O que isto significa? Seu disco está íntegro!",
"monitorTitle":"Alguns problemas precisam de monitoramento",
"healthyMeaning":"Em termos simples: Este disco está funcionando corretamente. Você pode continuar usando normalmente. Recomendamos a realização de testes SMART periódicos (mensais) para detectar quaisquer problemas antecipadamente.",
"criticalMeaning":"Em termos simples: Este disco apresenta problemas que podem causar perda de dados. Faça backup de seus arquivos importantes imediatamente e considere substituir o disco em breve.",
"warningMeaning":"Em termos simples: o disco está funcionando, mas apresenta alguns sinais de desgaste. Ainda não é crítico, mas monitore-o de perto e mantenha seus backups atualizados.",
"moreIssues":"...e {count} mais problemas (veja detalhes abaixo)",
"dismissed":"Dispensado",
"occurrences":"Ocorrências",
"errorSignature":"Assinatura de erro",
"rawMessage":"Mensagem Bruta",
"firstSeen":"Visto pela primeira vez",
"lastSeen":"Visto pela última vez",
"observationsIntro":"Os seguintes eventos foram detectados e registrados para este disco. Essas observações podem indicar possíveis problemas que requerem atenção.",
"temperatureHistory":"Histórico de temperatura",
"temperatureSamples":"{count} amostras",
"temperatureBands":"Faixas: âmbar = aviso (>= {warn}°C), vermelho = crítico (>= {hot}°C). Amostrado a cada 60 anos.",
"fullSelfTestHistory":"Histórico completo de autoteste (entradas {count})",
"firmwareNoSelfTestLog":"O firmware deste disco não mantém um log de autoteste interno. Os resultados dos testes são rastreados pelo ProxMenux Monitor.",
"ssdWearNote":"As estimativas de vida útil do SSD são baseadas em indicadores de desgaste relatados pelo fabricante. A vida útil real pode variar com base na carga de trabalho e nos padrões de uso.",
"labels":{
"model":"Modelo",
"serial":"Serial",
"estimatedLife":"Vida útil restante estimada",
"totalDataWritten":"Total de dados gravados",
"availableSpare":"Sobressalente disponível",
"reportGenerated":"Relatório gerado",
"testType":"Tipo de teste",
"lastTestType":"Último tipo de teste",
"testResult":"Resultado do teste",
"attributesChecked":"Atributos verificados",
"capacity":"Capacidade",
"type":"Tipo",
"family":"Família",
"formFactor":"Fator de forma",
"interface":"Interface",
"transport":"Transporte",
"linkSpeed":"Velocidade do link",
"blockSize":"Tamanho do bloco",
"temperature":"Temperatura",
"optimal":"Ideal",
"powerOnTime":"Hora de ligar",
"powerCycles":"Ciclos de energia",
"uncorrectedErrors":"Erros não corrigidos",
"pendingSectors":"Setores Pendentes",
"crcErrors":"Erros CRC",
"grownDefects":"Defeitos Crescidos",
"lifeRemaining":"VIDA RESTANTE",
"estimated":"Estimado",
"usageStatistics":"ESTATÍSTICAS DE USO",
"percentageUsed":"Porcentagem usada",
"dataWritten":"Dados escritos",
"source":"Fonte",
"ssdLifeIndicator":"Indicador de vida útil do SSD",
"wearLevel":"Nível de desgaste",
"powerOnHours":"Horas de ativação",
"smartStatus":"Status SMART",
"reallocatedSectors":"Setores Realocados",
"note":"Observação",
"metric":"Métrica",
"attribute":"Atributo",
"value":"Valor",
"worst":"Pior",
"thresholdShort":"Thr",
"raw":"Cru",
"result":"Resultado",
"completed":"Concluído",
"atPowerOnHours":"No horário de inicialização",
"ataErrorLog":"Registro de erros do ATA",
"status":"Status",
"atPoh":"No POH",
"date":"Data",
"min":"Mínimo",
"avg":"Média",
"max":"Máx."
},
"sections":{
"nvmeWearLifetime":"Desgaste e vida útil do NVMe",
"enduranceGroupWarning":"Aviso de grupo de resistência",
"mediaErrors":"Erros de mídia",
"mediaIntegrityErrors":"Erros de integridade de mídia e dados",
"unsafeShutdowns":"Desligamentos inseguros",
"nvmePowerCycles":"Ciclos de energia",
"nvmePowerOnHours":"Horas de ativação",
"dataUnitsRead":"Unidades de dados lidas",
"dataUnitsWritten":"Unidades de dados escritas",
"hostReadCommands":"Comandos de leitura do host",
"hostWriteCommands":"Comandos de gravação de host",
"controllerBusyTime":"Tempo ocupado do controlador",
"errorLogEntries":"Entradas de log de erros",
"warningTempTime":"Tempo de temperatura de aviso",
"criticalTempTime":"Tempo de temperatura crítica",
"warningCompositeTemperatureTime":"Aviso de tempo de temperatura composta",
"criticalCompositeTemperatureTime":"Tempo crítico de temperatura composta",
"thermalManagementT1TransCount":"Transições T1 de gerenciamento térmico",
"thermalManagementT2TransCount":"Transições T2 de gerenciamento térmico",
"thermalManagementT1TotalTime":"Tempo total de gestão térmica T1",
"thermalManagementT2TotalTime":"Tempo total de gestão térmica T2"
},
"attributeExplanations":{
"criticalWarning":"Sinalizadores de alerta ativos do controlador NVMe. Qualquer valor diferente de zero requer investigação imediata.",
"nvmeTemperature":"Temperatura composta informada pelo controlador. Altas temperaturas sustentadas causam estrangulamento térmico e reduzem a vida útil da NAND.",
"temperatureSensor1":"Sensor de temperatura primário, geralmente o flash NAND. Mais representativo da saúde flash.",
"temperatureSensor2":"Sensor secundário, muitas vezes o controlador morre. Normalmente funciona mais quente que o Sensor 1.",
"temperatureSensor3":"Sensor terciário, se presente. A localização varia de acordo com o fabricante.",
"availableSpare":"Porcentagem de blocos NAND sobressalentes restantes para substituição de blocos defeituosos. Um alerta é acionado abaixo do limite.",
"availableSpareThreshold":"Mínimo definido pelo fabricante para peças sobressalentes disponíveis. Abaixo disso, a unidade sinaliza um aviso crítico.",
"percentageUsed":"Impulsione a estimativa da resistência consumida com base nos ciclos de gravação reais versus nominais. 100% significa que o TBW avaliado foi atingido; a unidade pode continuar funcionando além disso.",
"mediaErrors":"Erros de leitura/gravação irrecuperáveis no flash NAND. Qualquer valor diferente de zero indica dano celular permanente. Contagem crescente significa substituição em breve.",
"mediaIntegrityErrors":"Erros irrecuperáveis detectados pelo controlador. Diferente de zero significa risco de corrupção de dados.",
"unsafeShutdowns":"Perdas de energia sem descarga ou desligamento adequado. Contagens muito altas correm o risco de corrupção de metadados e problemas de firmware.",
"nvmePowerCycles":"Ciclos totais de ligar/desligar. A ciclagem frequente aumenta o desgaste do conector e do capacitor.",
"nvmePowerOnHours":"Total de horas acumuladas em que o inversor esteve ligado desde a fabricação.",
"dataUnitsRead":"Total de dados lidos em unidades de 512 KB. Multiplique por 512.000 para bytes. Útil para calcular a carga de trabalho de leitura diária.",
"dataUnitsWritten":"Dados totais gravados em unidades de 512 KB. Compare com a classificação TBW para estimar a resistência restante.",
"hostReadCommands":"Total de comandos de leitura emitidos pelo host. Uma proporção alta em relação aos comandos de gravação indica uma carga de trabalho com muita leitura.",
"hostWriteCommands":"Total de comandos de gravação emitidos pelo host. Inclui gravações de metadados do sistema de arquivos.",
"controllerBusyTime":"Total de minutos que o controlador gastou processando comandos de E/S. Valores altos indicam carga de trabalho pesada e sustentada.",
"errorLogEntries":"Número de entradas no log de informações de erro. Frequentemente inclui artefatos benignos de autoteste; verificação cruzada com erros de mídia.",
"warningTempTime":"Total de minutos gastos acima do limite de temperatura de aviso. Causa limitação de desempenho. Zero é o ideal.",
"criticalTempTime":"Total de minutos gastos acima do limite de temperatura crítica. A unidade pode desligar para evitar danos. Deve ser sempre zero.",
"warningCompositeTemperatureTime":"Total de minutos em que a temperatura composta excedeu o limite de aviso.",
"criticalCompositeTemperatureTime":"Total de minutos em que a temperatura composta excedeu o limite crítico. Deve ser zero.",
"thermalManagementT1TransCount":"Número de vezes que a unidade entrou em aceleração térmica leve (T1). Indica problemas de resfriamento.",
"thermalManagementT2TransCount":"Número de vezes que a unidade entrou em aceleração térmica intensa (T2). Impacto significativo no desempenho.",
"thermalManagementT1TotalTime":"Total de segundos gastos em aceleração térmica leve. Indica problemas de resfriamento sustentados.",
"thermalManagementT2TotalTime":"Total de segundos gastos em forte estrangulamento térmico. Grave degradação do desempenho.",
"rawReadErrorRate":"Erros de leitura de hardware detectados. Altos valores brutos em unidades Seagate/Samsung são normais porque sua fórmula proprietária torna o VALOR mais importante do que o bruto.",
"writeErrorRate":"Erros encontrados durante operações de gravação. Uma contagem crescente pode indicar problemas de cabeça ou de mídia.",
"multiZoneErrorRate":"Erros ao gravar em regiões multizonas. Específico do fabricante; uma tendência crescente é preocupante.",
"softReadErrorRate":"Erros de leitura corrigidos pelo firmware sem perda de dados. Valores altos podem indicar mídia degradante.",
"readErrorRetryRate":"Número de tentativas de leitura necessárias. Novas tentativas ocasionais são normais; o crescimento persistente indica desgaste.",
"reportedUncorrect":"Erros que o ECC não conseguiu corrigir. Qualquer valor diferente de zero significa que os dados foram perdidos ou ilegíveis.",
"reportedUncorrectableErrors":"Erros que o ECC não conseguiu corrigir. Diferente de zero significa risco de perda de dados.",
"reallocatedSectorCount":"Setores defeituosos substituídos por setores sobressalentes do pool de reserva. Uma contagem crescente significa degradação da unidade.",
"retiredBlockCount":"Blocos NAND retirados devido a desgaste ou falha (SSD). Semelhante à contagem de setores realocados para HDDs.",
"reallocatedEventCount":"Número de operações de remapeamento realizadas. Cada evento significa que um setor defeituoso foi substituído.",
"currentPendingSector":"Setores instáveis esperando para serem remapeados na próxima gravação. Eles podem ser resolvidos ou serem realocados permanentemente.",
"pendingSectors":"Setores esperando para serem remapeados. Eles podem ser resolvidos ou realocados.",
"offlineUncorrectable":"Setores que falharam durante a verificação offline e não puderam ser corrigidos. Indica possível perda de dados.",
"offlineUncorrectableSectorCount":"Setores incorrigíveis encontrados durante a verificação em segundo plano. Os dados sobre estes setores são perdidos.",
"sataTemperature":"Temperatura atual da unidade. As altas temperaturas sustentadas aceleram o desgaste e reduzem a vida útil.",
"temperatureCelsius":"Temperatura atual da unidade em Celsius. Os HDDs geralmente devem ficar abaixo de 45°C; SSDs abaixo de 60°C.",
"airflowTemperatureCel":"Temperatura medida pelo sensor de fluxo de ar. Geralmente um pouco menor que o sensor de temperatura principal.",
"temperatureCase":"Temperatura da carcaça da unidade. Útil para monitorar a ventilação do gabinete.",
"temperatureInternal":"Sensor de temperatura interna. Pode ser superior à temperatura da caixa.",
"sataPowerOnHours":"Total de horas acumuladas em que a unidade esteve ligada. Usado para estimar a idade e planejar substituições.",
"powerOnHoursAndMsec":"Tempo total ligado com precisão de milissegundos.",
"powerCycleCount":"Número total de ciclos completos de ligar/desligar. Ciclismo frequente sobrecarrega a eletrônica.",
"powerOffRetractCount":"Vezes em que os cabeçotes foram retraídos devido à perda de energia (HDD). Valores altos indicam fonte de alimentação instável.",
"unexpectedPowerLossCt":"Perdas inesperadas de energia (SSD). Pode causar corrupção de metadados se o cache de gravação estiver ativo.",
"unsafeShutdownCount":"Perdas de energia sem desligamento adequado (SSD). Valores altos correm o risco de corrupção do firmware.",
"startStopCount":"Ciclos de partida/parada do motor do fuso (HDD). Cada ciclo causa desgaste mecânico.",
"spinUpTime":"É hora de os pratos atingirem a velocidade operacional total (HDD). Valores crescentes podem indicar desgaste nos rolamentos do motor.",
"spinRetryCount":"Tentativas falhadas de ligar o motor (HDD). Diferente de zero geralmente indica problemas na fonte de alimentação ou no motor.",
"calibrationRetryCount":"Número de novas tentativas de calibração do cabeçote (HDD). Diferente de zero pode indicar problemas mecânicos.",
"seekErrorRate":"Erros durante o posicionamento da cabeça (HDD). Altos valores brutos na Seagate costumam ser normais devido a uma fórmula proprietária.",
"seekTimePerformance":"Desempenho médio da operação de busca (HDD). Valores decrescentes sugerem degradação mecânica.",
"loadCycleCount":"Ciclos de carga/descarga da cabeça (HDD). Classificado para ciclos de 300K a 600K na maioria das unidades.",
"loadUnloadCycleCount":"Ciclos de carga/descarga da cabeça (HDD). Cada ciclo provoca um pequeno desgaste no mecanismo de rampa.",
"headFlyingHours":"Horas em que as cabeças de leitura/gravação foram posicionadas sobre os pratos (HDD).",
"highFlyWrites":"Escreve onde a cabeça voou mais alto que o esperado (HDD). Os dados podem não ser gravados corretamente.",
"gSenseErrorRate":"Eventos de choque ou vibração detectados pelo acelerômetro (HDD). Valores altos indicam perturbação física.",
"diskShift":"Distância em que o disco se deslocou de sua posição original (HDD). Relacionado a temperatura ou choque.",
"loadedHours":"Horas gastas com cabeças carregadas nos pratos (HDD).",
"loadInTime":"Hora do processo de carregamento do cabeçote. Métrica de diagnóstico específica do fabricante.",
"torqueAmplificationCount":"Vezes em que a unidade precisou de torque extra para girar. Pode indicar aderência ou problemas motores.",
"flyingHeight":"Distância da cabeça ao prato durante a operação (HDD). Crítico para confiabilidade de leitura/gravação.",
"loadFriction":"Fricção detectada durante o carregamento da cabeça (HDD). Valores crescentes sugerem desgaste do mecanismo de rampa.",
"loadUnloadRetryCount":"Falha nas tentativas de carregamento/descarregamento do cabeçote (HDD). Diferente de zero indica problemas mecânicos.",
"udmaCrcErrorCount":"Erros de soma de verificação de transferência de dados no cabo SATA. Geralmente causado por um cabo defeituoso, conexão solta ou problema de porta.",
"crcErrors":"Erros de comunicação da interface. Geralmente causado por problemas de cabo ou conexão.",
"crcErrorCount":"Erros de soma de verificação de transferência de dados. Substitua o cabo SATA se esse valor aumentar.",
"commandTimeout":"Comandos que demoraram muito e expiraram. Pode indicar problemas no controlador ou na conexão.",
"interfaceCrcErrorCount":"Erros de CRC no link de interface. Problema no cabo ou conector.",
"hardwareEccRecovered":"Erros de leitura corrigidos pelo hardware ECC. Diferente de zero é normal; o rápido crescimento merece atenção.",
"eccErrorRate":"Taxa de erros corrigidos pelo ECC. Fórmula proprietária; VALUE é mais importante do que contagem bruta.",
"endToEndError":"Corrupção de dados detectada entre o cache do controlador e a interface do host. Deve ser sempre zero.",
"endToEndErrorDetectionCount":"Número de erros de paridade no caminho de dados. Diferente de zero indica problemas no controlador.",
"wearLevelingCount":"Média de ciclos de apagamento por bloco NAND (SSD). VALOR mais baixo significa mais desgaste consumido.",
"wearRangeDelta":"Diferença entre blocos mais usados e menos usados (SSD). Valores altos indicam desgaste irregular.",
"mediaWearoutIndicator":"Estimativa de vida útil restante do SSD Intel. Começa em 100 e diminui para 0 conforme a resistência é consumida.",
"ssdLifeLeft":"Porcentagem estimada de vida útil restante do SSD com base no desgaste da NAND.",
"percentLifetimeRemain":"Porcentagem estimada de vida útil restante. 100 significa novo; 0 significa fim da vida útil nominal.",
"percentLifetimeUsed":"Porcentagem de resistência nominal consumida. Inverso da porcentagem de vida útil restante.",
"availableReservedSpace":"Blocos sobressalentes restantes como porcentagem (SSD). Valores baixos reduzem a capacidade da unidade de lidar com blocos defeituosos.",
"usedReservedBlockCount":"Blocos de reserva consumidos para substituição de blocos defeituosos (SSD). Um valor crescente significa envelhecer.",
"unusedReservedBlockCount":"Blocos de reserva ainda disponíveis para substituição de blocos defeituosos (SSD). Zero significa que não é mais possível substituir blocos defeituosos.",
"programFailCount":"Falhas de gravação NAND (SSD). Uma contagem crescente significa que as células flash estão se desgastando.",
"programFailCountChip":"Falhas do programa no nível do chip (SSD). Diferente de zero indica degradação NAND.",
"eraseFailCount":"Falhas na operação de apagamento NAND (SSD). Diferente de zero indica desgaste severo do flash.",
"eraseFailCountTotal":"Total de falhas de apagamento NAND (SSD). Combinado com a contagem de falhas do programa, mostra a integridade geral da NAND.",
"eraseFailCountChip":"Apague falhas no nível do chip (SSD). Diferente de zero significa degradação NAND.",
"runtimeBadBlock":"Blocos defeituosos descobertos durante a operação normal (SSD). Uma contagem crescente significa que o flash está desgastado.",
"totalLbasWritten":"Total de endereços de blocos lógicos gravados. Multiplique por 512 bytes para obter o volume total de dados.",
"totalLbasRead":"Total de endereços de blocos lógicos lidos. Útil para calcular a carga de trabalho diária.",
"lifetimeWritesGib":"Total de dados gravados em GiB durante a vida útil da unidade.",
"lifetimeReadsGib":"Total de dados lidos em GiB durante a vida útil da unidade.",
"totalWritesGib":"Dados totais gravados em GiB. Compare com a classificação TBW para estimativa de resistência.",
"totalReadsGib":"Total de dados lidos em GiB.",
"nandWritesGib":"Raw NAND escreve em GiB. Maior que as gravações do host devido à amplificação de gravação.",
"hostWrites32Mib":"Dados totais gravados pelo host em unidades de 32 MiB.",
"hostReads32Mib":"Total de dados lidos pelo host em unidades de 32 MiB.",
"hostWritesMib":"Dados totais gravados pelo host em MiB.",
"hostReadsMib":"Total de dados lidos pelo host em MiB.",
"nandGbWrittenTlc":"Total de dados gravados em células TLC NAND em GB. Inclui sobrecarga de amplificação de gravação.",
"nandGibWritten":"Total de gravações NAND em GiB. Maior que as gravações do host devido à amplificação de gravação e à coleta de lixo.",
"averageBlockEraseCount":"Número médio de ciclos de apagamento por bloco NAND (SSD). As unidades normalmente são classificadas para ciclos de 3K a 100K.",
"averageEraseCount":"Média de ciclos de apagamento por bloco. Compare com a resistência nominal para estimativa de vida restante.",
"maxEraseCount":"Ciclos máximos de apagamento em qualquer bloco único. Uma grande lacuna em relação à média indica desgaste irregular.",
"totalEraseCount":"Soma de todos os ciclos de apagamento em todos os blocos. Indicador geral de volume de gravação NAND.",
"powerLossCapTest":"Resultado do autoteste do capacitor de proteção contra perda de energia (SSD). Falhou significa risco de perda de dados em caso de falha de energia.",
"powerLossProtection":"Status do mecanismo de proteção contra perda de energia. Os SSDs corporativos usam capacitores para liberar o cache em caso de perda de energia.",
"successfulRainRecovCnt":"Recuperações bem-sucedidas usando RAIN (Redundant Array of Independent NAND). Mostra que a paridade NAND está funcionando.",
"ssdEraseFailCount":"Total de falhas de apagamento no SSD. Indica degradação geral da NAND.",
"ssdProgramFailCount":"Total de falhas de gravação no SSD. Indica problemas de confiabilidade da célula flash.",
"throughputPerformance":"Classificação geral de desempenho de rendimento (HDD). Valores decrescentes indicam degradação.",
"unknownAttribute":"Atributo específico do fornecedor não definido no padrão SMART. Verifique a documentação do fabricante.",
"freeFallSensor":"Eventos de queda livre detectados (HD do laptop). As cabeças estão estacionadas para evitar danos durante quedas.",
"grownDefectList":"Setores remapeados devido a defeitos encontrados durante a operação. Equivalente a setores realocados no SATA. Uma contagem crescente significa degradação da unidade.",
"readErrorsCorrected":"Erros de leitura corrigidos pelo ECC. Normal para unidades empresariais sob carga de trabalho pesada; apenas erros não corrigidos são críticos.",
"readEccFast":"Erros corrigidos por ECC rápido e instantâneo durante operações de leitura. Normal in SAS drives.",
"readEccDelayed":"Erros que exigem correção ECC atrasada ou offline durante leituras. Diferente de zero é aceitável, mas não deve crescer rapidamente.",
"readUncorrectedErrors":"Leia os erros que o ECC não conseguiu corrigir. Diferente de zero significa que os dados foram perdidos ou ilegíveis. Métrica crítica.",
"readDataProcessed":"Total de dados lidos pela unidade. Útil para calcular a carga de trabalho diária.",
"writeErrorsCorrected":"Erros de gravação corrigidos pelo ECC. Normal para unidades corporativas.",
"writeUncorrectedErrors":"Erros de gravação que o ECC não conseguiu corrigir. Diferente de zero significa perda potencial de dados. Crítico.",
"writeDataProcessed":"Total de dados gravados na unidade. Útil para análise de carga de trabalho.",
"verifyErrorsCorrected":"Erros de verificação corrigidos durante operações de verificação em segundo plano.",
"verifyUncorrectedErrors":"Verifique os erros que não puderam ser corrigidos. Diferente de zero indica degradação da mídia.",
"nonMediumErrors":"Erros de controlador ou barramento não relacionados à mídia em si. Contagem alta pode indicar problemas no backplane ou no cabo.",
"sasTemperature":"Temperatura atual da unidade. As unidades SAS empresariais toleram até 55-60°C sob carga sustentada.",
"sasPowerOnHours":"Total de horas em que a unidade esteve ligada. As unidades empresariais são classificadas para operação 24 horas por dia, 7 dias por semana.",
"startStopCycles":"Ciclos de partida/parada do motor. As unidades SAS empresariais são classificadas para mais de 50.000 ciclos.",
"loadUnloadCycles":"Ciclos de carga/descarga da cabeça. As unidades empresariais são classificadas para mais de 600.000 ciclos.",
"backgroundScanStatus":"Status da varredura de mídia em segundo plano SCSI. Funciona continuamente para detectar defeitos de superfície."
},
"recommendations":{
"healthyTitle":"O disco está íntegro",
"healthyText":"Todos os atributos SMART estão dentro dos limites normais. Continue o monitoramento regular.",
"criticalTitle":"Crítico: Problema de integridade do disco detectado",
"criticalText":"A SMART relatou um problema de saúde. Faça backup de todos os dados imediatamente e planeje a substituição do disco.",
"seagateText":"As unidades Seagate relatam valores brutos muito grandes para o atributo nº 1. Isto é esperado; apenas o valor normalizado importa e deve permanecer em 100.",
"smrTitle":"Unidade SMR detectada - Limitações de gravação",
"smrText":"Os discos SMR gravam dados aleatórios mais lentamente e podem travar sob uma carga de trabalho mista pesada. Eles são adequados para backups e arquivamentos, mas não são recomendados como armazenamento Proxmox primário ou vdevs ZFS."
}
},
"ataErrors":{
"idnf":"Endereço do setor não encontrado – possível setor defeituoso ou problema de cabo",
"unc":"Erro de leitura incorrigível – setor defeituoso",
"abrt":"Comando abortado pelo drive",
"amnf":"Marca de endereço não encontrada – danos na superfície",
"tk0nf":"Faixa 0 não encontrada – falha de hardware da unidade",
"bbk":"Bloqueio incorreto detectado",
"icrc":"Erro CRC de interface - problema no cabo ou conector",
"mc":"Mídia alterada",
"mcr":"Alteração de mídia solicitada",
"wp":"Protegido contra gravação"
},
"scheduleTab":{
"loading":"Carregando horários...",
"automaticTests":"Testes SMART automáticos",
"toggleHelp":"Habilite ou desabilite todos os testes agendados",
"enabled":"Habilitado",
"disabled":"Desabilitado",
"configured":"Agendamentos configurados",
"disks":"Discos",
"allDisks":"todos os discos",
"keepResults":"Manter resultados {count}",
"empty":"Nenhum teste agendado configurado",
"emptyHint":"Crie um cronograma para executar testes SMART automaticamente.",
"edit":"Editar programação",
"new":"Nova programação",
"testType":"Tipo de teste",
"frequency":"Freqüência",
"daily":"Diário",
"weekly":"Semanalmente",
"monthly":"Mensal",
"dailyAt":"Diariamente às {time}",
"weeklyAt":"{day} às {time}",
"monthlyAt":"Dia {day} do mês às {time}",
"dayOfWeek":"Dia da semana",
"dayOfMonth":"Dia do mês",
"timeHour":"Hora (hora)",
"retention":"Mantenha os resultados",
"lastN":"Última {count}",
"keepAll":"Mantenha tudo",
"saving":"Salvando...",
"save":"Salvar programação",
"cancel":"Cancelar",
"add":"Adicionar programação",
"note":"Os testes agendados são executados automaticamente via cron. Os resultados são salvos no histórico SMART.",
"days":{
"sunday":"Domingo",
"monday":"Segunda-feira",
"tuesday":"Terça-feira",
"wednesday":"Quarta-feira",
"thursday":"Quinta-feira",
"friday":"Sexta-feira",
"saturday":"Sábado"
}
}
},
"details":{
"temperature":{
"title":"Temperatura da CPU",
"diskTitle":"Temperatura",
"current":"Atual",
"min":"Mínimo",
"avg":"Média",
"max":"Máx.",
"seriesName":"Temperatura",
"noData":"Não há dados de temperatura disponíveis para este período",
"collectionHint":"Os dados são coletados a cada 60 segundos",
"openHistory":"Histórico de temperatura aberta",
"collectingSamples":"Coletando amostras — o gráfico é preenchido após aproximadamente 2 minutos",
"sampleInterval":"As amostras são coletadas a cada 60 segundos",
"timeframes":{
"hour":"1 hora",
"day":"24 horas",
"week":"7 dias",
"month":"30 dias"
},
"status":{
"hot":"Quente",
"warm":"Esquentar",
"normal":"Normal"
}
},
"processes":{
"topByCpu":"Principais processos por CPU",
"topByMemory":"Principais processos por memória",
"cpuDescription":"Uso atual da CPU por processo, como uma fração da CPU total do host - mesma escala da placa de uso da CPU acima. Atualiza a cada 3 s enquanto aberto.",
"memoryDescription":"Memória residente atual por processo. Atualiza a cada 3 s enquanto aberto.",
"filterPlaceholder":"Filtrar por linha de comando, usuário ou PID...",
"pid":"PID",
"user":"Usuário",
"command":"Comando",
"cpuPercent":"CPU %",
"memory":"Memória",
"memPercent":"% de memória",
"noMatches":"Nenhum processo corresponde ao filtro",
"captured":"Capturado {time}",
"matchCount":"{count} correspondência de processos {total}",
"matchesCount":"{count} correspondências de processos {total}",
"topCount":"Principais {shown} dos {total} processos",
"loadFailed":"Falha ao buscar processos",
"lifetimeAverageTitle":"% média de CPU ao longo da vida útil deste processo - útil para encontrar linhas de base ociosas de longa duração",
"descriptionLive":"Instantâneo ao vivo de /proc/{pid}. Atualiza automaticamente a cada {seconds} s enquanto estiver aberto.",
"descriptionExited":"Último instantâneo de /proc/{pid} antes da conclusão do processo.",
"finishedTitle":"Este processo terminou",
"finishedDescription":"Provavelmente foi um auxiliar, script, pct exec ou comando único de curta duração que foi concluído enquanto o modal estava aberto. Os dados abaixo são o último instantâneo capturado antes de sair – não uma leitura obsoleta ou quebrada.",
"forceStopDescription":"Isso ignora a sequência de desligamento do sistema operacional convidado e pode corromper bancos de dados ou sistemas de arquivos em execução. O convidado é morto imediatamente.",
"rebootDescription":"Isso força uma reinicialização sem esperar que o sistema operacional convidado libere as gravações pendentes. Use um desligamento elegante quando possível.",
"typeToConfirm":"Digite {vmid} para confirmar:",
"guest":"Convidado:"
},
"guestTypes":{
"container":"recipiente",
"vm":"VM",
"containerUi":"Recipiente"
},
"backups":{
"title":"Cópias de segurança",
"create":"Criar backup",
"available":"Backups disponíveis",
"loading":"Carregando backups...",
"empty":"Nenhum backup encontrado",
"emptyHint":"Crie seu primeiro backup usando o botão acima"
},
"updatesPanel":{
"pendingTitle":"Atualizações de pacote pendentes",
"total":"{count} total",
"lastChecked":"Última verificação:",
"applyWith":"Inscreva-se com",
"securityUpdate":"Atualização de segurança",
"security":"segurança",
"clickToView":"Clique para visualizar pacotes pendentes",
"updateSingular":"atualizar",
"updatePlural":"atualizações",
"packagePending":"{count} pacote pendente",
"packagesPending":"{count} pacotes pendentes",
"securityUpdatePending":"{count} atualização de segurança",
"securityUpdatesPending":"{count} atualizações de segurança",
"fullListInside":"Lista completa disponível dentro do contêiner:",
"loadingMountPoints":"Carregando pontos de montagem..."
},
"errors":{
"unknown":"Erro desconhecido",
"backupStartFailed":"Falha ao iniciar o backup: {message}",
"controlFailed":"Falha ao {action} VM {vmid}: {message}",
"disabledTitle":"O firewall não está ativado para este {type}",
"disabledHint":"Habilite-o na UI do Proxmox em {type} -> Firewall -> Opções e adicione pelo menos uma regra com log: info ou superior para que os pacotes comecem a ser gravados. Novas entradas aparecerão aqui automaticamente na próxima atualização.",
"readFailed":"Falha ao ler o log do firewall",
"empty":"Nenhum evento de firewall registrado ainda.",
"emptyHint":"Regras com log: info ou superior preencherão esta visualização conforme os pacotes chegam."
},
"options":{
"title":"Opções",
"snapshotBefore":"Instantâneo antes de aplicar",
"snapshotOn":"— em {storage}",
"noSnapshot":"Nenhum snapshot pré-aplicado",
"restartAfter":"Reinicie o contêiner após aplicar",
"noRestart":"Sem reinicialização pós-aplicação",
"snapshotLabel":"Capture um instantâneo do contêiner antes de aplicar (vzdump)",
"appliesToBoth":"Aplica-se a execuções manuais + programadas.",
"backupStorage":"Armazenamento de backup",
"pickStorage":"Escolha um armazenamento",
"editButton":"Editar",
"cancelButton":"Cancelar",
"saveButton":"Salvar",
"storageAuto":"auto"
},
"scheduled":{
"title":"Atualizações agendadas",
"enabledHelper":"É executado em segundo plano usando as opções de aplicação acima.",
"disabledHelper":"Habilite para executar atualizações automaticamente em uma programação cron.",
"releaseDelayLabel":"Esperar após uma nova versão da app",
"releaseDelayNone":"Sem período de espera",
"releaseDelayDays":"Esperar {days} dia(s)",
"releaseDelayHelp":"Aplica-se apenas às apps selecionadas com acompanhamento de versões. As versões pendentes devem ter esta idade; as apps sem acompanhamento executam o atualizador em cada agendamento.",
"helperDetectedChoice":"Foi detetado um atualizador Helper-Scripts para esta aplicação.",
"helperUnavailableChoice":"O atualizador Helper-Scripts selecionado já não está disponível.",
"disableUpdater":"Desativar",
"disableUpdaterConfirm":"Desativar o método de atualização de {name}? Os planos e agendamentos manterão as seleções, mas esta aplicação não será executada até configurar novamente um método.",
"noUpdaterSelected":"Não selecionou um método de atualização.",
"helperMethodDescription":"O ProxMenux executa o atualizador detetado dentro deste LXC e mostra o registo e o resultado. Este é mantido pelo Proxmox VE Helper-Scripts.",
"customMethodDescription":"Pode utilizar o atualizador da aplicação, um gestor de pacotes ou um novo binário. O comando é executado dentro deste LXC com privilégios de administrador.",
"updaterInstructions":"Consulte as instruções do atualizador.",
"helperDocumentation":"Documentação de atualização",
"helperSource":"Script da aplicação",
"customMethodExample":"Adapte os nomes, os caminhos e o serviço à sua aplicação. Só será executado o comando que guardar.",
"helperCommandLabel":"Comando dentro do LXC",
"helperCommandFallback":"Se o wget não estiver disponível, o ProxMenux utiliza curl -fsSL para transferir o mesmo script.",
"customScriptTitle":"Script de atualização",
"customScriptDescription":"Execute um script de atualização da aplicação já existente no LXC.",
"customPackageTitle":"Pacote Debian/Ubuntu",
"customPackageDescription":"Substitua my-package pelo pacote que pretende atualizar.",
"customBinaryTitle":"Binário",
"customBinaryDescription":"Primeiro transfira e verifique o binário oficial da versão e arquitetura corretas em /tmp/my-app.new. Este exemplo conserva uma cópia do binário anterior e reinicia o respetivo serviço.",
"ociImmutableBody":"Os pacotes do sistema operacional são incorporados no momento da criação da imagem e não podem ser atualizados no local. Aplique as atualizações manualmente ou reinstale com uma imagem mais recente.",
"hideNoticeButton":"Ocultar este aviso para este app",
"noOsUpdatesPending":"Nenhuma atualização de sistema operacional pendente",
"securityUpdateAria":"Atualização de segurança",
"packagePendingLabel":"pacote pendente",
"packagesPendingLabel":"pacotes pendentes",
"securityUpdateLabel":"atualização de segurança",
"securityUpdatesLabel":"atualizações de segurança",
"noMethodBody":"Nenhum método de atualização disponível. Atualize a partir do próprio aplicativo ou conecte um comando personalizado que o ProxMenux executará dentro do contêiner.",
"noMethodHideBody":"Este aplicativo não possui nenhum método de atualização registrado. Defina um na guia Aplicativo ou ignore este aviso.",
"hideForApp":"Ocultar aviso para {appName}",
"applyOsAppsFooter":"Aplicar atualizações do SO + {appName}",
"applyOsAppsFooterPlural":"Aplicar atualizações do sistema operacional + aplicativos",
"osAppsFooter":"SO + atualizações de {appName}",
"osAppsFooterPlural":"Atualizações do sistema operacional + aplicativos",
"otherPackagePending":"+{count} outro pacote pendente no contêiner",
"otherPackagesPending":"+{count} outros pacotes pendentes no contêiner",
"noManagedUpdateInfo":"Nenhuma informação de atualização ainda — verifique em Segurança → Secure Gateway.",
"ociTitle":"Contêiner de imagem OCI",
"ociBody":"Este contêiner foi criado a partir de uma imagem OCI (Docker). O gerenciamento de atualizações para contêineres OCI vem com o próximo recurso de instalação do OCI – as atualizações reconstruirão o contêiner a partir de uma tag de imagem mais recente, em vez de corrigir os pacotes internos.",
"dockerEngineUpdateHelp":"Atualiza apenas os pacotes Docker instalados e as dependências necessárias. Não atualiza outros pacotes do SO nem recria contentores.",
"dockerDetectedWithWorkloads":"Docker detetado com {count} aplicações em contentores",
"dockerWorkloadsHeading":"Aplicações no Docker",
"runsInsideDocker":"Atualizada através da sua imagem Docker",
"upstreamDelegatedTitle":"A versão disponível provém da sua imagem Docker",
"upstreamDelegatedHelp":"Esta aplicação é executada num contentor. A versão disponível é obtida da sua imagem, sem uma consulta separada nem notificações duplicadas. Atualize a imagem no separador Atualizações.",
"detectMethodDockerLabel":"rótulo da janela de encaixe",
"detectMethodDockerExec":"executivo do docker",
"detectMethodCommand":"comando",
"binaryVersionHint":"binário --versão",
"systemctlHint":"systemctl show <serviço> -p ExecStart",
"whichHint":"qual <aplicativo>",
"apkInfoHint":"\" : \"informações do apk | grep",
"grafanaNote":". Necessidades de grafana",
"hiddenDetectionsHelpSingular":"Você tem {count} detecção oculta. Restaure um para recuperá-lo ou registre um aplicativo personalizado manualmente.",
"hiddenDetectionsHelpPlural":"Você tem {count} detecções ocultas. Restaure um para recuperá-lo ou registre um aplicativo personalizado manualmente.",
"registerCustom":"Registre um aplicativo personalizado",
"noAppsTitle":"Nenhum aplicativo cadastrado",
"noAppsBody":"Registre os aplicativos executados neste contêiner para obter links da web e, opcionalmente, rastrear versões disponíveis com notificações de novos lançamentos.",
"confirmHide":"Ocultar permanentemente a detecção \"{name}\" neste contêiner?\n\nPara recuperá-lo mais tarde, clique em “Registrar um aplicativo diferente” – a lista oculta aparece com a opção Restaurar.",
"saveFailed":"Falha ao salvar",
"tagFilterRegexOptional":"Regex de filtro de tags (opcional)",
"versionRegexOptional":"Versão regex (opcional)",
"top20Matches":"20 principais correspondências – restrinja a consulta para mais",
"binaryArgsHintPrefix":"Deixado em branco o padrão é",
"binaryArgsHintGrafana":"Necessidades de grafana",
"loadFailed":"Não foi possível carregar a configuração do aplicativo",
"dockerPublishedServicesTitle":"Serviços Docker com portas publicadas",
"dockerPublishedServicesHelp":"Selecione apenas as portas que fornecem uma interface Web. O ProxMenux não regista estes contentores como aplicações LXC independentes.",
"dockerPublishedAdd":"Adicionar ligação",
"dockerPublishedPort":"porta {containerPort} do contentor → {hostPort} no LXC",
"noWebPorts":"Nenhuma porta da web escutando. Use Adicionar porta se ainda quiser criar um link manualmente.",
"trackUpstream":"Rastrear versão disponível (opcional)",
"trackOff":"Desativado – apenas link",
"trackOn":"Ativado · {method}",
"trackHelp":"Opcional. Quando ativado, o ProxMenux compara a versão instalada com a versão mais recente disponível.",
"commandSafetyHelp":"Executa o estilo argv dentro do CT como root - nunca através de um shell. Você é responsável pelo que o comando faz. Use instalado_regex abaixo para extrair a versão da saída.",
"manualVersionHelp":"Digite a versão instalada. Se uma fonte da versão disponível for definida abaixo, o ProxMenux continuará procurando atualizações. Após atualizar o aplicativo, volte aqui e atualize este valor.",
"upstreamHelp":"Como o ProxMenux encontra a versão mais recente para comparar com a instalada.",
"githubRepoHelp":"Repositório público do GitHub onde os lançamentos ou tags são publicados.",
"httpJsonHelp":"Endpoint JSON público que retorna uma versão em algum lugar da carga útil.",
"jsonPathHelp":"Caminho pontilhado com índices de matriz [N] opcionais.",
"upstreamErrorGithubRateLimit":"O limite de pedidos do GitHub foi atingido. Configure um token opcional em Definições → API do GitHub ou tente novamente mais tarde.",
"notifyUpstreamHelp":"Envia `app_update_available` para os canais habilitados em Configurações → Notificações. Desligue se este aplicativo não puder ser atualizado em sua caixa.",
"excludeFromBadgeHelp":"não conte este aplicativo no selo de atualizações agregadas no cartão de lista LXC.Útil quando você está fixado em uma versão específica propositalmente (requisito do rastreador, congelamento de compatibilidade).Não afeta o próprio estado da guia Aplicativo ou a notificação de saída."
"description":"Alterar a forma como o tráfego de rede é exibido",
"label":"Exibição da unidade de rede",
"bytes":"Bytes",
"bits":"Pedaços"
},
"healthMonitor":{
"title":"Monitor de Saúde",
"description":"Configure por quanto tempo os alertas dispensados permanecem ocultos para cada categoria. As alterações se aplicam a alertas ignorados existentes e futuros.",
"category":"Categoria",
"suppressionDuration":"Duração da Supressão",
"hours":"Horas",
"permanentNotice":"Os alertas para {category} permanecerão ocultos permanentemente após serem dispensados.",
"temperatureSafetyNotice":"Alertas críticos de temperatura da CPU ainda aparecem para proteger o hardware.",
"longSuppressionNotice":"Longo período de supressão. Os alertas ignorados nesta categoria permanecerão ocultos por muito tempo.",
"footerNote":"Essas configurações se aplicam quando você descarta um aviso do Health Monitor. Alertas críticos de temperatura da CPU sempre aparecem para proteger seu hardware.",
"activeSuppressions":"Supressões Ativas",
"activeSuppressionsDescription":"Alertas que você ocultou do Health Monitor. As demissões permanentes só podem ser revertidas aqui. A edição requer o Health Monitor",
"noActiveSuppressions":"Sem supressões ativas. Os alertas dispensados do Health Monitor aparecerão aqui.",
"permanent":"Permanente",
"daysRemaining":"{count}d restantes",
"hoursRemaining":"{count}h restantes",
"reEnableDisabledTitle":"Ative o modo de edição do Health Monitor para reativar",
"reEnableQueuedTitle":"Cancelar reativar; não será aplicado em Salvar",
"reEnableTitle":"Coloque este alerta na fila para reativar ao salvar",
"reEnable":"Reativar",
"labels":{
"category":"categoria",
"severity":"gravidade",
"dismissed":"demitido"
},
"errorNames":{
"security_login_attempts":"Tentativas de login de segurança"
},
"options":{
"24h":"24 horas",
"3d":"3 dias",
"1w":"1 semana",
"1m":"1 mês",
"1y":"1 ano",
"custom":"Personalizado",
"permanent":"Permanente"
},
"categories":{
"cpu":"Uso e temperatura da CPU",
"memory":"Memória e swap",
"storage":"Suportes e espaço de armazenamento",
"disk":"E/S e erros de disco",
"network":"Interfaces de rede",
"vms":"VMs e contêineres",
"services":"Serviços PVE",
"logs":"Registros do sistema",
"updates":"Atualizações do sistema",
"security":"Segurança e Certificados",
"temperature":"Temperatura"
}
},
"remoteStorage":{
"title":"Exclusões de armazenamento remoto",
"description":"Exclua armazenamentos remotos (PBS, NFS, CIFS, etc.) do monitoramento e notificações de integridade. Use isso para armazenamentos intencionalmente off-line ou com acesso limitado à API.",
"emptyDescription":"PBS, NFS, CIFS e outros armazenamentos remotos aparecerão aqui quando configurados",
"storage":"Armazenar",
"offline":"Off-line ou indisponível",
"namespaceRestricted":"Acessível; tamanho do armazenamento de dados oculto pela ACL",
"healthHelp":"Quando DESLIGADO, esse armazenamento não acionará avisos ou alertas críticos no Health Monitor.",
"alertsHelp":"Quando DESLIGADO, nenhuma notificação será enviada para este armazenamento."
},
"networkInterfaces":{
"title":"Exclusões de interface de rede",
"description":"Exclua interfaces de rede (pontes, ligações, NICs físicas) do monitoramento e notificações de integridade. Use isto para interfaces intencionalmente desativadas ou não utilizadas.",
"emptyTitle":"Nenhuma interface de rede detectada",
"interface":"Interface",
"down":"ABAIXO",
"excluded":"Excluído",
"noIp":"Sem IP",
"healthHelp":"Quando DESLIGADA, esta interface não acionará avisos ou alertas críticos no Health Monitor.",
"alertsHelp":"Quando DESLIGADO, nenhuma notificação será enviada para esta interface."
},
"snippets":{
"title":"Armazenamento de hookscripts",
"description":"Onde o ProxMenux instala os hookscripts, por exemplo, o que protege o passthrough de GPU para VMs/LXCs. Em um cluster, escolha um armazenamento compartilhado para que VMs e LXCs migrem corretamente entre os nós;",
"localNote":"é específico do nó e interrompe a migração.",
"placeholder":"Escolha um armazenamento...",
"footer":"As VMs/LXCs que já usam o armazenamento anterior continuarão funcionando. Somente novas operações de passthrough de GPU ou a execução de \"sync hookscripts\" no host usarão a nova seleção."
},
"lxcUpdateDetection":{
"title":"Detecção de atualização LXC",
"descriptionStart":"Verifique periodicamente os contêineres Debian/Ubuntu/Alpine LXC em execução para atualizações de pacotes pendentes",
"descriptionEnd":"e coloque-os no painel. A alternância de notificação correspondente em Notificações -> Serviços aparece apenas enquanto a detecção está habilitada.",
"enableLabel":"Habilitar detecção de atualização LXC",
"loadFailed":"Não foi possível carregar a configuração de detecção de atualização LXC.",
"saveFailed":"Não foi possível salvar a configuração de detecção de atualização LXC.",
"purgedMessage":"{count} Entradas LXC removidas do registro. Reativar a detecção irá preenchê-los novamente no próximo ciclo de verificação."
"tokenHelp":"O token é armazenado de forma cifrada. O ProxMenux utiliza-o apenas para pedidos de leitura à API do GitHub e não volta a apresentá-lo. Basta um token fine-grained com acesso de leitura a repositórios públicos e sem permissões de conta.",
"description":"Configure canais de notificação e filtros de eventos. Receba alertas via Telegram, Gotify, Discord ou Email.",
"disabledDescription":"Receba alertas em tempo real sobre o seu ambiente Proxmox via Telegram, Discord, Gotify ou Email.",
"enableService":"Habilitar serviço de notificação",
"enableServiceDescription":"Monitore a integridade do sistema, eventos de VM/CT, backups, alertas de segurança e status do cluster. A integração do webhook PVE é configurada automaticamente.",
"enableButton":"Habilitar notificações",
"configuring":"Configurando...",
"webhookConfigured":"Webhook PVE configurado automaticamente. O Proxmox enviará notificações para o ProxMenux.",
"webhookFailed":"Falha na configuração automática do PVE: {error}",
"webhookManualSetup":"As notificações estão habilitadas. Execute os comandos abaixo no host PVE para concluir a configuração do webhook.",
"serviceRunning":"Serviço em execução",
"serviceStopped":"Serviço interrompido",
"sentLast24h":"{count} enviado nas últimas 24h",
"channelCountOne":"{count} canal",
"channelCountMany":"{count} canais",
"activateService":"Ative o serviço de notificação",
"channels":"Canais",
"test":{
"sent":"Notificação de teste enviada com sucesso.",
"failed":"A notificação de teste falhou."
},
"errors":{
"saveFailed":"Não foi possível salvar as configurações de notificação.",
"unknown":"Erro desconhecido",
"setupUnavailable":"Não foi possível acessar o serviço de configuração."
"appriseDescription":"Um URL permite que o Apprise encaminhe a notificação para o serviço certo. Exemplos:",
"seeThe":"Veja o",
"fullList":"lista completa",
"displayName":"Nome de exibição",
"systemHostname":"Nome do host do sistema",
"displayNameHint":"Nome mostrado nas notificações. Edite-o ou deixe-o em branco para usar o nome do host do sistema.",
"activeFooter":"As notificações estão ativas. Cada canal segue sua própria categoria e seleção de eventos.",
"inactiveFooter":"Habilite notificações para receber alertas de sistema, integridade e segurança por meio dos canais configurados."
},
"ai":{
"title":"Aprimoramento de IA",
"enhancedMessages":"Mensagens aprimoradas por IA",
"enhancedMessagesDescription":"Use IA para gerar mensagens de notificação contextuais",
"provider":"Provedor",
"customBaseUrl":"URL base personalizado",
"customBaseUrlPlaceholder":"Deixe em branco para OpenAI ou insira um endpoint personalizado",
"customBaseUrlHint":"Para APIs compatíveis com OpenAI, como BytePlus, LocalAI, LM Studio ou vLLM.",
"apiKey":"Chave de API",
"model":"Modelo",
"promptMode":"Modo de prompt",
"defaultPrompt":"Solicitação padrão",
"customPrompt":"Solicitação personalizada",
"language":"Linguagem",
"selectLanguage":"Selecione o idioma",
"detailLevel":"Nível de detalhe por canal",
"suggestions":"Sugestões de IA",
"suggestionsDescription":"Permitir que a IA adicione breves dicas de solução de problemas com base no contexto do log",
"customPromptPlaceholder":"Insira suas instruções personalizadas para a IA…",
"testing":"Testando…",
"testConnection":"Conexão de teste",
"ollamaUrl":"URL de Ollama",
"getKey":"Obter chave",
"loadModelsPlaceholder":"Clique em Carregar para buscar modelos",
"selectModel":"Selecione o modelo",
"noModelsLoaded":"Nenhum modelo carregado — clique em Carregar",
"noModelSelected":"Selecione um modelo primeiro. Clique em Carregar para buscar os modelos disponíveis.",
"load":"Carregar",
"modelsAvailable":"{count} modelos disponíveis",
"detailHint":"AI traduz e formata notificações no idioma selecionado. Cada canal pode usar um nível diferente de detalhe.",
"beta":"BETA",
"export":"Exportar",
"import":"Importar",
"communityPrompts":"Solicitações da comunidade",
"customPromptHint":"Defina suas próprias regras e formato. Você controla os detalhes e o estilo de todas as notificações. Exporte o prompt para compartilhá-lo ou importe um da comunidade.",
"local":"Local",
"detailLevels":{
"brief":"Apresentação",
"standard":"Padrão",
"detailed":"Detalhado"
},
"providersInfo":"Informações do provedor de IA",
"loadModelsHint":"Clique em Carregar para buscar os modelos disponíveis deste fornecedor.",
"openAiCompatible":"APIs compatíveis com OpenAI",
"openAiCompatibleDescription":"Defina um URL base personalizado para usar uma API compatível com OpenAI. Os serviços suportados incluem:",
"anyOpenAiService":"Qualquer serviço usando o formato OpenAI",
"providers":{
"groq":"Muito rápido, com um nível gratuito generoso. Um bom lugar para começar.",
"openai":"Padrão da indústria, preciso e amplamente utilizado.",
"anthropic":"Excelente para escrita e tradução; rápido e econômico.",
"gemini":"Um nível gratuito está disponível, com uma boa relação qualidade/preço.",
"ollama":"Usa modelos em seu servidor Ollama. Totalmente local, privado e de operação gratuita.",
"openrouter":"Acesso a mais de 100 modelos através de uma chave API."
"title":"Guia de configuração do bot do Telegram",
"createBot":"Crie um bot com BotFather",
"create1":"1. Abra o Telegram e encontre",
"create2":"2. Envie o comando",
"create3":"3. Escolha um nome para o bot, por exemplo ProxMenux Notifications.",
"create4":"4. Escolha um nome de usuário que termine em bot, por exemplo proxmenux_alerts_bot.",
"getToken":"Obtenha o token do bot",
"tokenIntro":"Depois de criar o bot, o BotFather fornece um token como este:",
"tokenPaste":"Copie o token e cole-o no campo Bot Token.",
"getChatId":"Obtenha seu ID de bate-papo",
"optionA":"Opção A: usar um bot (mais fácil)",
"chat1":"1. Encontre",
"or":"ou",
"chat2":"2. Envie qualquer mensagem; o bot responde com seu ID de bate-papo.",
"optionB":"Opção B: método manual",
"manual1":"1. Envie uma mensagem para seu novo bot.",
"manual2":"2. Abra este URL no seu navegador e substitua YOUR_TOKEN:",
"manual3":"3. Encontre este valor; seu número é o seu ID de bate-papo:",
"groups":"Grupos e canais",
"group1":"1. Adicione o bot ao grupo ou canal como administrador.",
"group2":"2. Envie uma mensagem no grupo.",
"group3":"3. Use o URL getUpdates acima para encontrar o ID do bate-papo do grupo.",
"group4":"4. IDs de grupo são números negativos, por exemplo",
"summary":"Resumo rápido",
"summaryToken":"Identifica seu bot (do BotFather)",
"summaryChat":"Informa ao bot para onde enviar mensagens (seu ID ou ID de grupo)"
},
"validation":{
"discordWebhook":"Insira um URL de webhook do Discord no formato https://discord.com/api/webhooks/<id>/<token>.",
"invalidUrl":"Insira um URL válido.",
"unsupportedScheme":"Somente endereços que comecem com http:// ou https:// são permitidos.",
"localPveApi":"O endereço não pode apontar para a API PVE local (localhost:8006/8007).",
"metadataIp":"O IP de metadados local do link não pode ser usado como um endpoint do Gotify."
},
"customPromptInfo":{
"title":"Modo de prompt personalizado",
"description":"Crie seu próprio prompt de IA para notificações do ProxMenux Monitor",
"whatTitle":"O que é um prompt personalizado?",
"whatDescription":"O prompt define como a IA formata suas notificações. Um prompt personalizado permite controlar o estilo, o nível de detalhe e o formato de cada mensagem.",
"requirements":"Requisitos importantes",
"formatIntro":"Seu prompt deve usar este formato de saída:",
"formatTitleThen":"seguido pelo título, então",
"formatBodyThen":"seguido pela mensagem",
"plainText":"Use apenas texto simples, sem Markdown, para que o resultado funcione em todos os canais.",
"rawData":"O prompt recebe dados brutos do evento Proxmox como entrada.",
"language":"Defina o idioma de saída no prompt. O seletor de idioma se aplica apenas ao modo padrão.",
"gettingStarted":"Começando",
"gettingStartedDescription":"Um exemplo de prompt está pronto para ajudá-lo a começar. Você pode ajustá-lo, exportá-lo para compartilhar com outras pessoas ou importar um prompt da comunidade.",
"loadExample":"Exemplo de carregamento",
"startFromScratch":"Comece do zero"
}
},
"optimizations":{
"title":"ProxMenux Optimizations",
"description":"Otimizações de sistema e utilitários instalados via ProxMenux",
"emptyDescription":"Execute ProxMenux para configurar otimizações do sistema",
"installedTools":"Ferramentas instaladas",
"activeCount":"{count} ativo",
"viewUpdates":"Ver atualizações disponíveis",
"updateCount":"{count} atualizações",
"updateOneTitle":"Atualização: {name}",
"updateManyTitle":"Atualizar otimizações de {count}",
"updateOneDescription":"Executando novamente {functionName} do fluxo {source}.",
"updateManyDescription":"Executando novamente as funções pós-instalação {count} em sequência.",
"legacySourceTitle":"Otimização legada – clique para ver a fonte",
"sourceTitle":"Clique para visualizar o código fonte",
"legacy":"legado",
"updateToolTitle":"Atualizar {name} para v{version}",
"availableUpdates":"Atualizações disponíveis",
"availableUpdatesDescription":"As otimizações {count} podem ser atualizadas para uma versão mais recente.",
"selectedCount":"{selected} de {total} selecionado",
"updateSelected":"Atualização selecionada"
},
"healthThresholds":{
"title":"Limites do Monitor de Integridade",
"description":"O Health Monitor e as notificações reagem quando esses limites são ultrapassados. Arraste a alça âmbar para o nível de aviso e a alça vermelha para o nível crítico. Valores diferentes da recomendação aparecem em azul; passe o mouse sobre uma alça para ver a recomendação ou use Redefinir para restaurá-la.",
"loadFailed":"Falha ao carregar limites.",
"invalidValue":"Valor inválido para {key}: deve ser um número",
"resetFailed":"Falha na redefinição",
"networkErrorWhileResetting":"Erro de rede ao redefinir",
"resetSectionConfirm":"Redefinir todos os limites \"{section}\" para os valores recomendados?",
"resetAllConfirm":"Redefinir TODOS os limites para os valores recomendados? Isso afeta todas as seções.",
"resetAllTitle":"Redefina cada limite para o valor recomendado",
"resetSectionTitle":"Redefinir esta seção para recomendado",
"recommended":"Recomendado",
"warning":"Aviso",
"critical":"Crítico",
"ok":"OK",
"warn":"AVISAR",
"crit":"CRÍTICO",
"ram":"RAM",
"swapCriticalOnly":"Swap (apenas nível crítico)",
"sections":{
"cpu":{
"title":"Uso da CPU"
},
"memory":{
"title":"Memória e swap"
},
"cpu_temperature":{
"title":"Temperatura da CPU"
},
"disk_temperature":{
"title":"Temperatura do disco",
"description":"Limites por classe. Mesmas unidades (°C), padrões diferentes porque cada classe tolera uma faixa diferente."
},
"host_storage":{
"title":"Espaço em disco - host",
"description":"Aplica-se a / e a todos os pontos de montagem em /var/lib/vz, /mnt/* etc."
},
"lxc_rootfs":{
"title":"Espaço em disco - rootfs LXC",
"description":"Disco raiz por contêiner, avaliado em relação ao tamanho do rootfs do PVE."
},
"lxc_mount":{
"title":"Pontos de montagem LXC",
"description":"Capacidade de pontos de montagem dentro de CTs em execução (mp0, mp1, NFS, montagens de ligação). Exclui os rootfs; que é abordado acima."
},
"pve_storage":{
"title":"Capacidade de armazenamento PVE",
"description":"Armazenamentos PVE estilo bloco: LVM, LVM-thin, ZFS-pool, RBD/Ceph, PBS. O armazenamento no estilo de sistema de arquivos já é coberto pelos limites do disco host."
},
"zfs_pool":{
"title":"Capacidade do pool ZFS",
"description":"Os pools ZFS no nível do host, independentemente do registro do PVE, portanto, o rpool e os pools de backup dedicados também são monitorados."
"swapPressureHint":"Marca um evento crítico apenas quando AMBAS as condições forem verdadeiras ao mesmo tempo — uso do arquivo de swap acima do primeiro limite E RAM disponível abaixo do segundo. Alertar apenas por swap era ruidoso em hosts Proxmox onde o Linux troca páginas inativas enquanto a RAM permanece amplamente disponível.",
"swapHighLabel":"Uso do arquivo de swap",
"availableMinLabel":"RAM disponível mínima"
},
"navOrder":{
"title":"Ordem de navegação",
"description":"Personalize a ordem das abas principais. As abas agrupadas (Node, Admin) movem-se como uma unidade; seus itens internos mantêm a ordem padrão.",
"reset":"Restaurar padrão",
"hint":"Arraste para reordenar · No toque, pressione longamente primeiro",
"customActive":"Ordem de navegação personalizada ativa."
"readOnlyHint":"Reads metrics and status. Recommended for dashboards and integrations.",
"fullAdmin":"Full admin",
"fullAdminHint":"Full control, like your own session.",
"fullAdminWarning":"A full-admin token can do everything you can: power off or reboot the host, run updates and open a terminal. Share it only with fully trusted integrations."
"removeMonitorProtection":"Remover proteção do monitor",
"removeCustomJails":"Remova arquivos de proteção personalizados criados pelo Monitor",
"removeAuthLogger":"Remover o registrador de autenticação do Monitor",
"jailLabels":{
"sshd":"SSH",
"proxmox":"Proxmox",
"proxmenux":"ProxMenux Monitor"
},
"jailDescriptions":{
"sshd":"Bloqueia falhas repetidas de login SSH.",
"proxmox":"Bloqueia falhas repetidas de login na UI do Proxmox.",
"proxmenux":"Bloqueia falhas repetidas de login do Monitor."
},
"tabs":{
"jails":"Proteções e IPs bloqueados",
"activity":"Atividade"
},
"activity":{
"ban":"Bloqueado",
"unban":"Desbloqueado",
"fail":"Fracassado"
},
"placeholders":{
"maxRetries":"5",
"banTime":"3600",
"findTime":"600"
},
"trustedNetworks":{
"title":"Endereços IP e redes confiáveis",
"description":"Fail2Ban nunca bloqueará esses endereços.",
"required":"Obrigatório",
"remove":"Remover de redes confiáveis",
"placeholder":"192.168.1.25 ou 192.168.1.0/24",
"add":"Adicionar",
"addCurrent":"Adicionar meu IP ({ip})",
"addRule":"Adicionar endereço/rede",
"addressOrNetwork":"Endereço IP ou rede CIDR",
"example":"Um endereço: 192.168.1.25 · Toda a rede: 192.168.1.0/24",
"useCurrent":"Usar meu IP atual: {ip}",
"singleIp":"Endereço IP",
"network":"Rede",
"edit":"Editar",
"delete":"Excluir",
"save":"Salvar alterações",
"trusted":"Confiável",
"system":"Sistema",
"columns":{
"status":"Status",
"type":"Tipo",
"address":"Endereço/rede",
"actions":"Ações"
},
"warning":"Confie apenas nos endereços que você controla. Se você confiar em uma rede inteira, o Fail2Ban também ignorará um dispositivo comprometido nessa rede."
}
},
"lynis":{
"title":"Auditoria de segurança Lynis",
"description":"Execute uma auditoria de segurança local e analise sugestões práticas de proteção.",
"notInstalled":"Lynis não está instalado.",
"notInstalledDescription":"Instale o Lynis para executar auditorias de segurança locais neste host.",
"featuresTitle":"Lynis verifica:",
"featureScoring":"pontuação de fortalecimento do sistema",
"featureVulnerabilities":"Pontos fracos conhecidos e configurações de risco",
"featureCompliance":"controles de segurança comuns",
"featureGithub":"relatório claro que você pode imprimir ou salvar",
"install":"Instale o Lynis",
"installedDescription":"Lynis está instalado e pronto para auditar este host.",
"lastScan":"Última verificação",
"hardeningIndex":"Índice de endurecimento",
"warnings":"Avisos",
"pveExpectedPlus":"+ {count} esperado para Proxmox",
"expectedWarningsSuffix":"+ {count} esperado para Proxmox",
"suggestions":"Sugestões",
"securityHardeningScore":"Pontuação de reforço de segurança",
"warningsDescription":"Avisos que valem a pena revisar primeiro. As descobertas esperadas do Proxmox estão ocultas aqui.",
"noWarningsDetected":"Nenhum aviso acionável foi detectado.",
"recommendation":"Recomendação",
"suggestionsDescription":"Sugestões de proteção de baixa prioridade. As descobertas esperadas do Proxmox também estão ocultas aqui.",
"incompleteDescription":"Lynis criou um relatório incompleto sem pontuação ou contagem de testes. Execute a auditoria novamente para mostrar um resultado confiável.",
"detailedChecks":"Verificações detalhadas",
"categoriesCount":"{count} categorias",
"detailedChecksDescription":"Grupos de verificação brutos do Lynis do relatório de auditoria.",
"check":"Verificar",
"status":"Status",
"generatedBy":"Gerado por",
"confidential":"Mantenha este relatório privado; pode conter detalhes do host."
},
"reportIncompleteTitle":"A auditoria ainda não tem resultados utilizáveis",
"reportIncompleteDescription":"Lynis criou um relatório incompleto sem pontuação ou contagem de testes. Execute a auditoria novamente.",
"reportIncompleteShort":"O relatório está incompleto — execute a auditoria novamente."
},
"twoFactorSetup":{
"setupFailed":"Falha ao iniciar a configuração 2FA",
"enterSixDigitCode":"Digite o código de 6 dígitos.",
"invalidCode":"Código inválido",
"verificationFailed":"Falha ao verificar o código",
"copyPrompt":"Copie esta chave secreta:",
"title":"Configure a autenticação de dois fatores",
"description":"Use um aplicativo autenticador para adicionar um código único ao seu login.",
"intro":"Isso adiciona uma segunda etapa após sua senha, portanto, uma senha vazada não é suficiente para fazer login.",
"youWillNeed":"Você precisará de:",
"needApp":"Um aplicativo autenticador como Aegis, 1Password, Bitwarden ou Google Authenticator.",
"needQrOrKey":"Um código QR ou chave manual desta configuração.",
"needBackupCodes":"Códigos de backup salvos em algum lugar seguro.",
"starting":"Começando...",
"startSetup":"Iniciar configuração",
"scanTitle":"Digitalize o código QR",
"scanDescription":"Abra seu aplicativo autenticador e leia este código.",
"qrCodeAlt":"Código QR 2FA",
"manualKey":"Chave manual",
"copyKey":"Copiar chave",
"verifyTitle":"Verifique o código",
"verifyDescription":"Insira o código atual de 6 dígitos do seu aplicativo.",
"verifying":"Verificando...",
"verifyAndEnable":"Verifique e ative",
"enabledTitle":"2FA está habilitado.",
"enabledDescription":"Salve os códigos de backup antes de fechar esta janela.",
"saveCodesTitle":"Salve seus códigos de backup",
"saveCodesDescription":"Cada código pode ser usado uma vez se você perder o acesso ao seu aplicativo autenticador.",
"backupCodes":"Códigos de backup",
"copyAll":"Copiar tudo",
"finish":"Terminar"
},
"secureGateway":{
"title":"Secure Gateway",
"learnMore":"Saber mais",
"noNetworkDetected":"Nenhuma rede detectada",
"noNetworksDetected":"Nenhuma rede foi detectada.",
"recommended":"Recomendado",
"retry":"Tentar novamente",
"errors":{
"loadWizardFailed":"Falha ao carregar a configuração do Secure Gateway",
"updateFailed":"Falha ao atualizar o Secure Gateway",
"networkUpdateFailed":"Erro de rede ao atualizar o Secure Gateway",
"fieldRequired":"{field} é obrigatório.",
"deploymentFailed":"Falha na implantação",
"ociRequiresPve":"O Secure Gateway usa LXC padrão e deve funcionar neste host Proxmox. Se isso continuar acontecendo, verifique os logs de back-end.",
"authKeyRequired":"Insira uma chave de autenticação Tailscale.",
"updateAuthKeyFailed":"Falha ao atualizar a chave de autenticação",
"couldNotLoadSetupData":"Não foi possível carregar os dados de configuração."
"description":"Saída de serviço recente do contêiner de gateway."
},
"values":{
"never":"nunca",
"yesterdayAt":"ontem às {time}",
"yes":"Sim",
"no":"Não"
},
"wizard":{
"introTitle":"Acesso remoto seguro com Tailscale",
"introDescription":"Implante um pequeno gateway LXC para que seus dispositivos possam acessar ProxMenux, Proxmox e redes locais selecionadas por meio de sua tailnet Tailscale.",
"whatYouGet":"O que você ganha",
"benefitMonitorAnywhere":"Abra o Monitor de qualquer lugar na sua rede traseira.",
"benefitProxmoxUi":"Acesse a IU da web do Proxmox sem expor a porta 8006.",
"benefitVmLxc":"Acesse redes VM e LXC selecionadas quando necessário.",
"benefitEncryption":"O tráfego permanece criptografado por meio do Tailscale.",
"benefitNoPorts":"Não é necessário encaminhamento de porta pública.",
"tailscaleAccountBefore":"Você precisa de uma conta Tailscale e uma chave de pré-autenticação de",
"reviewDeploy":"Revise e implante",
"reviewDescription":"Verifique as configurações finais antes de o gateway LXC ser criado.",
"storageLocation":"Local de armazenamento",
"storageDescription":"Escolha onde armazenar o contêiner de gateway.",
"gbAvailable":"{amount} GB disponíveis",
"configurationSummary":"Resumo da configuração",
"hostname":"Nome do host",
"storage":"Armazenar",
"accessMode":"Modo de acesso",
"accessModes":{
"hostOnly":"Somente Proxmox",
"proxmoxNetwork":"Rede local completa",
"customNetworks":"Redes personalizadas"
},
"hostAccess":"Acesso ao host",
"networks":"Redes",
"exitNode":"Nó de saída",
"acceptRoutes":"Aceitar rotas",
"important":"Importante",
"approvalRequired":"Após a implantação, aprove as rotas de sub-rede anunciadas no Tailscale Admin.",
"exitNodeApprovalRequired":"O modo Exit Node também precisa de aprovação lá.",
"showAfterDeploy":"Mostraremos as etapas exatas de aprovação após a implantação.",
"setupTitle":"Configuração de Secure Gateway"
},
"steps":{
"intro":{
"title":"Acesso remoto seguro",
"description":"Configure o acesso VPN seguro ao seu servidor Proxmox"
},
"auth":{
"title":"Autenticação Tailscale",
"description":"Conecte o gateway à sua conta Tailscale"
},
"access":{
"title":"Escopo de acesso",
"description":"Escolha o que deve ser acessível através deste gateway"
},
"options":{
"title":"Opções avançadas",
"description":"Configurações adicionais de roteamento"
},
"deploy":{
"title":"Implantar gateway",
"description":"Revise e implante"
}
},
"status":{
"connected":"Conectado",
"stopped":"Parou",
"error":"Erro"
},
"installed":{
"description":"O Secure Gateway é implementado e gerenciado pelo Monitor.",
"otherPackagesPending":"+ {count} outros pacotes pendentes",
"noneAvailable":"Nenhuma atualização disponível"
},
"authKey":{
"update":"Atualizar chave de autenticação",
"description":"Use uma nova chave de autenticação Tailscale se a atual expirou ou foi revogada.",
"newKey":"Nova chave de autenticação",
"generateAt":"Gere-o em",
"adminKeys":"Tailscale Admin → Chaves",
"updateKey":"Chave de atualização"
},
"tailscale":{
"openAdmin":"Abrir o Tailscale Admin"
},
"remove":{
"title":"Remover Secure Gateway?",
"description":"Isso interrompe e remove o contêiner de gateway. O estado Tailscale pode permanecer nos dados salvos se o back-end os preservar."
},
"postDeploy":{
"title":"Concluir a configuração no Tailscale Admin",
"description":"O gateway é implantado. Ainda é necessária uma etapa de aprovação antes que os dispositivos remotos possam usar as rotas anunciadas.",
"nextStep":"Próxima etapa",
"approveDescription":"Aprove as rotas de sub-rede anunciadas para este gateway.",
"subnetRoutes":"Rotas de sub-rede",
"exitNode":"Nó de saída",
"routeAllTraffic":"Aprove-o se desejar que os dispositivos roteem todo o tráfego da Internet por meio deste gateway.",
"howToApprove":"Como aprovar",
"stepOpenAdmin":"Abra o console do Tailscale Admin.",
"stepFindBefore":"Encontre a máquina chamada",
"stepFindAfter":"na lista Máquinas.",
"stepOpenDetails":"Abra seus detalhes.",
"stepSubnetsBefore":"Em",
"stepSubnetsMiddle":"clique",
"stepSubnetsAfter":"e aprovar as rotas anunciadas.",
"stepRoutingBefore":"Para o nó de saída, abra",
"stepRoutingMiddle":"e aprovar",
"accessAfterApproval":"Após a aprovação, você pode abrir",
"or":"ou",
"fromAnyDevice":"de qualquer dispositivo em sua tailnet.",
"doLater":"Farei isso mais tarde"
},
"notInstalled":{
"subtitle":"O gateway Tailscale ainda não foi implantado.",
"description":"Implante-o para acessar ProxMenux e Proxmox com segurança a partir de sua rede traseira, sem abrir portas públicas.",
"deploy":"Implantar Secure Gateway"
},
"schema":{
"auth_key":{
"label":"Chave de autenticação Tailscale",
"description":"Chave de pré-autenticação do console de administração Tailscale. Gere um no link abaixo.",
"placeholder":"tskey-auth-xxxx",
"helpText":"Gerar chave de autenticação"
},
"hostname":{
"label":"Nome de host do dispositivo",
"description":"Nome mostrado no console de administração do Tailscale.",
"placeholder":"gateway proxmox"
},
"access_mode":{
"label":"Escopo de acesso",
"description":"O que deve ser acessível através deste gateway.",
"options":{
"host_only":{
"label":"Somente Proxmox",
"description":"Acesse apenas este servidor Proxmox, a UI e o ProxMenux Monitor."
},
"proxmox_network":{
"label":"Rede local completa",
"description":"Acesse todos os dispositivos da sua rede local, como NAS, impressoras, VMs e LXCs."
},
"custom":{
"label":"Sub-redes personalizadas",
"description":"Escolha exatamente quais sub-redes expor."
}
}
},
"advertise_routes":{
"label":"Redes anunciadas",
"description":"Selecione redes que devem ser acessíveis através da VPN."
},
"exit_node":{
"label":"Nó de saída",
"description":"Use este gateway como ponto de saída da Internet quando estiver fora de casa.",
"warning":"Requer aprovação no Tailscale Admin. Quando ativado no seu dispositivo, todo o tráfego da Internet passa pelo servidor Proxmox."
},
"accept_routes":{
"label":"Aceitar rotas",
"description":"Permita que este gateway alcance redes anunciadas por outros nós Tailscale em sua tailnet."
}
}
}
},
"about":{
"releaseNotes":"Notas de lançamento",
"changelog":"Registro de alterações",
"logoAlt":"Logotipo do ProxMenux",
"heroDescription":"Um painel da web e camada de gerenciamento para Proxmox VE – monitoramento de integridade, notificações, terminal, rastreador de otimização e muito mais, empacotado como um único AppImage.",
"project":{
"title":"Projeto",
"description":"Repositório, documentação e canais comunitários."
},
"support":{
"title":"Suporte e Licença",
"description":"ProxMenux é gratuito e de código aberto sob a licença GPL-3.0. Se for útil para você, uma contribuição única ajuda a mantê-lo assim."
},
"license":{
"label":"Licença GPL-3.0",
"description":"Software gratuito — consulte o arquivo LICENSE para obter o texto completo."
},
"links":{
"repository":{
"label":"Repositório GitHub",
"description":"Código fonte, releases e rastreador de problemas."
},
"documentation":{
"label":"Documentação",
"description":"Guia do usuário completo para ProxMenux e Monitor."
},
"discussions":{
"label":"Discussões",
"description":"Faça perguntas, compartilhe avisos personalizados de IA e troque ideias."
},
"issues":{
"label":"Relate um bug ou solicite um recurso",
"description":"Abra um problema no GitHub – bugs, ideias ou regressões."
},
"support":{
"label":"Apoie o projeto no Ko-fi",
"description":"ProxMenux é gratuito e de código aberto. As doações ajudam a cobrir o tempo de hospedagem e desenvolvimento."
}
}
},
"systemLogs":{
"title":"Logs e eventos do sistema",
"sections":"Seções",
"loading":{
"title":"Carregando registros…",
"description":"Buscando logs e eventos do sistema"
},
"errors":{
"connectFailed":"Não foi possível conectar-se ao servidor.",
"loadFailed":"Não foi possível carregar os logs. Por favor, tente novamente."
},
"cards":{
"totalEntries":"Total de entradas",
"selectedRange":"No intervalo selecionado",
"errors":"Erros",
"requiresAttention":"Requer atenção",
"warnings":"Avisos",
"monitorClosely":"Monitore de perto",
"backups":"Cópias de segurança"
},
"tabs":{
"logs":"Registros",
"events":"Eventos",
"backups":"Cópias de segurança",
"notifications":"Notificações"
},
"filters":{
"searchPlaceholder":"Pesquisar registros e eventos…",
"timeRange":"Intervalo de tempo",
"oneDay":"1 dia atrás",
"threeDays":"3 dias atrás",
"oneWeek":"1 semana atrás",
"twoWeeks":"2 semanas atrás",
"oneMonth":"1 mês atrás",
"customDays":"Número personalizado de dias",
"daysAgoPlaceholder":"Dias atrás",
"byLevel":"Filtrar por nível",
"allLevels":"Todos os níveis",
"byService":"Filtrar por serviço",
"allServices":"Todos os serviços",
"dateRange":"Período",
"daysAgo":"Últimos {count} dias"
},
"levels":{
"error":"Erro",
"critical":"Crítico",
"emergency":"Emergência",
"alert":"Alerta",
"warning":"Aviso",
"info":"Informações",
"notice":"Perceber",
"success":"Sucesso",
"debug":"Depurar"
},
"export":{
"button":"Exportar registros",
"title":"Exportação de registros e eventos do sistema Proxmox",
"description":"Sua nova ferramenta de monitoramento para Proxmox. Descubra os recursos que ajudam você a gerenciar e supervisionar sua infraestrutura com mais facilidade."
},
"overview":{
"title":"Visão geral do sistema",
"description":"Monitore seu servidor em tempo real: CPU, memória, temperatura, carga do sistema e muito mais, tudo em um painel claro."
},
"storage":{
"title":"Gerenciamento de armazenamento",
"description":"Veja o status dos seus discos e armazenamento: capacidade, uso, integridade SMART, temperatura e desempenho de cada dispositivo."
},
"network":{
"title":"Métricas de rede",
"description":"Monitore o tráfego de rede em tempo real, incluindo interfaces ativas, velocidades de transferência e gráficos históricos de uso."
},
"virtualMachines":{
"title":"Máquinas Virtuais e Contêineres",
"description":"Mantenha VMs e contêineres LXC em um só lugar. Visualize status, recursos atribuídos, uso atual e controles rápidos."
},
"hardware":{
"title":"Informações de hardware",
"description":"Visualize detalhes de hardware do servidor: CPU, RAM, GPU, discos, rede, UPS e muito mais, incluindo modelos, números de série e status."
},
"logs":{
"title":"Registros do sistema",
"description":"Acesse logs do sistema, filtre eventos, procure erros específicos e baixe logs exibidos quando precisar de uma análise mais profunda."
},
"future":{
"title":"Pronto para o futuro!",
"description":"O ProxMenux Monitor está pronto para novos recursos e melhorias, com mais ações migrando gradativamente para o painel web."
}
}
},
"releaseNotes":{
"dialogTitle":"Notas de versão - Versão {version}",
"title":"Novidades na versão {version}",
"intro":"Adicionamos novos recursos e melhorias para tornar o ProxMenux Monitor ainda melhor.",
"gotIt":"Entendi!",
"dontShowAgain":"Não mostrar novamente para esta versão",
"appDetection":"Smarter app detection in the App tab: Docker is correctly promoted as the parent workload during cold start (Portainer/SearXNG no longer briefly show up as native apps), unregistered suggestions live in the startup cache, and 'Find applications' runs a fresh catalog-backed scan on demand.",
"dockerUpdates":"The Updates tab now covers Docker end-to-end: Docker Engine and per-image update tracking follow the same 24-hour rolling cycle as OS packages, with a 'Check now' action for on-demand digest comparison — no more waiting for the daily collector.",
"appCatalog":"New application detection catalog with over 380 tracked workloads, generated live from community-scripts across seven detector methods (file, binary, dpkg, apk, Python, Docker exec, Docker label). Primary and fallback detectors cover both new and historical LXC layouts.",
"pushover":"Pushover joins Telegram, Gotify, Discord, Email and Apprise as a native notification channel — user/API key, device and sound selectors, priority 0 for regular messages, optional priority 1 for CRITICAL events. Suggested by @benginx (#308).",
"appsDashboard":"New top-level Apps dashboard — a single launcher for every Web Link across the node. LXC-registered apps and user-defined Custom Web Links share the same grid with category badges, search, and one-click deep-links back to the guest modal.",
"lxcAppsUpdates":"App tab inside every LXC modal registers installed apps, captures weblinks and tracks upstream versions. Reworked Updates tab applies OS packages and app updates from a single button; Docker Engine and per-image tracking follow the same 24-hour cycle, with a 'Check now' action on demand.",
"multilingual":"The Monitor now speaks 8 languages: English, Spanish, German, French, Italian, Portuguese, Swedish and Slovak. Huge thanks to @vaso73 for building the i18n scaffolding that made this possible.",
"nvidiaMultiGpu":"NVIDIA driver lifecycle moves to per-BDF ownership so a multi-GPU host can pass one card to a VM and keep the other operational on the host or in LXCs, plus a kernel + branch + GPU-aware version picker (#298).",
"aiCustomEndpoint":"AI Assistant custom OpenAI endpoint — LiteLLM, LM Studio, LocalAI, vLLM, OmniRoute and any self-hosted proxy on private IPs, loopback or Docker networks are recognised when loading the model catalogue. The dropdown surfaces the server's error (or the underlying network reason) directly under the Load button (#325, reported by @jorgeffonte).",
"secureGatewayArch":"Secure Gateway wizard — the Alpine template download, local template selection and pct create all match the host's real architecture, so x86_64 hosts receive amd64 containers and arm64 hosts receive arm64 containers (#324, reported by @N0X4DD0).",
"atomicNotifications":"Notification events reserve their deduplication fingerprint atomically before AI processing and channel delivery, so concurrent collectors, completion callbacks or parallel Monitor processes cannot send the same event twice. The reservation is released when no channel succeeds, preserving retries.",
"borgSshPort":"Borg remote target — the Add Borg destination dialog and the shell TUI accept a custom SSH port. BORG_RSH, the auto key install flow and the capacity probe all honour it. Fully backwards compatible with existing entries created without an explicit port (suggested by @songochain in discussion #236).",
"githubToken":"Settings → GitHub API accepts an optional personal access token for release and tag checks when the anonymous quota is exhausted. The token is encrypted at rest and never returned to the browser; the rate-limit error is translated in every Monitor language (suggested by @SystemIdleProcess in discussion #306).",
"replicationContext":"Native Proxmox replication failure notifications resolve the replication job ID, affected VM/LXC ID and guest name; the exact error block from Proxmox is preserved as the reason, and each replication job deduplicates independently (reported by Ale R.).",
"auditAssessment":"Audit & Report — a new page that documents and assesses the node. The Assessment runs a catalogue of checks across security, backups, capacity, storage, network, hardware, guests and system, classifying each finding as critical, warning, observation or conformant and stating what it read rather than judging it.",
"changeJournal":"Change journal — a Changes view that lists exactly what ProxMenux modified on this host: every configuration file, package and service it touched, with the prior state of each, deduplicated to a current-state view that shows the host as it stands now rather than a log of every run.",
"auditReports":"Reports — a full audit plus focused Security review, Backup assurance and Capacity & wear reports, each opening on its own posture header, and a printable Inventory; all export to PDF. A security assessment asks before running Lynis so a run stays fast.",
"auditPolicyBaseline":"Policy and baseline — declare what the host is expected to be (backup requirements, firewall, root SSH login) so findings grade against it, mark a run as the reference, and see what changed since, with new, resolved and accepted findings kept apart.",
"groupedAppUpdates":"Grouped application update notifications — one complete message per scan instead of one per application, grouped by LXC with the installed and available versions.",
"adminTokenScope":"Administrative scope — opening a Monitor terminal and disabling authentication now require a full-admin token, so a read-only API token issued to a monitoring integration stays read-only (reported by @f3rs3n)."
"virtualMemberInterfaces":"Interfaces de membros virtuais",
"vmLxcName":"Nome da VM/LXC"
},
"roles":{
"active":"ativo",
"standby":"espera",
"down":"abaixo"
},
"empty":{
"noVmLxc":"Sem VM/LXC",
"noVirtualMembers":"Nenhum membro virtual"
},
"timeframes":{
"hour":"1 hora",
"day":"24 horas",
"week":"7 dias",
"month":"30 dias",
"year":"1 ano",
"short":{
"hour":"Passada 1h",
"day":"Passadas 24 horas",
"week":"Passado 7 dias",
"month":"Passados 30 dias",
"year":"Último 1 ano"
},
"last":{
"hour":"Última hora",
"day":"Últimas 24 horas",
"week":"Últimos 7 dias",
"month":"Últimos 30 dias",
"year":"Ano passado"
}
},
"interfaceDetails":{
"title":"Detalhes da interface",
"description":"Veja informações detalhadas e estatísticas de tráfego de rede para esta interface",
"basicInformation":"Informações Básicas",
"ipAddresses":"Endereços IP",
"trafficStatistics":"Estatísticas de tráfego de rede ({timeframe})",
"trafficSinceBoot":"Tráfego desde a última inicialização",
"inactiveTitle":"Interface inativa",
"inactiveDescription":"Esta interface está inativa no momento. As estatísticas de tráfego de rede não estão disponíveis.",
"bondConfiguration":"Configuração de títulos",
"bridgeConfiguration":"Configuração da ponte"
},
"flow":{
"title":"Fluxo de rede"
},
"chart":{
"invalidDataFormat":"Formato de dados inválido recebido do servidor",
"loadError":"Erro ao carregar métricas"
},
"latency":{
"status":{
"excellent":"Excelente",
"good":"Bom",
"fair":"Justo",
"poor":"Pobre"
},
"timeframes":{
"hour":"1 hora",
"sixHours":"6 horas",
"day":"24 horas",
"threeDays":"3 dias",
"week":"7 dias"
},
"targets":{
"gateway":"Gateway (roteador)",
"gatewayShort":"Portal",
"cloudflare":"Cloudflare (1.1.1.1)",
"cloudflareShort":"nuvemflare",
"google":"DNS do Google (8.8.8.8)",
"googleShort":"DNS do Google"
},
"actions":{
"stop":"Parar",
"testAgain":"Teste novamente",
"report":"Relatório"
},
"testingProgress":"Testando... {percent}%",
"secondsRemaining":"{seconds}s restantes",
"samplesCollected":"{count} amostras coletadas",
"packetLossValue":"{value}% perda de pacotes",
"collectingData":"Coletando dados...",
"noRealtimeData":"Ainda não há dados. Clique em “Testar novamente” para começar.",
"noDataForPeriod":"Não há dados de latência disponíveis para este período",
"collectionInterval":"Os dados são coletados a cada 60 segundos",
"realTimeMode":"Modo em tempo real",
"realTimeModeDescription":"Os testes são executados durante 2 minutos com leituras a cada 5 segundos. Execute o teste novamente para adicionar mais amostras. Todos os dados estão incluídos no relatório.",
"report":{
"title":"Relatório de latência de rede",
"subtitle":"ProxMenux Monitor - Análise de desempenho de rede",
"topBarTitle":"Relatório de latência de rede ProxMenux",
"topBarSubtitle":"Revise o relatório e imprima ou salve como PDF",
"printSavePdf":"Imprimir/Salvar como PDF",
"date":"Data",
"target":"Alvo",
"mode":"Modo",
"realTimeTest":"Teste em tempo real",
"historicalAnalysis":"Análise histórica",
"realTime":"Em tempo real",
"executiveSummary":"Sumário executivo",
"assessmentTitle":"Avaliação de latência de rede",
"realtimeSummary":"Teste de latência em tempo real para {target}. Amostras: {count}; duração: {duration}. Latência média: {avg}.",
"historicalSummary":"Análise histórica de latência para {target} sobre {timeframe}. {count} amostras analisadas. Latência média: {avg} ms.",
"minutes":"{count} minuto(s)",
"minutesShort":"{count} minutos",
"seconds":"{count} segundo(s)",
"secondsShort":"{count}s",
"testPeriod":"o período de teste",
"averagePacketLoss":"Perda média de pacotes: {value}%.",
"noPacketLoss":"Nenhuma perda de pacote detectada.",
"defaultGateway":"Gateway padrão",
"failed":"Fracassado",
"notEnoughData":"Pontos de dados insuficientes para o gráfico",
"samples":"{count} amostras",
"latencyStatistics":"Estatísticas de latência",
"sampleCount":"Contagem de amostras",
"packetLossAvg":"Perda de pacotes (média)",
"testPeriodLabel":"Período de teste",
"latencyGraph":"Gráfico de latência",
"performanceThresholds":"Limites de desempenho",
"thresholdExcellent":"Ideal para aplicativos em tempo real, jogos e videochamadas.",
"thresholdGood":"Aceitável para a maioria das aplicações com impacto mínimo.",
"thresholdFair":"Atraso perceptível. Pode afetar VoIP e aplicativos interativos.",
"programmed":"Programado (tempo de execução carregado)",
"unprogrammed":"Não programado (tempo de execução não carregado)",
"notInstalled":"não instalado",
"detecting":"Detecção...",
"solidStateDevice":"Dispositivo de estado sólido",
"notSpecified":"Não especificado"
},
"time":{
"yesterdayAt":"ontem {time}"
},
"recommendations":{
"intel":"Para obter informações estendidas de monitoramento de GPU, instale o pacote intel-gpu-tools ou igt-gpu-tools.",
"nvidia":"Para GPUs NVIDIA, o monitoramento em tempo real requer drivers proprietários (pacote nvidia-driver). Instale-os apenas se sua GPU for usada diretamente pelo host.",
"amd":"Para obter informações estendidas de monitoramento de GPU para GPUs AMD, instale amdgpu_top. Você pode baixá-lo em: https://github.com/Umio-Yasuno/amdgpu_top",
"generic":"Para obter informações estendidas de monitoramento de GPU, instale as ferramentas de monitoramento de GPU apropriadas para o seu hardware."
},
"deviceTypes":{
"graphics":"Gráficos",
"graphicsCard":"Placa gráfica",
"usb":"USB",
"usbController":"Controlador USB",
"audio":"Áudio",
"audioController":"Controlador de áudio",
"network":"Rede",
"networkController":"Controlador de rede",
"ethernet":"Ethernet",
"wireless":"Wi-fi",
"wirelessController":"Controlador sem fio",
"wifi":"Wi-fi",
"storage":"Armazenar",
"storageController":"Controlador de armazenamento",
"monitoringTitle":"Monitoramento em tempo real de GPU",
"sriovVirtualFunction":"Função Virtual SR-IOV",
"sriovVirtualFunctionDescription":"Este dispositivo é uma Função Virtual gerada por uma Função Física. A telemetria por VF (temperatura, utilização, memória) não é exposta pelo kernel – abra o PF pai para ver as métricas agregadas da GPU.",
"virtualFunctionDetail":"Detalhe da Função Virtual",
"sriovMetricsDescription":"As métricas abaixo refletem a função física (agregada em {count} VFs).",
"updatingEverySeconds":"Atualizando a cada {seconds} segundos",
"realTimeMetrics":"Métricas em tempo real",
"engineUtilizationTotal":"Utilização do motor (total)",
"engineUtilization":"Utilização do motor",
"activeProcesses":"Processos ativos ({count})",
"noActiveProcesses":"Nenhum processo ativo usando a GPU",
"virtualFunctions":"Funções Virtuais",
"switchModeVmTitle":"GPU em modo Switch VM",
"switchModeVmDescription":"Esta GPU é atribuída a uma máquina virtual por meio de passagem VFIO. O monitoramento em tempo real não está disponível no host porque a GPU é controlada pela VM.",
"extendedMonitoringUnavailable":"Monitoramento estendido não disponível"
"installAmdGpuTools":"Instale ferramentas de GPU AMD",
"installIntelGpuTools":"Instale ferramentas de GPU Intel",
"installCoralDrivers":"Instale os drivers Coral TPU",
"installDrivers":"Instalar drivers"
},
"coral":{
"driversNeededDescription":"Um ou mais dispositivos Coral detectados precisam de drivers. Uma reinicialização do servidor é necessária após a instalação.",
"deviceInformation":"Informações do dispositivo Coral TPU"
},
"ups":{
"detailedInformation":"Informações detalhadas da UPS"
},
"pci":{
"deviceInformation":"Informações do dispositivo PCI"
},
"network":{
"interfaceInformation":"Informações sobre interface de rede"
},
"storage":{
"deviceHardwareInformation":"Informações de hardware do dispositivo de armazenamento"
},
"usb":{
"deviceInformation":"Informações do dispositivo USB"
},
"scripts":{
"nvidiaTitle":"Instalação do driver NVIDIA",
"nvidiaDescription":"Instalando drivers proprietários da NVIDIA para monitoramento de GPU...",
"amdTitle":"Instalação de ferramentas de GPU AMD",
"amdDescription":"Instalando amdgpu_top para monitoramento de GPU AMD...",
"intelTitle":"Instalação de ferramentas de GPU Intel",
"intelDescription":"Instalando ferramentas Intel-GPU para monitoramento de GPU Intel...",
"coralTitle":"Instalação do driver Coral TPU",
"coralDescription":"Instalando módulos de junta + kernel apex e tempo de execução do Edge TPU...",
"switchModeTitle":"Modo de troca de GPU → {mode}",
"switchModeDescription":"Mudando a GPU {slot} para o modo {mode}...",
"switchModeVm":"VM (passagem VFIO)",
"switchModeLxc":"LXC (driver nativo)"
}
},
"backup":{
"actions":{
"addAnother":"Adicionar outro",
"addPath":"Adicionar caminho",
"all":"Todos",
"apply":"Aplicar",
"back":"Voltar",
"change":"Mudar",
"clear":"Claro",
"delete":"Excluir",
"disable":"Desativar",
"download":"Download",
"edit":"Editar",
"enable":"Habilitar",
"format":"Formatar",
"generateKey":"Gerar chave",
"import":"Importar",
"importKeyfile":"Importar arquivo-chave",
"mount":"Montar",
"next":"Próximo",
"recoverKeyfile":"Recuperar arquivo-chave",
"regenerate":"Regenerado",
"restore":"Restaurar",
"restoreSelected":"Restaurar selecionado",
"runNow":"Corra agora",
"saveChanges":"Salvar alterações",
"unmount":"Desmontar",
"upload":"Carregar",
"use":"Usar",
"viewContents":"Ver conteúdo"
},
"archives":{
"archive":"Arquivo",
"at":"no",
"backup":"Backup",
"backupTimeLabel":"Tempo de backup",
"deleteBackendTitle":"Exclua este backup",
"deleteBorgDescription":"Isso remove o arquivo Borg do repositório.",
"deleteBorgTitle":"Excluir arquivo Borg",
"deleteLocalDescription":"Isto remove o arquivo de backup local do disco.",
"deleteLocalTitle":"Excluir arquivo local",
"deletePbsDescription":"Isso remove o instantâneo do PBS do armazenamento de dados.",
"recoveryPassphraseRequired":"A senha de recuperação é necessária.",
"repoNameAndSnapshotRequired":"O nome do repositório e o instantâneo são obrigatórios.",
"runFailed":"Falha na execução: {error}",
"snapshotInfoMissing":"Faltam informações do instantâneo.",
"toggleFailed":"Não foi possível alterar o estado do trabalho: {error}"
},
"extraPaths":{
"absolutePathHintAfter":"— o caminho deve existir neste host exatamente como foi digitado.",
"absolutePathHintBefore":"Use o caminho absoluto completo.",
"absolutePathHintMiddle":"não é o mesmo que",
"descriptionAfter":"(manual ou agendado, perfil padrão ou personalizado) no topo da lista de perfis padrão. Útil para dados de aplicativos, pastas de configuração personalizadas e caminhos semelhantes. ({count} configurado)",
"descriptionBefore":"Os caminhos adicionados aqui estão incluídos em",
"empty":"Ainda não há caminhos personalizados – os backups usam apenas o perfil padrão.",
"everyBackup":"cada backup",
"missingOnDisk":"faltando no disco",
"removeTitle":"Remova este caminho personalizado",
"title":"Caminhos personalizados"
},
"fields":{
"absolutePathOnHost":"Caminho absoluto no host",
"archiveNameLabel":"Nome do arquivo",
"backend":"Back-end",
"backendLabel":"Back-end",
"backupGroupLabel":"Grupo de backup",
"backupId":"ID de backup",
"bootMode":"Modo de inicialização",
"borgIdLabel":"ID Borg",
"borgRepository":"Repositório Borg",
"confirmPassphrase":"Confirmar senha",
"createdLabel":"Criado",
"datastore":"Armazenamento de dados",
"dayOfMonth":"Dia do mês",
"daysOfWeek":"Dias da semana",
"destinationDirectory":"Diretório de destino",
"detectedViaLabel":"Detectado por meio de",
"directoryPath":"Caminho do diretório",
"directoryShort":"Dir",
"encryption":"Criptografia",
"expressionLabel":"Expressão",
"filesystemShort":"fs",
"fingerprintOptional":"Impressão digital (opcional)",
"free":"Livre",
"groupNameInPbs":"Nome do grupo no PBS",
"jobId":"ID do trabalho",
"jobIdLabel":"ID do trabalho",
"jobName":"Nome do trabalho",
"kernel":"Núcleo",
"label":"Rótulo",
"localDestination":"Destino local",
"lvmVgs":"VGs de LVM",
"memory":"Memória",
"minuteOfHour":"Minuto da hora",
"mode":"Modo",
"name":"Nome",
"nameLabel":"Nome",
"newRecoveryPassphrase":"Nova senha de recuperação",
"nextRun":"Próxima execução",
"normalizedLabel":"Normalizado",
"onCalendarExpression":"Expressão OnCalendar",
"ownerLabel":"Proprietário",
"passphrase":"Senha",
"password":"Senha",
"pathLabel":"Caminho",
"pbsRepository":"Repositório PBS",
"profileLabel":"Perfil",
"pveJobLabel":"Trabalho PVE",
"pveStorage":"Armazenamento PVE",
"pveVersion":"Versão PVE",
"recoveryPassphrase":"Senha de recuperação",
"remoteRepositoryPath":"Caminho do repositório remoto",
"attachDescriptionBefore":"Anexe o Monitor a um trabalho PVE vzdump e execute após o",
"attachDescriptionMiddle":"evento para selecionados",
"attachToPveJob":"Anexar ao trabalho PVE",
"attachedToPveVzdump":"Anexado ao PVE vzdump",
"backendEditHelp":"O back-end não pode ser alterado após a criação do trabalho.",
"createJob":"Criar trabalho",
"createScheduledJob":"Criar trabalho agendado",
"customProfileTitle":"Perfil personalizado",
"defaultProfileTitle":"Perfil padrão",
"detailDescription":"Agenda, perfil, destino e última execução deste trabalho.",
"disableJob":"Desativar trabalho",
"disableJobDescription":"O cronômetro do systemd será interrompido – nenhuma outra execução automática. Você pode reativá-lo mais tarde nesta mesma caixa de diálogo.",
"editScheduledJob":"Editar trabalho agendado",
"encryptedTitle":"Criptografado",
"inheritedRetentionLabel":"Retenção do trabalho PVE",
"inheritedScheduleLabel":"Agendar do trabalho PVE",
"invalidJobName":"Use apenas letras, números, travessões e sublinhados.",
"jobNameHelpAfter":"Mantenha-o curto e legível.",
"jobNameHelpAnd":"e",
"jobNameHelpBefore":"Usado em nomes e registros de temporizadores. Os caracteres permitidos também incluem",
"jobNameLocked":"O nome do trabalho é bloqueado após a criação.",
"lastRun":"Última execução",
"lastRunLabel":"Última execução",
"liveLogSize":"ao vivo · {size}",
"loadFailed":"Não foi possível carregar os trabalhos",
"loadingJob":"Carregando trabalho...",
"manualOneShot":"manual / único",
"manualOneShotDescription":"Backup único – capturado no momento do disparo. Não pode ser executado novamente ou editado.",
"neverRun":"nunca corra",
"newScheduledJob":"Novo trabalho agendado",
"newScheduledJobDescription":"Crie uma tarefa de backup de host recorrente.",
"nextRun":"Próxima execução",
"nextRunLabel":"Próxima execução",
"nextRunTitle":"Próxima execução agendada",
"noCompatiblePveJob":"Nenhum trabalho de backup PVE compatível encontrado",
"noCompatiblePveJobDescriptionAfter":"primeiro.",
"noCompatiblePveJobDescriptionBefore":"Crie ou ative uma tarefa de backup PVE para",
"noCompatiblePveJobDescriptionMiddle":"em",
"notAvailableForBorg":"não disponível para Borg",
"openJobTitle":"Detalhes da vaga aberta",
"parentPveJobHelpAfter":"é executado com sucesso.",
"parentPveJobHelpBefore":"O monitor é executado após este trabalho PVE",
"pbsGroupHelp":"Este se torna o grupo de backup do PBS.",
"pickParentPveJob":"Escolha o trabalho PVE pai",
"retentionTitle":"Retenção",
"runAttachedTitle":"Acione uma execução ad-hoc agora (o cronômetro PVE mantém sua própria programação)",
"descriptionAfter":"antes que esta ação possa continuar.",
"descriptionBefore":"Este backup criptografado precisa do arquivo-chave correspondente",
"title":"Arquivo-chave obrigatório"
},
"keyfileManagement":{
"below":"abaixo",
"copyAfterCreateAfter":"depois de criá-lo.",
"copyAfterCreateBefore":"Baixe uma cópia segura",
"copyAfterManualBefore":"Mantenha uma cópia segura fora deste host",
"currentPbsUploadStays":"Os uploads de recuperação PBS existentes permanecem no lugar.",
"downloadKeyfile":"Baixar arquivo-chave",
"hideOptions":"Ocultar opções",
"keepLocalDescriptionAfter":"e mantenha sua própria cópia de backup em outro lugar.",
"keepLocalDescriptionBefore":"Mantenha a chave apenas neste host",
"keepLocalOnly":"Mantenha apenas local",
"keepOffsiteCopy":"Mantenha uma cópia externa",
"keyfileInstalled":"Arquivo-chave instalado",
"startUploading":"Comece a enviar blobs de recuperação para o PBS",
"stopUploading":"Pare de carregar blobs de recuperação",
"thisBackupReusesKeyfile":"Este backup reutiliza o arquivo-chave PBS compartilhado.",
"title":"Gerenciamento de arquivos-chave",
"updatePassphrase":"Atualizar senha",
"uploadNo":"Não, mantenha-o apenas local",
"uploadQuestion":"Carregar cópia de recuperação criptografada para PBS?",
"uploadToPbs":"Carregar para PBS",
"uploadYes":"Sim, faça upload da cópia de recuperação",
"withoutCopyWarning":"Sem uma cópia, a perda deste host também poderá causar a perda da chave.",
"yesUpload":"Sim, carregar",
"yesUploadDescription":"O Monitor armazena uma cópia de recuperação criptografada no PBS."
},
"keyfileRecovery":{
"descriptionBefore":"O blob de arquivo-chave criptografado é baixado do PBS e descriptografado com sua senha de recuperação. A chave resultante é escrita em",
"passphrase":"Senha de recuperação",
"pickSourceHost":"Escolha o host de origem cuja senha você lembra – cada instalação carrega seu próprio depósito.",
"snapshot":"Instantâneo de recuperação",
"title":"Recuperar arquivo-chave PBS"
},
"logs":{
"openFull":"Abrir registro completo",
"runLog":"Executar registro",
"tail":"cauda"
},
"manifest":{
"bootMode":"Modo de inicialização",
"builtBy":"Construído por",
"componentsAtBackup":"Componentes em backup",
"compression":"Compressão",
"createdAt":"Criado em",
"deviceCount":"{count} dispositivos",
"encrypted":"Criptografado",
"gpus":"GPU",
"interfaceCount":"{count} interface(s)",
"lxcsAtBackup":"LXCs em backup",
"memory":"Memória",
"nics":"Placas de rede",
"pathCount":"{count} caminhos",
"pathsArchived":"Caminhos arquivados",
"proxmoxVersion":"Versão Proxmox",
"roles":"Funções",
"sourceHost":"Host de origem",
"vmsAtBackup":"VMs no backup"
},
"manual":{
"description":"Execute um backup de host único agora.",
"inProgress":"Backup manual em andamento",
"oneShotDescription":"Os backups únicos são mantidos como trabalhos congelados para que você possa inspecionar seus logs mais tarde.",
"keyfileRecoveryPassphrase":"A senha definida quando o arquivo-chave foi criado",
"leaveBlankForDefault":"deixe em branco para padrão",
"longRandomStoreSafe":"Valor aleatório longo – armazene-o com segurança",
"newRecoveryPassphrase":"Nova senha de recuperação",
"onCalendar":"*-*-* 02:30:00",
"pickBorgRepository":"Escolha o repositório Borg",
"pickLocalDestination":"Escolha o destino local",
"pickPbsRepository":"Escolha o repositório PBS",
"recoveryPassphrase":"Senha de recuperação",
"typeItAgain":"Digite novamente",
"unchangedTypeToReplace":"inalterado — digite para substituir"
},
"plan":{
"blockers":"Bloqueadores",
"noIssues":"Nenhum bloqueador ou aviso detectado.",
"status":{
"blocked":"Bloqueado",
"error":"Erro",
"failed":"Fracassado",
"ok":"OK",
"unknown":"Desconhecido",
"warn":"Aviso"
},
"warnings":"Avisos"
},
"preflight":{
"applyWouldBeRefused":"A inscrição seria recusada",
"driverReinstallPlan":"Plano de reinstalação do driver",
"failCount":"{count} falhou",
"keepCount":"{count} mantido",
"lvmVgsCount":"{count} VGs de LVM",
"networkInMode":"Rede no modo selecionado",
"newCount":"{count} novo",
"orphanCount":"{count} órfão",
"passCount":"{count} aprovado",
"pveStorageCount":"{count} Armazenamentos PVE",
"remapCount":"{count} remapeado",
"storageInMode":"Armazenamento no modo selecionado",
"warnCount":"{count} avisos",
"zfsPoolsCount":"{count} Conjuntos ZFS"
},
"profile":{
"custom":"Personalizado",
"customDescription":"Escolha exatamente quais caminhos devem ser incluídos.",
"default":"Padrão",
"defaultDescription":"Configuração de host recomendada e dados do ProxMenux.",
"defaultDescriptionShort":"Configuração de host recomendada.",
"pathsToInclude":"Caminhos a serem incluídos",
"pickPaths":"Escolha caminhos",
"title":"Perfil"
},
"recovery":{
"copyFoundTitle":"Cópia de recuperação encontrada",
"encryptedCopyAvailable":"A cópia de recuperação de chave criptografada está disponível no PBS.",
"keyfileMissingTitle":"O arquivo-chave PBS está faltando",
"recoverArrow":"Recuperar →"
},
"restore":{
"ackAfter":"as VMs, LXCs e componentes listados acima. Isto é irreversível.",
"ackBefore":"Entendo que a restauração completa",
"afterRebootHint":"Após a reinicialização, esta guia Backups mostrará o progresso pós-restauração ao vivo com tempo estimado, status por componente, cauda do log e delta de reversão. Se as notificações do Telegram/Discord/ntfy estiverem configuradas, você também receberá o evento \"Restauração do host concluída\".",
"blockedPathsHint":"Os caminhos de kernel/inicialização ficam esmaecidos e não podem ser selecionados — o destino executa um kernel mais recente.",
"chooseModeTitle":"Restaurar – escolha o modo",
"complete":"Completo",
"completeDescription":"Restaure tudo do backup.",
"completeDescriptionAfter":"no menu shell TUI. O terminal que será aberto a seguir ainda solicitará que você confirme somente seguro vs seguro + reinicialização vs tudo de uma vez antes de tocar no host.",
"completeDescriptionBefore":"Repete tudo no backup. Equivalente a escolher",
"completeTitle":"Restauração completa",
"crossKernelDescription":"Tanto a restauração completa quanto a personalizada ignoram automaticamente os caminhos vinculados ao kernel/inicialização para evitar um kernel panic na próxima inicialização. Todo o resto (VMs, LXCs, rede, componentes, caminhos personalizados) é restaurado normalmente.",
"crossKernelTitle":"Restauração entre kernels – somente subconjunto seguro",
"customByPaths":"Personalizado por caminhos",
"customByPathsDescription":"Escolha exatamente quais caminhos restaurar. Lista o que realmente está neste backup (perfil padrão + seus caminhos personalizados).",
"customByPathsTitle":"Restauração personalizada por caminhos",
"customPickDescriptionAfter":"env var — mesmo código downstream da TUI. Os caminhos necessários para reinicialização (kernel, módulos, fstab,…) serão detectados pelo fluxo bash e você poderá agendá-los para a próxima inicialização a partir daí.",
"customPickDescriptionBefore":"Escolha os caminhos para restaurar. Seus feeds de seleção",
"customPickDescriptionMiddle":"através do",
"destructiveTitle":"A restauração completa REMOVERÁ o seguinte (criado após o backup)",
"noPathsMatch":"Nenhum caminho corresponde ao filtro.",
"noRestorablePaths":"Este backup não contém caminhos restauráveis — apenas a restauração completa é significativa aqui.",
"olderThanTargetKernel":"é mais antigo que o kernel alvo",
"operatorConfigDescription":"As seguintes configurações criadas pelo operador serão mescladas no destino automaticamente, sem alterar os padrões vinculados ao kernel. É executado na restauração completa e personalizada.",
"operatorConfigTitle":"Configuração do operador reaplicada por meio de mesclagem independente de kernel",
"pathsInBackup":"({count} caminhos no backup)",
"pathsSelected":"{count} caminhos selecionados",
"pathsSkipped":"Caminhos que serão ignorados ({count})",
"permanentlyDelete":"excluir permanentemente",
"pickPathError":"Escolha pelo menos um caminho para continuar.",
"preparationFailedTitle":"Falha na preparação da restauração",
"description":"Monte unidades USB para que possam ser escolhidas como alvo local ou Borg. Unidades que já possuem um sistema de arquivos podem ser remontadas como estão; unidades brutas (sem tabela de partição) podem ser apagadas e formatadas para",
"drivesDetected":"{count} unidades detectadas",
"empty":"Nenhuma unidade USB detectada. Conecte um e atualize – Monitore as verificações deles automaticamente a cada 30 segundos.",
"formatAndUse":"Formatar e usar",
"formatDescription":"Isso limpará o disco selecionado e criará uma única partição ext4.",
"formatDrive":"Formatar unidade",
"formatDriveQuestion":"Limpar e formatar este disco?",
"formatTitle":"Limpe + formate este disco como ext4",
"formatWarning":"Tudo no disco será destruído. Isto não pode ser desfeito.",
"mountAndUse":"Monte e use",
"mounted":"Montado",
"noneDetected":"Nenhuma unidade USB detectada.",
"repartitionHint":"O disco será reparticionado (GPT + partição ext4 única) e montado automaticamente.",
"scanning":"Verificando unidades USB...",
"stateEmpty":"sem sistema de arquivos",
"stateMounted":"montado",
"stateUnmounted":"não montado",
"typeDeviceExactly":"Digite EXATAMENTE o caminho do dispositivo para confirmar:",
"typeDeviceToConfirm":"Digite o caminho do dispositivo para confirmar",
"unformatted":"Não formatado",
"unmountConfirm":"Desmontar {path}? Qualquer tarefa de backup que aponte para esse caminho falhará até que você a remonte.",
"unmounted":"Desmontado",
"uuidTitle":"uuid: {uuid}",
"wipeAndFormat":"Limpar e formatar"
},
"validation":{
"invalidLabel":"Etiqueta inválida."
},
"weekdays":{
"friday":"Sexta-feira",
"monday":"Segunda-feira",
"saturday":"Sábado",
"short":{
"fri":"sex",
"mon":"seg",
"sat":"sáb",
"sun":"dom",
"thu":"qui",
"tue":"ter",
"wed":"qua"
},
"sunday":"Domingo",
"thursday":"Quinta-feira",
"tuesday":"Terça-feira",
"wednesday":"Quarta-feira"
}
},
"healthStatus":{
"title":"Estado de saúde do sistema",
"description":"Verificações detalhadas de todos os componentes do sistema",
"skippedPartialHelp":"Alguns discos vdev não foram encontrados em /dev/disk/by-id. O pool não foi importado para evitar uma importação automática degradada. Corrija os discos ou importe-os manualmente com zpool import.",
"skippedMissing":"Ignorado (nenhum disco presente)",
"skippedMissingHelp":"Nenhum dos discos deste pool está neste host. Mova os discos aqui ou importe o pool de outro host.",
"importFailed":"Falha na importação",
"importFailedHelp":"O ZFS rejeitou a importação mesmo com -f. Verifique a importação do zpool e o log abaixo.",
"logPath":"Registro: {path}"
},
"history":{
"title":"Restaurações anteriores",
"description":"A restauração é arquivada após a inicialização. Os últimos 20 são mantidos.",
"searchDescription":"Procure comandos Linux e Proxmox",
"searchPlaceholder":"Comandos de pesquisa… (por exemplo, tar, docker, qm, systemctl)",
"searchingCheatSh":"Procurando cheat.sh…",
"poweredByCheatSh":"Desenvolvido por cheat.sh",
"send":"Enviar",
"noResults":"Nenhum resultado encontrado para ‘{query}’",
"tryDifferentSearch":"Tente outro comando ou verifique a ortografia.",
"searchAnyCommand":"Procure qualquer comando",
"trySearchingFor":"Tente pesquisar por:",
"noExamplesFound":"Nenhum exemplo encontrado",
"reconnecting":"Reconectando…",
"reconnected":"Reconectado com sucesso",
"reconnectionFailed":"Falha na reconexão",
"connectionClosed":"Conexão fechada",
"terminalTitle":"Terminal {number}",
"connectionTimeout":"A conexão expirou. Verifique sua rede e tente novamente.",
"vpnTip":"Se você usa uma VPN, certifique-se de que a conexão esteja estável.",
"websocketError":"Erro de conexão WebSocket",
"commandDescriptions":"['Listar todos os nós Proxmox', 'Listar VMs em um nó', 'Listar contêineres LXC em um nó', 'Listar armazenamento em um nó', 'Listar interfaces de rede', 'Listar todas as máquinas virtuais QEMU/KVM', 'Iniciar uma máquina virtual', 'Parar uma máquina virtual', 'Desligar uma máquina virtual com segurança', 'Mostrar status da VM', 'Mostrar configuração da VM', 'Criar um instantâneo de VM', 'Listar todos os LXC containers', 'Iniciar um contêiner LXC', 'Parar um contêiner LXC', 'Abrir um console de contêiner LXC', 'Mostrar configuração do contêiner', 'Mostrar status de armazenamento', 'Listar conteúdo de armazenamento', 'Testar desempenho do sistema Proxmox', 'Mostrar a versão Proxmox VE', 'Verificar status do cluster', 'Mostrar status do cluster', 'Listar nós do cluster', 'Mostrar status do pool ZFS', 'Listar todos os pools ZFS', 'Listar todos os conjuntos de dados ZFS', 'Listar todos os arquivos com detalhes', 'Alterar diretório', 'Criar um diretório', 'Remover um diretório recursivamente', 'Copiar arquivos ou diretórios', 'Mover ou renomear arquivos', 'Exibir conteúdo do arquivo', 'Pesquisar um padrão em um arquivo', 'Encontrar arquivos por nome', 'Alterar permissões de arquivo', 'Alterar o proprietário do arquivo', 'Extrair um arquivo tar.gz', 'Criar um arquivo tar.gz', 'Mostrar uso de disco', 'Mostrar tamanhos de diretório', 'Mostrar uso de memória', 'Mostrar processos em execução', 'Encontrar um processo em execução', 'Forçar a eliminação de um processo', 'Verificar status do serviço', 'Iniciar um serviço', 'Parar um serviço', 'Reiniciar um serviço', 'Atualizar pacotes Debian/Ubuntu', 'Instalar um pacote Debian/Ubuntu', 'Remover um pacote', 'Listar contêineres em execução', 'Listar imagens do Docker', 'Abrir um shell em um contêiner', 'Mostrar endereços IP', 'Testar conectividade de rede', 'Obter cabeçalhos HTTP', 'Baixar um arquivo', 'Conectar através de SSH', 'Copiar um arquivo através de SSH', 'Seguir um arquivo de log em tempo real', 'Mostrar histórico de comandos', 'Limpar a tela do terminal']"
},
"scriptTerminal":{
"processing":"Processamento...",
"controlSequences":"Sequências de controle",
"cancelInterrupt":"Cancelar/Interromper",
"exitNano":"Sair (nano)",
"searchHistory":"Histórico de pesquisa",
"clipboard":"Área de transferência",
"copySelection":"Copiar seleção",
"paste":"Colar",
"connected":"Conectado",
"connecting":"Conectando",
"disconnected":"Desconectado",
"online":"On-line",
"connectingStatus":"Conectando...",
"offline":"Off-line",
"websocketError":"Ocorreu um erro de WebSocket",
"connectionClosed":"Conexão fechada",
"completedSuccessfully":"Script concluído com sucesso",
"completedWithError":"Script concluído com código de erro {code}",
"rationale":"Tarefas de backup ativadas neste nó, os convidados que cada uma seleciona e os dados do convidado excluídos delas. Uma cobertura configurada não prova que exista uma cópia utilizável. Se um convidado não selecionado devia ser protegido, indica-o a política declarada.",
"noJobs":"Não há nenhuma tarefa de backup definida neste nó para os {total} convidados que aloja",
"covered":"Todos os {total} convidados são selecionados por uma tarefa de backup ativa",
"uncovered":"{count} de {total} convidados não são selecionados por nenhuma tarefa de backup ativa",
"excludedData":"Há {count} exclusões de discos ou montagens para revisar",
"uncoveredExpected":"{required} convidados declarados como necessitando backup não são selecionados por nenhuma tarefa ativa",
"evaluationFailed":"The check could not be evaluated"
}
},
"last_backup_age":{
"title":"Age of stored backups",
"rationale":"Idade: tempo decorrido desde a última cópia armazenada. Limite utilizado: idade de referência com a qual essa cópia é comparada.",
"summary":{
"recent":"As {total} verificações de máquina/destino cumprem o critério de antiguidade indicado",
"stale":"{count} of {total} guests have no backup from the last 30 days",
"noBackups":"No stored backup matches a guest on this node",
"attention":"{count} de {total} verificações de máquina/destino requerem revisão",
"evaluationFailed":"The check could not be evaluated"
}
},
"retention_defined":{
"title":"Backup retention",
"rationale":"A retenção tal como o Proxmox a resolve: definição da tarefa, depois do armazenamento, depois o valor por omissão do nó. A retenção aplicada por um servidor de backup não é legível a partir deste nó.",
"summary":{
"allDefined":"As {total} tarefas resolvem uma definição de retenção",
"missing":"{count} of {total} enabled job(s) declare no retention",
"notDeclared":"{count} de {total} tarefas guardam todas as cópias: não têm retenção declarada",
"onServer":"{count} de {total} tarefas escrevem num servidor de backup, que as poda com as suas próprias tarefas",
"evaluationFailed":"The check could not be evaluated"
}
},
"verification_state":{
"title":"Verificação dos backups",
"rationale":"O resultado de verificação que o Proxmox Backup Server regista para a cópia mais recente de cada convidado, e se uma cópia anterior do mesmo convidado foi verificada. A verificação lê uma cópia armazenada; não é um restauro.",
"summary":{
"allVerified":"A cópia mais recente dos {total} convidados foi verificada íntegra",
"failed":"{failed} cópias recentes falharam a verificação, de {total} examinadas",
"notVerified":"{pending} de {total} cópias recentes não foram verificadas",
"evaluationFailed":"Não foi possível ler o estado de verificação"
}
},
"job_results":{
"title":"Resultados das execuções de backup",
"rationale":"Como terminou a execução mais recente de cada convidado, segundo o registo de tarefas do nó. Só a última é avaliada. O registo é conservado por um período limitado.",
"summary":{
"allSucceeded":"As {total} execuções de backup registadas terminaram sem erro",
"someFailed":"{count} de {total} execuções de backup registadas terminaram com erro",
"evaluationFailed":"Não foi possível ler o registo de tarefas",
"recovered":"{count} de {total} convidados falharam numa execução anterior e desde então terminaram bem"
}
},
"host_recovery":{
"title":"Recuperação do host",
"rationale":"Backups do host tal como o ProxMenux os regista: cada trabalho executado, quando, se terminou bem, o destino e se essa cópia ainda lá está. Um trabalho que escreve num servidor de backup não nomeia qualquer caminho local. As chaves de cifragem são reportadas apenas por contagem e modo de custódia registado.",
"summary":{
"noHostBackup":"Não há backup da configuração do host armazenado nem temporizador que o produza",
"protected":"A configuração do próprio nó está guardada em {total} arquivo(s), dentro do limite de idade em uso",
"attention":"{count} constatação(ões) sobre {total} registo(s) de configuração do host",
"scheduledOnly":"Os backups da configuração do host estão agendados através de {count} temporizador(es); não há qualquer arquivo armazenado localmente"
"rationale":"O marcador `/var/run/reboot-required` e os pacotes listados em `/var/run/reboot-required.pkgs`. A sua ausência não demonstra que não haja nada por reiniciar.",
"rationale":"Referências a `enterprise.proxmox.com` em `/etc/apt/sources.list` e `sources.list.d`, face ao estado devolvido por `pvesubscription get`.",
"unsubscribed":"The enterprise repository is enabled without an active subscription",
"evaluationFailed":"The check could not be evaluated"
}
},
"memory_overcommit":{
"title":"Memory allocation",
"rationale":"O teto `memory` de cada configuração de convidado face a MemTotal, com os convidados em execução contados à parte. Os contentores consomem até esse limite; as máquinas virtuais sem ballooning reservam-no.",
"summary":{
"withinRatio":"Guests are allocated {percent}% of host memory",
"aboveRatio":"Guests are allocated {percent}% of host memory",
"evaluationFailed":"The check could not be evaluated"
}
},
"time_synchronisation":{
"title":"Time synchronisation",
"rationale":"NTP e NTPSynchronized tal como o `timedatectl` os reporta. A pertença ao cluster, a validação de certificados e a ordem dos registos dependem de relógios concordantes. Outro mecanismo pode estar a disciplinar o relógio.",
"summary":{
"synchronised":"The clock is synchronised with a time source",
"disabled":"Time synchronisation is disabled",
"notSynchronised":"Time synchronisation is enabled but the clock is not synchronised",
"evaluationFailed":"The check could not be evaluated"
}
},
"kernel_current":{
"title":"Running kernel",
"rationale":"O kernel em execução face àquele que o anfitrião arrancaria a seguir, conforme o `proxmox-boot-tool` o reporta. Um kernel mais recente apenas instalado pode estar retido de propósito; uma diferença após reiniciar indica um arranque que não vingou.",
"summary":{
"current":"O kernel em execução {version} é o que o anfitrião arrancaria a seguir",
"newerAvailable":"The host runs {running} while {newest} is installed",
"newerSelected":"O anfitrião executa {running} e arrancaria {selected} no próximo reinício",
"wouldDowngrade":"O anfitrião executa {running} mas arrancaria o mais antigo {selected} no próximo reinício",
"bootTargetUnknown":"O anfitrião executa {version}; não foi possível ler o kernel escolhido para o próximo arranque",
"evaluationFailed":"The check could not be evaluated"
}
},
"security_updates":{
"title":"Security updates",
"rationale":"Pacotes pendentes cuja origem é um repositório de segurança, a partir de um `apt-get upgrade` simulado. O número reflete o que o apt reporta, não a gravidade do que cada pacote corrige.",
"summary":{
"none":"No package updates are pending",
"noSecurity":"{total} update(s) pending, none from a security repository",
"pending":"{count} of {total} pending update(s) come from a security repository",
"evaluationFailed":"The check could not be evaluated"
}
},
"journal_size":{
"title":"Journal size",
"rationale":"O journal em disco face ao limite que se lhe aplica: SystemMaxUse quando está definido e, caso contrário, o valor por omissão do journald, um décimo do sistema de ficheiros onde reside.",
"summary":{
"bounded":"O journal ocupa {size}, dentro do seu limite efetivo",
"large":"The journal holds {size} on disk",
"nearCap":"O journal ocupa {size} e está a {percent}% do seu limite efetivo",
"capUnknown":"O journal ocupa {size}; não foi possível determinar o seu limite efetivo",
"evaluationFailed":"The check could not be evaluated"
}
},
"swap_configured":{
"title":"Swap",
"rationale":"Áreas de swap ativas segundo o `swapon` e o seu total face à memória do anfitrião. Nenhuma regra exige uma proporção relativa à RAM; a pressão de memória mede-se noutro lugar.",
"summary":{
"active":"{size} of swap is active",
"none":"No swap area is active",
"evaluationFailed":"The check could not be evaluated"
}
},
"filesystem_capacity":{
"title":"Capacidade dos sistemas de ficheiros do anfitrião",
"rationale":"Espaço e inodes dos sistemas de ficheiros de que o anfitrião precisa: a raiz, /var, /var/log e o caminho do armazenamento local. Um sistema de ficheiros com espaço livre e sem inodes falha tal como um cheio.",
"summary":{
"withinLimits":"Os {total} sistemas de ficheiros do anfitrião mantêm-se abaixo dos seus limiares de revisão",
"pressure":"{count} leituras estão no limiar de revisão ou acima",
"evaluationFailed":"Não foi possível ler a ocupação dos sistemas de ficheiros"
}
},
"update_chain":{
"title":"Idade dos índices de pacotes APT",
"rationale":"Quando o APT colocou pela última vez um índice de pacotes neste host. Um repositório que responde «não modificado» deixa o seu índice intacto. A acessibilidade dos repositórios não é testada.",
"summary":{
"current":"Os índices de pacotes foram atualizados há {days} dia(s)",
"stale":"Os índices de pacotes foram atualizados pela última vez há {days} dia(s)",
"indexAgeUnknown":"Não foi possível determinar a antiguidade dos índices de pacotes"
}
},
"notification_delivery":{
"title":"Último resultado de notificação",
"rationale":"Canais ativados e resultado da última entrega registada para cada um. Sem histórico, a entrega fica por verificar; uma falha seguida de sucesso não é considerada uma falha atual. Não são enviadas notificações de teste.",
"summary":{
"delivering":"A última entrega registada foi bem-sucedida nos {total} canais ativados",
"failing":"{count} de {total} canais ativados apresentam um problema de configuração ou uma falha na última entrega",
"noChannels":"Não há qualquer canal de notificação ativado",
"evaluationFailed":"Não foi possível ler o histórico de entregas"
}
},
"cluster_quorum":{
"title":"Quórum do cluster",
"rationale":"O quórum tal como o cluster o reporta, os nós configurados face aos atualmente vistos e o número de ligações corosync declaradas. As ligações são lidas da configuração, não sondadas.",
"summary":{
"standalone":"Este nó não pertence a nenhum cluster",
"quorate":"O cluster tem quórum com {total} nó(s) configurado(s) sobre {links} ligação(ões) corosync",
"attention":"{count} constatação(ões) sobre {total} nó(s) configurado(s)",
"evaluationFailed":"Não foi possível ler o estado do cluster"
}
},
"boot_loader":{
"title":"Carregador de arranque",
"rationale":"As partições de sistema EFI que o proxmox-boot-tool reporta e os kernels que cada uma leva. Nenhuma partição é montada e nenhum arranque é tentado.",
"summary":{
"synchronised":"As {total} partições de arranque levam os mesmos kernels",
"attention":"{count} de {total} partições de arranque requerem revisão",
"evaluationFailed":"The check could not be evaluated"
}
},
"failed_units":{
"title":"Serviços essenciais e unidades falhadas",
"rationale":"Unidades que o systemd deu por perdidas depois de esgotar as tentativas, e os serviços de que o Proxmox precisa para responder, lidos pelo nome porque um serviço inativo nem sempre consta como falhado. O que cada unidade faz não é interpretado aqui.",
"summary":{
"allRunning":"Os {total} serviços essenciais estão ativos e nenhuma unidade falhou",
"attention":"{count} constatação(ões) entre as unidades",
"evaluationFailed":"The check could not be evaluated"
}
},
"ha_state":{
"title":"Alta disponibilidade",
"rationale":"O mestre de HA, o gestor de recursos de cada nó e o estado de cada serviço gerido, segundo `ha-manager status`. Do quórum dá conta a verificação do cluster. Nenhum serviço é iniciado, parado ou migrado.",
"summary":{
"managed":"Os {total} serviços geridos estão num estado assente em {nodes} nó(s)",
"attention":"{count} constatação(ões) sobre {total} serviço(s) gerido(s)",
"evaluationFailed":"The check could not be evaluated"
"rationale":"A definição `unprivileged` de cada configuração de contentor. A sua ausência significa que o contentor partilha o espaço de nomes de utilizador do anfitrião, algo que certas cargas necessitam.",
"missingAgent":"{count} of {total} virtual machines do not declare the guest agent",
"evaluationFailed":"The check could not be evaluated"
}
},
"autostart":{
"title":"Automatic start",
"rationale":"A definição `onboot` de cada convidado, excluindo modelos e convidados geridos por HA. Se se espera que um convidado volte por si só, indica-o a política declarada.",
"summary":{
"allAutostart":"All {total} guests start with the host",
"notAutostart":"{count} of {total} guests do not start with the host",
"evaluationFailed":"The check could not be evaluated"
}
},
"stuck_snapshots":{
"title":"Snapshot state",
"rationale":"Estado e antiguidade dos snapshots e tarefas ativas. Uma operação recente ou sem data verificável não é considerada interrompida.",
"summary":{
"noSnapshots":"No guest holds snapshots",
"allComplete":"The {total} snapshot(s) are complete",
"stuck":"{count} of {total} snapshot(s) were left mid-operation",
"evaluationFailed":"The check could not be evaluated"
}
},
"cpu_host_type":{
"title":"Virtual CPU model",
"rationale":"O valor `cpu` de cada máquina virtual. `host` expõe o conjunto de instruções do processador físico, o que limita os nós para onde o convidado pode migrar. A incompatibilidade com um destino concreto não se determina aqui.",
"summary":{
"none":"None of the {total} virtual machines is pinned to the host processor",
"pinned":"{count} of {total} virtual machines are pinned to the host processor",
"evaluationFailed":"The check could not be evaluated"
}
},
"replication_state":{
"title":"Replication",
"rationale":"Tarefas de replicação a partir da API: número de falhas, último erro, última sincronização e o calendário que cada tarefa declara. As tarefas em pausa são assinaladas como tal.",
"summary":{
"healthy":"The {total} replication job(s) report no error",
"failing":"{count} of {total} replication job(s) report an error",
"statusUnavailable":"Replication jobs are defined but their status could not be read",
"evaluationFailed":"The check could not be evaluated"
"rationale":"A opção `enable` na firewall do centro de dados e na do próprio nó, e quantas regras estão escritas. O Proxmox aplica as regras do nó apenas com o interruptor do centro de dados ligado. Estas opções não indicam o que cada regra filtra.",
"bothEnabled":"A ativação da firewall está configurada ao nível do centro de dados e do nó",
"datacenterOff":"A firewall está desativada ao nível do centro de dados, pelo que as regras do nó não são aplicadas",
"nodeOff":"A firewall está ativada ao nível do centro de dados, mas não neste nó",
"evaluationFailed":"The check could not be evaluated"
}
},
"lynis_warnings":{
"title":"Lynis warnings",
"rationale":"Avisos da última auditoria do Lynis, cada um com o seu identificador de teste, e a idade dessa auditoria. Só é executada uma auditoria se o Lynis estiver instalado e não existir relatório completo. As sugestões não são incluídas.",
"summary":{
"none":"The last Lynis audit recorded no warnings",
"found":"The last Lynis audit recorded {count} warning(s)",
"incomplete":"The Lynis report is incomplete",
"evaluationFailed":"The check could not be evaluated",
"noneStale":"A última auditoria do Lynis não registou avisos, e o seu relatório tem {days} dia(s)",
"foundStale":"A última auditoria do Lynis registou {count} aviso(s), e o seu relatório tem {days} dia(s)"
}
},
"certificate_expiry":{
"title":"Certificate validity",
"rationale":"A data de validade do certificado que o pveproxy serve a partir de /etc/pve/local. Um certificado próprio tem precedência sobre o que o Proxmox gera.",
"summary":{
"valid":"The certificate is valid for {days} more day(s)",
"expiring":"The certificate expires in {days} day(s)",
"evaluationFailed":"The check could not be evaluated"
}
},
"ssh_root_login":{
"title":"SSH root access",
"rationale":"PermitRootLogin na configuração efetiva de `sshd -T`, com os métodos de autenticação com que se combina. O Proxmox é entregue com `yes`, que aceita palavra-passe.",
"summary":{
"password":"Root may sign in over SSH with a password",
"keyOnly":"Root may sign in over SSH with a key only",
"denied":"Root may not sign in over SSH",
"evaluationFailed":"The check could not be evaluated"
"rationale":"Volumes de convidado no armazenamento local face às referências nas configurações atuais, pendentes e de snapshots. Backups, ISOs e modelos ficam fora da comparação. Um volume sem referência é um candidato a revisão.",
"found":"Há {count} volumes sem referência nas configurações examinadas",
"evaluationFailed":"The check could not be evaluated"
}
},
"zfs_arc_max":{
"title":"ZFS ARC limit",
"rationale":"Valores efetivos de c_min, c_max e tamanho do ARC, o parâmetro de módulo carregado e as definições persistentes em /etc/modprobe.d. Um valor configurado a zero seleciona o valor por omissão do módulo; o ARC é um teto e a memória que ocupa é recuperável.",
"summary":{
"bounded":"O limite do ARC é {percent}% da memória do anfitrião, e a memória que ocupa é recuperável",
"high":"The ARC may use {percent}% of host memory",
"unset":"The ARC has no explicit limit set",
"conflicting":"{count} definições do ARC não coincidem entre si",
"pending":"Uma definição persistente do ARC difere do valor que o módulo em execução transporta",
"evaluationFailed":"The check could not be evaluated"
}
},
"zfs_scrub_age":{
"title":"ZFS scrub",
"rationale":"O último scrub concluído que o `zpool status` regista em cada pool. Um resilver não é um scrub. Uma pool criada há pouco ainda não teve ocasião de executar um.",
"summary":{
"recent":"The {total} pool(s) were scrubbed within the last 35 days",
"overdue":"{count} of {total} pool(s) have not been scrubbed in 35 days",
"neverScrubbed":"{count} pool(s) record no scrub",
"evaluationFailed":"The check could not be evaluated"
}
},
"thin_pool_overprovisioning":{
"title":"Thin pool allocation",
"rationale":"Capacidade virtual distribuída por cada thin pool LVM face ao tamanho do próprio pool, e quanto os seus volumes escreveram realmente, dados e metadados em separado.",
"summary":{
"withinRatio":"Os {total} thin pools encontram-se abaixo dos limites de revisão aplicados",
"aboveRatio":"{count} de {total} thin pools distribuem mais capacidade do que possuem",
"pressure":"{pressure} de {total} thin pools estão perto de encher os seus dados ou metadados",
"evaluationFailed":"The check could not be evaluated"
}
},
"connected_storage":{
"title":"Armazenamentos ligados",
"rationale":"Disponibilidade tal como o PVE a reporta, capacidade conhecida e dependências atuais de todos os armazenamentos ativados neste nó. Os componentes internos remotos não são sondados nem o acesso de escrita é testado. A capacidade é apresentada onde o PVE a conhece e fica em branco onde não.",
"summary":{
"available":"O PVE indica que os {total} armazenamentos estão disponíveis; os componentes internos remotos e o acesso de escrita não foram testados",
"attention":"{count} de {total} armazenamentos requerem revisão",
"evaluationFailed":"The check could not be evaluated"
}
},
"pool_integrity":{
"title":"Integridade e redundância das pools",
"rationale":"O estado de cada pool ZFS e os contadores de leitura, escrita e soma de verificação dos seus dispositivos. Os contadores são cumulativos desde o último `zpool clear`.",
"summary":{
"healthy":"As {total} pools estão online, sem erros de dispositivo registados",
"degraded":"{count} constatações em {total} pools",
"evaluationFailed":"Não foi possível ler o estado das pools"
}
},
"ceph_health":{
"title":"Saúde do Ceph",
"rationale":"O estado de saúde do próprio Ceph e as verificações que nomeia. Os seus testes não são reimplementados e nenhum pool, grupo de colocação ou OSD é consultado à parte.",
"summary":{
"healthy":"O Ceph reporta HEALTH_OK",
"degraded":"O Ceph reporta {state}, com {count} verificação(ões) nomeada(s)",
"evaluationFailed":"The check could not be evaluated"
}
},
"array_integrity":{
"title":"RAID por software e multipath",
"rationale":"Arrays mdadm e mapas multipath, lidos de /proc/mdstat e, onde a ferramenta esteja instalada, de `multipath -ll`. Os pools ZFS são reportados pela sua própria verificação.",
"summary":{
"intact":"Os {total} arrays e mapas mantêm a sua redundância",
"degraded":"{count} de {total} arrays ou mapas estão sem ela",
"evaluationFailed":"The check could not be evaluated"
}
}
},
"hardware":{
"disk_service_life":{
"title":"Disk service life",
"rationale":"Horas de funcionamento e desgaste restante a partir das leituras SMART do monitor, com a data de cada leitura. A idade é informação de planeamento; os erros de suporte e os avisos do dispositivo são reportados pelo monitor de saúde.",
"summary":{
"withinLife":"As {total} leituras de discos não excedem o limiar indicativo de cinco anos",
"pastLife":"{count} de {total} leituras de discos excedem cinco anos de funcionamento",
"noReadings":"Nenhum disco expõe contadores SMART utilizáveis ({skipped} sem leituras)",
"evaluationFailed":"The check could not be evaluated"
}
},
"disk_errors":{
"title":"Erros de disco",
"rationale":"Erros detetados nos discos e registados pelo monitor de saúde.",
"summary":{
"recorded":"{count} de {total} discos com registo têm eventos anotados",
"noEvents":"Não resta qualquer evento de disco para avaliar: nenhum registado, ou todos descartados"
}
}
},
"network":{
"bond_members":{
"title":"Bond members",
"rationale":"O estado MII de cada membro do bond a partir de /proc/net/bonding e quantas ligações restam. Em active-backup, um membro de reserva figura como ativo e não transporta tráfego.",
"summary":{
"allUp":"All members of the {total} bond(s) are up",
"membersDown":"{count} bond member(s) are not up",
"evaluationFailed":"The check could not be evaluated"
}
},
"bridge_without_ports":{
"title":"Bridge ports",
"rationale":"A configuração de portas de cada bridge. Uma bridge sem porta física serve uma rede interna ou encaminhada.",
"summary":{
"allConnected":"The {total} bridge(s) carry a port",
"isolated":"{count} of {total} bridge(s) carry no port",
"evaluationFailed":"The check could not be evaluated"
"noBackupDetail":"No enabled backup job selects this guest.",
"applications":"Applications",
"versionUnknown":"version not detected",
"passthroughTitle":"PCI passthrough",
"iommuGroup":"IOMMU group {group}",
"sharedGroup":"{count} more device(s) in the same group",
"proxmenux":"ProxMenux optimizations",
"latency":"Latência de rede",
"subscriptionStatus":{
"notfound":"Sem subscrição",
"active":"Ativa",
"invalid":"Inválida",
"expired":"Expirada",
"suspended":"Suspensa",
"new":"Aguarda ativação",
"unknown":"Desconhecido"
}
},
"profile":{
"label":"Report",
"full":"Full audit",
"inventory":"Inventory",
"security":"Security review",
"backup":"Backup assurance",
"capacity":"Capacity and wear",
"diagnostic":"Diagnóstico rápido"
},
"document":{
"action":"Gerar relatório",
"title":"Relatório de auditoria",
"subtitle":"Estrutura, configuração e avaliação de {node}",
"generated":"Gerado",
"assessed":"Assessed",
"runId":"Assessment reference",
"print":"Print or save as PDF",
"summaryByArea":"Summary by area",
"area":"Area",
"inventoryAnnex":"Inventory annex",
"scopeTitle":"Scope of this report",
"scopeBody":"This report describes the Proxmox VE node named above, as observed from the node itself at the time stated. It does not cover the interior of the guests beyond what they declare, network equipment outside the host, physical infrastructure, or any dependency not visible from this node. Findings marked as not determined were not measured and are not evidence of absence.",
"building":"A compor o relatório…",
"node":"Nó",
"profile":"Perfil",
"unknownNode":"nó não identificado",
"executiveSummary":"Resumo da avaliação",
"assessment":"Avaliação",
"verdictHeading":"Resultado desta execução",
"verdict":{
"critical":"ATENÇÃO",
"warning":"REVER",
"conformant":"EM ORDEM"
},
"verdictText":{
"critical":"{fail} verificações relatam uma condição falhada e {warn} uma condição a rever, de {total} avaliadas.",
"warning":"Nenhuma verificação relata uma condição falhada. {warn} de {total} relatam uma condição a rever.",
"conformant":"As {total} verificações deste perfil concluem sem condições falhadas nem a rever.",
"none":"Este perfil não executa verificações. O documento descreve o nó sem o avaliar."
},
"runAt":"Executado a {date}",
"chartNote":"Verificações por área e resultado.",
"nodeIdentity":"Identidade do nó",
"system":"Sistema",
"cluster":"Cluster",
"standaloneNote":"Este nó não faz parte de um cluster: mantém a sua própria configuração e os seus convidados não migram para outro nó.",
"clusterDiagramNote":"Nós configurados e as ligações corosync que os unem.",
"thisNode":"este nó",
"unreachable":"não visto",
"member":"membro",
"corosyncLinks":"ligações",
"quorum":"Quórum",
"quorate":"com quórum",
"inquorate":"sem quórum",
"votes":"Votos",
"nodeName":"Nó",
"architecture":"Arquitetura do sistema",
"architectureNote":"Como o nó está montado: processador e memória na placa, e o que depende de cada controladora.",
"systemIdentity":"Identidade do sistema",
"board":"Placa",
"processor":"Processador",
"topology":"Sockets × núcleos / threads",
"memory":"Memória",
"cores":"núcleos",
"threads":"threads",
"memoryModules":"Módulos de memória",
"slot":"Ranhura",
"slotsUsed":"ranhuras ocupadas",
"slotsFilled":"{used} de {total} ranhuras ocupadas",
"emptySlot":"vazia",
"formFactor":"Formato",
"speed":"Velocidade",
"manufacturer":"Fabricante",
"product":"Modelo",
"serial":"Número de série",
"controllers":"Controladoras",
"class":"Classe",
"device":"Dispositivo",
"iommuGroups":"Grupos IOMMU",
"iommuGroup":"Grupo IOMMU",
"field":"Campo",
"value":"Valor",
"size":"Tamanho",
"type":"Tipo",
"storageDevices":"Dispositivos de armazenamento",
"disks":"Discos",
"model":"Modelo",
"bus":"Bus",
"serviceLife":"Horas de serviço",
"healthy":"íntegro",
"years":"{years} anos",
"events":"Eventos",
"observations":"Observações",
"observationsNote":"Eventos registados. O SMART relata o estado atual; este registo relata o que aconteceu, incluindo eventos de que o disco recuperou.",
"noObservations":"Sem eventos registados",
"noObservationsNote":"Nenhum disco registou erros desde que o monitor os observa.",
"event":"Evento",
"severity":"Gravidade",
"occurrences":"Ocorrências",
"firstSeen":"Primeira vez",
"lastSeen":"Última vez",
"detail":"Detalhe",
"network":"Rede",
"adapters":"Adaptadores",
"bond":"Bond",
"bridge":"Bridge",
"bridges":"Bridges",
"physicalAdapters":"Adaptadores físicos",
"interface":"Interface",
"driver":"Controlador",
"state":"Estado",
"networkDiagramNote":"Caminho do cabo até cada convidado: adaptador físico, bond quando os agrupa, bridge e convidados ligados.",
"storageAndProtection":"Armazenamento e proteção",
"storage":"Armazenamento",
"content":"Conteúdo",
"shared":"Partilhado",
"location":"Localização",
"backupDestination":"Destino dos backups",
"unprotected":"sem backup",
"storageDiagramNote":"Onde residem os discos dos convidados e que destino os salvaguarda.",
"unprotectedGuests":"{count} convidados sem tarefa de backup",
"allProtected":"Todos os convidados estão cobertos por uma tarefa de backup",
"allProtectedNote":"A cobertura indica que uma tarefa seleciona o convidado; o resultado dos backups é avaliado à parte.",
"vmid":"VMID",
"name":"Nome",
"kind":"Tipo",
"backup":"Backup",
"none":"nenhum",
"managedSoftware":"Software gerido pelo ProxMenux",
"version":"Versão",
"source":"Origem",
"current":"atualizado",
"updateAvailable":"atualizar para {version}",
"findings":"Constatações em detalhe",
"incomplete":"parcial",
"scope":"Âmbito deste relatório",
"scopeText":"Este documento reporta o perfil {profile} no nó indicado no cabeçalho, no momento da execução.",
"scopeLocal":"Cobre apenas este nó. Os convidados de outros nós e a sua configuração ficam de fora.",
"scopeReadOnly":"Todas as verificações leem configuração e estado já existentes; nenhuma modifica o anfitrião.",
"scopeMoment":"Descreve o estado no momento da execução, não um período de tempo.",
"notRead":"Fontes que não foi possível ler:",
"uplink":"Ligação ascendente",
"conformance":"{pass} de {total} conformes",
"latency":"Latência de rede",
"latencyNote":"Latência medida na janela indicada, uma linha por destino.",
"milliseconds":"ms",
"hours":"h",
"minimum":"Mínimo",
"average":"Média",
"maximum":"Máximo",
"packetLoss":"Perda de pacotes",
"samples":"Amostras",
"target":{
"label":"Destino",
"gateway":"Gateway",
"cloudflare":"Cloudflare (1.1.1.1)",
"google":"Google (8.8.8.8)"
},
"actionShort":"Relatório",
"policyDeclared":"Foi avaliado face a uma política declarada: {guests} convidados, {storages} armazenamentos e {thresholds} limiares indicados.",
"policyNone":"Não há política declarada, pelo que uma ausência que este relatório não consegue interpretar é indicada como observação e nunca como aviso.",
"diagnosticTitle":"Diagnóstico rápido",
"diagnosticSubtitle":"Resultados críticos e avisos em {node}",
"diagnosticActing":"{count} resultado(s) crítico(s) e aviso(s).",
"diagnosticClear":"Nenhum resultado crítico nem aviso. As observações e os resultados conformes estão na auditoria completa.",
"diagnosticUnread":"Leituras que não foi possível obter",
"diagnosticMoreRows":"{count} linha(s) adicionais, na auditoria completa.",
"conflict":"A declaração foi alterada noutra sessão. O rascunho não foi guardado.",
"reload":"Recarregar a declaração guardada (descartar rascunho)",
"intro":"Uma avaliação vê o que este anfitrião faz, não para que serve. O que aqui se declara transforma uma observação em aviso, ou retira-a da contagem. Nada é obrigatório: sem declaração o relatório descreve em vez de julgar.",
"loading":"A ler a declaração…",
"failed":"Não foi possível ler a declaração",
"saved":"Guardado",
"declaredCount":"{count} declarações",
"guestsNote":"Requerido comunica como aviso o que falta; não declarado comunica-o como observação; não requerido deixa-o fora da contagem.",
"storagesNote":"Um armazenamento inacessível é crítico quando está declarado essencial ou serve um convidado em execução, aviso quando o seu papel não está declarado, e observação quando está declarado opcional.",
"thresholds":"Limiares",
"thresholdsNote":"Vazio significa o valor de origem, mostrado como marcador.",
"backup":"Backup",
"autostart":"Arranque",
"objective":"Objetivo de recuperação",
"objectivePlaceholder":"horas",
"noGuests":"Este nó não aloja convidados.",
"expectation":{
"required":"Necessário",
"not_required":"Não necessário",
"unspecified":"Não declarado"
},
"role":{
"essential":"Essencial",
"optional":"Opcional",
"unspecified":"Não declarado"
},
"threshold":{
"storage_usage_percent":"Limiar de revisão de capacidade (%)",
"thin_pool_usage_percent":"Limiar de revisão de enchimento da thin pool (%)",
"thin_overprovision_ratio":"Rácio de sobreaprovisionamento thin",
"zfs_scrub_days":"Intervalo de scrub do ZFS (dias)",
"backup_fallback_days":"Prazo de recurso para a antiguidade (dias)",
"backup_schedule_grace_ratio":"Margem sobre o calendário (rácio)",
"certificate_expiry_days":"Aviso de validade do certificado (dias)",
"memory_overcommit_ratio":"Rácio de sobreatribuição de memória",
"disk_service_life_hours":"Vida útil do disco (horas)",
"lynis_report_days":"Antiguidade do relatório Lynis (dias)",
"package_index_days":"Antiguidade dos índices de pacotes (dias)",
"journal_usage_percent":"Journal face ao seu limite (%)",
"filesystem_usage_percent":"Limiar de revisão de espaço (%)",
"filesystem_inode_percent":"Limiar de revisão de inodes (%)",
"disk_error_recent_days":"Janela de erros de disco recentes (dias)"
}
},
"changes":{
"loading":"A ler o registo de alterações…",
"failed":"Não foi possível ler o registo de alterações",
"notApplicableScope":"Nada no âmbito examinado a que esta verificação se aplique.",
"lynis":{
"title":"Run Lynis",
"bodyNotRun":"Lynis is installed but has not been run yet. Running it now completes the security review, but the process can take a few minutes.",
"bodyStale":"The Lynis report is {days} days old. You can run it now to refresh the data (it takes a little longer) or continue with the existing report.",