"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.",
"testInProgress":"O teste {type} está em execução",
"testWait":"Aguarde até o teste terminar. Os botões serão desbloqueados automaticamente.",
"noProgress":"O firmware deste disco não informa o progresso. O teste está sendo executado em segundo plano.",
"lastTest":"Último teste",
"nvmeMetrics":"Métricas de integridade NVMe",
"sasMetrics":"Métricas de integridade SAS/SCSI",
"id":"EU IA",
"attribute":"Atributo",
"value":"Valor",
"worst":"Pior",
"status":"Status",
"viewFullReport":"Veja o relatório SMART completo",
"loadingReport":"Carregando relatório...",
"reportLoadFailed":"Falha ao carregar dados do relatório.",
"statusValues":{
"passed":"Aprovado",
"failed":"Fracassado",
"running":"Correndo",
"aborted":"Abortado",
"unknown":"Desconhecido"
}
},
"historyTab":{
"loading":"Carregando histórico de testes...",
"empty":"Sem histórico de testes",
"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.",
"loading":"Carregando…",
"fetchFailed":"Falha ao buscar o processo",
"captured":"Capturado",
"lastSeen":"Visto pela última vez",
"sections":{
"overview":"Visão geral",
"resources":"Recursos",
"command":"Comando",
"lifetime":"Vida"
},
"labels":{
"state":"Estado",
"parent":"Processo pai",
"threads":"Threads",
"openFds":"Abrir FDs",
"user":"Usuário",
"group":"Grupo",
"cpu":"CPU",
"memory":"Memória",
"residentRss":"Residente (RSS)",
"virtualSize":"Tamanho virtual",
"swap":"Swap",
"ioRead":"Leitura de E/S",
"ioWrite":"Gravação de E/S",
"name":"Nome",
"commandLine":"Linha de comando",
"executable":"Executável",
"workingDir":"Diretório de trabalho",
"started":"Iniciado",
"runningFor":"Correndo para"
},
"states":{
"running":"Correndo",
"sleeping":"Dormindo",
"diskWait":"Espera de disco",
"zombie":"Zumbi",
"stopped":"Parou",
"tracingStop":"Parada de rastreamento",
"dead":"Morto",
"idle":"Parado",
"exited":"Saiu"
}
}
},
"vmLxc":{
"loadingTitle":"Carregando VMs e LXCs...",
"loadingDescription":"Buscando o status do contêiner VM e LXC",
"loadingError":"Erro ao carregar máquinas virtuais: {error}",
"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}",
"saveNotesFailed":"Erro ao salvar notas. Por favor, tente novamente."
},
"backupModal":{
"title":"Backup {type} {vmid} ({name})",
"description":"Configure opções de backup para este {type}",
"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.",
"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.",
"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.",
"excludeFromBadgeLabel":"Excluir do contador de atualizações LXC",
"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."
"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."
},
"categories":{
"vm_ct":{
"label":"VM/CT"
},
"backup":{
"label":"Cópias de segurança"
},
"resources":{
"label":"Recursos"
},
"storage":{
"label":"Armazenar"
},
"network":{
"label":"Rede"
},
"security":{
"label":"Segurança"
},
"cluster":{
"label":"Conjunto"
},
"services":{
"label":"Serviços"
},
"health":{
"label":"Monitor de Saúde"
},
"updates":{
"label":"Atualizações"
},
"other":{
"label":"Outro"
}
},
"eventTypes":{
"state_change":"Estado de saúde alterado",
"new_error":"Novo problema de saúde",
"error_resolved":"Notificação de recuperação",
"error_escalated":"Problema de saúde escalado",
"health_degraded":"Verificação de integridade degradada",
"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."
"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",
"filtersApplied":"Filtros aplicados"
},
"fields":{
"generated":"Gerado",
"level":"Nível",
"service":"Serviço",
"search":"Procurar",
"none":"Nenhum",
"message":"Mensagem",
"source":"Fonte",
"hostname":"Nome do host",
"node":"Nó",
"user":"Usuário",
"unit":"Unidade",
"host":"Hospedar",
"timestamp":"Carimbo de data e hora",
"type":"Tipo",
"systemdUnit":"Unidade do sistema",
"processId":"ID do processo",
"duration":"Duração",
"startTime":"Hora de início",
"endTime":"Hora de término",
"storage":"Armazenar",
"storageType":"Tipo de armazenamento",
"size":"Tamanho",
"created":"Criado",
"volumeId":"ID do volume"
},
"badges":{
"event":"Evento"
},
"empty":{
"logs":"Nenhum registro corresponde aos filtros selecionados.",
"backups":"Nenhum backup encontrado.",
"notifications":"Nenhuma notificação encontrada."
},
"loadMore":"Carregar mais ({count} restante)",
"backups":{
"vm":"Backups de VM",
"lxc":"Backups LXC",
"totalSize":"Tamanho total"
},
"modals":{
"logTitle":"Detalhes do registro",
"logDescription":"Informações completas sobre esta entrada de registro",
"eventTitle":"Detalhes do evento",
"eventDescription":"Informações completas sobre este evento",
"backupTitle":"Detalhes do backup",
"backupDescription":"Informações completas sobre este backup",
"notificationTitle":"Detalhes da notificação",
"notificationDescription":"Informações completas sobre esta notificação"
"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.)."
"description":"Verificando interfaces, pontes e tráfego"
},
"errors":{
"serverUnavailableTitle":"O servidor não está disponível",
"serverUnavailableDescription":"Não é possível conectar-se ao servidor monitor. Certifique-se de que o serviço esteja em execução e tente novamente."
},
"cards":{
"traffic":"Tráfego de rede",
"activeInterfaces":"Interfaces ativas",
"status":"Status da rede",
"latency":"Latência de rede"
},
"sections":{
"physicalInterfaces":"Interfaces Físicas",
"bridgeInterfaces":"Interfaces de ponte",
"vmLxcInterfaces":"Interfaces de rede VM e LXC"
},
"summary":{
"totalInterfaces":"{count} interfaces totais",
"activeCount":"{active}/{total} Ativo"
},
"status":{
"healthy":"Saudável",
"warning":"Aviso",
"critical":"Crítico",
"up":"Acima",
"down":"Abaixo"
},
"duplex":{
"full":"Duplex completo",
"half":"Meio duplex"
},
"interfaceTypes":{
"physical":"Físico",
"bridge":"Ponte",
"bridges":"Pontes",
"bond":"Ligação",
"vlan":"VLAN",
"virtual":"Virtual",
"other":"Outro"
},
"labels":{
"activeSlave":"Escravo ativo",
"average":"Média",
"avg":"Média",
"bitsReceived":"Bits recebidos",
"bitsSent":"Bits enviados",
"bondingMode":"Modo de ligação",
"bondMembers":"Membros do vínculo",
"bytesReceived":"Bytes recebidos",
"bytesSent":"Bytes enviados",
"current":"Atual",
"domain":"Domínio",
"down":"Abaixo",
"drops":"Gotas",
"dropsIn":"Cai",
"dropsOut":"Desisti",
"duplex":"Dúplex",
"errors":"Erros",
"errorsIn":"Erros em",
"errorsOut":"Erros eliminados",
"hostname":"Nome do host",
"interfaceName":"Nome da interface",
"ipAddress":"Endereço IP",
"latency":"Latência",
"macAddress":"Endereço MAC",
"max":"Máx.",
"maximum":"Máximo",
"maxSpeed":"máx. {speed}",
"min":"Mínimo",
"minimum":"Mínimo",
"netmask":"Máscara de rede",
"packetLoss":"Perda de pacotes",
"packetLossShort":"Perda de pacote",
"packetsReceived":"Pacotes recebidos",
"packetsSent":"Pacotes enviados",
"physicalInterface":"Interface física",
"primarySlave":"Escravo primário",
"received":"Recebido",
"sent":"Enviado",
"slaveInterfaces":"Interfaces escravas",
"speed":"Velocidade",
"status":"Status",
"time":"Tempo",
"type":"Tipo",
"up":"Acima",
"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.",
"deletePbsTitle":"Excluir instantâneo do PBS",
"companionFile":"arquivo complementar",
"descriptionBefore":"Procure e restaure backups encontrados em",
"downloadTitle":"Baixe este backup",
"emptyAfter":"backups ainda.",
"emptyBefore":"Não",
"encrypted":"Criptografado",
"encryptedTitle":"Este backup está criptografado",
"filesInBackup":"Arquivos em backup",
"group":"Grupo",
"host":"Hospedar",
"importKeyToDownloadTitle":"Importe o arquivo-chave correspondente antes de fazer o download",
"importKeyToRestoreTitle":"Importe o arquivo-chave correspondente antes de restaurar",
"importKeyToViewTitle":"Importe o arquivo-chave correspondente antes de visualizar o conteúdo",
"inspectTitle":"Inspecionar backup",
"job":"Trabalho",
"loadFailed":"Não foi possível carregar os backups",
"packedSizeLabel":"Tamanho embalado",
"remoteQueryWarning":"Os backups remotos podem demorar um pouco para serem consultados.",
"restoreTitle":"Restaurar deste backup",
"startingExport":"Preparando download...",
"title":"Cópias de segurança",
"viewContentsTitle":"Ver o conteúdo do backup"
},
"backends":{
"borgDescription":"Repositório Borg para backups de host desduplicados.",
"borgDescriptionTimerOnly":"Os destinos Borg são usados pelos temporizadores do Monitor, não pelos trabalhos PVE vzdump.",
"borgShortDescription":"Repositório Borg desduplicado",
"local":"Local",
"localDescription":"Pasta neste host ou em uma unidade USB montada.",
"localShortDescription":"Pasta local ou disco montado",
"pbsDescription":"Armazenamento de dados Proxmox Backup Server.",
"pbsShortDescription":"Proxmox Backup Server"
},
"common":{
"checking":"Verificando...",
"loading":"Carregando...",
"no":"Não",
"or":"ou",
"yes":"Sim"
},
"configuration":{
"title":"Configuração de backup"
},
"contents":{
"driversToReinstall":"Drivers para reinstalar",
"extracting":"Extraindo instantâneo e analisando — isso pode levar um minuto em backups grandes...",
"filesShowing":"Exibindo {shown} de {filtered}{filteredLabel}{total}",
"filesTitle":"Arquivos ({count}{plus})",
"filesTruncated":"· lista truncada em 5000 — abra o instantâneo manualmente para ver o resto",
"filtered":"filtrado",
"manifest":"Manifesto",
"manifestMissingBefore":"Este backup não inclui manifest.json. Os arquivos de metadados abaixo contêm informações equivalentes:",
"metadataFiles":"Arquivos de metadados",
"network":"Rede",
"noDrivers":"Não há drivers para reinstalar.",
"noManifest":"Nenhum manifesto neste arquivo.",
"noNetworkChanges":"Nenhuma mudança de interface planejada.",
"noStorageEntries":"Nenhuma entrada de armazenamento relatada.",
"restorePlan":"Plano de restauração",
"restorePlanUnavailable":"Plano de restauração indisponível: {error}",
"rollbackPlan":"Plano de reversão",
"storage":"Armazenar",
"title":"Conteúdo de backup",
"totalFiles":"(total {count})"
},
"deleteJob":{
"attachedToStorage":"Anexado ao armazenamento PVE",
"attachedWarning":"Este trabalho está anexado a um gancho de armazenamento PVE. Excluí-lo também remove o gancho Monitor desse armazenamento.",
"description":"Os metadados do temporizador e do monitor deste trabalho serão removidos.",
"timerWarning":"O temporizador do systemd será removido. Os backups já criados permanecem em seu destino.",
"title":"Excluir tarefa de backup"
},
"destinations":{
"absolutePathHelp":"Use um caminho absoluto neste host.",
"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.",
"reopenLogTitle":"Reabrir registro",
"run":"Correr",
"runBackup":"Executar backup",
"runOneShotBackup":"Execute o backup único",
"title":"Backup manual",
"viewProgress":"Ver progresso"
},
"paths":{
"count":"{count} caminhos",
"title":"Caminhos"
},
"placeholders":{
"autoFromPveStorage":"automático do armazenamento PVE",
"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",
"skippedPathTitle":"Ignorado: caminho vinculado ao kernel, o destino executa um kernel mais recente",
"terminalTitle":"Restaurar terminal",
"tickAckToEnable":"Marque a confirmação acima para ativar."
},
"retention":{
"daily":"Diário",
"hourly":"De hora em hora",
"keepDaily":"Mantenha diariamente",
"keepHourly":"Manter de hora em hora",
"keepLast":"Mantenha o último",
"keepMonthly":"Manter mensalmente",
"keepWeekly":"Mantenha semanalmente",
"keepYearly":"Mantenha anualmente",
"last":"Durar",
"monthly":"Mensal",
"none":"Nenhum",
"noneAccumulate":"Sem limites de retenção — os backups são acumulados até serem removidos manualmente.",
"title":"Retenção",
"weekly":"Semanalmente",
"yearly":"Anual",
"zeroDisables":"0 desativa esse limite."
},
"rollback":{
"components":"Componentes:",
"configsIncluded":"Configurações incluídas no backup",
"lxcConfigs":"Configurações LXC:",
"noDifferences":"Nenhuma diferença de estado do host detectada — o estado do backup corresponde ao host atual (ou o backup não incluiu /etc/pve).",
"pveOnlyHint":"Somente a configuração do /etc/pve é restaurada — as imagens de disco permanecem onde estão.",
"vmConfigs":"Configurações de VM:"
},
"schedule":{
"advancedHelpAfter":"para sintaxe exata do systemd.",
"advancedHelpBefore":"Usar",
"advancedHelpMiddle":"e",
"advancedOption":"Avançado",
"borgTimerOnly":"Os trabalhos Borg são agendados por temporizadores do Monitor.",
"dailyOption":"Diário",
"everyDayAt":"Todos os dias às {time}",
"everyDayAtMidnight":"Todos os dias à meia-noite",
"everyHourAtMinute":"De hora em hora {minute}",
"everyHourAtMinuteZero":"A cada hora",
"everyMinute":"Cada minuto",
"everyMondayAtMidnight":"Toda segunda-feira à meia-noite",
"firstDayMonthly":"Primeiro dia de cada mês",
"hourlyHelpAfter":"funciona uma vez por hora.",
"hourlyHelpBefore":"No minuto",
"hourlyHelpMiddle":"o cronômetro",
"hourlyOption":"De hora em hora",
"howToSchedule":"Como deveria funcionar?",
"janFirst":"1º de janeiro de cada ano",
"modeHelp":"Escolha uma programação simples ou insira uma expressão Systemd OnCalendar.",
"monthlyOption":"Mensal",
"monthlySkipHelp":"Se um mês tiver menos dias, o systemd ignora essa execução.",
"pickAtLeastOneDay":"Escolha pelo menos um dia.",
"pickFrequency":"Escolha a frequência",
"preview":"Visualização",
"rawOnCalendar":"{value} (sistema OnCalendar)",
"title":"Agendar",
"weekdaysAt":"{days} às {time}",
"weeklyOption":"Semanalmente"
},
"status":{
"attached":"apegado",
"disabled":"desabilitado",
"legacy":"legado",
"manual":"manual",
"manualOneShot":"manual / único",
"ok":"OK",
"running":"correndo",
"scheduled":"agendado"
},
"taskStates":{
"completed":"concluído",
"failed":"fracassado",
"packing":"embalagem",
"queued":"na fila",
"restoring":"restaurando",
"running":"correndo"
},
"usb":{
"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}",