mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-09-14 18:56:52 +00:00
6024 lines
317 KiB
JSON
6024 lines
317 KiB
JSON
{
|
||
"_meta": "Community translation target. Copy keys from ../en/common.json and translate the values.",
|
||
"app": {
|
||
"title": "ProxMenux Monitor",
|
||
"description": "Proxmox System Dashboard",
|
||
"loading": "Carregando...",
|
||
"connecting": "Conectando ao ProxMenux Monitor",
|
||
"unknown": "Desconhecido",
|
||
"notAvailable": "N/D",
|
||
"serverOffline": "Servidor off-line",
|
||
"supportProject": "Apoie e contribua para o projeto"
|
||
},
|
||
"common": {
|
||
"notAvailable": "N/D",
|
||
"unknown": "Desconhecido"
|
||
},
|
||
"actions": {
|
||
"refresh": "Atualizar",
|
||
"toggleTheme": "Alternar tema",
|
||
"openUserMenu": "Abrir menu do usuário",
|
||
"cancel": "Cancelar",
|
||
"save": "Salvar",
|
||
"edit": "Editar",
|
||
"remove": "Remover",
|
||
"close": "Fechar",
|
||
"resetAll": "Redefinir tudo",
|
||
"undo": "Desfazer",
|
||
"copy": "Cópia",
|
||
"copied": "Copiado",
|
||
"copyToClipboard": "Copiar para a área de transferência"
|
||
},
|
||
"navigation": {
|
||
"overview": "Visão geral",
|
||
"apps": "Apps",
|
||
"storage": "Armazenar",
|
||
"network": "Rede",
|
||
"virtualMachines": "VMs e LXCs",
|
||
"hardware": "Hardware",
|
||
"backup": "Backup",
|
||
"terminal": "terminal",
|
||
"systemLogs": "Registros do sistema",
|
||
"security": "Segurança",
|
||
"settings": "Configurações",
|
||
"about": "Sobre",
|
||
"profile": "Perfil",
|
||
"node": "Nó",
|
||
"admin": "Administrador",
|
||
"menu": "Menu de navegação",
|
||
"audit": "Auditoria e relatórios"
|
||
},
|
||
"status": {
|
||
"healthy": "Saudável",
|
||
"warning": "Aviso",
|
||
"critical": "Crítico",
|
||
"uptime": "Tempo de atividade: {uptime}",
|
||
"node": "Nó: {node}",
|
||
"connectionFailed": "Falha na conexão do servidor ProxMenux",
|
||
"checkService": "Verifique se o monitor.service está funcionando corretamente.",
|
||
"serverPort": "O servidor ProxMenux deve iniciar automaticamente na porta 8008",
|
||
"tryAccessing": "Tente acessar:",
|
||
"normal": "Normal",
|
||
"warm": "Esquentar",
|
||
"hot": "Quente",
|
||
"moderate": "Moderado",
|
||
"high": "Alto",
|
||
"stopped": "Parou",
|
||
"active": "Ativo",
|
||
"disabled": "Desabilitado",
|
||
"inactive": "inativo",
|
||
"saving": "Salvando...",
|
||
"saved": "Salvo",
|
||
"saveFailed": "Falha ao salvar",
|
||
"networkErrorWhileSaving": "Erro de rede ao salvar"
|
||
},
|
||
"overview": {
|
||
"metricsTimeout": "A consulta de métricas excedeu 30 segundos. O ProxMenux tentará novamente automaticamente.",
|
||
"metricsCachedWarning": "Não foi possível atualizar as métricas. São apresentados os dados obtidos em {time}.",
|
||
"loadingTitle": "Carregando visão geral do sistema...",
|
||
"loadingDescription": "Buscando status e métricas do sistema",
|
||
"topProcessesCpu": "Veja os principais processos por CPU",
|
||
"topProcessesMemory": "Veja os principais processos por memória",
|
||
"suggestedFix": "Correção sugerida no host Proxmox",
|
||
"noMetricsData": "Não há dados de métricas disponíveis",
|
||
"invalidMetricsData": "Dados de métricas inválidos recebidos do servidor",
|
||
"metricsLoadError": "Erro ao carregar métricas",
|
||
"networkMetricsUnavailable": "Métricas de rede ainda não disponíveis",
|
||
"noNetworkMetrics": "Nenhuma métrica de rede disponível",
|
||
"cpuUsage": "Uso da CPU",
|
||
"cpuUsageLoadAverage": "Média de uso e carga da CPU",
|
||
"cpuPercent": "CPU %",
|
||
"loadAverage": "Média de carga",
|
||
"loadAxis": "Carregar",
|
||
"memory": "Memória",
|
||
"memoryUsage": "Uso de memória",
|
||
"user": "Usuário",
|
||
"system": "Sistema",
|
||
"cores": "Núcleos",
|
||
"used": "Usado",
|
||
"cached": "Em cache",
|
||
"total": "Total",
|
||
"free": "Livre",
|
||
"activeVmLxc": "VM ativa e LXC",
|
||
"runningCount": "{count} em execução",
|
||
"vmsCount": "{count} VMs",
|
||
"stoppedCount": "{count} parou",
|
||
"temperature": "Temperatura",
|
||
"noSensorAvailable": "Nenhum sensor disponível",
|
||
"collectingData": "Coletando dados...",
|
||
"storageOverview": "Visão geral do armazenamento",
|
||
"totalNodeCapacity": "Capacidade total do nó:",
|
||
"totalCapacity": "Capacidade total:",
|
||
"physicalDisks": "Discos físicos:",
|
||
"diskSingular": "disco",
|
||
"diskPlural": "discos",
|
||
"vmLxcStorage": "Armazenamento VM/LXC",
|
||
"available": "Disponível",
|
||
"storageVolumeSingular": "volume de armazenamento",
|
||
"storageVolumePlural": "volumes de armazenamento",
|
||
"noVmLxcStorage": "Nenhum armazenamento VM/LXC configurado",
|
||
"localStorageSystem": "Armazenamento local (sistema)",
|
||
"storageDataUnavailable": "Dados de armazenamento não disponíveis",
|
||
"networkOverview": "Visão geral da rede",
|
||
"activeInterfaces": "Interfaces ativas:",
|
||
"received": "Recebido:",
|
||
"sent": "Enviado:",
|
||
"receivedShort": "Recebido",
|
||
"sentShort": "Enviado",
|
||
"networkDataUnavailable": "Dados de rede não disponíveis",
|
||
"systemInformation": "Informações do sistema",
|
||
"uptime": "Tempo de atividade:",
|
||
"uptimeDuration": {
|
||
"dayOne": "{count} dia",
|
||
"dayFew": "{count} dias",
|
||
"dayMany": "{count} dias"
|
||
},
|
||
"proxmoxVersion": "Versão Proxmox:",
|
||
"kernel": "Núcleo:",
|
||
"availableUpdates": "Atualizações disponíveis:",
|
||
"packages": "pacotes",
|
||
"systemOverview": "Visão geral do sistema",
|
||
"loadAverage1m": "Carga Média (1m):",
|
||
"cpuThreads": "Threads da CPU:",
|
||
"networkInterfaces": "Interfaces de rede:",
|
||
"timeframes": {
|
||
"hour": "1 hora",
|
||
"day": "24 horas",
|
||
"week": "7 dias",
|
||
"month": "30 dias",
|
||
"year": "1 ano"
|
||
},
|
||
"stats": {
|
||
"avg": "avg",
|
||
"max": "max",
|
||
"min": "min"
|
||
},
|
||
"errors": {
|
||
"serverUnavailableTitle": "O servidor monitor 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."
|
||
},
|
||
"runningCountOne": "{count} em execução",
|
||
"runningCountFew": "{count} em execução",
|
||
"runningCountMany": "{count} em execução"
|
||
},
|
||
"storage": {
|
||
"loadingTitle": "Carregando dados de armazenamento...",
|
||
"loadingDescription": "Verificando discos, partições e pools de armazenamento",
|
||
"loadingError": "Erro ao carregar dados de armazenamento: {error}",
|
||
"storageUsed": "Armazenamento usado",
|
||
"localUsed": "Usado Localmente",
|
||
"remoteUsed": "Remoto usado",
|
||
"physicalDisks": "Discos físicos",
|
||
"proxmoxStorage": "Armazenamento Proxmox",
|
||
"remoteMounts": "Montagens remotas",
|
||
"externalStorageUsb": "Armazenamento externo (USB)",
|
||
"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)",
|
||
"capacityNotReported": "Capacidade não informada",
|
||
"managedByProxmox": "gerenciado por Proxmox",
|
||
"readOnlyShort": "ro",
|
||
"stale": "obsoleto",
|
||
"readOnly": "somente leitura",
|
||
"reachable": "alcançável",
|
||
"source": "Fonte:",
|
||
"capacity": "Capacidade",
|
||
"mountOptions": "Opções de montagem",
|
||
"mountStaleSkipped": "df ignorado: a montagem está obsoleta.",
|
||
"notApplicable": "n / D",
|
||
"error": "Erro",
|
||
"system": "Sistema",
|
||
"standby": "Espera",
|
||
"standbyTitle": "A unidade está em espera - o smartctl foi ignorado para mantê-la girada",
|
||
"filesystemCorruption": "Corrupção no sistema de arquivos detectada",
|
||
"ioErrorOne": "{count} Erro de E/S em 5 min",
|
||
"ioErrorMany": "{count} Erros de E/S em 5 min",
|
||
"model": "Modelo",
|
||
"wearLevel": "Nível de desgaste",
|
||
"powerCycles": "Ciclos de energia",
|
||
"powerOn": "Ligar",
|
||
"crcErrors": "Erros CRC",
|
||
"reallocatedShort": "Reallocar. Setores",
|
||
"serialShort": "S/N:",
|
||
"viewDetails": "Ver detalhes",
|
||
"diskDetails": "Detalhes do disco: /dev/{name}",
|
||
"physicalDisk": "Disco físico",
|
||
"overview": "Visão geral",
|
||
"smart": "SMART",
|
||
"history": "História",
|
||
"schedule": "Agendar",
|
||
"serialNumber": "Número de série",
|
||
"healthStatus": "Estado de saúde",
|
||
"wearLifetime": "Desgaste e vida útil",
|
||
"dataWritten": "Dados escritos",
|
||
"life": "vida",
|
||
"lifeRemaining": "Vida Restante",
|
||
"realTest": "Teste Real",
|
||
"wear": {
|
||
"label": "Vestir",
|
||
"percentageUsed": "Porcentagem usada",
|
||
"mediaWearout": "Desgaste da mídia",
|
||
"wearLevel": "Nível de desgaste",
|
||
"lifeUsed": "Vida Usada"
|
||
},
|
||
"estimatedLife": "Husa. Vida",
|
||
"noWearDetected": "Nenhum desgaste detectado ainda",
|
||
"months": "meses",
|
||
"years": "anos",
|
||
"duration": {
|
||
"daysShort": "{days}d",
|
||
"monthsShort": "{months}m",
|
||
"yearsShort": "{years}a",
|
||
"monthsDaysShort": "{months}m {days}d",
|
||
"yearsMonthsShort": "{years}y {months}m",
|
||
"estimatedYears": "~{value} anos",
|
||
"estimatedMonths": "~{value} meses"
|
||
},
|
||
"availableSpare": "Aproveitar. Poupar",
|
||
"smartAttributes": "Atributos SMART",
|
||
"powerOnHours": "Horas de ativação",
|
||
"rotationRate": "Taxa de rotação",
|
||
"smartStatus": "Status SMART",
|
||
"reallocatedSectors": "Setores Realocados",
|
||
"pendingSectors": "Setores Pendentes",
|
||
"temperature": "Temperatura",
|
||
"noSmartData": "Nenhum dado de teste SMART disponível para este disco.",
|
||
"smartDataHint": "Execute um teste SMART na guia Teste SMART para obter informações detalhadas sobre saúde.",
|
||
"observations": "Observações",
|
||
"observationsDescription": "As seguintes observações foram registradas para este disco:",
|
||
"loadingObservations": "Carregando observações...",
|
||
"firstSeen": "Primeiro",
|
||
"lastSeen": "Durar",
|
||
"occurrences": "Ocorrências",
|
||
"observationShort": "obs.",
|
||
"observationTypes": {
|
||
"smart_error": "Problema SMART",
|
||
"io_error": "Problema de E/S",
|
||
"filesystem_error": "Problema no sistema de arquivos",
|
||
"zfs_pool_error": "Problema no pool ZFS",
|
||
"connection_error": "Problema de conexão"
|
||
},
|
||
"health": {
|
||
"healthy": "Saudável",
|
||
"warning": "Aviso",
|
||
"critical": "Crítico",
|
||
"unknown": "Desconhecido",
|
||
"passed": "Aprovado",
|
||
"online": "On-line",
|
||
"failed": "Fracassado",
|
||
"degraded": "Degradado"
|
||
},
|
||
"status": {
|
||
"active": "ativo",
|
||
"inactive": "inativo",
|
||
"offline": "off-line",
|
||
"error": "erro",
|
||
"failed": "fracassado"
|
||
},
|
||
"smartTest": {
|
||
"loading": "Carregando dados SMART...",
|
||
"toolsMissing": "As ferramentas SMART não estão instaladas",
|
||
"nvmeToolRequired": "nvme-cli é necessário para executar testes SMART em discos NVMe.",
|
||
"smartctlRequired": "smartmontools é necessário para executar testes SMART neste disco.",
|
||
"installingTools": "Instalando ferramentas SMART...",
|
||
"installTools": "Instale ferramentas SMART",
|
||
"installFailed": "Falha na instalação",
|
||
"installFailedManual": "A instalação falhou. Tente manualmente: apt-get install smartmontools nvme-cli",
|
||
"installToolsManual": "Falha ao instalar ferramentas. Tente manualmente: apt-get install smartmontools nvme-cli",
|
||
"runTest": "Execute o teste SMART",
|
||
"shortTest": "Teste curto",
|
||
"longTest": "Teste longo (1-4 horas)",
|
||
"extendedTest": "Teste estendido",
|
||
"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.",
|
||
"startFailed": "Falha ao iniciar o teste",
|
||
"short": "Curto",
|
||
"extended": "Estendido",
|
||
"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": "Em execução",
|
||
"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!",
|
||
"attentionTitle": "ATENÇÃO NECESSÁRIA: Problemas detectados",
|
||
"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.",
|
||
"issuesFound": "Problemas encontrados",
|
||
"criticalStatus": "Crítico – requer atenção imediata",
|
||
"warningStatus": "Aviso - deve ser monitorado",
|
||
"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.",
|
||
"observationSummary": "{unique} único, {total} total",
|
||
"observationsTitle": "Observações e eventos ({count} registrados, {total} ocorrências totais)",
|
||
"outdatedTestTitle": "Dados de teste desatualizados ({days} dias)",
|
||
"diskInformation": "Informações do disco",
|
||
"attributeCount": "{total} total",
|
||
"attributeCountWithWarnings": "{total} total, {warnings} aviso(s)",
|
||
"entriesCount": "{count} entradas",
|
||
"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",
|
||
"extendedNvmeHealth": "Integridade NVMe estendida",
|
||
"ssdWearLifetime": "Desgaste e vida útil do SSD",
|
||
"nvmeHealthMetrics": "Métricas de saúde NVMe",
|
||
"sasHealthMetrics": "Métricas de integridade SAS/SCSI",
|
||
"smartAttributes": "Atributos SMART",
|
||
"selfTestResult": "Resultado do autoteste",
|
||
"lastSelfTestResult": "Resultado do último autoteste",
|
||
"recommendations": "Recomendações"
|
||
},
|
||
"statusValues": {
|
||
"ok": "OK",
|
||
"warning": "Aviso",
|
||
"critical": "Crítico",
|
||
"failed": "Fracassado",
|
||
"passed": "Aprovado",
|
||
"supported": "Suportado",
|
||
"notSupported": "Não compatível",
|
||
"none": "Nenhum",
|
||
"info": "Informações"
|
||
},
|
||
"selfTestStatus": {
|
||
"completedWithoutError": "Concluído sem erros",
|
||
"completedWithReadFailure": "Concluído: falha de leitura",
|
||
"completedWithWriteFailure": "Concluído: falha de gravação",
|
||
"completedWithUnknownFailure": "Concluído: falha desconhecida",
|
||
"interrupted": "Interrompido",
|
||
"aborted": "Abortado",
|
||
"inProgress": "Em andamento"
|
||
},
|
||
"testTypes": {
|
||
"short": "Teste curto",
|
||
"extended": "Teste estendido"
|
||
},
|
||
"observationTypes": {
|
||
"io": "Erro de E/S",
|
||
"ioPlural": "Erros de E/S",
|
||
"smart": "Erro SMART",
|
||
"smartPlural": "Erros SMART",
|
||
"filesystem": "Erro no sistema de arquivos",
|
||
"filesystemPlural": "Erros do sistema de arquivos"
|
||
},
|
||
"duration": {
|
||
"yearDayHours": "{years}y {days}d ({hours}h)",
|
||
"dayHours": "{days}d ({hours}h)",
|
||
"yearDay": "{years}y {days}d",
|
||
"minutes": "{minutes} minutos",
|
||
"approxMinutes": "~{minutes} minutos"
|
||
},
|
||
"estimatedLife": {
|
||
"years": "~{value} anos",
|
||
"days": "~{value} dias",
|
||
"hours": "~{value} horas",
|
||
"excellent": "Excelente"
|
||
},
|
||
"units": {
|
||
"bytes": "bytes"
|
||
},
|
||
"metrics": {
|
||
"criticalWarning": "Aviso crítico",
|
||
"mediaErrors": "Erros de mídia",
|
||
"unsafeShutdowns": "Desligamentos inseguros",
|
||
"enduranceWarning": "Aviso de resistência",
|
||
"controllerBusy": "Controlador ocupado",
|
||
"errorLogEntries": "Entradas de registro de erros",
|
||
"warningTempTime": "Tempo de temperatura de aviso",
|
||
"criticalTempTime": "Tempo de temperatura crítica",
|
||
"dataRead": "Leitura de dados",
|
||
"hostReadCommands": "Comandos de leitura do host",
|
||
"hostWriteCommands": "Comandos de gravação do host",
|
||
"hotspotTemp": "Temperatura do ponto de acesso",
|
||
"sensors": "Sensores"
|
||
},
|
||
"metricNotes": {
|
||
"controllerAlertFlags": "Sinalizadores de alerta do controlador",
|
||
"flashCellDamage": "Danos às células flash",
|
||
"powerLossWithoutFlush": "Perda de energia sem descarga",
|
||
"groupEnduranceAlert": "Alerta de resistência de grupo",
|
||
"totalBusyTime": "Tempo ocupado total",
|
||
"mayIncludeBenignArtifacts": "Pode incluir artefatos benignos",
|
||
"minutesInWarningRange": "Minutos na faixa de alerta",
|
||
"minutesInCriticalRange": "Minutos na faixa crítica",
|
||
"totalHostReads": "Total de leituras do host",
|
||
"totalReadCommands": "Total de comandos de leitura",
|
||
"totalWriteCommands": "Total de comandos de gravação",
|
||
"sensorHotspot": "Ponto de acesso do sensor[1]"
|
||
},
|
||
"empty": {
|
||
"nvmeMetrics": "Nenhuma métrica NVMe disponível",
|
||
"sasMetrics": "Nenhuma métrica SAS disponível",
|
||
"smartAttributes": "Nenhum atributo SMART disponível",
|
||
"selfTestHistory": "Nenhum histórico de autoteste disponível. Execute um autoteste SMART para ver os resultados aqui."
|
||
},
|
||
"footer": {
|
||
"generatedBy": "Relatório gerado pelo ProxMenux Monitor"
|
||
},
|
||
"attributeLabels": {
|
||
"criticalWarning": "Aviso crítico",
|
||
"nvmeTemperature": "Temperatura",
|
||
"temperatureSensor1": "Sensor de temperatura 1",
|
||
"temperatureSensor2": "Sensor de temperatura 2",
|
||
"temperatureSensor3": "Sensor de temperatura 3",
|
||
"availableSpare": "Sobressalente disponível",
|
||
"availableSpareThreshold": "Limite sobressalente disponível",
|
||
"percentageUsed": "Porcentagem usada",
|
||
"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.",
|
||
"reallocatedTitle": "Setores realocados detectados ({count})",
|
||
"reallocatedText": "O disco possui setores defeituosos que foram remapeados. Monitore-o de perto e considere a substituição se a contagem aumentar.",
|
||
"pendingTitle": "Setores Pendentes ({count})",
|
||
"pendingText": "Alguns setores aguardam para serem realocados. Isso pode indicar uma falha iminente.",
|
||
"highTemperature": "Alta temperatura ({temperature}°C)",
|
||
"hotHdd": "O HDD está esquentando. Melhore o fluxo de ar do gabinete ou adicione resfriamento.",
|
||
"hotSsd": "O SSD está esquentando. Verifique o fluxo de ar ao redor da unidade.",
|
||
"hotNvme": "O NVMe está superaquecendo. Considere adicionar um dissipador de calor ou melhorar o fluxo de ar do gabinete.",
|
||
"maintenanceTitle": "Manutenção Regular",
|
||
"maintenanceText": "Agende um teste SMART estendido todos os meses para detectar problemas antecipadamente.",
|
||
"backupTitle": "Estratégia de backup",
|
||
"backupText": "Faça backup de dados críticos regularmente, independentemente da integridade do disco.",
|
||
"nvmeWarningTitle": "Aviso crítico NVMe ativo (0x{value})",
|
||
"nvmeWarningText": "O controlador NVMe gerou um alerta. Faça backup dos dados imediatamente e investigue mais a fundo.",
|
||
"nvmeMediaTitle": "Erros de mídia NVMe detectados ({count})",
|
||
"nvmeMediaText": "Erros irrecuperáveis de flash NAND indicam danos físicos. Faça backup dos dados e planeje a substituição.",
|
||
"unsafeTitle": "Contagem alta de desligamentos inseguros ({count})",
|
||
"unsafeText": "Perdas frequentes de energia aumentam o risco de corrupção do firmware. Garanta energia estável ou use um UPS.",
|
||
"seagateTitle": "Seagate Raw_Read_Error_Rate - Comportamento normal",
|
||
"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",
|
||
"averageShort": "avg"
|
||
},
|
||
"processInfo": {
|
||
"titleFallback": "Processo",
|
||
"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": "Em execução há"
|
||
},
|
||
"states": {
|
||
"running": "Em execução",
|
||
"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}",
|
||
"totalVmLxc": "Total de VMs e LXCs",
|
||
"totalCpuAllocated": "Total de CPU alocada",
|
||
"totalMemory": "Memória total",
|
||
"totalDisk": "Disco total",
|
||
"running": "em execução",
|
||
"stopped": "parou",
|
||
"vms": "VMs",
|
||
"used": "Usado",
|
||
"configured": "Configurado",
|
||
"inUse": "Em uso",
|
||
"allocated": "Alocar",
|
||
"total": "Total",
|
||
"utilization": "útil",
|
||
"idle": "Parado",
|
||
"listTitle": "Máquinas Virtuais e Contêineres",
|
||
"empty": "Nenhuma máquina virtual encontrada",
|
||
"uptime": "Tempo de atividade: {uptime}",
|
||
"cpuUsage": "Uso da CPU",
|
||
"memory": "Memória",
|
||
"disk": "Disco",
|
||
"diskUsage": "Uso de disco",
|
||
"diskIo": "E/S de disco",
|
||
"networkIo": "E/S de rede",
|
||
"sinceBoot": "desde a inicialização",
|
||
"loadingConfiguration": "Carregando configuração...",
|
||
"resources": "Recursos",
|
||
"cpuCores": "Núcleos de CPU",
|
||
"notes": "Notas",
|
||
"hideNotes": "Ocultar notas",
|
||
"lessInfo": "Menos informações",
|
||
"info": "Informações",
|
||
"ipAddresses": "Endereços IP",
|
||
"enterNotes": "Insira notas aqui...",
|
||
"editNotes": "Editar",
|
||
"savingNotes": "Salvando...",
|
||
"notesDecodeError": "Erro ao decodificar notas. Edite para corrigir.",
|
||
"noNotes": "Ainda não há notas. Clique em Editar para adicionar notas.",
|
||
"containerConfiguration": "Configuração do contêiner",
|
||
"mountedFromContainer": "Montado de dentro do contêiner",
|
||
"openTerminal": "Terminal aberto",
|
||
"coreCount": {
|
||
"one": "{count} núcleo",
|
||
"few": "{count} núcleos",
|
||
"many": "{count} núcleos"
|
||
},
|
||
"duration": {
|
||
"dhm": "{days}d {hours}h {minutes}m"
|
||
},
|
||
"details": {
|
||
"sourceHost": "Fonte (host)",
|
||
"mountedAtCt": "Montado em (CT)",
|
||
"total": "Total",
|
||
"used": "Usado",
|
||
"available": "Disponível",
|
||
"swap": "Swap",
|
||
"privilegeLevel": "Nível de privilégio",
|
||
"gpuPassthrough": "Passagem de GPU",
|
||
"hardwareDevices": "Dispositivos de hardware",
|
||
"cpuSockets": "Soquetes de CPU",
|
||
"cpuType": "Tipo de CPU",
|
||
"numa": "NUMA",
|
||
"bios": "BIOS",
|
||
"machineType": "Tipo de máquina",
|
||
"vga": "VGA",
|
||
"qemuAgent": "Agente QEMU",
|
||
"tabletPointer": "Ponteiro de tablet",
|
||
"localTime": "Hora local",
|
||
"rawConfig": "Configuração bruta",
|
||
"scsiController": "Controlador SCSI",
|
||
"dnsNameserver": "Servidor de nomes DNS",
|
||
"searchDomain": "Domínio de pesquisa",
|
||
"hostname": "Nome do host",
|
||
"storageType": "{type} armazenamento",
|
||
"mountAttributes": "Atributos de montagem (configuração LXC)",
|
||
"runtimeMountOptions": "Opções de montagem em tempo de execução",
|
||
"privileged": "Privilegiado",
|
||
"unprivileged": "Sem privilégios",
|
||
"hardware": "Hardware",
|
||
"pciPassthrough": "Passagem PCI",
|
||
"usbDevices": "Dispositivos USB",
|
||
"serialPorts": "Portas seriais",
|
||
"bridge": "Ponte",
|
||
"enabled": "Habilitado",
|
||
"disabled": "Desabilitado",
|
||
"on": "sobre",
|
||
"off": "desligado",
|
||
"included": "incluído",
|
||
"excluded": "excluído",
|
||
"storage": "Armazenar",
|
||
"rootFilesystem": "Sistema de arquivos raiz",
|
||
"efiDisk": "Disco EFI",
|
||
"tpmState": "Estado do TPM",
|
||
"mountPoint": "Ponto de montagem",
|
||
"mountPointIndexed": "Ponto de montagem {index}",
|
||
"network": "Rede",
|
||
"networkInterface": "Interface de rede {index}",
|
||
"hostInterface": "Host: {interface}",
|
||
"gateway": "Portal",
|
||
"gatewayV6": "Gateway v6",
|
||
"type": "Tipo",
|
||
"rateLimit": "Limite de taxa",
|
||
"firewall": "Firewall",
|
||
"backup": "Backup",
|
||
"replicate": "Replicar",
|
||
"volume": "Volume",
|
||
"path": "Caminho",
|
||
"media": "Mídia",
|
||
"discard": "Descartar",
|
||
"cache": "Cache",
|
||
"efiType": "Tipo EFI",
|
||
"preEnrolledKeys": "Chaves pré-cadastradas",
|
||
"serial": "Serial",
|
||
"mountTypes": {
|
||
"pveVolume": "Volume PVE",
|
||
"pveStorageBind": "vincular do armazenamento PVE",
|
||
"hostBind": "vincular do host",
|
||
"adHoc": "ad-hoc dentro do CT"
|
||
},
|
||
"mountStatus": {
|
||
"stale": "obsoleto",
|
||
"notMounted": "não montado",
|
||
"hostDetached": "host desanexado",
|
||
"readOnly": "somente leitura",
|
||
"stopped": "parou",
|
||
"mounted": "montado"
|
||
},
|
||
"startOnBoot": "Iniciar na inicialização",
|
||
"tags": "Etiquetas",
|
||
"tagsPlaceholder": "Adicionar tag…",
|
||
"tagsNone": "sem tags",
|
||
"mountErrors": {
|
||
"configuredButNotMounted": "Configurado mas não montado"
|
||
}
|
||
},
|
||
"logs": {
|
||
"header": "Registros para {name} (VMID: {vmid})",
|
||
"node": "Nó",
|
||
"type": "Tipo",
|
||
"totalLines": "Total de linhas",
|
||
"generated": "Gerado"
|
||
},
|
||
"tabs": {
|
||
"status": "Status",
|
||
"mounts": "Montagens",
|
||
"backups": "Cópias de segurança",
|
||
"updates": "Atualizações",
|
||
"firewall": "Firewall",
|
||
"app": "Aplicativo"
|
||
},
|
||
"actions": {
|
||
"start": "Começar",
|
||
"shutdown": "Desligar",
|
||
"reboot": "Reinício",
|
||
"forceStop": "Forçar parada",
|
||
"working": "Trabalhando..."
|
||
},
|
||
"confirm": {
|
||
"forceStopTitle": "Forçar parada",
|
||
"rebootTitle": "Reinício",
|
||
"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.",
|
||
"appNotFound": "Este aplicativo não está mais disponível. Atualize a página e tente novamente.",
|
||
"saveCustomCommandFailed": "Não foi possível salvar o comando de atualização personalizado: {message}",
|
||
"removeCustomCommandConfirm": "Remover o comando de atualização personalizado para \"{name}\"?",
|
||
"removeCustomCommandFailed": "não foi possível remover o comando de atualização personalizado: {message}",
|
||
"hideNoticeFailed": "Não foi possível ocultar este aviso: {message}"
|
||
},
|
||
"backupModal": {
|
||
"title": "Backup {type} {vmid} ({name})",
|
||
"description": "Configure opções de backup para este {type}",
|
||
"storage": "Armazenar",
|
||
"selectStorage": "Selecione armazenamento",
|
||
"free": "livre",
|
||
"mode": "Modo",
|
||
"notification": "Notificação",
|
||
"useGlobalSettings": "Usar configurações globais",
|
||
"alwaysNotify": "Sempre notificar",
|
||
"notifyOnFailure": "Notificar em caso de falha",
|
||
"neverNotify": "Nunca notifique",
|
||
"protected": "Protegido (evitar exclusão acidental)",
|
||
"pbsChangeMode": "Modo de detecção de alterações PBS",
|
||
"forPbsStorage": "para armazenamento PBS",
|
||
"notes": "Notas",
|
||
"variables": "Variáveis: {{cluster}}, {{guestname}}, {{node}}, {{vmid}}",
|
||
"creating": "Criando...",
|
||
"submit": "Backup",
|
||
"typeContainer": "recipiente",
|
||
"typeVirtualMachine": "máquina virtual",
|
||
"modes": {
|
||
"snapshot": "Instantâneo",
|
||
"suspend": "Suspender",
|
||
"stop": "Parar"
|
||
},
|
||
"changeModes": {
|
||
"default": "Padrão",
|
||
"legacy": "Legado",
|
||
"data": "Dados"
|
||
}
|
||
},
|
||
"firewall": {
|
||
"title": "Registros de firewall",
|
||
"refresh": "Atualizar",
|
||
"loading": "Carregando registro do firewall...",
|
||
"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.",
|
||
"chipLabel": "Agendar",
|
||
"disabledSuffix": "(desabilitado)",
|
||
"whatLabel": "O que:",
|
||
"targetOs": "Pacotes de sistema operacional",
|
||
"targetApp": "Aplicativo",
|
||
"targetBoth": "SO + aplicativo",
|
||
"lastRun": "Última execução: {date}",
|
||
"rebootRequired": "É necessário reiniciar para concluir a atualização.",
|
||
"rebootPackages": "Pacotes: {packages}",
|
||
"viewLog": "Ver registo",
|
||
"logTitle": "Registo da atualização",
|
||
"logDescription": "Saída da última atualização agendada de {name} (LXC {vmid}).",
|
||
"logLoading": "A carregar o registo…",
|
||
"logEmpty": "Esta execução não produziu qualquer saída.",
|
||
"logFailed": "Não foi possível carregar o registo da atualização.",
|
||
"logTruncated": "É apresentado apenas o fim do registo porque excede o limite de visualização.",
|
||
"closeLog": "Fechar",
|
||
"runSuccess": "✓ sucesso",
|
||
"runPartial": "concluída parcialmente",
|
||
"runFailed": "✗ falhou",
|
||
"runDeferred": "adiada por segurança",
|
||
"runSkipped": "nada pendente",
|
||
"releaseDelaySummary": "espera de {days} dia(s)",
|
||
"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.",
|
||
"notScheduled": "Não agendado",
|
||
"frequency": "Freqüência",
|
||
"cronExpression": "Expressão Cron",
|
||
"cronPlaceholder": "por exemplo, 0 3 * * *",
|
||
"whatToUpdate": "O que atualizar",
|
||
"targetOptionOs": "Somente pacotes de sistema operacional",
|
||
"targetOptionApp": "Somente aplicativo",
|
||
"targetOptionBoth": "SO + aplicativo",
|
||
"dockerComposeTarget": "Docker Compose · {project}",
|
||
"dockerContainerTarget": "Contentor Docker · {container}",
|
||
"dockerEngineTarget": "Motor Docker",
|
||
"noTargets": "Nenhum alvo selecionado",
|
||
"selectAtLeastOne": "Selecione pelo menos um alvo de atualização.",
|
||
"deleteButton": "Excluir programação",
|
||
"deleteConfirm": "Remover as atualizações agendadas para este contêiner? Os padrões de aplicação (backup + reinicialização) são mantidos.",
|
||
"loadFailed": "não foi possível carregar as atualizações agendadas.",
|
||
"saveFailed": "não foi possível salvar as atualizações agendadas.",
|
||
"deleteFailed": "não foi possível remover as atualizações agendadas.",
|
||
"humanDaily": "diariamente às {time}",
|
||
"humanWeekly": "Semanal ({day} {time})",
|
||
"humanMonthly": "Mensalmente (dia {day} às {time})",
|
||
"humanHourly": "de hora em hora",
|
||
"weekdays": [
|
||
"Domingo",
|
||
"Segunda-feira",
|
||
"Terça-feira",
|
||
"Quarta-feira",
|
||
"Quinta-feira",
|
||
"Sexta-feira",
|
||
"Sábado"
|
||
]
|
||
},
|
||
"cronChip": {
|
||
"detected": "cron do host detectado",
|
||
"variantTteck": "tteck (legado)",
|
||
"variantCustom": "personalizado",
|
||
"variantCommunityScripts": "scripts da comunidade",
|
||
"scopeAptApk": "apt/apk em todos os CTs",
|
||
"scopeUnknown": "escopo desconhecido"
|
||
},
|
||
"cronPresets": {
|
||
"hourly": "De hora em hora",
|
||
"dailyAt3": "Diariamente às 3:00",
|
||
"dailyAtNoon": "Diariamente às 12:00",
|
||
"weeklySun3": "Semanalmente (domingo 3:00)",
|
||
"monthly1st3": "Mensalmente (1º às 3:00)",
|
||
"custom": "Cronograma personalizado…"
|
||
},
|
||
"updates": {
|
||
"updatedWithDockerImage": "Atualizada através da sua imagem Docker.",
|
||
"dockerBindingUnavailable": "Ainda não existe uma imagem associada. Verifique o nome do contentor e atualize o inventário de imagens.",
|
||
"osPackagesTitle": "Pacotes de sistema operacional",
|
||
"lastCheckedPrefix": "Última verificação:",
|
||
"familyLabel": "Família:",
|
||
"applyOsUpdate": "Aplicar atualização do sistema operacional",
|
||
"osUpToDate": "SO atualizado",
|
||
"osStatusUnavailable": "Não foi possível determinar o estado das atualizações do sistema operativo.",
|
||
"installedByHelperPrefix": "Instalado por",
|
||
"helperScriptsName": "Proxmox VE Helper-Scripts",
|
||
"helperCommandEditHint": "Se modificar este comando de arranque, será guardado como comando personalizado.",
|
||
"customOnlineDescription": "Ou utilize um script online fornecido pelo programador:",
|
||
"customOnlineExampleNote": "Substitua o URL de exemplo pelo do script oficial da sua aplicação.",
|
||
"customExamplesHeading": "Exemplos para adaptar:",
|
||
"updaterChoiceHint": "Escolha e guarde um método de atualização.",
|
||
"updaterMethodLabel": "Método de atualização",
|
||
"helperMethod": "Helper-Scripts",
|
||
"customMethod": "Comando personalizado",
|
||
"helperMethodHelp": "Sobre Helper-Scripts",
|
||
"customMethodHelp": "Sobre comandos personalizados",
|
||
"helperDetectedChoice": "Foi detetado um atualizador Helper-Scripts para esta aplicação.",
|
||
"helperUnavailableChoice": "O atualizador Helper-Scripts selecionado já não está disponível.",
|
||
"disableUpdater": "Desativar",
|
||
"disableUpdaterConfirm": "Desativar o método de atualização de {name}? Os planos e agendamentos manterão as seleções, mas esta aplicação não será executada até configurar novamente um método.",
|
||
"noUpdaterSelected": "Não selecionou um método de atualização.",
|
||
"helperMethodDescription": "O ProxMenux executa o atualizador detetado dentro deste LXC e mostra o registo e o resultado. Este é mantido pelo Proxmox VE Helper-Scripts.",
|
||
"customMethodDescription": "Pode utilizar o atualizador da aplicação, um gestor de pacotes ou um novo binário. O comando é executado dentro deste LXC com privilégios de administrador.",
|
||
"updaterInstructions": "Consulte as instruções do atualizador.",
|
||
"helperDocumentation": "Documentação de atualização",
|
||
"helperSource": "Script da aplicação",
|
||
"customMethodExample": "Adapte os nomes, os caminhos e o serviço à sua aplicação. Só será executado o comando que guardar.",
|
||
"helperCommandLabel": "Comando dentro do LXC",
|
||
"helperCommandFallback": "Se o wget não estiver disponível, o ProxMenux utiliza curl -fsSL para transferir o mesmo script.",
|
||
"customScriptTitle": "Script de atualização",
|
||
"customScriptDescription": "Execute um script de atualização da aplicação já existente no LXC.",
|
||
"customPackageTitle": "Pacote Debian/Ubuntu",
|
||
"customPackageDescription": "Substitua my-package pelo pacote que pretende atualizar.",
|
||
"customBinaryTitle": "Binário",
|
||
"customBinaryDescription": "Primeiro transfira e verifique o binário oficial da versão e arquitetura corretas em /tmp/my-app.new. Este exemplo conserva uma cópia do binário anterior e reinicia o respetivo serviço.",
|
||
"helperUpdatesRun": "Instalado pelo Proxmox Helper-Scripts.",
|
||
"installedPrefix": "instalado",
|
||
"upstreamAvailable": "versão {version} disponível",
|
||
"upToDateAt": "Atualizado em",
|
||
"applyUpdate": "Aplicar atualização",
|
||
"upToDate": "Atualizado",
|
||
"runUpdater": "Execute o atualizador",
|
||
"terminalTitle": "Aplicar atualizações — CT {vmid}",
|
||
"terminalDescriptionOs": "Aplicando atualizações de pacotes do sistema operacional dentro do contêiner...",
|
||
"terminalDescriptionApp": "Executando o atualizador de aplicativos dentro do contêiner...",
|
||
"terminalDescriptionBoth": "Aplicando pacotes do sistema operacional e atualizações de aplicativos dentro do contêiner...",
|
||
"terminalCompletedSuccessfully": "Atualizações concluídas com sucesso",
|
||
"terminalCompletedWithError": "Atualizações concluídas com código de erro {code}",
|
||
"applyOsPlusApp": "Aplicar atualizações do SO + {appName}",
|
||
"applyOsPlusApps": "Aplicar atualizações do sistema operacional + aplicativos",
|
||
"osPlusApp": "SO + atualizações de {appName}",
|
||
"osPlusApps": "Atualizações do sistema operacional + aplicativos",
|
||
"noUpdateMethodTitle": "Nenhum método de atualização disponível",
|
||
"noUpdateMethodBody": "Não foi identificado nenhum método de atualização para esta aplicação. Adicione um comando de atualização personalizado.",
|
||
"ociImmutableTitle": "Contêiner de imagem OCI",
|
||
"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",
|
||
"applicationDefaultName": "Aplicativo",
|
||
"installedLabel": "instalado",
|
||
"upToDateAtLabel": "Atualizado em",
|
||
"versionLabel": "versão {version}",
|
||
"versionTrackingPending": "Rastreamento de versões pendente — a próxima verificação agendada mostrará as versões instalada e disponível.",
|
||
"customCommandTitle": "Comando de atualização personalizado",
|
||
"customCommandBody": "Execute um comando shell definido pelo usuário para atualizar este aplicativo dentro do contêiner.",
|
||
"noUpdaterConfiguredTitle": "Nenhum atualizador configurado",
|
||
"noUpdaterConfiguredBody": "Este aplicativo não possui um instalador auxiliar ou um comando personalizado registrado.",
|
||
"hideNoticeAction": "Ocultar este aviso para {appName}",
|
||
"detectedByPrefix": "Detectado por",
|
||
"editApp": "Editar",
|
||
"configureUpdater": "Configurar",
|
||
"alsoDetectedTitle": "Também detectado neste contêiner:",
|
||
"detectedInline": "· detectado por {method}",
|
||
"customCommandLabel": "Comando de atualização personalizado",
|
||
"customCommandPlaceholder": "por exemplo, cd /opt/<seu-app> && git pull && systemctl restart <seu-app>",
|
||
"removeButton": "Remover",
|
||
"cancelButton": "Cancelar",
|
||
"saveButton": "Salvar",
|
||
"versionTrackingPendingShort": "Rastreamento de versão pendente.",
|
||
"versionTrackingNotConfigured": "O acompanhamento de versões não está configurado.",
|
||
"managedByOsPackages": "Esta aplicação é atualizada através da ação de pacotes do SO.",
|
||
"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",
|
||
"noUpdatesAvailableChip": "Nenhuma atualização disponível",
|
||
"managedApp": "Aplicativo gerenciado",
|
||
"managedBadge": "gerenciou",
|
||
"lastCheckedAt": "Última verificação: {date}",
|
||
"tailscaleAvailable": "Tailscale v{version} disponível",
|
||
"updateToVersion": "Atualizar para v{version}",
|
||
"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.",
|
||
"dockerImagesTitle": "Imagens Docker",
|
||
"dockerAppTitle": "Docker",
|
||
"dockerImagesSubheading": "Imagens",
|
||
"dockerEngineManagedByOs": "O Docker Engine {version} é gerido por pacotes e atualizado pela ação de pacotes do SO acima.",
|
||
"dockerEngineSubheading": "Motor",
|
||
"dockerEngineDetected": "Docker Engine {version} detetado",
|
||
"dockerEngineUpdateHelp": "Atualiza apenas os pacotes Docker instalados e as dependências necessárias. Não atualiza outros pacotes do SO nem recria contentores.",
|
||
"updateDockerEngineOnly": "Atualizar Docker Engine",
|
||
"adguardWebUpdateOnly": "Esta instalação do AdGuard Home é atualizada na sua própria interface web.",
|
||
"openAdguard": "Abrir AdGuard Home",
|
||
"updateDockerImage": "Atualizar imagem",
|
||
"recreateStandaloneContainer": "Atualizar {container}",
|
||
"standaloneRecreatePending": "Os contentores independentes requerem uma recriação protegida: {names}",
|
||
"noDockerImages": "O Docker está instalado, mas não foram encontradas imagens com tag.",
|
||
"dockerInventoryStarting": "A aguardar que o Docker termine de iniciar…",
|
||
"dockerInventoryUnavailable": "Não foi possível ler o inventário do Docker. Verifique novamente quando o Docker estiver disponível.",
|
||
"usedByContainers": "Usada por: {names}",
|
||
"imageUpdateAvailable": "Nova imagem disponível",
|
||
"imageUpToDate": "Atualizada",
|
||
"imageInstalledTag": "etiqueta instalada",
|
||
"imageDigestUnknown": "Digest indisponível",
|
||
"dockerPendingSummary": "Foram detetadas {count} atualizações de imagens Docker. Use o respetivo fluxo Docker ou Compose.",
|
||
"postApplyChecking": "Verificando o resultado da atualização…",
|
||
"postApplyAllOk": "{count} pacote(s) aplicado(s) com sucesso — nada pendente.",
|
||
"postApplyNothingPending": "Nada pendente — tudo está atualizado.",
|
||
"postApplyPartial": "{pending} pacote(s) ainda pendente(s) após a execução.",
|
||
"postApplyPartialSubline": "{applied} aplicado. Algumas atualizações não foram concluídas – revise a saída do terminal acima."
|
||
},
|
||
"bulkUpdate": {
|
||
"title": "Atualização em bloco",
|
||
"description": "Configure uma única ação para atualizar o sistema operativo e os métodos selecionados neste contentor.",
|
||
"loading": "A carregar configuração…",
|
||
"notConfigured": "Não configurada.",
|
||
"configure": "Configurar",
|
||
"edit": "Editar",
|
||
"apply": "Aplicar atualizações",
|
||
"osTarget": "Sistema operativo",
|
||
"osRequired": "Obrigatório numa atualização em bloco.",
|
||
"includesDependencies": "Inclui também as dependências declaradas: {names}",
|
||
"noMethod": "Não está disponível nenhum método de atualização executável.",
|
||
"staleTarget": "Esta seleção já não está disponível. Remova-a antes de guardar.",
|
||
"dockerInventoryPending": "A aguardar o inventário de imagens Docker…",
|
||
"missingDockerTarget": "Imagem Docker indisponível",
|
||
"selectAtLeastOne": "Selecione pelo menos um destino de atualização além do sistema operativo.",
|
||
"cancel": "Cancelar",
|
||
"save": "Guardar",
|
||
"delete": "Remover configuração",
|
||
"deleteConfirm": "Remover esta configuração de atualização em bloco?",
|
||
"saveFailed": "Não foi possível guardar a configuração de atualização em bloco.",
|
||
"deleteFailed": "Não foi possível remover a configuração de atualização em bloco.",
|
||
"planFailed": "Não foi possível preparar a atualização em bloco. Reveja os métodos indisponíveis.",
|
||
"loadFailed": "não foi possível carregar a configuração de atualização em massa."
|
||
},
|
||
"appEditor": {
|
||
"dockerDetectedWithWorkloads": "Docker detetado com {count} aplicações em contentores",
|
||
"dockerWorkloadsHeading": "Aplicações no Docker",
|
||
"runsInsideDocker": "Atualizada através da sua imagem Docker",
|
||
"upstreamDelegatedTitle": "A versão disponível provém da sua imagem Docker",
|
||
"upstreamDelegatedHelp": "Esta aplicação é executada num contentor. A versão disponível é obtida da sua imagem, sem uma consulta separada nem notificações duplicadas. Atualize a imagem no separador Atualizações.",
|
||
"closePanel": "Fechar painel",
|
||
"cancelButton": "Cancelar",
|
||
"saveButton": "Salvar",
|
||
"hideButton": "Esconder",
|
||
"hidePermanentlyTooltip": "Ocultar esta detecção permanentemente",
|
||
"hiddenBadge": "Atualmente oculto — reaparecerá na lista de detecção",
|
||
"registerDifferent": "Registre um aplicativo diferente",
|
||
"detectedInContainer": "Detectado neste contêiner",
|
||
"versionDetected": "Versão {version} detetada neste contentor",
|
||
"legacyDetectorUsed": "Detetada com um fallback de compatibilidade antigo",
|
||
"dockerImagesTitle": "Atualizações de imagens Docker",
|
||
"dockerImagesHelp": "Verifica cada imagem local separadamente do motor Docker comparando digests imutáveis do registo.",
|
||
"refreshDockerImages": "Verificar agora",
|
||
"noDockerImages": "Não foram encontradas imagens Docker com tag",
|
||
"usedByContainers": "Usada por: {names}",
|
||
"imageUpdateAvailable": "Nova imagem disponível",
|
||
"imageUpToDate": "Atualizada",
|
||
"imageDigestUnknown": "Digest indisponível",
|
||
"dockerReadOnlyNote": "Verificação só de leitura: nenhuma imagem é descarregada e nenhum contentor é reiniciado.",
|
||
"installedManaged": "Instalado e gerenciado por ProxMenux",
|
||
"nameLabel": "Nome",
|
||
"installedViaLabel": "Instalado via",
|
||
"installedVersionLabel": "Versão instalada",
|
||
"installedVersionRegexLabel": "Versão instalada regex (grupo de captura)",
|
||
"installedRegexPlaceholder": "por exemplo, v?(\\d+\\.\\d+\\.\\d+)",
|
||
"installedRegexAlt": "instalado_regex",
|
||
"regexCaptureGroupLabel": "Regex (com grupo de captura)",
|
||
"regexPlaceholderVersion": "versão:\\s*(\\d+\\.\\d+\\.\\d+)",
|
||
"optionalSuffix": "(opcional)",
|
||
"methodNone": "Nenhum (somente link)",
|
||
"methodDpkg": "Pacote dpkg (Debian/Ubuntu)",
|
||
"methodApk": "pacote apk (Alpino)",
|
||
"methodBinary": "Binário (caminho absoluto ou nome simples)",
|
||
"methodFile": "arquivo + regex",
|
||
"methodDockerLabel": "docker inspect (etiqueta OCI)",
|
||
"methodDockerExec": "docker exec (binário no contêiner)",
|
||
"methodPython": "distribuição python (importlib.metadata)",
|
||
"methodCommand": "comando (avançado - argv)",
|
||
"methodManual": "manual (eu digito a versão)",
|
||
"packageIdentifierLabel": "Identificador do pacote",
|
||
"binaryPathLabel": "Caminho binário",
|
||
"binaryPathPlaceholder": "por exemplo, /opt/<seu-app>/binary",
|
||
"binaryPathBare": "Binário (caminho absoluto ou nome simples)",
|
||
"binaryPathBarePlaceholder": "por exemplo, myapp (ou caminho absoluto)",
|
||
"binaryArgsLabel": "Argumentos binários (separados por vírgula, opcional)",
|
||
"binaryArgsPlaceholder": "por exemplo, --version (separado por vírgula)",
|
||
"filePathLabel": "Caminho do arquivo",
|
||
"commandLabel": "Comando (argv separado por vírgula, sem shell)",
|
||
"commandPlaceholder": "meuapp, versão, --json",
|
||
"commandServerExample": "servidor, -v",
|
||
"containerNameLabel": "Nome do contêiner",
|
||
"containerNamePlaceholder": "por exemplo, <seu-nome-do-contêiner>",
|
||
"ociLabelKeyLabel": "Chave de rótulo OCI",
|
||
"ociLabelPlaceholder": "org.opencontainers.image.version",
|
||
"pythonInterpreterLabel": "Caminho do interpretador Python",
|
||
"pythonInterpreterPlaceholder": "por exemplo, /opt/<seu-app>/venv/bin/python",
|
||
"pipDistLabel": "Nome da distribuição (pacote pip)",
|
||
"pipDistPlaceholder": "por exemplo, <seu-pacote-pip>",
|
||
"upstreamSourceLabel": "Fonte da versão disponível (opcional)",
|
||
"upstreamNone": "nenhuma (não verificar a versão disponível)",
|
||
"upstreamGithub": "Repositório GitHub",
|
||
"upstreamHttp": "Ponto final HTTP JSON",
|
||
"upstreamDocker": "Imagem do DockerHub",
|
||
"githubRepoLabel": "Repositório GitHub",
|
||
"githubRepoPlaceholder": "por exemplo, proprietário/nome",
|
||
"githubRepoAlt": "proprietário/nome",
|
||
"githubSourceLabel": "Fonte GitHub",
|
||
"sourceReleases": "lançamentos",
|
||
"sourceTags": "etiquetas",
|
||
"endpointUrlLabel": "URL do terminal",
|
||
"endpointUrlPlaceholder": "por exemplo, https://vendor.example.com/api/latest.json",
|
||
"jsonPathLabel": "Caminho JSON",
|
||
"jsonPathPlaceholder": "por exemplo, data.version ou releases[0].tag_name",
|
||
"dockerImageLabel": "Imagem do DockerHub",
|
||
"dockerImagePlaceholder": "por exemplo, linuxserver/plex ou nginx",
|
||
"dockerVersionedTagsHelp": "Utilize apenas com tags versionadas. Para latest, stable ou lts, use as atualizações de imagens Docker por digest.",
|
||
"dockerPresetSemver": "Apenas SemVer",
|
||
"dockerPresetSemverSuffix": "SemVer + sufixo",
|
||
"dockerTagFilterHelp": "Filtra as tags reais antes de o ProxMenux escolher a versão mais alta.",
|
||
"dockerTagPreviewLabel": "Pré-visualização de tags reais",
|
||
"dockerTagPreviewCount": "{matched} correspondências de {scanned}",
|
||
"dockerTagPreviewLoading": "A consultar o Docker Hub…",
|
||
"dockerTagPreviewFailed": "Não foi possível mostrar as tags do Docker Hub",
|
||
"dockerTagPreviewEmpty": "Nenhuma tag real corresponde a este filtro.",
|
||
"dockerMovingTag": "tag móvel",
|
||
"dockerMovingTagHelp": "As tags móveis não contêm uma versão. Acompanhe-as pelo digest nas atualizações de imagens Docker.",
|
||
"tagRegexLabel": "Tag regex (com grupo de captura)",
|
||
"tagRegexPlaceholder": "por exemplo, v?(\\d+\\.\\d+\\.\\d+)",
|
||
"tagRegexBare": "v?(\\d+\\.\\d+\\.\\d+)",
|
||
"installedStatus": "Instalado",
|
||
"checkingStatus": "verificando…",
|
||
"latestFromLabel": "Últimas de",
|
||
"upToDateBadge": "Atualizado",
|
||
"updateAvailableBadge": "Atualização disponível",
|
||
"portDescriptionPlaceholder": "Descrição (por exemplo, UI da Web, go2rtc, admin)",
|
||
"portPortPlaceholder": "porta",
|
||
"portHttp": "http",
|
||
"portHttps": "https",
|
||
"portLogoLabel": "URL do logotipo deste link (opcional)",
|
||
"portLogoPlaceholder": "por exemplo, https://example.com/logo.webp",
|
||
"portCategoryPlaceholder": "Category for the Apps dashboard (optional)",
|
||
"portCategoryNone": "No category",
|
||
"portCategoryAddNew": "+ Add new category…",
|
||
"portCategoryCustomPlaceholder": "Type a category and press Enter (Esc to cancel)",
|
||
"portCustomUrlPlaceholder": "Custom URL (e.g. https://vault.example.com) — overrides IP:port",
|
||
"removePortTooltip": "Remover porta",
|
||
"detectMethodDpkg": "dpkg ·",
|
||
"detectMethodApk": "APK ·",
|
||
"detectMethodBinary": "binário ·",
|
||
"detectMethodFile": "arquivo ·",
|
||
"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.",
|
||
"registerApplication": "Registar aplicação",
|
||
"searchApplications": "Procurar aplicações",
|
||
"searchingApplications": "A procurar aplicações…",
|
||
"noApplicationsDetected": "Nenhuma aplicação detetada.",
|
||
"noNewApplicationsDetected": "Nenhuma aplicação nova detetada.",
|
||
"oneNewApplicationDetected": "Foi detetada uma nova aplicação.",
|
||
"newApplicationsDetected": "Foram detetadas {count} aplicações novas.",
|
||
"detectionFailed": "Falha ao detetar aplicações",
|
||
"hiddenSuffix": "{count} oculto",
|
||
"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",
|
||
"checkFailed": "Falha na verificação",
|
||
"testDetectorButton": "Testar detetor",
|
||
"testingDetectorButton": "A testar o detetor…",
|
||
"detectorTestTitle": "Resultado do teste do detetor",
|
||
"detectorTestNotSaved": "Apenas rascunho · não guardado",
|
||
"detectorTestNoVersion": "Nenhuma versão detetada",
|
||
"detectorTestNoUpstream": "Nenhuma fonte upstream configurada",
|
||
"detectorTestFailed": "Falha no teste do detetor",
|
||
"deleteFailed": "Falha na exclusão",
|
||
"dismissFailed": "Não foi possível descartar a detecção",
|
||
"restoreFailed": "Não foi possível restaurar a detecção",
|
||
"managedApp": "Aplicativo gerenciado",
|
||
"managedStatus": "gerenciou",
|
||
"checkedAt": "Verificado {date}",
|
||
"latestUpstream": "Última",
|
||
"loadingApplications": "Carregando aplicativos…",
|
||
"nameSearchPlaceholder": "Digite para pesquisar mais de 700 aplicativos ou digite o seu próprio",
|
||
"matchCount": "{count} corresponde",
|
||
"catalogPort": "porta {port}",
|
||
"trackingAvailable": "rastreamento disponível",
|
||
"logoUrlLabel": "URL do logotipo",
|
||
"webLinks": "Links da web",
|
||
"addPort": "Adicionar porta",
|
||
"detectedPorts": "Portas detectadas no contêiner — clique para adicionar:",
|
||
"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.",
|
||
"restoreButton": "Restaurar",
|
||
"registerButton": "Cadastre-se",
|
||
"removeButton": "Remover",
|
||
"checkButton": "Verificar",
|
||
"editFieldsButton": "Editar campos",
|
||
"alsoDetectedContainer": "Também detectado neste contêiner",
|
||
"addAnotherApplication": "Registar outra aplicação",
|
||
"doneButton": "Feito",
|
||
"editButton": "Editar",
|
||
"upstreamErrorTimeout": "Tempo limite da rede ao entrar em contato com o upstream",
|
||
"upstreamErrorNetwork": "Erro de rede: {detail}",
|
||
"upstreamErrorGithubRateLimit": "O limite de pedidos do GitHub foi atingido. Configure um token opcional em Definições → API do GitHub ou tente novamente mais tarde.",
|
||
"upstreamErrorGeneric": "falha na verificação upstream: {detail}",
|
||
"notificationsEnabled": "Notificações de atualização upstream ATIVADAS – clique para silenciar",
|
||
"notificationsMuted": "notificações de atualização upstream silenciadas – clique para ativar",
|
||
"notifyUpstreamLabel": "Notifique-me quando uma nova versão upstream estiver disponível",
|
||
"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."
|
||
},
|
||
"statusFilter": {
|
||
"ariaLabel": "Filtrar máquinas virtuais e contêineres",
|
||
"all": "Todos",
|
||
"running": "Em execução",
|
||
"stopped": "Parado",
|
||
"empty": "Nenhuma máquina virtual ou contêiner com status \"{status}\""
|
||
},
|
||
"filters": {
|
||
"searchPlaceholder": "Buscar por nome, ID, tag ou nota…",
|
||
"searchAriaLabel": "Buscar máquinas virtuais e contêineres",
|
||
"clearSearch": "Limpar busca",
|
||
"updates": "Atualizações",
|
||
"resultCount": "{shown} de {total} máquinas",
|
||
"noMatches": "Nenhuma VM ou LXC corresponde à busca.",
|
||
"noRunning": "Nenhuma VM ou LXC em execução.",
|
||
"noStopped": "Nenhuma VM ou LXC parada.",
|
||
"noUpdates": "Nenhum LXC com atualizações disponíveis.",
|
||
"typeSynonyms": {
|
||
"lxc": "contêiner contêineres contentor contentores",
|
||
"qemu": "vm máquina virtual máquinas virtuais"
|
||
}
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Configurações",
|
||
"description": "Gerencie suas preferências do painel",
|
||
"common": {
|
||
"health": "Saúde",
|
||
"alerts": "Alertas"
|
||
},
|
||
"interfaceLanguage": {
|
||
"title": "Idioma da interface",
|
||
"description": "Escolha o idioma utilizado pelo painel do Monitor.",
|
||
"label": "Idioma do painel",
|
||
"fallbackNote": "Tradução automática com Google Translate. Reporte erros nas issues do projeto ou envie um PR com a correção.",
|
||
"statusComplete": "completo",
|
||
"statusPartial": "parcial",
|
||
"statusNeedsTranslation": "tradução comunitária necessária"
|
||
},
|
||
"networkUnits": {
|
||
"title": "Unidades de rede",
|
||
"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.",
|
||
"emptyTitle": "Nenhum armazenamento remoto detectado",
|
||
"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."
|
||
},
|
||
"githubApi": {
|
||
"title": "API do GitHub",
|
||
"description": "Autenticação opcional para verificar lançamentos e etiquetas das aplicações registadas.",
|
||
"configure": "Configurar",
|
||
"tokenLabel": "Token de acesso pessoal",
|
||
"tokenPlaceholder": "github_pat_...",
|
||
"tokenHelp": "O token é armazenado de forma cifrada. O ProxMenux utiliza-o apenas para pedidos de leitura à API do GitHub e não volta a apresentá-lo. Basta um token fine-grained com acesso de leitura a repositórios públicos e sem permissões de conta.",
|
||
"configured": "Token configurado",
|
||
"notConfigured": "A utilizar a quota de pedidos anónimos do GitHub",
|
||
"removeToken": "Remover token",
|
||
"loadFailed": "Não foi possível carregar a definição da API do GitHub.",
|
||
"saveFailed": "Não foi possível guardar o token da API do GitHub.",
|
||
"removeFailed": "Não foi possível remover o token da API do GitHub."
|
||
},
|
||
"notifications": {
|
||
"title": "Notificações",
|
||
"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": "Cluster"
|
||
},
|
||
"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",
|
||
"lxc_updates_available": "Atualizações LXC disponíveis (experimental)",
|
||
"vm_start": "VM iniciada",
|
||
"vm_start_warning": "VM iniciada (avisos)",
|
||
"vm_stop": "VM parada",
|
||
"vm_shutdown": "VM desligada",
|
||
"vm_fail": "Falha na VM",
|
||
"vm_restart": "VM reiniciada",
|
||
"ct_start": "TC iniciada",
|
||
"ct_start_warning": "CT iniciado (avisos)",
|
||
"ct_stop": "CT parou",
|
||
"ct_shutdown": "TC desligado",
|
||
"ct_restart": "CT reiniciado",
|
||
"ct_fail": "TC falhou",
|
||
"migration_start": "Migração iniciada",
|
||
"migration_complete": "Migração concluída",
|
||
"migration_warning": "Migração concluída com avisos",
|
||
"migration_fail": "Falha na migração",
|
||
"replication_fail": "Falha na replicação",
|
||
"replication_complete": "Replicação concluída",
|
||
"backup_start": "Backup iniciado",
|
||
"backup_complete": "Backup concluído",
|
||
"backup_warning": "Backup concluído com avisos",
|
||
"backup_fail": "Falha no backup",
|
||
"host_backup_start": "Backup do host iniciado",
|
||
"host_backup_complete": "Backup do host concluído",
|
||
"host_backup_fail": "Falha no backup do host",
|
||
"snapshot_complete": "Instantâneo criado",
|
||
"snapshot_fail": "Falha no instantâneo",
|
||
"cpu_high": "Alto uso de CPU",
|
||
"ram_high": "Alto uso de memória",
|
||
"temp_high": "Alta temperatura",
|
||
"disk_space_low": "Pouco espaço em disco",
|
||
"disk_io_error": "Falha de disco/erro de E/S",
|
||
"storage_unavailable": "Armazenamento indisponível",
|
||
"smart_test_complete": "Teste SMART concluído",
|
||
"smart_test_failed": "O teste SMART falhou",
|
||
"gpu_mode_switch": "Modo GPU alterado",
|
||
"gpu_passthrough_blocked": "Passagem de GPU bloqueada",
|
||
"pci_passthrough_conflict": "Conflito de dispositivo PCIe",
|
||
"load_high": "Alta carga do sistema",
|
||
"network_down": "Conectividade de rede perdida",
|
||
"network_latency": "Alta latência de rede",
|
||
"auth_fail": "Falha de autenticação",
|
||
"ip_block": "IP bloqueado por Fail2Ban",
|
||
"firewall_issue": "Problema de firewall detectado",
|
||
"user_permission_change": "Permissão do usuário alterada",
|
||
"burst_auth_fail": "Rajada de falhas de autenticação",
|
||
"burst_ip_block": "Rajada de bloqueios de IP",
|
||
"burst_disk_io": "Rajada de erros de E/S de disco",
|
||
"burst_cluster": "Conexão de cluster oscilando",
|
||
"burst_service_fail": "Várias falhas de serviço",
|
||
"burst_system": "Vários problemas do sistema",
|
||
"burst_generic": "Vários eventos relacionados",
|
||
"split_brain": "Cérebro dividido detectado",
|
||
"node_disconnect": "Nó desconectado",
|
||
"node_reconnect": "Nó reconectado",
|
||
"system_startup": "Relatório de inicialização do sistema",
|
||
"system_shutdown": "Sistema desligando",
|
||
"system_reboot": "Reinicialização do sistema",
|
||
"system_restore_completed": "Restauração do host concluída",
|
||
"system_problem": "Problema no sistema detectado",
|
||
"kernel_warning": "Avisos e rastreios de diagnóstico do kernel",
|
||
"service_fail": "Falha no serviço",
|
||
"oom_kill": "Eliminação de processo sem memória",
|
||
"service_fail_batch": "Várias falhas de serviço",
|
||
"cron_output": "Saída do cron job",
|
||
"system_mail": "Smartd / correio do sistema",
|
||
"apt_listchanges": "Avisos de pacotes do apt-listchanges",
|
||
"webhook_test": "Teste de webhook",
|
||
"update_available": "Atualizações disponíveis (legado)",
|
||
"unknown_persistent": "Verifique indisponível",
|
||
"health_persistent": "Problemas de saúde ativos (diariamente)",
|
||
"health_issue_new": "Novo problema de saúde",
|
||
"health_issue_resolved": "Problema de saúde resolvido",
|
||
"update_summary": "Atualizações disponíveis",
|
||
"pve_update": "Atualização Proxmox VE disponível",
|
||
"update_complete": "Atualização concluída",
|
||
"ai_model_migrated": "Modelo de IA atualizado automaticamente",
|
||
"proxmenux_update": "Atualização ProxMenux disponível",
|
||
"mount_stale": "A montagem remota está obsoleta",
|
||
"mount_readonly": "A montagem remota é somente leitura",
|
||
"lxc_disk_low": "Rootfs LXC quase cheios",
|
||
"vm_disk_low": "Sistemas de arquivos VM quase cheios",
|
||
"lxc_mount_low": "Montagem LXC quase cheia",
|
||
"pve_storage_full": "Armazenamento PVE quase cheio",
|
||
"zfs_pool_full": "Pool ZFS quase cheio",
|
||
"post_install_update": "Atualizações de otimização ProxMenux disponíveis",
|
||
"secure_gateway_update_available": "Atualização do Secure Gateway disponível",
|
||
"nvidia_driver_update_available": "Atualização de driver NVIDIA disponível",
|
||
"coral_driver_update_available": "Atualização do driver Coral TPU disponível",
|
||
"app_update_available": "atualização de aplicativo disponível"
|
||
},
|
||
"ui": {
|
||
"quietHours": "Horas tranquilas",
|
||
"quietHoursDescription": "Durante esta janela apenas eventos CRÍTICOS chegam a este canal.",
|
||
"from": "De",
|
||
"until": "Até",
|
||
"quietSameTime": "Defina um horário de início e término diferente para ativar.",
|
||
"quietActive": "Ativo agora — apenas eventos CRÍTICOS passam até {time}.",
|
||
"quietInactive": "Inativo agora — começa às {time}.",
|
||
"nextDigest": "Próximo resumo em {hours}h {minutes}m (às {time}).",
|
||
"dailyDigest": "Resumo diário de eventos INFO",
|
||
"dailyDigestDescription": "Os eventos INFO acumulam-se durante o dia e chegam uma vez como resumo. Eventos CRÍTICOS e AVISO nunca são atrasados.",
|
||
"sendAt": "Enviar em",
|
||
"notificationCategories": "Categorias de notificação",
|
||
"enableTelegram": "Habilitar telegrama",
|
||
"setupGuide": "+guia de configuração",
|
||
"botToken": "Token de bot",
|
||
"chatId": "ID do bate-papo",
|
||
"topicId": "ID do tópico",
|
||
"optional": "opcional",
|
||
"topicHint": "Para supergrupos com tópicos habilitados. Deixe em branco para bate-papos regulares.",
|
||
"richMessages": "Mensagens ricas",
|
||
"richMessagesDescription": "Enriqueça as notificações com emojis e ícones contextuais",
|
||
"sendTest": "Enviar teste",
|
||
"enableGotify": "Habilitar Gotify",
|
||
"serverUrl": "URL do servidor",
|
||
"appToken": "Token do aplicativo",
|
||
"enableDiscord": "Habilitar discórdia",
|
||
"webhookUrl": "URL do webhook",
|
||
"enableEmail": "Habilitar e-mail",
|
||
"smtpHost": "Host SMTP",
|
||
"port": "Porta",
|
||
"tlsMode": "Modo TLS",
|
||
"noTls": "Nenhum (porta 25)",
|
||
"username": "Nome de usuário",
|
||
"password": "Senha",
|
||
"appPassword": "Senha do aplicativo",
|
||
"fromAddress": "Do endereço",
|
||
"toAddresses": "Para endereços (separados por vírgula)",
|
||
"subjectPrefix": "Prefixo do assunto",
|
||
"emailHint": "Deixe o host SMTP vazio para usar o sendmail local. Para Gmail, use uma senha de aplicativo.",
|
||
"enablePushover": "Ativar Pushover",
|
||
"pushoverUserKey": "Chave de utilizador ou grupo",
|
||
"pushoverApiToken": "Token API da aplicação",
|
||
"pushoverDevice": "Dispositivo",
|
||
"pushoverSound": "Som",
|
||
"pushoverCriticalPriority": "Prioridade alta para alertas críticos",
|
||
"pushoverCriticalPriorityDescription": "As notificações CRÍTICAS usam a prioridade alta do Pushover. A prioridade de emergência não é utilizada.",
|
||
"pushoverCredentialsHint": "Crie uma aplicação no Pushover e copie o respetivo token API e a chave de utilizador ou grupo.",
|
||
"enableApprise": "Ativar Apprise",
|
||
"urlFormats": "+Formatos de URL",
|
||
"appriseUrl": "URL do Apprise",
|
||
"showUrl": "Mostrar URL",
|
||
"hideUrl": "Ocultar URL",
|
||
"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."
|
||
},
|
||
"loadModelsFailed": "Não foi possível carregar os modelos — verifica a API key ou o URL do endpoint."
|
||
},
|
||
"telegramGuide": {
|
||
"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",
|
||
"emptyTitle": "Nenhuma otimização ProxMenux instalada ainda",
|
||
"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."
|
||
}
|
||
},
|
||
"swapPressure": "Pressão de memória",
|
||
"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."
|
||
}
|
||
},
|
||
"login": {
|
||
"subtitle": "Faça login para acessar seu painel",
|
||
"username": "Nome de usuário",
|
||
"password": "Senha",
|
||
"usernamePlaceholder": "Digite seu nome de usuário",
|
||
"passwordPlaceholder": "Digite sua senha",
|
||
"rememberMe": "Lembre de mim",
|
||
"missingCredentials": "Por favor insira nome de usuário e senha",
|
||
"missingTotp": "Por favor, insira seu código 2FA",
|
||
"invalidCredentials": "Nome de usuário ou senha incorretos",
|
||
"invalidTotp": "Código 2FA incorreto",
|
||
"tooManyAttempts": "Muitas tentativas de login. Aguarde um momento e tente novamente.",
|
||
"loginFailed": "falha no login",
|
||
"signingIn": "Fazendo login...",
|
||
"signIn": "Entrar",
|
||
"twoFactorTitle": "Autenticação de dois fatores",
|
||
"twoFactorDescription": "Insira o código de 6 dígitos do seu aplicativo de autenticação",
|
||
"authenticationCode": "Código de autenticação",
|
||
"backupCodeHint": "Você também pode usar um código de backup (formato: XXXX-XXXX)",
|
||
"backToLogin": "Voltar ao login",
|
||
"verifyCode": "Verifique o código"
|
||
},
|
||
"account": {
|
||
"signedIn": "Conectado",
|
||
"viewProfile": "Ver perfil",
|
||
"security": "Segurança",
|
||
"signOut": "sair"
|
||
},
|
||
"authSetup": {
|
||
"choiceTitle": "Configurar proteção do painel",
|
||
"passwordTitle": "Criar senha",
|
||
"protectTitle": "Proteger seu painel?",
|
||
"protectDescription": "Adicione uma camada extra de segurança para proteger seus dados Proxmox ao acessar de redes não privadas.",
|
||
"setupPassword": "Sim, configurar senha",
|
||
"skipProtection": "Não, continue sem proteção",
|
||
"enableLater": "Você sempre pode ativar isso mais tarde em Configurações",
|
||
"setupTitle": "Configurar autenticação",
|
||
"setupDescription": "Crie um nome de usuário e uma senha para proteger seu painel",
|
||
"fillFields": "Por favor preencha todos os campos",
|
||
"passwordMismatch": "As senhas não coincidem",
|
||
"passwordTooShort": "A senha deve ter pelo menos 6 caracteres",
|
||
"skipFailed": "Falha ao ignorar a autenticação",
|
||
"savePreferenceFailed": "Falha ao salvar preferência",
|
||
"setupFailed": "Falha ao configurar a autenticação",
|
||
"username": "Nome de usuário",
|
||
"usernamePlaceholder": "Digite o nome de usuário",
|
||
"password": "Senha",
|
||
"passwordPlaceholder": "Digite a senha",
|
||
"confirmPassword": "Confirme sua senha",
|
||
"confirmPasswordPlaceholder": "Confirme sua senha",
|
||
"profileOptional": "Perfil · opcional",
|
||
"displayName": "Nome de exibição",
|
||
"displayNamePlaceholder": "Mostrado acima do nome de usuário no menu",
|
||
"displayNameHint": "Deixe em branco para renderizar o próprio nome de usuário. Até 64 caracteres.",
|
||
"avatar": "avatar",
|
||
"change": "Mudar",
|
||
"chooseImage": "Escolha a imagem",
|
||
"clear": "Claro",
|
||
"avatarHint": "PNG, JPEG, WebP ou GIF · até 2 MB · pré-corte quadrado para obter melhores resultados.",
|
||
"settingUp": "Configurando...",
|
||
"setupAuthentication": "Configurar autenticação",
|
||
"back": "Voltar"
|
||
},
|
||
"securityPage": {
|
||
"title": "Segurança",
|
||
"description": "Proteja o acesso ao Monitor e ao host Proxmox em um só lugar.",
|
||
"values": {
|
||
"permanent": "Permanente",
|
||
"perm": "permanente",
|
||
"enabled": "Habilitado",
|
||
"disabled": "Desabilitado",
|
||
"enable": "Habilitar",
|
||
"disable": "Desativar",
|
||
"enabledLower": "habilitado",
|
||
"disabledLower": "desabilitado",
|
||
"clusterLower": "cluster",
|
||
"hostLower": "host",
|
||
"remove": "Remover",
|
||
"allow": "Permitir",
|
||
"delete": "Excluir",
|
||
"uninstall": "Desinstalar",
|
||
"uninstalling": "Desinstalando...",
|
||
"serviceRunning": "Serviço em execução",
|
||
"serviceNotRunning": "Serviço não está funcionando",
|
||
"active": "Ativo",
|
||
"inactive": "Inativo",
|
||
"installed": "Instalado",
|
||
"notInstalled": "Não instalado",
|
||
"notFound": "Não encontrado",
|
||
"never": "Nunca",
|
||
"unknownDate": "data desconhecida",
|
||
"system": "sistema",
|
||
"none": "Nenhum",
|
||
"external": "Externo",
|
||
"up": "Acima",
|
||
"down": "Abaixo"
|
||
},
|
||
"errors": {
|
||
"passwordMinLength": "A senha deve ter pelo menos 10 caracteres.",
|
||
"passwordComplexity": "Use pelo menos três destes: letras minúsculas, maiúsculas, número, símbolo.",
|
||
"passwordCommon": "Esta senha é muito comum. Escolha algo mais difícil de adivinhar.",
|
||
"fail2banUninstallFailed": "Falha ao desinstalar Fail2Ban",
|
||
"lynisUninstallFailed": "Falha ao desinstalar o Lynis",
|
||
"unbanIpFailed": "Falha ao desbloquear o endereço IP",
|
||
"applyMissingJailsFailed": "Falha ao adicionar proteções ausentes",
|
||
"auditFailed": "Falha na auditoria",
|
||
"startAuditFailed": "Falha ao iniciar a auditoria",
|
||
"updateJailConfigFailed": "Falha ao salvar as configurações de proteção",
|
||
"invalidTrustedNetwork": "Insira um endereço IP válido ou rede CIDR.",
|
||
"trustedNetworkExists": "Este endereço IP ou rede já é confiável.",
|
||
"updateTrustedNetworksFailed": "Falha ao atualizar endereços IP e redes confiáveis.",
|
||
"ruleNeedsPortOrSource": "Adicione primeiro uma porta de destino ou endereço de origem.",
|
||
"addRuleFailed": "Falha ao adicionar regra",
|
||
"deleteRuleFailed": "Falha ao excluir regra",
|
||
"updateRuleFailed": "Falha ao atualizar a regra",
|
||
"updateFirewallFailed": "Falha ao atualizar o firewall",
|
||
"updateMonitorPortFailed": "Falha ao atualizar a regra de porta do Monitor",
|
||
"fillAllFields": "Preencha todos os campos.",
|
||
"passwordsDoNotMatch": "As senhas não coincidem.",
|
||
"enableAuthFailed": "Falha ao ativar a autenticação",
|
||
"authAlreadyConfigured": "A proteção de login já está configurada. Atualize a página e tente novamente.",
|
||
"disableAuthFailed": "Falha ao desativar a autenticação",
|
||
"disableAuthRetry": "Falha ao desativar a autenticação. Por favor, tente novamente.",
|
||
"newPasswordsDoNotMatch": "As novas senhas não coincidem.",
|
||
"changePasswordFailed": "Falha ao alterar a senha",
|
||
"invalidPassword": "A senha não está correta.",
|
||
"enterPassword": "Digite sua senha.",
|
||
"enter2faOrBackup": "Insira um código 2FA ou código de backup.",
|
||
"disable2faFailed": "Falha ao desativar 2FA",
|
||
"invalid2faCode": "O código 2FA não está correto.",
|
||
"enter2fa": "Insira um código 2FA.",
|
||
"revokeTokenFailed": "Falha ao revogar o token",
|
||
"generateTokenFailed": "Falha ao gerar token",
|
||
"noTokenReceived": "Nenhum token foi retornado pelo servidor.",
|
||
"generateTokenRetry": "Falha ao gerar token. Por favor, tente novamente.",
|
||
"configureSslFailed": "Falha ao configurar SSL",
|
||
"reloadSslFailed": "Falha ao atualizar o certificado ativo",
|
||
"disableSslFailed": "Falha ao desativar SSL",
|
||
"deleteReportFailed": "Falha ao excluir relatório"
|
||
},
|
||
"messages": {
|
||
"fail2banUninstalled": "Fail2Ban foi desinstalado.",
|
||
"lynisUninstalled": "Lynis foi desinstalado.",
|
||
"ipUnbanned": "{ip} foi desbloqueado da proteção {jail}.",
|
||
"missingJailsApplied": "Proteções ausentes foram adicionadas.",
|
||
"auditCompleted": "Auditoria Lynis concluída.",
|
||
"jailConfigUpdated": "As configurações de proteção foram salvas.",
|
||
"trustedNetworkAdded": "{value} agora é confiável para Fail2Ban.",
|
||
"trustedNetworkRemoved": "{value} foi removido de redes confiáveis.",
|
||
"trustedNetworkUpdated": "A entrada confiável foi alterada para {value}.",
|
||
"ruleAdded": "Regra de firewall foi adicionada.",
|
||
"ruleDeleted": "A regra de firewall foi excluída.",
|
||
"ruleUpdated": "A regra do firewall foi atualizada.",
|
||
"firewallUpdated": "O firewall {level} agora é {state}.",
|
||
"monitorPortAdded": "A regra da porta do monitor foi adicionada.",
|
||
"monitorPortRemoved": "A regra da porta do monitor foi removida.",
|
||
"authEnabled": "A autenticação agora está habilitada.",
|
||
"authDisabledReloading": "A autenticação está desativada. Recarregando...",
|
||
"passwordChanged": "A senha foi alterada.",
|
||
"twoFactorDisabled": "A autenticação de dois fatores está desativada.",
|
||
"tokenRevoked": "O token da API foi revogado.",
|
||
"apiTokenGenerated": "O token da API foi gerado.",
|
||
"sslEnabledRestarting": "HTTPS está ativado. Reiniciando serviço...",
|
||
"sslDisabledRestarting": "HTTPS está desativado. Reiniciando serviço...",
|
||
"sslCertificateReloaded": "O certificado renovado está agora ativo. As ligações existentes não foram interrompidas.",
|
||
"sslCertificateUnchanged": "O certificado ativo já corresponde aos ficheiros de certificado atuais.",
|
||
"reportDeleted": "O relatório de auditoria foi excluído.",
|
||
"twoFactorEnabled": "A autenticação de dois fatores está habilitada."
|
||
},
|
||
"confirm": {
|
||
"disableAuth": "Desativar autenticação? Qualquer pessoa que conseguir acessar o painel poderá abri-lo.",
|
||
"revokeToken": "Revogar este token de API?",
|
||
"disableHttps": "Desativar HTTPS e voltar para HTTP simples?",
|
||
"deleteAuditReport": "Excluir este relatório de auditoria?",
|
||
"cannotBeUndone": "Isto não pode ser desfeito."
|
||
},
|
||
"auth": {
|
||
"title": "Acesso e autenticação",
|
||
"description": "Controle quem pode abrir o painel do Monitor.",
|
||
"statusTitle": "Proteção por senha",
|
||
"passwordEnabled": "O login com senha está ativado.",
|
||
"noPasswordProtection": "O painel está aberto no momento sem senha.",
|
||
"enableHint": "Adicione um nome de usuário e uma senha antes de expor este painel fora da sua rede privada.",
|
||
"enable": "Habilitar autenticação",
|
||
"setupTitle": "Criar login",
|
||
"username": "Nome de usuário",
|
||
"usernamePlaceholder": "administrador",
|
||
"password": "Senha",
|
||
"passwordPlaceholder": "Digite a senha",
|
||
"confirmPassword": "Confirme sua senha",
|
||
"confirmPasswordPlaceholder": "Digite a senha novamente",
|
||
"enabling": "Habilitando...",
|
||
"enableShort": "Habilitar",
|
||
"changePassword": "Alterar a senha",
|
||
"currentPassword": "Senha atual",
|
||
"currentPasswordPlaceholder": "Digite a senha atual",
|
||
"newPassword": "Nova Senha",
|
||
"newPasswordPlaceholder": "Digite a nova senha",
|
||
"confirmNewPassword": "Confirme a nova senha",
|
||
"confirmNewPasswordPlaceholder": "Digite a nova senha novamente",
|
||
"changing": "Mudando...",
|
||
"enterYourPassword": "Digite sua senha",
|
||
"disable": "Desabilitar autenticação"
|
||
},
|
||
"twoFactor": {
|
||
"title": "Autenticação de dois fatores",
|
||
"hint": "Adicione um código único de um aplicativo autenticador após a senha.",
|
||
"enable": "Habilitar 2FA",
|
||
"enabled": "2FA está habilitado.",
|
||
"disable": "Desativar 2FA",
|
||
"disableTitle": "Desative a autenticação de dois fatores",
|
||
"disableDescription": "Confirme com sua senha e um código 2FA atual ou código de backup.",
|
||
"codeOrBackup": "Código 2FA ou código de backup",
|
||
"codeOrBackupPlaceholder": "123456 ou XXXX-XXXX",
|
||
"disabling": "Desativando...",
|
||
"code": "Código 2FA",
|
||
"codePlaceholder": "123456"
|
||
},
|
||
"ssl": {
|
||
"title": "SSL/HTTPS",
|
||
"description": "Criptografe a conexão do painel quando ela for aberta em um navegador.",
|
||
"httpsEnabled": "HTTPS está ativado.",
|
||
"httpNoSsl": "O painel está usando HTTP simples.",
|
||
"usingCertificate": "Usando certificado {source}.",
|
||
"proxmoxHost": "Host Proxmox",
|
||
"custom": "personalizado",
|
||
"unencryptedHttp": "O tráfego não é criptografado por HTTP.",
|
||
"activeCertificate": "Certificado ativo",
|
||
"cert": "Certificado",
|
||
"key": "Chave privada",
|
||
"updateCertificate": "Atualizar certificado",
|
||
"updatingCertificate": "A atualizar...",
|
||
"disabling": "Desativando...",
|
||
"restarting": "Reiniciando...",
|
||
"disableHttps": "Desativar HTTPS",
|
||
"proxmoxCertDetected": "Certificado Proxmox detectado",
|
||
"subject": "Assunto",
|
||
"issuer": "Emissor",
|
||
"expires": "Expira",
|
||
"selfSignedWarning": "Certificados autoassinados podem mostrar um aviso do navegador. Isso é normal para configurações locais do Proxmox.",
|
||
"configuring": "Configurando...",
|
||
"useProxmoxCertificate": "Usar certificado Proxmox",
|
||
"noProxmoxCertificate": "Nenhum certificado Proxmox foi detectado.",
|
||
"useCustomCertificate": "Usar certificado personalizado",
|
||
"customPaths": "Caminhos de certificado personalizados",
|
||
"customPathsDescription": "Use certificados e arquivos de chave existentes do host.",
|
||
"certificatePath": "Caminho do certificado",
|
||
"privateKeyPath": "Caminho da chave privada",
|
||
"enableHttps": "Habilitar HTTPS",
|
||
"restartTitle": "Reinicialização do serviço necessária",
|
||
"restartDescription": "A alteração das configurações de HTTPS reinicia o serviço Monitor por um momento.",
|
||
"changesRestart": "A página pode ser desconectada brevemente enquanto o serviço é reiniciado."
|
||
},
|
||
"apiTokens": {
|
||
"defaultName": "Token do painel",
|
||
"title": "Tokens de API",
|
||
"description": "Crie tokens de longa duração para integrações e automação.",
|
||
"aboutTitle": "Sobre tokens de API",
|
||
"validFor": "Os tokens permanecem válidos até que você os revogue.",
|
||
"externalServices": "Use-os com ferramentas externas em vez de sua senha.",
|
||
"authorizationHeader": "Envie o token no cabeçalho de autorização.",
|
||
"seeGuideBefore": "Veja o",
|
||
"integrationsGuide": "guia de integrações",
|
||
"seeGuideAfter": "para exemplos.",
|
||
"generateNew": "Gerar novo token",
|
||
"generateTitle": "Gerar token de API",
|
||
"generateDescription": "Digite sua senha e código 2FA, se habilitado.",
|
||
"tokenName": "Nome do token",
|
||
"tokenNamePlaceholder": "Painel da página inicial",
|
||
"generating": "Gerando...",
|
||
"generate": "Gerar token",
|
||
"yourToken": "Seu token de API",
|
||
"saveTokenNow": "Salve este token agora.",
|
||
"tokenOnlyShownOnce": "Só será mostrado uma vez.",
|
||
"token": "Símbolo",
|
||
"copied": "Copiado",
|
||
"howToUse": "Como usar",
|
||
"addToHeaders": "Adicione este cabeçalho às suas solicitações:",
|
||
"authorizationHeaderExample": "Autorização: Portador <token>",
|
||
"readmeExamples": "Consulte o README para exemplos de integração.",
|
||
"done": "Feito",
|
||
"activeTokens": "Tokens ativos",
|
||
"invalidRegenerate": "Se um token for perdido, revogue-o e gere um novo.",
|
||
"legacy": "Legado",
|
||
"revoke": "Revogar",
|
||
"loading": "Carregando fichas...",
|
||
"empty": "Ainda não há tokens de API.",
|
||
"scope": {
|
||
"label": "Token permissions",
|
||
"readOnly": "Read-only",
|
||
"readOnlyHint": "Reads metrics and status. Recommended for dashboards and integrations.",
|
||
"fullAdmin": "Full admin",
|
||
"fullAdminHint": "Full control, like your own session.",
|
||
"fullAdminWarning": "A full-admin token can do everything you can: power off or reboot the host, run updates and open a terminal. Share it only with fully trusted integrations."
|
||
}
|
||
},
|
||
"firewall": {
|
||
"title": "Firewall",
|
||
"description": "Gerencie o estado do firewall Proxmox e regras de acesso simples.",
|
||
"notDetectedTitle": "O firewall Proxmox não foi detectado",
|
||
"notDetectedDescription": "As ferramentas de firewall não estão disponíveis neste host.",
|
||
"clusterTitle": "Firewall de cluster",
|
||
"clusterActive": "O firewall do cluster está ativo.",
|
||
"clusterDisabled": "O firewall do cluster está desabilitado.",
|
||
"hostTitle": "Firewall do host",
|
||
"hostActive": "O firewall do host está ativo para este nó.",
|
||
"clusterRequiredHint": "Habilite primeiro o firewall do cluster e depois habilite o firewall do host.",
|
||
"quickAccessRules": "Regras de acesso rápido",
|
||
"port8008": "Monitorar porta 8008",
|
||
"port8006AlwaysAllowed": "A porta Proxmox 8006 é sempre permitida.",
|
||
"builtIn": "Construído em",
|
||
"monitorPortWarning": "Mantenha a porta 8008 permitida se você acessar o Monitor de outro dispositivo.",
|
||
"rulesOverview": "Visão geral das regras",
|
||
"totalRules": "Regras totais",
|
||
"accept": "Aceitar",
|
||
"blockReject": "Bloquear/rejeitar",
|
||
"portsCovered": "Portos cobertos",
|
||
"drop": "Derrubar",
|
||
"reject": "Rejeitar",
|
||
"cluster": "Cluster",
|
||
"host": "Host",
|
||
"rules": "{count} regras",
|
||
"addRule": "Adicionar regra",
|
||
"newRule": "Nova regra",
|
||
"quickPresets": "Predefinições rápidas",
|
||
"incomingLower": "entrada",
|
||
"outgoingLower": "extrovertido",
|
||
"allowLower": "permitir",
|
||
"blockSilentlyLower": "bloquear silenciosamente",
|
||
"blockWithResponseLower": "bloquear com resposta",
|
||
"destinationPortHint": "Por exemplo 22, 80, 443 ou 8008.",
|
||
"sourceAddressHint": "IP ou CIDR opcional, por exemplo 192.168.1.0/24.",
|
||
"anyInterface": "Qualquer interface",
|
||
"hostFirewallThisNode": "Firewall do host para este nó",
|
||
"clusterFirewallAllNodes": "Firewall de cluster para todos os nós",
|
||
"any": "Qualquer",
|
||
"anyLower": "qualquer",
|
||
"incoming": "Entrada",
|
||
"outgoing": "Extrovertido",
|
||
"saveChanges": "Salvar alterações",
|
||
"noRules": "Ainda não há regras de firewall.",
|
||
"noRulesHint": "Adicione uma regra ou use uma predefinição acima.",
|
||
"fields": {
|
||
"direction": "Direção",
|
||
"action": "Ação",
|
||
"protocol": "Protocolo",
|
||
"proto": "Proto",
|
||
"destinationPort": "Porta de destino",
|
||
"sourceAddress": "Endereço de origem",
|
||
"interfaceOptional": "Interface (opcional)",
|
||
"applyTo": "Candidatar-se a",
|
||
"commentOptional": "Comentário (opcional)",
|
||
"port": "Porta",
|
||
"source": "Fonte",
|
||
"level": "Nível",
|
||
"interface": "Interface",
|
||
"comment": "Comentário",
|
||
"scope": "Escopo"
|
||
},
|
||
"placeholders": {
|
||
"destinationPort": "22, 80, 443",
|
||
"sourceAddress": "192.168.1.0/24",
|
||
"comment": "Para que serve esta regra",
|
||
"shortPort": "8008",
|
||
"ipOrCidr": "IP ou CIDR",
|
||
"description": "Descrição"
|
||
},
|
||
"presets": {
|
||
"httpWeb": "Rede HTTP",
|
||
"httpsWeb": "Rede HTTPS",
|
||
"sshRemoteAccess": "Acesso remoto SSH",
|
||
"smtpMail": "Correio SMTP",
|
||
"icmpPing": "Ping ICMP"
|
||
}
|
||
},
|
||
"fail2ban": {
|
||
"description": "Bloqueie tentativas repetidas de login com falha no SSH, Proxmox e Monitor.",
|
||
"notInstalled": "Fail2Ban não está instalado.",
|
||
"notInstalledDescription": "Instale-o para bloquear automaticamente logins com falha repetidos.",
|
||
"configureTitle": "O instalador irá configurar:",
|
||
"configureSsh": "Proteção SSH",
|
||
"configureProxmox": "Proteção de login Proxmox",
|
||
"configureMonitor": "Monitore a proteção de login",
|
||
"configureGlobal": "Configurações básicas de banimento",
|
||
"customizeAfterInstall": "Você pode ajustar cada proteção após a instalação.",
|
||
"installConfigure": "Instalar e configurar",
|
||
"jails": "Proteções",
|
||
"bannedIps": "IPs bloqueados",
|
||
"totalBans": "Total de blocos",
|
||
"failedAttempts": "Tentativas falhadas",
|
||
"missingProtectionsTitle": "Algumas proteções estão faltando",
|
||
"missingProtectionsBefore": "Adicione proteções ausentes para",
|
||
"applyMissingJails": "Adicionar proteções",
|
||
"permanentBan": "Bloqueio permanente",
|
||
"maxRetriesTitle": "Tentativas falhadas antes do banimento",
|
||
"retries": "Limite de tentativas",
|
||
"banDurationTitle": "Quanto tempo o IP permanece banido",
|
||
"ban": "Tempo de bloqueio",
|
||
"findTimeTitle": "Janela de tempo para contagem de tentativas fracassadas",
|
||
"window": "Período",
|
||
"configureJailSettings": "Editar esta proteção",
|
||
"configureJail": "Editar proteção {jail}",
|
||
"maxRetries": "Máximo de tentativas",
|
||
"failedAttemptsBeforeBan": "Tentativas falhadas antes do IP ser bloqueado.",
|
||
"banTimeSeconds": "Tempo de bloqueio (segundos)",
|
||
"permanentBanNeverExpires": "Bloqueio permanente, nunca expira.",
|
||
"findTimeSeconds": "Encontrar tempo (segundos)",
|
||
"timeWindowHint": "As tentativas malsucedidas são contadas nesta janela.",
|
||
"commonValuesHint": "Valores comuns: 600 = 10 min, 3600 = 1 hora, -1 = permanente.",
|
||
"saveConfiguration": "Salvar configuração",
|
||
"banned": "Atualmente bloqueado",
|
||
"failedNow": "Falha agora",
|
||
"totalFailed": "Falha total",
|
||
"bannedIpsWithCount": "IPs bloqueados ({count})",
|
||
"unban": "Desbloquear",
|
||
"noBannedIps": "Nenhum endereço IP está bloqueado no momento.",
|
||
"noJails": "Nenhuma proteção encontrada.",
|
||
"noActivity": "Nenhuma atividade Fail2Ban ainda.",
|
||
"installationTitle": "Instale Fail2Ban",
|
||
"installationDescription": "O terminal instalará o Fail2Ban e configurará as proteções de login.",
|
||
"uninstallConfirmTitle": "Desinstalar Fail2Ban?",
|
||
"uninstallConfirmDescription": "Isso remove o pacote Fail2Ban e seus arquivos de proteção criados pelo Monitor.",
|
||
"removeSshJail": "Remover proteção SSH",
|
||
"removeProxmoxProtection": "Remover proteção Proxmox",
|
||
"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",
|
||
"proxmoxAdjustedParen": "(Proxmox ajustado)",
|
||
"scoreBreakdown": "Lynis: {raw} | Proxmox: {adjusted}",
|
||
"scoreCritical": "Crítico",
|
||
"scoreModerate": "Moderado",
|
||
"scoreGood": "Bom",
|
||
"rawScorePrefix": "Pontuação bruta",
|
||
"expectedFindings": "{count} descobertas esperadas do Proxmox",
|
||
"auditInProgress": "Auditoria em andamento",
|
||
"auditInProgressDescription": "Isso pode levar um ou dois minutos.",
|
||
"auditReports": "Relatórios de auditoria",
|
||
"auditReportTitle": "Relatório Lynis",
|
||
"reportSummary": "{host} · {tests} · pontuação {score}/100 · {warnings} · {suggestions}",
|
||
"printSavePdf": "Imprima ou salve PDF",
|
||
"deleteReport": "Excluir relatório",
|
||
"hostname": "Nome do host",
|
||
"kernel": "Núcleo",
|
||
"tests": "Testes",
|
||
"packages": "Pacotes",
|
||
"firewall": "Firewall",
|
||
"malwareScanner": "Verificador de malware",
|
||
"malwareScannerNotInstalled": "Scanner não instalado",
|
||
"quickStatus": "Status rápido",
|
||
"allPveExpected": "todos os {count} esperados para Proxmox",
|
||
"actionableCount": "{count} acionável",
|
||
"hardeningScorePve": "Pontuação de endurecimento (Proxmox ajustado)",
|
||
"noCheckDetails": "Nenhum resultado de verificação detalhado disponível.",
|
||
"checksCount": "{count} verificações",
|
||
"noWarnings": "Sem avisos.",
|
||
"pveExpected": "Esperado para Proxmox",
|
||
"lowRisk": "Baixo risco",
|
||
"solution": "Solução",
|
||
"noSuggestions": "Sem sugestões.",
|
||
"lowPriority": "Baixa prioridade",
|
||
"runningAudit": "Executando auditoria...",
|
||
"runAudit": "Executar auditoria",
|
||
"installationTitle": "Instale o Lynis",
|
||
"installationDescription": "O terminal instalará o Lynis e preparará o suporte de relatório.",
|
||
"uninstallConfirmTitle": "Desinstalar Lynis?",
|
||
"uninstallConfirmDescription": "Isso remove os arquivos de relatório de auditoria criados pelo Lynis e pelo Monitor.",
|
||
"removeInstallation": "Remover instalação do Lynis",
|
||
"removeWrapper": "Remover o wrapper do Monitor Lynis",
|
||
"removeReports": "Remover relatórios de auditoria salvos",
|
||
"counts": {
|
||
"tests": {
|
||
"one": "Teste {count}",
|
||
"few": "{count} testes",
|
||
"many": "{count} testes"
|
||
},
|
||
"warnings": {
|
||
"one": "Aviso {count}",
|
||
"few": "{count} avisos",
|
||
"many": "{count} avisos"
|
||
},
|
||
"suggestions": {
|
||
"one": "{count} sugestão",
|
||
"few": "{count} sugestões",
|
||
"many": "{count} sugestões"
|
||
},
|
||
"testsExecuted": {
|
||
"one": "O teste {count} foi executado.",
|
||
"few": "{count} testes foram executados.",
|
||
"many": "{count} testes foram executados."
|
||
},
|
||
"actionableWarnings": {
|
||
"one": "{count} aviso acionável",
|
||
"few": "{count} avisos acionáveis",
|
||
"many": "{count} avisos acionáveis"
|
||
},
|
||
"actionableSuggestions": {
|
||
"one": "{count} sugestão acionável",
|
||
"few": "{count} sugestões acionáveis",
|
||
"many": "{count} sugestões acionáveis"
|
||
}
|
||
},
|
||
"tabs": {
|
||
"overview": "Visão geral",
|
||
"checksWithCount": "Verificações ({count})",
|
||
"warningsWithCount": "Avisos ({count})",
|
||
"suggestionsWithCount": "Sugestões ({count})"
|
||
},
|
||
"report": {
|
||
"scoreGood": "Bom",
|
||
"scoreModerate": "Moderado",
|
||
"scoreCritical": "Emitir",
|
||
"scoreUnavailable": "Incompleto",
|
||
"title": "Relatório de auditoria Lynis",
|
||
"useCmdP": "Use ⌘+P para imprimir ou salvar como PDF.",
|
||
"useCtrlP": "Use Ctrl+P para imprimir ou salvar como PDF.",
|
||
"brandTitle": "ProxMenux Monitor · Auditoria Lynis",
|
||
"reviewHint": "Revisão gerada para decisões de proteção local.",
|
||
"subtitle": "Relatório de auditoria de segurança",
|
||
"date": "Data",
|
||
"auditor": "Auditor",
|
||
"executiveSummary": "Sumário executivo",
|
||
"hardeningAssessment": "Avaliação de endurecimento",
|
||
"auditOf": "Auditoria de",
|
||
"running": "em execução em",
|
||
"unknownOs": "SO desconhecido",
|
||
"noActionableWarnings": "Nenhum aviso acionável",
|
||
"and": "e",
|
||
"expectedBehavior": "As descobertas marcadas como esperadas para Proxmox geralmente são normais para hosts Proxmox VE.",
|
||
"lynisRaw": "Lynis crua",
|
||
"pveAdjusted": "Proxmox ajustado",
|
||
"rangeCritical": "0-49 crítico",
|
||
"rangeModerate": "50-69 moderado",
|
||
"rangeGood": "70-100 bom",
|
||
"systemInformation": "Informações do sistema",
|
||
"operatingSystem": "Sistema operacional",
|
||
"lynisVersion": "Versão Lynis",
|
||
"reportDate": "Data do relatório",
|
||
"testsPerformed": "Testes realizados",
|
||
"securityPosture": "Postura de segurança",
|
||
"proxmoxScoreWithLabel": "Pontuação Proxmox ({label})",
|
||
"actionableWarningsLabel": "Avisos acionáveis",
|
||
"actionableSuggestionsLabel": "Sugestões acionáveis",
|
||
"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."
|
||
},
|
||
"messages": {
|
||
"updateApplied": "A atualização foi aplicada.",
|
||
"preparingDeployment": "Preparando implantação...",
|
||
"creatingLxc": "Criando contêiner LXC...",
|
||
"gatewayDeployed": "Secure Gateway implantado."
|
||
},
|
||
"logs": {
|
||
"empty": "Nenhum registro disponível.",
|
||
"failed": "Falha ao carregar registros.",
|
||
"title": "Secure Gateway registros",
|
||
"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.",
|
||
"uptime": "Tempo de atividade"
|
||
},
|
||
"actions": {
|
||
"start": "Começar",
|
||
"stop": "Parar",
|
||
"restart": "Reiniciar",
|
||
"logs": "Registros",
|
||
"remove": "Remover",
|
||
"back": "Voltar",
|
||
"continue": "Continuar",
|
||
"deploying": "Implantando...",
|
||
"deployGateway": "Implantar gateway"
|
||
},
|
||
"updates": {
|
||
"lastChecked": "Última verificação",
|
||
"tailscaleAvailable": "Tailscale {version} disponível",
|
||
"updating": "Atualizando...",
|
||
"updateToVersion": "Atualizar para {version}",
|
||
"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": "Host",
|
||
"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"
|
||
},
|
||
"download": {
|
||
"taskLog": "Registro de tarefas do Proxmox",
|
||
"completeTaskLog": "Registro completo de tarefas",
|
||
"completeMessage": "Mensagem completa",
|
||
"completeMessageButton": "Baixar mensagem completa"
|
||
}
|
||
},
|
||
"onboarding": {
|
||
"dialogTitle": "Integração do ProxMenux",
|
||
"previous": "Anterior",
|
||
"skip": "Pular",
|
||
"next": "Próximo",
|
||
"getStarted": "Comece!",
|
||
"dontShowAgain": "Não mostre isso de novo",
|
||
"goToSlide": "Vá para o slide {number}",
|
||
"slides": {
|
||
"welcome": {
|
||
"title": "Bem-vindo ao ProxMenux Monitor!",
|
||
"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",
|
||
"currentFeatures": {
|
||
"appDetection": "Smarter app detection in the App tab: Docker is correctly promoted as the parent workload during cold start (Portainer/SearXNG no longer briefly show up as native apps), unregistered suggestions live in the startup cache, and 'Find applications' runs a fresh catalog-backed scan on demand.",
|
||
"dockerUpdates": "The Updates tab now covers Docker end-to-end: Docker Engine and per-image update tracking follow the same 24-hour rolling cycle as OS packages, with a 'Check now' action for on-demand digest comparison — no more waiting for the daily collector.",
|
||
"appCatalog": "New application detection catalog with over 380 tracked workloads, generated live from community-scripts across seven detector methods (file, binary, dpkg, apk, Python, Docker exec, Docker label). Primary and fallback detectors cover both new and historical LXC layouts.",
|
||
"pushover": "Pushover joins Telegram, Gotify, Discord, Email and Apprise as a native notification channel — user/API key, device and sound selectors, priority 0 for regular messages, optional priority 1 for CRITICAL events. Suggested by @benginx (#308).",
|
||
"appsDashboard": "New top-level Apps dashboard — a single launcher for every Web Link across the node. LXC-registered apps and user-defined Custom Web Links share the same grid with category badges, search, and one-click deep-links back to the guest modal.",
|
||
"lxcAppsUpdates": "App tab inside every LXC modal registers installed apps, captures weblinks and tracks upstream versions. Reworked Updates tab applies OS packages and app updates from a single button; Docker Engine and per-image tracking follow the same 24-hour cycle, with a 'Check now' action on demand.",
|
||
"multilingual": "The Monitor now speaks 8 languages: English, Spanish, German, French, Italian, Portuguese, Swedish and Slovak. Huge thanks to @vaso73 for building the i18n scaffolding that made this possible.",
|
||
"nvidiaMultiGpu": "NVIDIA driver lifecycle moves to per-BDF ownership so a multi-GPU host can pass one card to a VM and keep the other operational on the host or in LXCs, plus a kernel + branch + GPU-aware version picker (#298).",
|
||
"aiCustomEndpoint": "AI Assistant custom OpenAI endpoint — LiteLLM, LM Studio, LocalAI, vLLM, OmniRoute and any self-hosted proxy on private IPs, loopback or Docker networks are recognised when loading the model catalogue. The dropdown surfaces the server's error (or the underlying network reason) directly under the Load button (#325, reported by @jorgeffonte).",
|
||
"secureGatewayArch": "Secure Gateway wizard — the Alpine template download, local template selection and pct create all match the host's real architecture, so x86_64 hosts receive amd64 containers and arm64 hosts receive arm64 containers (#324, reported by @N0X4DD0).",
|
||
"atomicNotifications": "Notification events reserve their deduplication fingerprint atomically before AI processing and channel delivery, so concurrent collectors, completion callbacks or parallel Monitor processes cannot send the same event twice. The reservation is released when no channel succeeds, preserving retries.",
|
||
"borgSshPort": "Borg remote target — the Add Borg destination dialog and the shell TUI accept a custom SSH port. BORG_RSH, the auto key install flow and the capacity probe all honour it. Fully backwards compatible with existing entries created without an explicit port (suggested by @songochain in discussion #236).",
|
||
"githubToken": "Settings → GitHub API accepts an optional personal access token for release and tag checks when the anonymous quota is exhausted. The token is encrypted at rest and never returned to the browser; the rate-limit error is translated in every Monitor language (suggested by @SystemIdleProcess in discussion #306).",
|
||
"replicationContext": "Native Proxmox replication failure notifications resolve the replication job ID, affected VM/LXC ID and guest name; the exact error block from Proxmox is preserved as the reason, and each replication job deduplicates independently (reported by Ale R.).",
|
||
"auditAssessment": "Audit & Report — a new page that documents and assesses the node. The Assessment runs a catalogue of checks across security, backups, capacity, storage, network, hardware, guests and system, classifying each finding as critical, warning, observation or conformant and stating what it read rather than judging it.",
|
||
"changeJournal": "Change journal — a Changes view that lists exactly what ProxMenux modified on this host: every configuration file, package and service it touched, with the prior state of each, deduplicated to a current-state view that shows the host as it stands now rather than a log of every run.",
|
||
"auditReports": "Reports — a full audit plus focused Security review, Backup assurance and Capacity & wear reports, each opening on its own posture header, and a printable Inventory; all export to PDF. A security assessment asks before running Lynis so a run stays fast.",
|
||
"auditPolicyBaseline": "Policy and baseline — declare what the host is expected to be (backup requirements, firewall, root SSH login) so findings grade against it, mark a run as the reference, and see what changed since, with new, resolved and accepted findings kept apart.",
|
||
"groupedAppUpdates": "Grouped application update notifications — one complete message per scan instead of one per application, grouped by LXC with the installed and available versions.",
|
||
"adminTokenScope": "Administrative scope — opening a Monitor terminal and disabling authentication now require a full-admin token, so a read-only API token issued to a monitoring integration stays read-only (reported by @f3rs3n)."
|
||
}
|
||
},
|
||
"network": {
|
||
"actions": {
|
||
"viewDetails": "Ver detalhes"
|
||
},
|
||
"loading": {
|
||
"title": "Carregando dados de rede...",
|
||
"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": "Descartes na recepção",
|
||
"dropsOut": "Descartes no envio",
|
||
"duplex": "Dúplex",
|
||
"errors": "Erros",
|
||
"errorsIn": "Erros na recepção",
|
||
"errorsOut": "Erros no envio",
|
||
"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.",
|
||
"thresholdPoor": "Latência significativa. Investigação recomendada.",
|
||
"detailedTestResults": "Resultados detalhados dos testes",
|
||
"latencyHistory": "Histórico de latência (últimos registros {count})",
|
||
"methodology": "Metodologia",
|
||
"testMethod": "Método de teste",
|
||
"icmpEchoRequest": "Solicitação de eco ICMP (Ping)",
|
||
"samplesPerTest": "Amostras por teste",
|
||
"threeConsecutivePings": "3 pings consecutivos",
|
||
"targetIp": "IP alvo",
|
||
"performanceAssessment": "Avaliação de desempenho",
|
||
"assessmentExcellent": "A latência da rede é excelente. Nenhuma ação é necessária.",
|
||
"assessmentGood": "A latência da rede está dentro dos parâmetros aceitáveis.",
|
||
"assessmentFair": "A latência da rede é elevada. Considere investigar problemas de congestionamento ou roteamento da rede.",
|
||
"assessmentPoor": "A latência da rede é criticamente alta. Investigação imediata recomendada.",
|
||
"assessmentUnknown": "Não é possível determinar o status da rede.",
|
||
"footerTitle": "ProxMenux Monitor - Relatório de desempenho de rede",
|
||
"generated": "Gerado",
|
||
"reportId": "ID do relatório"
|
||
}
|
||
}
|
||
},
|
||
"hardware": {
|
||
"loading": {
|
||
"title": "Carregando dados de hardware...",
|
||
"description": "Detectando CPU, GPU, armazenamento e dispositivos PCI",
|
||
"realtimeData": "Carregando dados em tempo real..."
|
||
},
|
||
"sections": {
|
||
"systemInformation": "Informações do sistema",
|
||
"motherboard": "Placa-mãe",
|
||
"memoryModules": "Módulos de memória",
|
||
"thermalMonitoring": "Monitoramento Térmico",
|
||
"otherSensors": "Outro",
|
||
"graphicsCards": "Placas Gráficas",
|
||
"basicInformation": "Informações Básicas",
|
||
"coralTpu": "Aceleradores Coral TPU / AI",
|
||
"powerConsumption": "Consumo de energia",
|
||
"powerSupplies": "Fontes de alimentação",
|
||
"systemFans": "Ventiladores do sistema",
|
||
"upsStatus": "Status do no-break",
|
||
"statusOverview": "Visão geral do status",
|
||
"batteryInformation": "Informações sobre a bateria",
|
||
"powerInformation": "Informações de energia",
|
||
"deviceInformation": "Informações do dispositivo",
|
||
"pciDevices": "Dispositivos PCI",
|
||
"networkSummary": "Resumo da rede",
|
||
"storageSummary": "Resumo de armazenamento",
|
||
"interfaceInformation": "Informações da interface",
|
||
"usbDevices": "Dispositivos USB"
|
||
},
|
||
"counts": {
|
||
"installed": "{count} instalado",
|
||
"sensors": "{count} sensores",
|
||
"gpu": "{count} GPU",
|
||
"devices": "{count} dispositivos",
|
||
"psus": "{count} PSUs",
|
||
"fans": "{count} fãs",
|
||
"ups": "{count} UPS",
|
||
"interfaces": "{count} interfaces"
|
||
},
|
||
"labels": {
|
||
"model": "Modelo",
|
||
"cores": "Núcleos",
|
||
"threads": "Threads",
|
||
"l3Cache": "Cache L3",
|
||
"virtualization": "Virtualização",
|
||
"manufacturer": "Fabricante",
|
||
"version": "Versão",
|
||
"date": "Data",
|
||
"size": "Tamanho",
|
||
"type": "Tipo",
|
||
"speed": "Velocidade",
|
||
"vendor": "Fornecedor",
|
||
"pciSlot": "Slot PCI",
|
||
"driver": "Motorista",
|
||
"kernelModule": "Módulo do Kernel",
|
||
"kernelDriver": "Driver do kernel",
|
||
"kernelModules": "Módulos do Kernel",
|
||
"lastChecked": "Última verificação",
|
||
"switchMode": "Modo de troca",
|
||
"currentDriver": "Motorista atual",
|
||
"consumer": "Consumidor",
|
||
"graphicsClock": "Relógio Gráfico",
|
||
"memoryClock": "Relógio de memória",
|
||
"powerDraw": "Consumo de energia",
|
||
"temperature": "Temperatura",
|
||
"memory": "Memória",
|
||
"total": "Total",
|
||
"used": "Usado",
|
||
"free": "Livre",
|
||
"memoryUtilization": "Utilização de memória",
|
||
"connection": "Conexão",
|
||
"formFactor": "Fator de forma",
|
||
"link": "Link",
|
||
"busDevice": "Barramento / Dispositivo",
|
||
"vendorProductId": "ID do fornecedor/produto",
|
||
"deviceNodes": "Nós de dispositivos",
|
||
"runtimeState": "Estado de tempo de execução",
|
||
"edgeTpuRuntime": "Tempo de execução do Edge TPU",
|
||
"thresholds": "Limites",
|
||
"hardwareWarnings": "Avisos de hardware",
|
||
"currentDraw": "Sorteio Atual",
|
||
"currentOutput": "Saída atual",
|
||
"remote": "Remoto",
|
||
"batteryCharge": "Carga da bateria",
|
||
"load": "Carregar",
|
||
"runtime": "Tempo de execução",
|
||
"inputVoltage": "Tensão de entrada",
|
||
"status": "Status",
|
||
"host": "Host",
|
||
"chargeLevel": "Nível de carga",
|
||
"runtimeRemaining": "Tempo de execução restante",
|
||
"batteryVoltage": "Tensão da bateria",
|
||
"batteryDate": "Data da bateria",
|
||
"outputVoltage": "Tensão de saída",
|
||
"inputFrequency": "Frequência de entrada",
|
||
"outputFrequency": "Frequência de saída",
|
||
"realPower": "Poder Verdadeiro",
|
||
"apparentPower": "Poder Aparente",
|
||
"serialNumber": "Número de série",
|
||
"firmware": "Firmware",
|
||
"deviceType": "Tipo de dispositivo",
|
||
"deviceName": "Nome do dispositivo",
|
||
"productName": "Nome do produto",
|
||
"class": "Aula",
|
||
"capacity": "Capacidade",
|
||
"currentLinkSpeed": "Velocidade atual do link",
|
||
"maximumLinkSpeed": "Velocidade máxima do link",
|
||
"pcieLinkSpeed": "Velocidade do link PCIe",
|
||
"sataVersion": "Versão SATA",
|
||
"sasVersion": "Versão SAS",
|
||
"sasSpeed": "Velocidade SAS",
|
||
"linkSpeed": "Velocidade do link",
|
||
"family": "Família",
|
||
"interface": "Interface",
|
||
"rotationRate": "Taxa de rotação",
|
||
"classCode": "Código de classe",
|
||
"serial": "Serial"
|
||
},
|
||
"values": {
|
||
"cores": "{count} núcleos",
|
||
"max": "(máx.: {value})",
|
||
"never": "nunca",
|
||
"nvidiaDriverAvailable": "Driver NVIDIA v{version} disponível",
|
||
"reinstallViaPostInstall": "Reinstale via ProxMenux pós-instalação: {label}",
|
||
"noUpdatesAvailable": "Nenhuma atualização disponível",
|
||
"none": "nenhum",
|
||
"running": "em execução",
|
||
"stopped": "parou",
|
||
"unused": "não utilizado",
|
||
"unbound": "não vinculado",
|
||
"driversReady": "Motoristas prontos",
|
||
"driversNotInstalled": "Drivers não instalados",
|
||
"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",
|
||
"hid": "HID",
|
||
"vendorSpecific": "Específico do fornecedor",
|
||
"communications": "Comunicações",
|
||
"integrated": "Integrado",
|
||
"discrete": "Discreto"
|
||
},
|
||
"gpu": {
|
||
"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",
|
||
"parentPhysicalFunction": "Função Física Parental",
|
||
"sriovActive": "SR-IOV ativo",
|
||
"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"
|
||
},
|
||
"gpuSwitch": {
|
||
"gpu": "GPU",
|
||
"lxc": "LXC",
|
||
"vm": "VM",
|
||
"sriov": "SR-IOV",
|
||
"sriovVf": "SR-IOV VF",
|
||
"sriovCount": "SR-IOV ×{count}",
|
||
"sriovActive": "SR-IOV ativo",
|
||
"readyForLxc": "Pronto para contêineres LXC",
|
||
"readyForVm": "Pronto para passagem de VM",
|
||
"modeUnknown": "Modo desconhecido",
|
||
"virtualFunctionsExternal": "Funções Virtuais gerenciadas externamente",
|
||
"nativeDriverActive": "Driver nativo ativo",
|
||
"vfioDriverActive": "Driver VFIO-PCI ativo",
|
||
"noDriverDetected": "Nenhum driver detectado",
|
||
"virtualFunction": "Função virtual",
|
||
"virtualFunctionWithParent": "Função Virtual · pai PF {parent}",
|
||
"physicalFunction": "1 PF + {count} VFs",
|
||
"physicalFunctionWithMax": "1 PF + {count} VFs / {max} máx.",
|
||
"changePending": "Alteração pendente..."
|
||
},
|
||
"actions": {
|
||
"installNvidiaDrivers": "Instale drivers NVIDIA",
|
||
"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",
|
||
"descriptionAfter": "",
|
||
"descriptionBefore": "Procure e restaure backups encontrados em",
|
||
"descriptionAfter": "",
|
||
"downloadTitle": "Baixe este backup",
|
||
"emptyAfter": "backups ainda.",
|
||
"emptyBefore": "Não",
|
||
"encrypted": "Criptografado",
|
||
"encryptedTitle": "Este backup está criptografado",
|
||
"filesInBackup": "Arquivos em backup",
|
||
"group": "Grupo",
|
||
"host": "Host",
|
||
"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.",
|
||
"addBorgRepository": "Adicionar repositório Borg",
|
||
"addDestinationTitle": "Adicionar destino {type}",
|
||
"addLocalDestinationTitle": "Adicionar destino local",
|
||
"addPbsRepository": "Adicionar repositório PBS",
|
||
"appendAuthorizedKeyBefore": "Anexe a chave pública gerada a",
|
||
"backupsKeptBefore": "Os backups existentes são mantidos em",
|
||
"borgEncryptionInherited": "A criptografia Borg é controlada pelo repositório.",
|
||
"builtIn": "Integrado",
|
||
"builtInDefault": "Padrão integrado",
|
||
"capacityUnavailable": "Capacidade indisponível",
|
||
"configureDescription": "Escolha onde os backups do host devem ser armazenados.",
|
||
"configureDestination": "Configurar destino",
|
||
"createsSshKeyAfter": "quando você salva.",
|
||
"createsSshKeyBefore": "O monitor cria uma chave SSH em",
|
||
"datacenterStorage": "Datacenter → Backup",
|
||
"defaultUserBefore": "Usuário padrão:",
|
||
"editDestinationTitle": "Editar destino {type}",
|
||
"editLocalDestinationTitle": "Editar destino local",
|
||
"editTitle": "Editar destino",
|
||
"fingerprintHelp": "Verificação opcional da impressão digital do servidor.",
|
||
"generateNewSshKey": "Gerar nova chave SSH",
|
||
"jobsWillBeDeleted": "{count} trabalhos que usam este destino também serão excluídos.",
|
||
"kept": "mantido",
|
||
"leavePassphraseBlank": "Deixe em branco para manter a senha salva.",
|
||
"leavePasswordBlank": "Deixe em branco para manter a senha salva.",
|
||
"localAttachHelpBefore": "Use um caminho local montado. Para unidades USB, monte-as primeiro em",
|
||
"localAttachHelpMiddle": "Unidades USB",
|
||
"localManualPickHelp": "Escolha um caminho local para saída de backup único.",
|
||
"localPathHelpAfter": "ou outro caminho montado.",
|
||
"localPathHelpBefore": "Exemplo:",
|
||
"localPickHelpBefore": "Escolha uma pasta local ou caminho USB montado.",
|
||
"localUsb": "Locais/USB",
|
||
"localUsbDescription": "Pasta neste host ou em uma unidade USB montada.",
|
||
"managedByPve": "Gerenciado por PVE",
|
||
"manuallyAdded": "Adicionado manualmente",
|
||
"nameCredentialsLocked": "O nome e as credenciais são bloqueados enquanto os trabalhos usam esse destino.",
|
||
"namePassphraseLocked": "O nome do repositório e a senha são bloqueados enquanto os trabalhos usam esse destino.",
|
||
"noBorgInDialog": "A edição do destino Borg está disponível no fluxo de configuração do Borg.",
|
||
"noBorgInWizard": "Borg não está disponível para trabalhos anexados a PVE.",
|
||
"noPbsInDialog": "A edição do destino PBS está disponível no fluxo de configuração do PBS.",
|
||
"noPbsInWizard": "Nenhum repositório PBS configurado ainda.",
|
||
"not": "não",
|
||
"pbsUserHelpBefore": "Geralmente",
|
||
"probingCapacity": "Verificando capacidade...",
|
||
"remoteSsh": "SSH remoto",
|
||
"remoteSshDescription": "Repositório Borg em outro host por SSH.",
|
||
"removeAndDeleteJobs": "Remover destino e excluir trabalhos",
|
||
"removeDescriptionPlain": "Isso remove apenas o destino do Monitor. Os backups existentes permanecem onde estão.",
|
||
"removeDescriptionWithData": "Isso remove o destino do Monitor. Os backups existentes permanecem onde estão.",
|
||
"removeDestination": "Remover destino",
|
||
"removeTitle": "Remover este destino",
|
||
"saveAnotherBorgTitle": "Salve outro destino Borg",
|
||
"saveAnotherLocalTitle": "Salve outro destino local",
|
||
"saveAnotherPbsTitle": "Salve outro destino PBS",
|
||
"shortIdentifierHelp": "Nome abreviado mostrado no Monitor.",
|
||
"single": "Destino",
|
||
"sshKeyHelpAfter": "e permita-o no host remoto.",
|
||
"sshKeyHelpBefore": "O monitor armazena a chave privada em",
|
||
"sshKeyHelpMiddle": "Copie a chave pública para",
|
||
"sshUserHelpAfter": "por exemplo raiz.",
|
||
"sshUserHelpBefore": "Usuário no host remoto,",
|
||
"title": "Destinos",
|
||
"unmountTitle": "Desmontar este destino",
|
||
"whereIsBorgRepo": "Onde está o repositório Borg?"
|
||
},
|
||
"encryption": {
|
||
"autoDetectedFromPveStorage": "Detectado no armazenamento PVE",
|
||
"borgPassphraseLossBefore": "Se você perder a senha Borg, os backups criptografados não poderão ser restaurados.",
|
||
"borgPassphraseOnlyWay": "Esta senha é a única maneira de desbloquear o repositório.",
|
||
"borgPassphraseSavedAfter": "portanto, os trabalhos agendados podem ser executados sem supervisão.",
|
||
"borgPassphraseSavedAt": "A senha é salva em",
|
||
"encryptBackups": "Criptografar backups",
|
||
"encryptThisBackup": "Criptografe este backup",
|
||
"encryptedModeTitle": "Modo criptografado",
|
||
"encryptedRepokey": "Repokey criptografado",
|
||
"encryptedRepokeyDescription": "Borg armazena a chave dentro do repositório, protegida por sua senha.",
|
||
"existingKeyAt": "Chave existente em",
|
||
"generateManualDescription": "Gere um novo arquivo-chave e use-o para este backup.",
|
||
"generateNewKeyfile": "Gerar novo arquivo-chave",
|
||
"generateNewKeyfileDescriptionAfter": "e armazena-o localmente para futuras restaurações do PBS.",
|
||
"generateNewKeyfileDescriptionBefore": "Monitorar cria",
|
||
"importExistingKeyfile": "Importar arquivo-chave existente",
|
||
"importExistingKeyfileDescription": "Carregue um arquivo-chave que corresponda aos backups criptografados existentes.",
|
||
"importKeyfileHelpAfter": "antes de restaurar backups criptografados do PBS.",
|
||
"importKeyfileHelpBefore": "Importe o arquivo-chave correspondente para",
|
||
"importManualDescription": "Use um arquivo-chave existente desta máquina.",
|
||
"noEncryption": "Sem criptografia",
|
||
"noEncryptionDescription": "Os backups são armazenados sem uma chave de criptografia.",
|
||
"noKeyStored": "Nenhum arquivo-chave armazenado localmente.",
|
||
"none": "Nenhum",
|
||
"passphraseNotSaved": "A senha não foi salva.",
|
||
"passphraseSaved": "Senha salva",
|
||
"pbsHelpAfter": "para restaurações PBS criptografadas.",
|
||
"pbsHelpBefore": "A criptografia PBS usa",
|
||
"pbsHelpEnd": "Mantenha uma cópia segura fora deste host.",
|
||
"pbsHelpMiddle": "como o arquivo-chave",
|
||
"pveKeyWillBeCopied": "A chave de criptografia PVE será copiada para restaurações do Monitor.",
|
||
"savePassphraseNow": "Salvar senha para execuções agendadas",
|
||
"unrecoverable": "Sem a chave, os backups criptografados não podem ser restaurados.",
|
||
"usesSharedKeyfileAt": "Usa arquivo-chave compartilhado em"
|
||
},
|
||
"errors": {
|
||
"backendNoStagingPath": "O back-end não retornou um caminho de teste.",
|
||
"deleteFailed": "Falha na exclusão: {error}",
|
||
"downloadFailed": "Falha no download: {error}",
|
||
"encryptionSetupFailed": "Falha na configuração da criptografia: {error}",
|
||
"exportDidNotComplete": "A exportação não foi concluída.",
|
||
"localArchivePathMissing": "O caminho do arquivo local está ausente.",
|
||
"passphrasesDoNotMatch": "As senhas não correspondem.",
|
||
"passphrasesDontMatch": "As senhas não correspondem.",
|
||
"pickKeyfile": "Escolha um arquivo-chave primeiro.",
|
||
"preflightFailed": "Falha na simulação: {error}",
|
||
"proxmoxBackupClientOutput": "Saída proxmox-backup-client:",
|
||
"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",
|
||
"repo": "Repositório",
|
||
"repoNameLabel": "Nome do repositório",
|
||
"repository": "Repositório",
|
||
"repositoryLabel": "Repositório",
|
||
"repositoryPath": "Caminho do repositório",
|
||
"retentionLabel": "Retenção",
|
||
"roles": "Funções",
|
||
"schedule": "Agendar",
|
||
"scheduleLabel": "Agendar",
|
||
"serverHostOrIp": "Host/IP do servidor",
|
||
"size": "Tamanho",
|
||
"sizeLabel": "Tamanho",
|
||
"source": "Fonte",
|
||
"sourceHost": "Host de origem",
|
||
"sourceHostLabel": "Host de origem",
|
||
"sshHostOrIp": "Host/IP SSH",
|
||
"sshKeyPath": "Caminho da chave SSH",
|
||
"sshUser": "Usuário SSH",
|
||
"status": "Status",
|
||
"storageLabel": "Armazenar",
|
||
"target": "Alvo",
|
||
"timeOfDay": "Hora do dia",
|
||
"type": "Tipo",
|
||
"used": "Usado",
|
||
"username": "Nome de usuário",
|
||
"vmsLxcs": "VMs/LXCs",
|
||
"when": "Quando",
|
||
"whenLabel": "Quando",
|
||
"zfsPools": "Conjuntos ZFS",
|
||
"sshPort": "Porta SSH"
|
||
},
|
||
"jobs": {
|
||
"attachDescriptionAfter": "cópias de segurança.",
|
||
"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)",
|
||
"runNowTitle": "Acione este trabalho agora",
|
||
"running": "Em execução...",
|
||
"scheduledTitle": "Agendado",
|
||
"standaloneScheduledJob": "Trabalho agendado autônomo",
|
||
"starting": "Iniciando...",
|
||
"stepOf": "Etapa {step} de {total}",
|
||
"summary": "Resumo",
|
||
"waitingForRunner": "Aguardando o início do executor..."
|
||
},
|
||
"keyfileActions": {
|
||
"deleteDialogDescription": "Os backups criptografados do PBS precisarão do mesmo arquivo-chave antes de serem restaurados.",
|
||
"deleteDialogTitle": "Excluir arquivo-chave PBS local?",
|
||
"deleteTitle": "Excluir arquivo-chave local",
|
||
"deleteWarningDownloadsAfter": "até você importar a chave correspondente novamente.",
|
||
"deleteWarningDownloadsBefore": "Os downloads e restaurações de backup criptografado falharão",
|
||
"deleteWarningNewBackups": "Novos backups criptografados não podem ser executados sem um arquivo-chave.",
|
||
"deleteWarningRecoveryBlobs": "Os blobs de recuperação do PBS permanecem no servidor.",
|
||
"downloadTitle": "Baixar arquivo-chave",
|
||
"fingerprintTitle": "Mostrar impressão digital da chave",
|
||
"installed": "Instalado",
|
||
"keyfileLabel": "Arquivo-chave PBS",
|
||
"notInstalled": "Não instalado",
|
||
"orUploadFromMachine": "ou carregue um desta máquina.",
|
||
"orUploadOwn": "ou carregue seu próprio arquivo-chave.",
|
||
"pveKeyDescriptionAfter": "e pode ser reutilizado pelo Monitor.",
|
||
"pveKeyDescriptionBefore": "Existe uma chave PVE em",
|
||
"pveKeyDescriptionMiddle": "Corresponde à criptografia de armazenamento PVE",
|
||
"pveKeyDetected": "Chave PVE detectada",
|
||
"uploadDialogDescriptionAfter": "Os backups criptografados criados com uma chave diferente ainda exigirão a chave original.",
|
||
"uploadDialogDescriptionBefore": "Carregue o arquivo-chave usado para backups criptografados do PBS.",
|
||
"uploadDialogTitle": "Carregar arquivo-chave PBS",
|
||
"uploadFromMachine": "Fazer upload desta máquina",
|
||
"uploadTitle": "Carregar arquivo-chave",
|
||
"useThisKey": "Use esta chave",
|
||
"willFail": "irá falhar"
|
||
},
|
||
"keyfileError": {
|
||
"currentlyInstalled": "Atualmente instalado",
|
||
"description": "Este backup é criptografado e precisa do arquivo-chave PBS correspondente.",
|
||
"importFrom": "Importe o arquivo-chave correspondente de",
|
||
"importPath": "Backup → Destinos → Arquivo-chave PBS",
|
||
"requiredManifest": "Exigido por backup",
|
||
"retryHint": "e tente novamente.",
|
||
"title": "Arquivo-chave correspondente obrigatório"
|
||
},
|
||
"keyfileGate": {
|
||
"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": "Executar",
|
||
"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",
|
||
"extraPathExamples": "/root/minha-pasta, /srv/myapp/data, /etc/cron.d ...",
|
||
"filterPaths": "Filtrar caminhos...",
|
||
"keyfilePath": "/usr/local/share/proxmenux/pbs-key.conf",
|
||
"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\".",
|
||
"backupKernel": "Kernel de backup",
|
||
"blockedEncryptedTitle": "Restauração criptografada bloqueada",
|
||
"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",
|
||
"selectedCount": "Selecionado: {selected} / {total}{shown}",
|
||
"shownCount": "({count} mostrado)",
|
||
"skipped": "ignorado",
|
||
"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": "em execução",
|
||
"scheduled": "agendado"
|
||
},
|
||
"taskStates": {
|
||
"completed": "concluído",
|
||
"failed": "fracassado",
|
||
"packing": "embalagem",
|
||
"queued": "na fila",
|
||
"restoring": "restaurando",
|
||
"running": "em execução"
|
||
},
|
||
"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",
|
||
"status": {
|
||
"ok": "OK",
|
||
"info": "Informações",
|
||
"warning": "Aviso",
|
||
"critical": "Crítico",
|
||
"unknown": "Desconhecido"
|
||
},
|
||
"stats": {
|
||
"total": "Total",
|
||
"healthy": "Saudável",
|
||
"info": "Informações",
|
||
"warning": "Aviso",
|
||
"critical": "Crítico",
|
||
"unknown": "Desconhecido"
|
||
},
|
||
"categories": {
|
||
"cpu": "Uso e temperatura da CPU",
|
||
"memory": "Memória e swap",
|
||
"storage": "Suportes de armazenamento e espaço",
|
||
"disks": "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"
|
||
},
|
||
"checks": {
|
||
"cpu_usage": "Uso da CPU",
|
||
"cpu_temperature": "Temperatura",
|
||
"ram_usage": "Uso de RAM",
|
||
"swap_usage": "Uso de swap",
|
||
"root_filesystem": "Sistema de arquivos raiz",
|
||
"smart_health": "Estado SMART",
|
||
"io_errors": "Erros de E/S",
|
||
"zfs_pools": "Conjuntos ZFS",
|
||
"lvm_volumes": "Volumes LVM",
|
||
"lvm_check": "Status do LVM",
|
||
"connectivity": "Conectividade",
|
||
"qmp_communication": "Comunicação QMP",
|
||
"container_startup": "Inicialização do contêiner",
|
||
"vm_startup": "Inicialização da VM",
|
||
"oom_killer": "OOM killer",
|
||
"cluster_mode": "Modo cluster",
|
||
"log_error_cascade": "Cascata de erros",
|
||
"log_error_spike": "Pico de erro",
|
||
"log_persistent_errors": "Erros persistentes",
|
||
"log_critical_errors": "Erros críticos",
|
||
"pve_version": "Versão Proxmox VE",
|
||
"security_updates": "Atualizações de segurança",
|
||
"system_age": "Idade do sistema",
|
||
"pending_updates": "Atualizações pendentes",
|
||
"kernel_pve": "Kernel/PVE",
|
||
"uptime": "Tempo de atividade",
|
||
"certificates": "Certificados",
|
||
"login_attempts": "Tentativas de login",
|
||
"fail2ban": "Fail2Ban",
|
||
"proxmox_storages": "Armazenamento Proxmox"
|
||
},
|
||
"details": {
|
||
"allOperational": "Todos os sistemas operacionais",
|
||
"normal": "Normal",
|
||
"noIoErrors": "Nenhum erro de E/S no dmesg",
|
||
"rootFilesystemOk": "Leitura e gravação montada; o espaço está OK",
|
||
"noSmartWarnings": "Nenhum aviso SMART no diário",
|
||
"noCriticalErrors": "Sem erros críticos",
|
||
"noCascadingErrors": "Sem erros em cascata",
|
||
"noErrorSpikes": "Sem picos de erros",
|
||
"noPersistentPatterns": "Sem padrões persistentes",
|
||
"certificateValid": "O certificado é válido",
|
||
"clusterDetected": "Cluster detectado (corosync.conf está presente)",
|
||
"active": "Ativo",
|
||
"up": "ACIMA",
|
||
"kernelUpToDate": "Kernel/PVE está atualizado",
|
||
"proxmoxUpToDate": "Proxmox VE está atualizado",
|
||
"noSecurityUpdates": "Nenhuma atualização de segurança pendente",
|
||
"noContainerErrors": "Nenhum erro de inicialização do contêiner",
|
||
"noOomEvents": "Nenhum evento OOM detectado",
|
||
"noQmpTimeouts": "Nenhum tempo limite de QMP detectado",
|
||
"noVmFailures": "Nenhuma falha na inicialização da VM",
|
||
"dismissedByUser": "Dispensado pelo usuário",
|
||
"gatewayLatency": "Latência para gateway: {latency} ms",
|
||
"failedLogins": "{count} tentativas de login falhadas em 24h",
|
||
"fail2banBannedIps": "Fail2Ban está bloqueando endereços IP {count} (prisões: {jails})",
|
||
"uptimeDays": "Tempo de atividade: {count} dias",
|
||
"pendingPackages": "{count} pacotes pendentes",
|
||
"updatedDaysAgo": "Última atualização há {count} dias",
|
||
"storageAvailable": "O armazenamento {type} está disponível",
|
||
"mountReachable": "A montagem {type} está acessível",
|
||
"rootfsUsed": "Uso de rootfs: {percent}% ({size})",
|
||
"runningCtsSafe": "{count} CTs em execução têm uso seguro de rootfs",
|
||
"pveStorageSafe": "{count} Os alvos de armazenamento em bloco PVE têm uso seguro",
|
||
"remoteMountsHealthy": "{count} montagens remotas estão íntegras",
|
||
"startupStoragesChecking": "Verificando o armazenamento Proxmox após a inicialização: {storages}",
|
||
"startupStorageChecking": "Verificando o armazenamento Proxmox após a inicialização: {storage}",
|
||
"startupStorageNotFound": "Verificando o armazenamento Proxmox após a inicialização: {storage} ainda não está visível no servidor",
|
||
"startupStorageUnavailable": "Verificando o armazenamento de Proxmox após a inicialização: {storage} ainda não está pronto",
|
||
"startupStorageStatus": "Verificando o armazenamento Proxmox após a inicialização: {storage} (status atual: {status})"
|
||
},
|
||
"time": {
|
||
"justNow": "agora mesmo",
|
||
"oneMinuteAgo": "1 minuto atrás",
|
||
"minutesAgo": "{count} minutos atrás",
|
||
"hoursMinutesAgo": "{hours}h {minutes}m atrás"
|
||
},
|
||
"errors": {
|
||
"fetchFailed": "Falha ao buscar detalhes de integridade",
|
||
"unknown": "Erro desconhecido",
|
||
"loading": "Erro ao carregar o status de integridade"
|
||
},
|
||
"noIssues": "Nenhum problema detectado",
|
||
"updateNow": "Atualizar agora",
|
||
"dismissedItems": "Itens dispensados ({count})",
|
||
"permanent": "Permanente",
|
||
"dismissed": "Dispensado",
|
||
"wasStatus": "era {status}",
|
||
"permanentlySuppressed": "Suprimido permanentemente",
|
||
"suppressedForMore": "Suprimido por mais {duration}",
|
||
"customSuppressionSettings": "Configurações de supressão personalizadas",
|
||
"autoSuppressedHint": "Alertas nessas categorias são automaticamente suprimidos quando detectados.",
|
||
"lastUpdated": "Última atualização: {date}",
|
||
"updateTerminalTitle": "Atualização do sistema Proxmox",
|
||
"updateTerminalDescription": "Executa apt-get update + dist-upgrade e limpeza pós-atualização no host.",
|
||
"dismiss": "Liberar",
|
||
"silenceFor": "Silenciar este alerta por",
|
||
"permanently": "Permanentemente",
|
||
"duration": {
|
||
"hours": "{count}h",
|
||
"days": "{count} dias",
|
||
"weeks": "{count} semanas",
|
||
"months": "{count} meses",
|
||
"years": "{count} anos",
|
||
"24hours": "24 horas",
|
||
"7days": "7 dias"
|
||
}
|
||
},
|
||
"profilePage": {
|
||
"loading": "Carregando perfil…",
|
||
"loadFailed": "Falha ao carregar perfil",
|
||
"title": "Perfil de usuário",
|
||
"description": "Dados pessoais mostrados no menu do avatar do cabeçalho. Eles são opcionais — o nome de usuário já identifica a conta.",
|
||
"avatar": {
|
||
"label": "avatar",
|
||
"upload": "Carregar avatar",
|
||
"replace": "Substituir avatar",
|
||
"remove": "Remover avatar",
|
||
"hint": "PNG, JPEG, WebP ou GIF. Até 2 MB. Use uma imagem quadrada ou corte-a primeiro para obter o melhor resultado no cabeçalho."
|
||
},
|
||
"username": {
|
||
"label": "Nome de usuário",
|
||
"help": "Este é o nome de login. Para alterá-lo, desative a autenticação e configure-a novamente em Segurança."
|
||
},
|
||
"displayName": {
|
||
"label": "Nome de exibição",
|
||
"optional": "(opcional)",
|
||
"placeholder": "Nome de exibição",
|
||
"help": "Mostrado acima do nome de usuário no menu do avatar. Deixe em branco para mostrar apenas o nome de usuário. Máximo de 64 caracteres."
|
||
},
|
||
"accountSecurity": {
|
||
"title": "Segurança da conta",
|
||
"description": "Senha, autenticação de dois fatores e tokens de API são gerenciados no painel Segurança.",
|
||
"openSecurity": "Abra as configurações de segurança",
|
||
"fallback": "Abra a guia Segurança na navegação."
|
||
},
|
||
"errors": {
|
||
"saveDisplayNameFailed": "Falha ao salvar o nome de exibição",
|
||
"uploadFailed": "Falha no upload ({status})",
|
||
"deleteFailed": "Falha na exclusão ({status})"
|
||
}
|
||
},
|
||
"pwaInstall": {
|
||
"title": "Instale o ProxMenux Monitor",
|
||
"iosDescription": "Adicione o monitor à sua tela inicial para acesso rápido.",
|
||
"androidDescription": "Adicione o Monitor como um aplicativo para que ele abra como um aplicativo normal.",
|
||
"addToHomeScreen": "Adicionar à tela inicial",
|
||
"ios": {
|
||
"stepShareBefore": "Toque no",
|
||
"share": "Compartilhar",
|
||
"stepShareAfter": "botão na barra inferior",
|
||
"stepChooseBefore": "Escolher",
|
||
"stepConfirmBefore": "Confirme tocando",
|
||
"add": "Adicionar",
|
||
"stepConfirmAfter": "no canto superior direito"
|
||
},
|
||
"android": {
|
||
"stepOpenMenu": "Abra o menu do navegador",
|
||
"stepConfirm": "confirme tocando",
|
||
"install": "Instalar"
|
||
},
|
||
"notNow": "Agora não",
|
||
"neverAgain": "Não mostre novamente"
|
||
},
|
||
"vmMetrics": {
|
||
"title": "Métricas — {name}",
|
||
"type": "Tipo",
|
||
"noData": "Não há dados disponíveis",
|
||
"errors": {
|
||
"loading": "Erro ao carregar métricas"
|
||
},
|
||
"timeframes": {
|
||
"hour": "1 hora",
|
||
"day": "24 horas",
|
||
"week": "7 dias",
|
||
"month": "30 dias",
|
||
"year": "1 ano"
|
||
},
|
||
"charts": {
|
||
"cpu": "Uso da CPU",
|
||
"memory": "Uso de memória",
|
||
"diskIo": "E/S de disco",
|
||
"networkIo": "E/S de rede"
|
||
},
|
||
"series": {
|
||
"cpu": "CPU %",
|
||
"memoryGb": "Memória GB",
|
||
"read": "Ler",
|
||
"write": "Escrever",
|
||
"download": "Download",
|
||
"upload": "Carregar"
|
||
}
|
||
},
|
||
"lxcTerminal": {
|
||
"title": "Terminal: {name} (ID: {id})",
|
||
"errors": {
|
||
"invalidVmid": "VMID inválido – recusando-se a executar pct enter"
|
||
},
|
||
"commands": {
|
||
"listFiles": "Liste todos os arquivos com detalhes",
|
||
"changeDirectory": "Alterar diretório",
|
||
"displayFile": "Exibir conteúdo do arquivo",
|
||
"searchPattern": "Procure um padrão em um arquivo",
|
||
"findFiles": "Encontre arquivos por nome",
|
||
"diskUsage": "Mostrar uso do disco",
|
||
"directorySizes": "Mostrar tamanhos de diretório",
|
||
"memoryUsage": "Mostrar uso de memória",
|
||
"runningProcesses": "Mostrar processos em execução",
|
||
"findProcess": "Encontre um processo em execução",
|
||
"serviceStatus": "Verifique o status do serviço",
|
||
"restartService": "Reinicie um serviço",
|
||
"updatePackages": "Atualizar pacotes",
|
||
"installPackage": "Instalar um pacote",
|
||
"followLog": "Siga um arquivo de log",
|
||
"changePermissions": "Alterar permissões de arquivo",
|
||
"changeOwner": "Alterar proprietário do arquivo",
|
||
"extractArchive": "Extraia um arquivo tar.gz",
|
||
"listContainers": "Listar contêineres em execução",
|
||
"listImages": "Listar imagens do Docker",
|
||
"showIpAddresses": "Mostrar endereços IP",
|
||
"testConnectivity": "Testar a conectividade da rede",
|
||
"httpHeaders": "Obtenha cabeçalhos HTTP",
|
||
"commandHistory": "Mostrar histórico de comandos",
|
||
"clearScreen": "Limpe a tela do terminal"
|
||
}
|
||
},
|
||
"restoreProgress": {
|
||
"title": "Progresso pós-restauração",
|
||
"startedAt": "Iniciado em {time}",
|
||
"finishedAt": "terminou {time}",
|
||
"startedRelative": "começou {time}",
|
||
"steps": "{done}/{total} etapas",
|
||
"exitCode": "saída {code}",
|
||
"status": {
|
||
"running": "Restauração em andamento",
|
||
"complete": "Restauração concluída",
|
||
"failed": "Falha na restauração"
|
||
},
|
||
"componentStatus": {
|
||
"installing": "instalando",
|
||
"ok": "OK",
|
||
"failed": "fracassado"
|
||
},
|
||
"time": {
|
||
"secondsAgo": "{count}s atrás",
|
||
"minutesAgo": "{count}m atrás",
|
||
"hoursAgo": "{count}h atrás",
|
||
"daysAgo": "{count}d atrás",
|
||
"estimating": "estimando o tempo…",
|
||
"secondsLeft": "~{count}s restantes",
|
||
"minutesLeft": "~{count}m restantes",
|
||
"hoursLeft": "~{count}h restantes"
|
||
},
|
||
"log": {
|
||
"noLog": "nenhum registro ainda",
|
||
"full": "Completo",
|
||
"issuesOnly": "Apenas problemas",
|
||
"noOutput": "(sem saída)"
|
||
},
|
||
"rollback": {
|
||
"empty": "Não há entradas neste host que estejam faltando no backup restaurado.",
|
||
"showCleanup": "Mostrar comandos de limpeza manual",
|
||
"description": "Estas entradas existem neste host, mas não estavam no backup restaurado. Revise-os antes de remover qualquer coisa.",
|
||
"vms": "VMs criadas após o backup",
|
||
"lxcs": "LXCs criados após o backup",
|
||
"components": "Componentes instalados após o backup",
|
||
"uninstallComponentCommand": "# desinstalar {name} manualmente via ProxMenux → Hardware e GPU"
|
||
},
|
||
"sections": {
|
||
"components": "Componentes",
|
||
"bootWarnings": "Avisos de integridade de inicialização",
|
||
"rollbackDelta": "Delta de reversão",
|
||
"log": "Registro"
|
||
},
|
||
"dataPools": {
|
||
"title": "Pools de dados ZFS — importação automática",
|
||
"imported": "Importado",
|
||
"importedForced": "Importado (forçado, hostid estrangeiro)",
|
||
"importedForcedHelp": "O novo hostid foi gravado no rótulo do pool — a próxima inicialização deve ser importada de forma limpa.",
|
||
"skippedPartial": "Ignorado (alguns discos faltando)",
|
||
"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.",
|
||
"empty": "Nenhuma restauração anterior registrada."
|
||
},
|
||
"badges": {
|
||
"bootWarnings": "Avisos de inicialização: {count}",
|
||
"zfsPools": "Conjuntos ZFS: {count}",
|
||
"needAttention": "precisa de atenção: {count}"
|
||
},
|
||
"actions": {
|
||
"details": "Detalhes",
|
||
"history": "História",
|
||
"dismiss": "Liberar"
|
||
},
|
||
"summary": {
|
||
"guests": "Convidados",
|
||
"bindMountStubs": "Marcadores de bind mounts",
|
||
"staleNodesCleaned": "Nós obsoletos limpos",
|
||
"components": "Componentes"
|
||
}
|
||
},
|
||
"terminal": {
|
||
"connected": "Conectado",
|
||
"disconnected": "Desconectado",
|
||
"terminalCount": "{count} / 4 terminais",
|
||
"stackedLayout": "Visualização empilhada (linhas)",
|
||
"gridLayout": "Visualização em grade 2×2",
|
||
"new": "Novo",
|
||
"search": "Procurar",
|
||
"clear": "Claro",
|
||
"searchCommands": "Comandos de pesquisa",
|
||
"onlineSource": "On-line — usando a API cheat.sh",
|
||
"offlineSource": "Off-line — usando comandos locais",
|
||
"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}",
|
||
"yes": "Sim",
|
||
"yourInput": "Sua entrada:",
|
||
"submit": "Enviar",
|
||
"ok": "OK"
|
||
},
|
||
"apps": {
|
||
"searchPlaceholder": "Search app or CT…",
|
||
"searchAriaLabel": "Search",
|
||
"filterAll": "All categories",
|
||
"filterAriaLabel": "Filter by category",
|
||
"sortAriaLabel": "Sort by",
|
||
"sortName": "Name",
|
||
"sortId": "ID",
|
||
"sortCategory": "Category",
|
||
"countOne": "1 app",
|
||
"countMany": "{n} apps",
|
||
"uncategorized": "Uncategorized",
|
||
"openAriaLabel": "Open {name} in a new tab",
|
||
"openGuestAriaLabel": "Abrir {name} ({type} {id})",
|
||
"emptyTitle": "No apps with a web link yet.",
|
||
"emptyHint": "Register a Web Link for any app (App tab of a CT) to see it here.",
|
||
"customLinkAdd": "Add link",
|
||
"editModeToggle": "Edit",
|
||
"editModeDone": "Done",
|
||
"customLinkNewTitle": "New web link",
|
||
"customLinkEditTitle": "Edit web link",
|
||
"customLinkEditAria": "Editar o link personalizado {name}",
|
||
"customLinkName": "Name",
|
||
"customLinkNamePlaceholder": "e.g. My app",
|
||
"customLinkUrl": "URL",
|
||
"customLinkLogo": "Logo URL (optional)",
|
||
"customLinkLogoPlaceholder": "e.g., https://example.com/logo.webp",
|
||
"customLinkCategory": "Category (optional)",
|
||
"customLinkBinding": "Bound to",
|
||
"customLinkBindingNone": "Not bound to any guest",
|
||
"customLinkBindingHelp": "Bind this link to a VM or CT to add its ID + name to the card and jump to the guest with one click.",
|
||
"customLinkSave": "Save",
|
||
"customLinkCreate": "Create",
|
||
"customLinkCancel": "Cancel",
|
||
"customLinkDelete": "Delete",
|
||
"customLinkSaveError": "Save failed",
|
||
"customLinkDeleteError": "Delete failed",
|
||
"categoryLabels": {
|
||
"arrSuite": "*Arr Suite",
|
||
"aiCodingDevTools": "AI / Coding & Dev-Tools",
|
||
"adblockDns": "Adblock & DNS",
|
||
"authenticationSecurity": "Authentication & Security",
|
||
"automationScheduling": "Automation & Scheduling",
|
||
"backupRecovery": "Backup & Recovery",
|
||
"businessErp": "Business & ERP",
|
||
"communicationCommunity": "Communication & Community",
|
||
"containersDocker": "Containers & Docker",
|
||
"dashboardsFrontends": "Dashboards & Frontends",
|
||
"databases": "Databases",
|
||
"documentsNotes": "Documents & Notes",
|
||
"filesDownloads": "Files & Downloads",
|
||
"financeBudgeting": "Finance & Budgeting",
|
||
"gamingLeisure": "Gaming & Leisure",
|
||
"hostManagement": "Host Management",
|
||
"iotSmartHome": "IoT & Smart Home",
|
||
"mediaStreaming": "Media & Streaming",
|
||
"messagingQueues": "Messaging & Queues",
|
||
"miscellaneous": "Miscellaneous",
|
||
"monitoringAnalytics": "Monitoring & Analytics",
|
||
"nvrCameras": "NVR & Cameras",
|
||
"networkFirewall": "Network & Firewall",
|
||
"operatingSystemsAppliances": "Operating Systems & Appliances",
|
||
"productivityWorkflows": "Productivity & Workflows",
|
||
"remoteAccessVpn": "Remote Access & VPN",
|
||
"webserversProxies": "Webservers & Proxies",
|
||
"zigbeeZwaveMatter": "ZigBee, Z-Wave & Matter"
|
||
}
|
||
},
|
||
"audit": {
|
||
"presentation": {
|
||
"backupAge": "Idade da cópia",
|
||
"backupLimit": "Limite utilizado",
|
||
"limitDeclared": "Prazo definido pelo utilizador",
|
||
"limitSchedule": "Agendamento + margem",
|
||
"limitReference": "Prazo de referência",
|
||
"verifiedChecks": "Verificações concluídas",
|
||
"unverifiedChecks": "Verificações não concluídas",
|
||
"checkName": "Verificação",
|
||
"verified": "Verificadas",
|
||
"verificationScope": "Verificações aplicáveis concluídas. A cobertura não representa o estado nem a segurança do servidor.",
|
||
"noApplicable": "Não há verificações aplicáveis nesta avaliação.",
|
||
"noJob": "Sem tarefa agendada",
|
||
"guest": "Convidado",
|
||
"guests": "convidados",
|
||
"host": "Host",
|
||
"resource": "Recurso",
|
||
"data": "Dados",
|
||
"metadata": "Metadados",
|
||
"result": "Resultado",
|
||
"fact": "Dado observado",
|
||
"records": "registos",
|
||
"unscheduled": "convidados sem tarefa agendada",
|
||
"excludedDisks": "discos excluídos",
|
||
"disks": "Discos",
|
||
"destination": "Destino",
|
||
"lastCopy": "Última cópia armazenada",
|
||
"ageLimit": "Antiguidade / limite",
|
||
"noDestination": "Sem destino configurado",
|
||
"notFound": "Nenhuma cópia encontrada no âmbito examinado",
|
||
"promiscuous": "Interfaces em modo promíscuo",
|
||
"noDescription": "Descrição indisponível",
|
||
"occurrence": "Ocorrência",
|
||
"occurrences": "ocorrências",
|
||
"detail": "Detalhe",
|
||
"technical": "Evidência técnica",
|
||
"annex": "Anexo técnico",
|
||
"overview": "Resumo dos resultados",
|
||
"incomplete": "Avaliação incompleta",
|
||
"assessment": "Avaliação",
|
||
"noGlobalScore": "Os resultados descrevem critérios distintos; não é calculada uma pontuação global de segurança.",
|
||
"coverage": "Cobertura de backups agendados",
|
||
"scheduled": "Com tarefa agendada",
|
||
"copyScope": "Uma tarefa configurada não comprova que exista uma cópia armazenada ou restaurável.",
|
||
"detailsLink": "Referência da evidência",
|
||
"noSubscription": "Sem subscrição registada",
|
||
"otherDevices": "Outros dispositivos no grupo",
|
||
"unversioned": "Versão não registada",
|
||
"notInstalled": "Não instalada",
|
||
"noPendingRecorded": "Sem atualização pendente registada",
|
||
"originalEvidence": "Evidência original da fonte",
|
||
"evidenceObserved": "Evidência observada",
|
||
"evidenceExcerpt": "Vista compacta. A evidência completa da fonte permanece guardada com esta avaliação.",
|
||
"annexScope": "Evidência completa da fonte para resultados que requerem atenção, registam uma observação ou não puderam ser verificados.",
|
||
"readOnlyScope": "A avaliação não altera a configuração. As consultas e, quando necessário, o Lynis podem gerar registos ou relatórios.",
|
||
"capacity": "Capacidade",
|
||
"used": "Ocupado",
|
||
"free": "Livre",
|
||
"reasons": {
|
||
"agentNotDeclared": "Sem agente de convidado declarado na configuração",
|
||
"arcConflictingSettings": "As definições persistentes não coincidem",
|
||
"arcMinAboveMax": "O limite inferior do ARC está acima do superior",
|
||
"arcPendingReboot": "A definição persistente difere do parâmetro carregado",
|
||
"arrayDegraded": "Funciona com menos dispositivos do que aqueles com que foi criado",
|
||
"arrayNotActive": "Não está ativo",
|
||
"arrayRebuilding": "Sem dispositivos suficientes e em reconstrução",
|
||
"backupRunFailed": "A execução terminou com erro",
|
||
"backupRunRecovered": "Falhou antes, e uma execução posterior terminou bem",
|
||
"bondNoMembersUp": "Em baixo, e nenhum membro do bond está ativo",
|
||
"bondRedundancyLost": "Em baixo; o bond mantém outras ligações",
|
||
"bootEspMissingNewest": "Não leva o kernel mais recente que as outras levam",
|
||
"bootEspOutOfSync": "Dessincronizada das restantes: arrancaria um kernel diferente",
|
||
"bootSingleEsp": "Uma partição de arranque configurada",
|
||
"bootToolReported": "Comunicado pelo proxmox-boot-tool",
|
||
"cephCheckRaised": "Levantada pelo Ceph",
|
||
"channelIncomplete": "Ativado mas falta parte da sua configuração",
|
||
"clusterInquorate": "Sem quórum: as alterações ao cluster são recusadas",
|
||
"clusterMemberAbsent": "Nó configurado que o cluster não vê",
|
||
"clusterSingleLink": "Uma única ligação corosync declarada",
|
||
"dataExcludedFromBackup": "Dados excluídos do backup do convidado",
|
||
"deliveryFailing": "As entregas recentes não saíram",
|
||
"destinationUnavailable": "Destino configurado indisponível",
|
||
"diskErrorsActive": "Erro registado no período analisado",
|
||
"diskErrorsPast": "Comunicou erros antes, nenhum na janela em uso",
|
||
"diskWarningsActive": "Aviso do dispositivo registado no período analisado",
|
||
"diskWarningsPast": "Comunicou avisos do dispositivo antes, nenhum na janela em uso",
|
||
"essentialServiceDown": "Um serviço de que o Proxmox precisa para responder não está ativo",
|
||
"exemptByPolicy": "Declarado como não necessitando disto, pelo que fica fora da contagem",
|
||
"expectedButUncovered": "Declarado como necessitando backup, e nenhuma tarefa ativa o seleciona",
|
||
"expectedToAutostart": "Declarado como devendo arrancar com o anfitrião, e não arranca",
|
||
"filesystemExhausted": "Sem espaço disponível",
|
||
"filesystemNearlyFull": "No limiar de revisão de espaço ou acima",
|
||
"filesystemReadOnly": "O kernel reporta esta montagem como só de leitura: deixou de aceitar escritas",
|
||
"haManagerNotReady": "Nem ativo nem inativo: não pode assumir um serviço",
|
||
"haNoMaster": "Sem gestor: nada decide onde um serviço deve correr",
|
||
"haServiceError": "Em estado de erro e já não gerido",
|
||
"haServiceTransitioning": "Em transição",
|
||
"hostArchiveMissing": "O registo do trabalho nomeia um arquivo que já não está armazenado",
|
||
"hostBackupJobFailed": "O trabalho terminou com erro",
|
||
"hostBackupStale": "Mais antigo do que o limite de idade em uso",
|
||
"hostBackupUnscheduled": "Armazenado, sem agendamento que produza outra cópia",
|
||
"hostNoRetrievableCopy": "Nenhuma cópia de que esta verificação possa dar conta",
|
||
"indexesStale": "Os índices de pacotes não foram atualizados recentemente",
|
||
"inodesExhausted": "Sem inodes disponíveis",
|
||
"inodesNearlyExhausted": "No limiar de revisão de inodes ou acima",
|
||
"kernelAwaitingReboot": "Instalado e não é o kernel em execução",
|
||
"lynisReportStale": "O relatório do Lynis tem {days} dia(s), mais do que a idade de referência em uso",
|
||
"lynisWarning": "Registado pela auditoria do Lynis",
|
||
"multipathNoPath": "Sem qualquer caminho",
|
||
"multipathPathDown": "A servir por menos caminhos",
|
||
"noAutostart": "Não arranca com o anfitrião",
|
||
"noConfigurationReference": "Sem referência nas configurações examinadas",
|
||
"noJobSelectsGuest": "Nenhuma tarefa de backup ativa o seleciona",
|
||
"noPhysicalPort": "Não tem qualquer porta física",
|
||
"noStoredBackup": "Nenhuma cópia armazenada encontrada",
|
||
"noStoredBackupUnscheduled": "Sem tarefa agendada; nenhuma cópia encontrada",
|
||
"olderThanFallback": "A cópia ultrapassa o prazo de referência.",
|
||
"olderThanObjective": "A cópia ultrapassa o prazo definido pelo utilizador.",
|
||
"olderThanSchedule": "A cópia ultrapassa o intervalo agendado mais a margem.",
|
||
"overprovisioned": "Distribui mais capacidade virtual do que a pool possui",
|
||
"packageAwaitingRestart": "Instalado e a pedir reinício",
|
||
"pastServiceLife": "Acima do limiar de vida útil usado para planeamento",
|
||
"pinnedToHostCpu": "Fixado ao modelo de processador do anfitrião",
|
||
"poolDeviceErrors": "Dispositivo a contar erros de leitura, escrita ou soma de verificação",
|
||
"poolNotOnline": "Não está online",
|
||
"rebootMarkerWithoutPackages": "Algo escreveu o marcador de reinício sem nomear qualquer pacote",
|
||
"recoveryKeyLocalOnly": "Chave de cifragem do backup guardada apenas neste nó, conforme o modo de custódia registado",
|
||
"replicationDisabled": "Em pausa",
|
||
"replicationFailing": "A última execução reportou um erro",
|
||
"replicationNeverRan": "Nunca concluiu uma sincronização",
|
||
"replicationOverdue": "Mais antiga do que o calendário da própria tarefa permite",
|
||
"retentionNotDeclared": "Sem retenção declarada; todas as cópias são guardadas",
|
||
"retentionOnServer": "Podada no servidor de backup, sob tarefas que este nó não consegue ler",
|
||
"runsPrivileged": "Executa com privilégios, partilhando o espaço de nomes de utilizador do anfitrião",
|
||
"scrubOverdue": "Último scrub concluído mais antigo do que o limiar de revisão",
|
||
"storageNearlyFull": "No limiar de revisão de capacidade ou acima",
|
||
"storageUnreachable": "Inacessível",
|
||
"thinDataPressure": "Dados escritos próximos da capacidade da pool",
|
||
"thinMetadataPressure": "Metadados quase cheios, o que deixa a pool só de leitura",
|
||
"unitFailed": "o systemd deixou de a tentar",
|
||
"verificationFailedOnly": "A verificação leu a cópia mais recente e não estava íntegra; nenhuma outra cópia deste convidado foi verificada",
|
||
"verificationFailedWithFallback": "A verificação leu a cópia mais recente e não estava íntegra; uma cópia anterior foi verificada",
|
||
"verificationNotRun": "Nenhuma tarefa de verificação releu esta cópia"
|
||
},
|
||
"lynisTest": "Teste",
|
||
"lynisWarning": "Aviso",
|
||
"couldNotRead": "Não foi possível ler"
|
||
},
|
||
"title": "Audit & Report",
|
||
"loading": "Loading assessment…",
|
||
"run": "Run assessment",
|
||
"running": "Assessing…",
|
||
"neverRun": "This host has not been assessed yet.",
|
||
"lastRun": "Last assessed on {when}",
|
||
"stale": "{days} days ago",
|
||
"readOnlyNotice": "The assessment only reads the host. It makes no changes.",
|
||
"unverifiedChecks": "Não obtidas: {checks}. Cada uma diz na sua evidência o que não conseguiu ler.",
|
||
"noFindings": "No findings match the current filter.",
|
||
"affectedCount": "{count} affected",
|
||
"acceptedNotice": "{count} accepted risk(s) recorded on this host.",
|
||
"states": {
|
||
"fail": "Failed",
|
||
"warn": "Warning",
|
||
"accepted": "Accepted risk",
|
||
"pass": "Passed",
|
||
"not_applicable": "Not applicable",
|
||
"unknown": "Não verificado"
|
||
},
|
||
"areas": {
|
||
"all": "All",
|
||
"system": "System",
|
||
"storage": "Storage",
|
||
"network": "Network",
|
||
"security": "Security",
|
||
"backup": "Backup",
|
||
"guests": "Guests",
|
||
"hardware": "Hardware"
|
||
},
|
||
"detail": {
|
||
"why": "Context",
|
||
"evidence": "Evidence",
|
||
"affected": "Affected",
|
||
"acceptedRisk": "Accepted risk",
|
||
"sources": "Fontes e datas de coleta"
|
||
},
|
||
"errors": {
|
||
"runFailed": "The assessment could not be started."
|
||
},
|
||
"checks": {
|
||
"backup": {
|
||
"guest_coverage": {
|
||
"title": "Backup coverage",
|
||
"rationale": "Tarefas de backup ativadas neste nó, os convidados que cada uma seleciona e os dados do convidado excluídos delas. Uma cobertura configurada não prova que exista uma cópia utilizável. Se um convidado não selecionado devia ser protegido, indica-o a política declarada.",
|
||
"summary": {
|
||
"noJobs": "Não há nenhuma tarefa de backup definida neste nó para os {total} convidados que aloja",
|
||
"covered": "Todos os {total} convidados são selecionados por uma tarefa de backup ativa",
|
||
"uncovered": "{count} de {total} convidados não são selecionados por nenhuma tarefa de backup ativa",
|
||
"excludedData": "Há {count} exclusões de discos ou montagens para revisar",
|
||
"uncoveredExpected": "{required} convidados declarados como necessitando backup não são selecionados por nenhuma tarefa ativa",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"last_backup_age": {
|
||
"title": "Age of stored backups",
|
||
"rationale": "Idade: tempo decorrido desde a última cópia armazenada. Limite utilizado: idade de referência com a qual essa cópia é comparada.",
|
||
"summary": {
|
||
"recent": "As {total} verificações de máquina/destino cumprem o critério de antiguidade indicado",
|
||
"stale": "{count} of {total} guests have no backup from the last 30 days",
|
||
"noBackups": "No stored backup matches a guest on this node",
|
||
"attention": "{count} de {total} verificações de máquina/destino requerem revisão",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"retention_defined": {
|
||
"title": "Backup retention",
|
||
"rationale": "A retenção tal como o Proxmox a resolve: definição da tarefa, depois do armazenamento, depois o valor por omissão do nó. A retenção aplicada por um servidor de backup não é legível a partir deste nó.",
|
||
"summary": {
|
||
"allDefined": "As {total} tarefas resolvem uma definição de retenção",
|
||
"missing": "{count} of {total} enabled job(s) declare no retention",
|
||
"notDeclared": "{count} de {total} tarefas guardam todas as cópias: não têm retenção declarada",
|
||
"onServer": "{count} de {total} tarefas escrevem num servidor de backup, que as poda com as suas próprias tarefas",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"verification_state": {
|
||
"title": "Verificação dos backups",
|
||
"rationale": "O resultado de verificação que o Proxmox Backup Server regista para a cópia mais recente de cada convidado, e se uma cópia anterior do mesmo convidado foi verificada. A verificação lê uma cópia armazenada; não é um restauro.",
|
||
"summary": {
|
||
"allVerified": "A cópia mais recente dos {total} convidados foi verificada íntegra",
|
||
"failed": "{failed} cópias recentes falharam a verificação, de {total} examinadas",
|
||
"notVerified": "{pending} de {total} cópias recentes não foram verificadas",
|
||
"evaluationFailed": "Não foi possível ler o estado de verificação"
|
||
}
|
||
},
|
||
"job_results": {
|
||
"title": "Resultados das execuções de backup",
|
||
"rationale": "Como terminou a execução mais recente de cada convidado, segundo o registo de tarefas do nó. Só a última é avaliada. O registo é conservado por um período limitado.",
|
||
"summary": {
|
||
"allSucceeded": "As {total} execuções de backup registadas terminaram sem erro",
|
||
"someFailed": "{count} de {total} execuções de backup registadas terminaram com erro",
|
||
"evaluationFailed": "Não foi possível ler o registo de tarefas",
|
||
"recovered": "{count} de {total} convidados falharam numa execução anterior e desde então terminaram bem"
|
||
}
|
||
},
|
||
"host_recovery": {
|
||
"title": "Recuperação do host",
|
||
"rationale": "Backups do host tal como o ProxMenux os regista: cada trabalho executado, quando, se terminou bem, o destino e se essa cópia ainda lá está. Um trabalho que escreve num servidor de backup não nomeia qualquer caminho local. As chaves de cifragem são reportadas apenas por contagem e modo de custódia registado.",
|
||
"summary": {
|
||
"noHostBackup": "Não há backup da configuração do host armazenado nem temporizador que o produza",
|
||
"protected": "A configuração do próprio nó está guardada em {total} arquivo(s), dentro do limite de idade em uso",
|
||
"attention": "{count} constatação(ões) sobre {total} registo(s) de configuração do host",
|
||
"scheduledOnly": "Os backups da configuração do host estão agendados através de {count} temporizador(es); não há qualquer arquivo armazenado localmente"
|
||
}
|
||
}
|
||
},
|
||
"system": {
|
||
"pending_reboot": {
|
||
"title": "Restart state",
|
||
"rationale": "O marcador `/var/run/reboot-required` e os pacotes listados em `/var/run/reboot-required.pkgs`. A sua ausência não demonstra que não haja nada por reiniciar.",
|
||
"summary": {
|
||
"none": "Nada solicitou um reinício",
|
||
"pending": "{count} elementos estão instalados e aguardam um reinício",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"enterprise_repo_without_subscription": {
|
||
"title": "Enterprise repository",
|
||
"rationale": "Referências a `enterprise.proxmox.com` em `/etc/apt/sources.list` e `sources.list.d`, face ao estado devolvido por `pvesubscription get`.",
|
||
"summary": {
|
||
"notEnabled": "The enterprise repository is not enabled",
|
||
"subscribed": "The enterprise repository is backed by a subscription",
|
||
"unsubscribed": "The enterprise repository is enabled without an active subscription",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"memory_overcommit": {
|
||
"title": "Memory allocation",
|
||
"rationale": "O teto `memory` de cada configuração de convidado face a MemTotal, com os convidados em execução contados à parte. Os contentores consomem até esse limite; as máquinas virtuais sem ballooning reservam-no.",
|
||
"summary": {
|
||
"withinRatio": "Guests are allocated {percent}% of host memory",
|
||
"aboveRatio": "Guests are allocated {percent}% of host memory",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"time_synchronisation": {
|
||
"title": "Time synchronisation",
|
||
"rationale": "NTP e NTPSynchronized tal como o `timedatectl` os reporta. A pertença ao cluster, a validação de certificados e a ordem dos registos dependem de relógios concordantes. Outro mecanismo pode estar a disciplinar o relógio.",
|
||
"summary": {
|
||
"synchronised": "The clock is synchronised with a time source",
|
||
"disabled": "Time synchronisation is disabled",
|
||
"notSynchronised": "Time synchronisation is enabled but the clock is not synchronised",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"kernel_current": {
|
||
"title": "Running kernel",
|
||
"rationale": "O kernel em execução face àquele que o anfitrião arrancaria a seguir, conforme o `proxmox-boot-tool` o reporta. Um kernel mais recente apenas instalado pode estar retido de propósito; uma diferença após reiniciar indica um arranque que não vingou.",
|
||
"summary": {
|
||
"current": "O kernel em execução {version} é o que o anfitrião arrancaria a seguir",
|
||
"newerAvailable": "The host runs {running} while {newest} is installed",
|
||
"newerSelected": "O anfitrião executa {running} e arrancaria {selected} no próximo reinício",
|
||
"wouldDowngrade": "O anfitrião executa {running} mas arrancaria o mais antigo {selected} no próximo reinício",
|
||
"bootTargetUnknown": "O anfitrião executa {version}; não foi possível ler o kernel escolhido para o próximo arranque",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"security_updates": {
|
||
"title": "Security updates",
|
||
"rationale": "Pacotes pendentes cuja origem é um repositório de segurança, a partir de um `apt-get upgrade` simulado. O número reflete o que o apt reporta, não a gravidade do que cada pacote corrige.",
|
||
"summary": {
|
||
"none": "No package updates are pending",
|
||
"noSecurity": "{total} update(s) pending, none from a security repository",
|
||
"pending": "{count} of {total} pending update(s) come from a security repository",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"journal_size": {
|
||
"title": "Journal size",
|
||
"rationale": "O journal em disco face ao limite que se lhe aplica: SystemMaxUse quando está definido e, caso contrário, o valor por omissão do journald, um décimo do sistema de ficheiros onde reside.",
|
||
"summary": {
|
||
"bounded": "O journal ocupa {size}, dentro do seu limite efetivo",
|
||
"large": "The journal holds {size} on disk",
|
||
"nearCap": "O journal ocupa {size} e está a {percent}% do seu limite efetivo",
|
||
"capUnknown": "O journal ocupa {size}; não foi possível determinar o seu limite efetivo",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"swap_configured": {
|
||
"title": "Swap",
|
||
"rationale": "Áreas de swap ativas segundo o `swapon` e o seu total face à memória do anfitrião. Nenhuma regra exige uma proporção relativa à RAM; a pressão de memória mede-se noutro lugar.",
|
||
"summary": {
|
||
"active": "{size} of swap is active",
|
||
"none": "No swap area is active",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"filesystem_capacity": {
|
||
"title": "Capacidade dos sistemas de ficheiros do anfitrião",
|
||
"rationale": "Espaço e inodes dos sistemas de ficheiros de que o anfitrião precisa: a raiz, /var, /var/log e o caminho do armazenamento local. Um sistema de ficheiros com espaço livre e sem inodes falha tal como um cheio.",
|
||
"summary": {
|
||
"withinLimits": "Os {total} sistemas de ficheiros do anfitrião mantêm-se abaixo dos seus limiares de revisão",
|
||
"pressure": "{count} leituras estão no limiar de revisão ou acima",
|
||
"evaluationFailed": "Não foi possível ler a ocupação dos sistemas de ficheiros"
|
||
}
|
||
},
|
||
"update_chain": {
|
||
"title": "Idade dos índices de pacotes APT",
|
||
"rationale": "Quando o APT colocou pela última vez um índice de pacotes neste host. Um repositório que responde «não modificado» deixa o seu índice intacto. A acessibilidade dos repositórios não é testada.",
|
||
"summary": {
|
||
"current": "Os índices de pacotes foram atualizados há {days} dia(s)",
|
||
"stale": "Os índices de pacotes foram atualizados pela última vez há {days} dia(s)",
|
||
"indexAgeUnknown": "Não foi possível determinar a antiguidade dos índices de pacotes"
|
||
}
|
||
},
|
||
"notification_delivery": {
|
||
"title": "Último resultado de notificação",
|
||
"rationale": "Canais ativados e resultado da última entrega registada para cada um. Sem histórico, a entrega fica por verificar; uma falha seguida de sucesso não é considerada uma falha atual. Não são enviadas notificações de teste.",
|
||
"summary": {
|
||
"delivering": "A última entrega registada foi bem-sucedida nos {total} canais ativados",
|
||
"failing": "{count} de {total} canais ativados apresentam um problema de configuração ou uma falha na última entrega",
|
||
"noChannels": "Não há qualquer canal de notificação ativado",
|
||
"evaluationFailed": "Não foi possível ler o histórico de entregas"
|
||
}
|
||
},
|
||
"cluster_quorum": {
|
||
"title": "Quórum do cluster",
|
||
"rationale": "O quórum tal como o cluster o reporta, os nós configurados face aos atualmente vistos e o número de ligações corosync declaradas. As ligações são lidas da configuração, não sondadas.",
|
||
"summary": {
|
||
"standalone": "Este nó não pertence a nenhum cluster",
|
||
"quorate": "O cluster tem quórum com {total} nó(s) configurado(s) sobre {links} ligação(ões) corosync",
|
||
"attention": "{count} constatação(ões) sobre {total} nó(s) configurado(s)",
|
||
"evaluationFailed": "Não foi possível ler o estado do cluster"
|
||
}
|
||
},
|
||
"boot_loader": {
|
||
"title": "Carregador de arranque",
|
||
"rationale": "As partições de sistema EFI que o proxmox-boot-tool reporta e os kernels que cada uma leva. Nenhuma partição é montada e nenhum arranque é tentado.",
|
||
"summary": {
|
||
"synchronised": "As {total} partições de arranque levam os mesmos kernels",
|
||
"attention": "{count} de {total} partições de arranque requerem revisão",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"failed_units": {
|
||
"title": "Serviços essenciais e unidades falhadas",
|
||
"rationale": "Unidades que o systemd deu por perdidas depois de esgotar as tentativas, e os serviços de que o Proxmox precisa para responder, lidos pelo nome porque um serviço inativo nem sempre consta como falhado. O que cada unidade faz não é interpretado aqui.",
|
||
"summary": {
|
||
"allRunning": "Os {total} serviços essenciais estão ativos e nenhuma unidade falhou",
|
||
"attention": "{count} constatação(ões) entre as unidades",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"ha_state": {
|
||
"title": "Alta disponibilidade",
|
||
"rationale": "O mestre de HA, o gestor de recursos de cada nó e o estado de cada serviço gerido, segundo `ha-manager status`. Do quórum dá conta a verificação do cluster. Nenhum serviço é iniciado, parado ou migrado.",
|
||
"summary": {
|
||
"managed": "Os {total} serviços geridos estão num estado assente em {nodes} nó(s)",
|
||
"attention": "{count} constatação(ões) sobre {total} serviço(s) gerido(s)",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
},
|
||
"guests": {
|
||
"privileged_containers": {
|
||
"title": "Container privileges",
|
||
"rationale": "A definição `unprivileged` de cada configuração de contentor. A sua ausência significa que o contentor partilha o espaço de nomes de utilizador do anfitrião, algo que certas cargas necessitam.",
|
||
"summary": {
|
||
"allUnprivileged": "All {total} containers are unprivileged",
|
||
"privileged": "{count} of {total} containers run privileged",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"qemu_without_agent": {
|
||
"title": "Guest agent on virtual machines",
|
||
"rationale": "A definição `agent` na configuração de cada máquina virtual. A definição indica que o agente está declarado, não que responda.",
|
||
"summary": {
|
||
"allHaveAgent": "All {total} virtual machines declare the guest agent",
|
||
"missingAgent": "{count} of {total} virtual machines do not declare the guest agent",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"autostart": {
|
||
"title": "Automatic start",
|
||
"rationale": "A definição `onboot` de cada convidado, excluindo modelos e convidados geridos por HA. Se se espera que um convidado volte por si só, indica-o a política declarada.",
|
||
"summary": {
|
||
"allAutostart": "All {total} guests start with the host",
|
||
"notAutostart": "{count} of {total} guests do not start with the host",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"stuck_snapshots": {
|
||
"title": "Snapshot state",
|
||
"rationale": "Estado e antiguidade dos snapshots e tarefas ativas. Uma operação recente ou sem data verificável não é considerada interrompida.",
|
||
"summary": {
|
||
"noSnapshots": "No guest holds snapshots",
|
||
"allComplete": "The {total} snapshot(s) are complete",
|
||
"stuck": "{count} of {total} snapshot(s) were left mid-operation",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"cpu_host_type": {
|
||
"title": "Virtual CPU model",
|
||
"rationale": "O valor `cpu` de cada máquina virtual. `host` expõe o conjunto de instruções do processador físico, o que limita os nós para onde o convidado pode migrar. A incompatibilidade com um destino concreto não se determina aqui.",
|
||
"summary": {
|
||
"none": "None of the {total} virtual machines is pinned to the host processor",
|
||
"pinned": "{count} of {total} virtual machines are pinned to the host processor",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"replication_state": {
|
||
"title": "Replication",
|
||
"rationale": "Tarefas de replicação a partir da API: número de falhas, último erro, última sincronização e o calendário que cada tarefa declara. As tarefas em pausa são assinaladas como tal.",
|
||
"summary": {
|
||
"healthy": "The {total} replication job(s) report no error",
|
||
"failing": "{count} of {total} replication job(s) report an error",
|
||
"statusUnavailable": "Replication jobs are defined but their status could not be read",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
},
|
||
"security": {
|
||
"host_firewall_enabled": {
|
||
"title": "Ativação configurada da firewall",
|
||
"rationale": "A opção `enable` na firewall do centro de dados e na do próprio nó, e quantas regras estão escritas. O Proxmox aplica as regras do nó apenas com o interruptor do centro de dados ligado. Estas opções não indicam o que cada regra filtra.",
|
||
"summary": {
|
||
"bothEnabled": "A ativação da firewall está configurada ao nível do centro de dados e do nó",
|
||
"datacenterOff": "A firewall está desativada ao nível do centro de dados, pelo que as regras do nó não são aplicadas",
|
||
"nodeOff": "A firewall está ativada ao nível do centro de dados, mas não neste nó",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"lynis_warnings": {
|
||
"title": "Lynis warnings",
|
||
"rationale": "Avisos da última auditoria do Lynis, cada um com o seu identificador de teste, e a idade dessa auditoria. Só é executada uma auditoria se o Lynis estiver instalado e não existir relatório completo. As sugestões não são incluídas.",
|
||
"summary": {
|
||
"none": "The last Lynis audit recorded no warnings",
|
||
"found": "The last Lynis audit recorded {count} warning(s)",
|
||
"incomplete": "The Lynis report is incomplete",
|
||
"evaluationFailed": "The check could not be evaluated",
|
||
"noneStale": "A última auditoria do Lynis não registou avisos, e o seu relatório tem {days} dia(s)",
|
||
"foundStale": "A última auditoria do Lynis registou {count} aviso(s), e o seu relatório tem {days} dia(s)"
|
||
}
|
||
},
|
||
"certificate_expiry": {
|
||
"title": "Certificate validity",
|
||
"rationale": "A data de validade do certificado que o pveproxy serve a partir de /etc/pve/local. Um certificado próprio tem precedência sobre o que o Proxmox gera.",
|
||
"summary": {
|
||
"valid": "The certificate is valid for {days} more day(s)",
|
||
"expiring": "The certificate expires in {days} day(s)",
|
||
"expired": "The certificate expired {days} day(s) ago",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"ssh_root_login": {
|
||
"title": "SSH root access",
|
||
"rationale": "PermitRootLogin na configuração efetiva de `sshd -T`, com os métodos de autenticação com que se combina. O Proxmox é entregue com `yes`, que aceita palavra-passe.",
|
||
"summary": {
|
||
"password": "Root may sign in over SSH with a password",
|
||
"keyOnly": "Root may sign in over SSH with a key only",
|
||
"denied": "Root may not sign in over SSH",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
},
|
||
"storage": {
|
||
"orphaned_volumes": {
|
||
"title": "Volume assignment",
|
||
"rationale": "Volumes de convidado no armazenamento local face às referências nas configurações atuais, pendentes e de snapshots. Backups, ISOs e modelos ficam fora da comparação. Um volume sem referência é um candidato a revisão.",
|
||
"summary": {
|
||
"none": "No orphaned volumes were found",
|
||
"found": "Há {count} volumes sem referência nas configurações examinadas",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"zfs_arc_max": {
|
||
"title": "ZFS ARC limit",
|
||
"rationale": "Valores efetivos de c_min, c_max e tamanho do ARC, o parâmetro de módulo carregado e as definições persistentes em /etc/modprobe.d. Um valor configurado a zero seleciona o valor por omissão do módulo; o ARC é um teto e a memória que ocupa é recuperável.",
|
||
"summary": {
|
||
"bounded": "O limite do ARC é {percent}% da memória do anfitrião, e a memória que ocupa é recuperável",
|
||
"high": "The ARC may use {percent}% of host memory",
|
||
"unset": "The ARC has no explicit limit set",
|
||
"conflicting": "{count} definições do ARC não coincidem entre si",
|
||
"pending": "Uma definição persistente do ARC difere do valor que o módulo em execução transporta",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"zfs_scrub_age": {
|
||
"title": "ZFS scrub",
|
||
"rationale": "O último scrub concluído que o `zpool status` regista em cada pool. Um resilver não é um scrub. Uma pool criada há pouco ainda não teve ocasião de executar um.",
|
||
"summary": {
|
||
"recent": "The {total} pool(s) were scrubbed within the last 35 days",
|
||
"overdue": "{count} of {total} pool(s) have not been scrubbed in 35 days",
|
||
"neverScrubbed": "{count} pool(s) record no scrub",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"thin_pool_overprovisioning": {
|
||
"title": "Thin pool allocation",
|
||
"rationale": "Capacidade virtual distribuída por cada thin pool LVM face ao tamanho do próprio pool, e quanto os seus volumes escreveram realmente, dados e metadados em separado.",
|
||
"summary": {
|
||
"withinRatio": "Os {total} thin pools encontram-se abaixo dos limites de revisão aplicados",
|
||
"aboveRatio": "{count} de {total} thin pools distribuem mais capacidade do que possuem",
|
||
"pressure": "{pressure} de {total} thin pools estão perto de encher os seus dados ou metadados",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"connected_storage": {
|
||
"title": "Armazenamentos ligados",
|
||
"rationale": "Disponibilidade tal como o PVE a reporta, capacidade conhecida e dependências atuais de todos os armazenamentos ativados neste nó. Os componentes internos remotos não são sondados nem o acesso de escrita é testado. A capacidade é apresentada onde o PVE a conhece e fica em branco onde não.",
|
||
"summary": {
|
||
"available": "O PVE indica que os {total} armazenamentos estão disponíveis; os componentes internos remotos e o acesso de escrita não foram testados",
|
||
"attention": "{count} de {total} armazenamentos requerem revisão",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"pool_integrity": {
|
||
"title": "Integridade e redundância das pools",
|
||
"rationale": "O estado de cada pool ZFS e os contadores de leitura, escrita e soma de verificação dos seus dispositivos. Os contadores são cumulativos desde o último `zpool clear`.",
|
||
"summary": {
|
||
"healthy": "As {total} pools estão online, sem erros de dispositivo registados",
|
||
"degraded": "{count} constatações em {total} pools",
|
||
"evaluationFailed": "Não foi possível ler o estado das pools"
|
||
}
|
||
},
|
||
"ceph_health": {
|
||
"title": "Saúde do Ceph",
|
||
"rationale": "O estado de saúde do próprio Ceph e as verificações que nomeia. Os seus testes não são reimplementados e nenhum pool, grupo de colocação ou OSD é consultado à parte.",
|
||
"summary": {
|
||
"healthy": "O Ceph reporta HEALTH_OK",
|
||
"degraded": "O Ceph reporta {state}, com {count} verificação(ões) nomeada(s)",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"array_integrity": {
|
||
"title": "RAID por software e multipath",
|
||
"rationale": "Arrays mdadm e mapas multipath, lidos de /proc/mdstat e, onde a ferramenta esteja instalada, de `multipath -ll`. Os pools ZFS são reportados pela sua própria verificação.",
|
||
"summary": {
|
||
"intact": "Os {total} arrays e mapas mantêm a sua redundância",
|
||
"degraded": "{count} de {total} arrays ou mapas estão sem ela",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
},
|
||
"hardware": {
|
||
"disk_service_life": {
|
||
"title": "Disk service life",
|
||
"rationale": "Horas de funcionamento e desgaste restante a partir das leituras SMART do monitor, com a data de cada leitura. A idade é informação de planeamento; os erros de suporte e os avisos do dispositivo são reportados pelo monitor de saúde.",
|
||
"summary": {
|
||
"withinLife": "As {total} leituras de discos não excedem o limiar indicativo de cinco anos",
|
||
"pastLife": "{count} de {total} leituras de discos excedem cinco anos de funcionamento",
|
||
"noReadings": "Nenhum disco expõe contadores SMART utilizáveis ({skipped} sem leituras)",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"disk_errors": {
|
||
"title": "Erros de disco",
|
||
"rationale": "Erros detetados nos discos e registados pelo monitor de saúde.",
|
||
"summary": {
|
||
"recorded": "{count} de {total} discos com registo têm eventos anotados",
|
||
"noEvents": "Não resta qualquer evento de disco para avaliar: nenhum registado, ou todos descartados"
|
||
}
|
||
}
|
||
},
|
||
"network": {
|
||
"bond_members": {
|
||
"title": "Bond members",
|
||
"rationale": "O estado MII de cada membro do bond a partir de /proc/net/bonding e quantas ligações restam. Em active-backup, um membro de reserva figura como ativo e não transporta tráfego.",
|
||
"summary": {
|
||
"allUp": "All members of the {total} bond(s) are up",
|
||
"membersDown": "{count} bond member(s) are not up",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
},
|
||
"bridge_without_ports": {
|
||
"title": "Bridge ports",
|
||
"rationale": "A configuração de portas de cada bridge. Uma bridge sem porta física serve uma rede interna ou encaminhada.",
|
||
"summary": {
|
||
"allConnected": "The {total} bridge(s) carry a port",
|
||
"isolated": "{count} of {total} bridge(s) carry no port",
|
||
"evaluationFailed": "The check could not be evaluated"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"summaryFallback": "The check could not be evaluated",
|
||
"acceptRisk": {
|
||
"action": "Accept risk",
|
||
"revoke": "Return to active",
|
||
"title": "Accept this risk",
|
||
"reasonLabel": "Reason",
|
||
"reasonHelp": "Required. It is recorded together with the author and the date.",
|
||
"reasonPlaceholder": "e.g. Lab containers, not covered on purpose",
|
||
"expiryLabel": "Review after",
|
||
"expiryHelp": "When the period ends the finding becomes active again.",
|
||
"expiryNever": "Does not expire",
|
||
"expiry90": "90 days",
|
||
"expiry180": "180 days",
|
||
"expiry365": "1 year",
|
||
"cancel": "Cancel",
|
||
"confirm": "Accept risk"
|
||
},
|
||
"incomplete": "Evidência incompleta",
|
||
"progress": "Verificadas {completed} de {total}",
|
||
"expires": "Expira em {when}",
|
||
"runStates": {
|
||
"partial": "A avaliação foi concluída; algumas leituras não puderam ser feitas.",
|
||
"failed": "Avaliação interrompida ou falhou. Revise a evidência antes de usar os resultados."
|
||
},
|
||
"severities": {
|
||
"CRITICAL": "Crítico",
|
||
"WARNING": "Aviso",
|
||
"INFO": "Informação",
|
||
"OK": "OK"
|
||
},
|
||
"viewSwitch": {
|
||
"ariaLabel": "Switch between assessment and inventory",
|
||
"assessment": "Assessment",
|
||
"inventory": "Inventory",
|
||
"policy": "Política",
|
||
"changes": "Alterações"
|
||
},
|
||
"inventory": {
|
||
"loading": "Loading inventory…",
|
||
"failed": "The inventory could not be composed.",
|
||
"collectedAt": "Composed on {when}",
|
||
"unavailable": "Not read in this inventory",
|
||
"unresolved": "path not resolved",
|
||
"noUplink": "no uplink",
|
||
"identity": "Node identity",
|
||
"node": "Node",
|
||
"pveVersion": "Proxmox VE",
|
||
"kernel": "Kernel",
|
||
"subscription": "Subscription",
|
||
"cluster": "Cluster",
|
||
"standalone": "Not in a cluster",
|
||
"hardware": "Hardware",
|
||
"system": "System",
|
||
"serial": "Serial number",
|
||
"bios": "BIOS",
|
||
"cpu": "Processor",
|
||
"topology": "Layout",
|
||
"cpuLayout": "{sockets} socket(s) × {cores} cores = {threads} threads",
|
||
"virtualisation": "Virtualisation",
|
||
"memory": "Memory",
|
||
"iommuGroups": "IOMMU groups",
|
||
"network": "Network",
|
||
"storage": "Storage",
|
||
"name": "Name",
|
||
"type": "Type",
|
||
"content": "Content",
|
||
"shared": "Shared",
|
||
"yes": "Yes",
|
||
"no": "No",
|
||
"guests": "Guests",
|
||
"ostype": "Operating system",
|
||
"onboot": "Starts with host",
|
||
"tags": "Tags",
|
||
"privilege": "Privilege",
|
||
"privileged": "Privileged",
|
||
"unprivileged": "Unprivileged",
|
||
"features": "Features",
|
||
"agent": "Guest agent",
|
||
"cpuModel": "CPU model",
|
||
"disks": "Disks",
|
||
"interfaces": "Network interfaces",
|
||
"protection": "Backup",
|
||
"passthrough": "Passthrough",
|
||
"noBackup": "No backup",
|
||
"noBackupDetail": "No enabled backup job selects this guest.",
|
||
"applications": "Applications",
|
||
"versionUnknown": "version not detected",
|
||
"passthroughTitle": "PCI passthrough",
|
||
"iommuGroup": "IOMMU group {group}",
|
||
"sharedGroup": "{count} more device(s) in the same group",
|
||
"proxmenux": "ProxMenux optimizations",
|
||
"latency": "Latência de rede",
|
||
"subscriptionStatus": {
|
||
"notfound": "Sem subscrição",
|
||
"active": "Ativa",
|
||
"invalid": "Inválida",
|
||
"expired": "Expirada",
|
||
"suspended": "Suspensa",
|
||
"new": "Aguarda ativação",
|
||
"unknown": "Desconhecido"
|
||
}
|
||
},
|
||
"profile": {
|
||
"label": "Report",
|
||
"full": "Full audit",
|
||
"inventory": "Inventory",
|
||
"security": "Security review",
|
||
"backup": "Backup assurance",
|
||
"capacity": "Capacity and wear",
|
||
"diagnostic": "Diagnóstico rápido"
|
||
},
|
||
"document": {
|
||
"action": "Gerar relatório",
|
||
"title": "Relatório de auditoria",
|
||
"subtitle": "Estrutura, configuração e avaliação de {node}",
|
||
"generated": "Gerado",
|
||
"assessed": "Assessed",
|
||
"runId": "Assessment reference",
|
||
"print": "Print or save as PDF",
|
||
"summaryByArea": "Summary by area",
|
||
"area": "Area",
|
||
"inventoryAnnex": "Inventory annex",
|
||
"scopeTitle": "Scope of this report",
|
||
"scopeBody": "This report describes the Proxmox VE node named above, as observed from the node itself at the time stated. It does not cover the interior of the guests beyond what they declare, network equipment outside the host, physical infrastructure, or any dependency not visible from this node. Findings marked as not determined were not measured and are not evidence of absence.",
|
||
"building": "A compor o relatório…",
|
||
"node": "Nó",
|
||
"profile": "Perfil",
|
||
"unknownNode": "nó não identificado",
|
||
"executiveSummary": "Resumo da avaliação",
|
||
"assessment": "Avaliação",
|
||
"verdictHeading": "Resultado desta execução",
|
||
"verdict": {
|
||
"critical": "ATENÇÃO",
|
||
"warning": "REVER",
|
||
"conformant": "EM ORDEM"
|
||
},
|
||
"verdictText": {
|
||
"critical": "{fail} verificações relatam uma condição falhada e {warn} uma condição a rever, de {total} avaliadas.",
|
||
"warning": "Nenhuma verificação relata uma condição falhada. {warn} de {total} relatam uma condição a rever.",
|
||
"conformant": "As {total} verificações deste perfil concluem sem condições falhadas nem a rever.",
|
||
"none": "Este perfil não executa verificações. O documento descreve o nó sem o avaliar."
|
||
},
|
||
"runAt": "Executado a {date}",
|
||
"chartNote": "Verificações por área e resultado.",
|
||
"nodeIdentity": "Identidade do nó",
|
||
"system": "Sistema",
|
||
"cluster": "Cluster",
|
||
"standaloneNote": "Este nó não faz parte de um cluster: mantém a sua própria configuração e os seus convidados não migram para outro nó.",
|
||
"clusterDiagramNote": "Nós configurados e as ligações corosync que os unem.",
|
||
"thisNode": "este nó",
|
||
"unreachable": "não visto",
|
||
"member": "membro",
|
||
"corosyncLinks": "ligações",
|
||
"quorum": "Quórum",
|
||
"quorate": "com quórum",
|
||
"inquorate": "sem quórum",
|
||
"votes": "Votos",
|
||
"nodeName": "Nó",
|
||
"architecture": "Arquitetura do sistema",
|
||
"architectureNote": "Como o nó está montado: processador e memória na placa, e o que depende de cada controladora.",
|
||
"systemIdentity": "Identidade do sistema",
|
||
"board": "Placa",
|
||
"processor": "Processador",
|
||
"topology": "Sockets × núcleos / threads",
|
||
"memory": "Memória",
|
||
"cores": "núcleos",
|
||
"threads": "threads",
|
||
"memoryModules": "Módulos de memória",
|
||
"slot": "Ranhura",
|
||
"slotsUsed": "ranhuras ocupadas",
|
||
"slotsFilled": "{used} de {total} ranhuras ocupadas",
|
||
"emptySlot": "vazia",
|
||
"formFactor": "Formato",
|
||
"speed": "Velocidade",
|
||
"manufacturer": "Fabricante",
|
||
"product": "Modelo",
|
||
"serial": "Número de série",
|
||
"controllers": "Controladoras",
|
||
"class": "Classe",
|
||
"device": "Dispositivo",
|
||
"iommuGroups": "Grupos IOMMU",
|
||
"iommuGroup": "Grupo IOMMU",
|
||
"field": "Campo",
|
||
"value": "Valor",
|
||
"size": "Tamanho",
|
||
"type": "Tipo",
|
||
"storageDevices": "Dispositivos de armazenamento",
|
||
"disks": "Discos",
|
||
"model": "Modelo",
|
||
"bus": "Bus",
|
||
"serviceLife": "Horas de serviço",
|
||
"healthy": "íntegro",
|
||
"years": "{years} anos",
|
||
"events": "Eventos",
|
||
"observations": "Observações",
|
||
"observationsNote": "Eventos registados. O SMART relata o estado atual; este registo relata o que aconteceu, incluindo eventos de que o disco recuperou.",
|
||
"noObservations": "Sem eventos registados",
|
||
"noObservationsNote": "Nenhum disco registou erros desde que o monitor os observa.",
|
||
"event": "Evento",
|
||
"severity": "Gravidade",
|
||
"occurrences": "Ocorrências",
|
||
"firstSeen": "Primeira vez",
|
||
"lastSeen": "Última vez",
|
||
"detail": "Detalhe",
|
||
"network": "Rede",
|
||
"adapters": "Adaptadores",
|
||
"bond": "Bond",
|
||
"bridge": "Bridge",
|
||
"bridges": "Bridges",
|
||
"physicalAdapters": "Adaptadores físicos",
|
||
"interface": "Interface",
|
||
"driver": "Controlador",
|
||
"state": "Estado",
|
||
"networkDiagramNote": "Caminho do cabo até cada convidado: adaptador físico, bond quando os agrupa, bridge e convidados ligados.",
|
||
"storageAndProtection": "Armazenamento e proteção",
|
||
"storage": "Armazenamento",
|
||
"content": "Conteúdo",
|
||
"shared": "Partilhado",
|
||
"location": "Localização",
|
||
"backupDestination": "Destino dos backups",
|
||
"unprotected": "sem backup",
|
||
"storageDiagramNote": "Onde residem os discos dos convidados e que destino os salvaguarda.",
|
||
"unprotectedGuests": "{count} convidados sem tarefa de backup",
|
||
"allProtected": "Todos os convidados estão cobertos por uma tarefa de backup",
|
||
"allProtectedNote": "A cobertura indica que uma tarefa seleciona o convidado; o resultado dos backups é avaliado à parte.",
|
||
"vmid": "VMID",
|
||
"name": "Nome",
|
||
"kind": "Tipo",
|
||
"backup": "Backup",
|
||
"none": "nenhum",
|
||
"managedSoftware": "Software gerido pelo ProxMenux",
|
||
"version": "Versão",
|
||
"source": "Origem",
|
||
"current": "atualizado",
|
||
"updateAvailable": "atualizar para {version}",
|
||
"findings": "Constatações em detalhe",
|
||
"incomplete": "parcial",
|
||
"scope": "Âmbito deste relatório",
|
||
"scopeText": "Este documento reporta o perfil {profile} no nó indicado no cabeçalho, no momento da execução.",
|
||
"scopeLocal": "Cobre apenas este nó. Os convidados de outros nós e a sua configuração ficam de fora.",
|
||
"scopeReadOnly": "Todas as verificações leem configuração e estado já existentes; nenhuma modifica o anfitrião.",
|
||
"scopeMoment": "Descreve o estado no momento da execução, não um período de tempo.",
|
||
"notRead": "Fontes que não foi possível ler:",
|
||
"uplink": "Ligação ascendente",
|
||
"conformance": "{pass} de {total} conformes",
|
||
"latency": "Latência de rede",
|
||
"latencyNote": "Latência medida na janela indicada, uma linha por destino.",
|
||
"milliseconds": "ms",
|
||
"hours": "h",
|
||
"minimum": "Mínimo",
|
||
"average": "Média",
|
||
"maximum": "Máximo",
|
||
"packetLoss": "Perda de pacotes",
|
||
"samples": "Amostras",
|
||
"target": {
|
||
"label": "Destino",
|
||
"gateway": "Gateway",
|
||
"cloudflare": "Cloudflare (1.1.1.1)",
|
||
"google": "Google (8.8.8.8)"
|
||
},
|
||
"actionShort": "Relatório",
|
||
"policyDeclared": "Foi avaliado face a uma política declarada: {guests} convidados, {storages} armazenamentos e {thresholds} limiares indicados.",
|
||
"policyNone": "Não há política declarada, pelo que uma ausência que este relatório não consegue interpretar é indicada como observação e nunca como aviso.",
|
||
"diagnosticTitle": "Diagnóstico rápido",
|
||
"diagnosticSubtitle": "Resultados críticos e avisos em {node}",
|
||
"diagnosticActing": "{count} resultado(s) crítico(s) e aviso(s).",
|
||
"diagnosticClear": "Nenhum resultado crítico nem aviso. As observações e os resultados conformes estão na auditoria completa.",
|
||
"diagnosticUnread": "Leituras que não foi possível obter",
|
||
"diagnosticMoreRows": "{count} linha(s) adicionais, na auditoria completa.",
|
||
"structureTitle": "Estrutura e configuração",
|
||
"structureSubtitle": "Como {node} está construído e configurado",
|
||
"postureTitle": "Posture",
|
||
"posture": {
|
||
"security": "Host exposure and access.",
|
||
"backup": "Guest protection and whether it is real.",
|
||
"capacity": "Room to grow and the wear on the disks."
|
||
}
|
||
},
|
||
"results": "Resultados",
|
||
"classifications": {
|
||
"critical": "Crítico",
|
||
"warning": "Aviso",
|
||
"observation": "Observação",
|
||
"conformant": "Conforme",
|
||
"unverified": "Não verificado",
|
||
"not_applicable": "Não aplicável",
|
||
"accepted": "Risco aceite",
|
||
"by_design": "Excluído pela política"
|
||
},
|
||
"policy": {
|
||
"inherit": "{value} (predefinição)",
|
||
"inheritUnset": "Predefinição",
|
||
"conflict": "A declaração foi alterada noutra sessão. O rascunho não foi guardado.",
|
||
"reload": "Recarregar a declaração guardada (descartar rascunho)",
|
||
"intro": "Uma avaliação vê o que este anfitrião faz, não para que serve. O que aqui se declara transforma uma observação em aviso, ou retira-a da contagem. Nada é obrigatório: sem declaração o relatório descreve em vez de julgar.",
|
||
"loading": "A ler a declaração…",
|
||
"failed": "Não foi possível ler a declaração",
|
||
"saved": "Guardado",
|
||
"declaredCount": "{count} declarações",
|
||
"guestsNote": "Requerido comunica como aviso o que falta; não declarado comunica-o como observação; não requerido deixa-o fora da contagem.",
|
||
"storagesNote": "Um armazenamento inacessível é crítico quando está declarado essencial ou serve um convidado em execução, aviso quando o seu papel não está declarado, e observação quando está declarado opcional.",
|
||
"thresholds": "Limiares",
|
||
"thresholdsNote": "Vazio significa o valor de origem, mostrado como marcador.",
|
||
"backup": "Backup",
|
||
"autostart": "Arranque",
|
||
"objective": "Objetivo de recuperação",
|
||
"objectivePlaceholder": "horas",
|
||
"noGuests": "Este nó não aloja convidados.",
|
||
"expectation": {
|
||
"required": "Necessário",
|
||
"not_required": "Não necessário",
|
||
"unspecified": "Não declarado"
|
||
},
|
||
"role": {
|
||
"essential": "Essencial",
|
||
"optional": "Opcional",
|
||
"unspecified": "Não declarado"
|
||
},
|
||
"threshold": {
|
||
"storage_usage_percent": "Limiar de revisão de capacidade (%)",
|
||
"thin_pool_usage_percent": "Limiar de revisão de enchimento da thin pool (%)",
|
||
"thin_overprovision_ratio": "Rácio de sobreaprovisionamento thin",
|
||
"zfs_scrub_days": "Intervalo de scrub do ZFS (dias)",
|
||
"backup_fallback_days": "Prazo de recurso para a antiguidade (dias)",
|
||
"backup_schedule_grace_ratio": "Margem sobre o calendário (rácio)",
|
||
"certificate_expiry_days": "Aviso de validade do certificado (dias)",
|
||
"memory_overcommit_ratio": "Rácio de sobreatribuição de memória",
|
||
"disk_service_life_hours": "Vida útil do disco (horas)",
|
||
"lynis_report_days": "Antiguidade do relatório Lynis (dias)",
|
||
"package_index_days": "Antiguidade dos índices de pacotes (dias)",
|
||
"journal_usage_percent": "Journal face ao seu limite (%)",
|
||
"filesystem_usage_percent": "Limiar de revisão de espaço (%)",
|
||
"filesystem_inode_percent": "Limiar de revisão de inodes (%)",
|
||
"disk_error_recent_days": "Janela de erros de disco recentes (dias)"
|
||
}
|
||
},
|
||
"changes": {
|
||
"loading": "A ler o registo de alterações…",
|
||
"failed": "Não foi possível ler o registo de alterações",
|
||
"intro": "O que o ProxMenux alterou neste host e o que existia antes de cada alteração. Mostra-se a diferença.",
|
||
"empty": "Ainda não foi registado nada neste anfitrião.",
|
||
"since": "A registar desde {date}.",
|
||
"byFunction": "Por função",
|
||
"count": "{count} alterações",
|
||
"function": "Função",
|
||
"source": "Script",
|
||
"reversibility": "Desfazer isto",
|
||
"difference": "Diferença",
|
||
"diffTruncated": "A diferença é maior do que o mostrado.",
|
||
"diffUnavailable": "O conteúdo substituído já não está guardado, pelo que a diferença não pode ser mostrada.",
|
||
"packagesAdded": "Pacotes adicionados",
|
||
"commandRun": "Comando executado",
|
||
"executionNote": "O ProxMenux executou este comando; o que mudou depende do próprio comando.",
|
||
"unknownNote": "Aplicado antes de o registo existir, por isso o estado anterior não foi capturado.",
|
||
"noneInFilter": "Não há alterações deste tipo.",
|
||
"class": {
|
||
"all": "Todas",
|
||
"configuration": "Configuração",
|
||
"installation": "Instalações",
|
||
"execution": "Execuções",
|
||
"registration": "Aplicado"
|
||
},
|
||
"operation": {
|
||
"write_file": "Ficheiro substituído",
|
||
"file_created": "Ficheiro criado",
|
||
"file_modified": "Ficheiro modificado",
|
||
"write_file_created": "Ficheiro criado",
|
||
"edit_file": "Ficheiro editado",
|
||
"append_file": "Acrescentado ao ficheiro",
|
||
"remove_file": "Ficheiro removido",
|
||
"install_package": "Instalado",
|
||
"enable_service": "Serviço ativado",
|
||
"disable_service": "Serviço desativado",
|
||
"run_command": "Executado",
|
||
"applied": "Aplicado",
|
||
"removed": "Removido",
|
||
"unknown": "Alteração"
|
||
},
|
||
"capture": {
|
||
"unknown": "Estado anterior desconhecido"
|
||
},
|
||
"exactness": {
|
||
"exact": "Restaura exatamente o que lá estava",
|
||
"partial": "Parcial: podem ficar dependências ou sair com ele",
|
||
"none": "Não pode ser desfeito a partir do registo"
|
||
},
|
||
"undo": {
|
||
"remove": "Elimina o ficheiro (não existia nenhum antes)",
|
||
"restore": "Restaura exatamente o que existia",
|
||
"purge": "O pacote pode ser desinstalado"
|
||
},
|
||
"section": {
|
||
"postInstall": "Otimizações pós-instalação",
|
||
"scripts": "Scripts do ProxMenux",
|
||
"installs": "Pacotes e utilitários instalados"
|
||
},
|
||
"scriptLabel": {
|
||
"install_proxmenux": "Instalador do ProxMenux",
|
||
"monitor": "Monitor do ProxMenux"
|
||
}
|
||
},
|
||
"comparison": {
|
||
"loading": "A comparar com a execução de referência…",
|
||
"failed": "Não foi possível definir a execução de referência",
|
||
"since": "Desde {date}",
|
||
"previousRun": "a execução anterior",
|
||
"noChange": "Sem alterações",
|
||
"isBaseline": "Esta execução é a referência com que as outras são comparadas.",
|
||
"noBaseline": "Ainda não foi escolhida uma execução de referência, pelo que não há com que comparar.",
|
||
"setBaseline": "Usar como referência",
|
||
"unchanged": "{count} verificações deram o mesmo resultado que antes.",
|
||
"new": "Novos",
|
||
"newNote": "reportados agora e antes não",
|
||
"resolved": "Resolvidos",
|
||
"resolvedNote": "já não são reportados, e ninguém os aceitou",
|
||
"accepted": "Aceites",
|
||
"acceptedNote": "deixam de contar porque se aceitou um risco, não porque o anfitrião tenha mudado",
|
||
"retired": "Já não avaliados",
|
||
"retiredNote": "estavam antes e não nesta execução; nada verificou que tivessem cessado",
|
||
"reasons": {
|
||
"insufficient_runs": "Uma comparação exige uma execução de referência e outra posterior; até agora só há uma registada"
|
||
}
|
||
},
|
||
"notApplicableScope": "Nada no âmbito examinado a que esta verificação se aplique.",
|
||
"lynis": {
|
||
"title": "Run Lynis",
|
||
"bodyNotRun": "Lynis is installed but has not been run yet. Running it now completes the security review, but the process can take a few minutes.",
|
||
"bodyStale": "The Lynis report is {days} days old. You can run it now to refresh the data (it takes a little longer) or continue with the existing report.",
|
||
"withLynis": "Run with Lynis",
|
||
"withoutLynis": "Run without Lynis",
|
||
"cancel": "Cancel"
|
||
}
|
||
}
|
||
}
|