Merge develop and retain guest retention beside PBS navigation

This commit is contained in:
Jonatan
2026-10-16 23:56:46 +02:00
47 changed files with 2096 additions and 156 deletions
+54 -16
View File
@@ -353,7 +353,7 @@
"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."
"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",
@@ -595,8 +595,8 @@
"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.",
"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.",
@@ -624,7 +624,7 @@
"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.",
"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.",
@@ -667,7 +667,7 @@
"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.",
"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.",
@@ -744,7 +744,7 @@
"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.",
"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",
@@ -1110,7 +1110,21 @@
"available": "Backups disponíveis",
"loading": "Carregando backups...",
"empty": "Nenhum backup encontrado",
"emptyHint": "Crie seu primeiro backup usando o botão acima"
"emptyHint": "Crie seu primeiro backup usando o botão acima",
"refresh": "Atualizar",
"refreshFailed": "Não foi possível atualizar as cópias de segurança. Atualize novamente para confirmar o seu estado atual.",
"deleteSelected": "Eliminar selecionadas ({count})",
"deletedCount": "{count} cópia(s) de segurança eliminada(s).",
"unconfirmedCount": "A eliminação de {count} cópia(s) de segurança não foi confirmada. Atualize a lista e verifique as tarefas do Proxmox antes de tentar novamente.",
"deleteFailed": "Não foi possível confirmar a eliminação. Atualize a lista e verifique as tarefas do Proxmox antes de tentar novamente.",
"selectHint": "Selecione cópias de segurança sem proteção (até 20 por lote)",
"selectBackup": "Selecionar cópia de segurança",
"protected": "Protegida",
"confirmTitle": "Eliminar {count} cópia(s) de segurança?",
"confirmDescription": "Estes arquivos de cópia de segurança da VM/CT {vmid} serão eliminados permanentemente. As cópias protegidas estão excluídas. Isto não elimina o convidado.",
"deleting": "À espera que o Proxmox termine de eliminar os arquivos selecionados…",
"cancel": "Cancelar",
"confirmDelete": "Eliminar cópias de segurança"
},
"updatesPanel": {
"pendingTitle": "Atualizações de pacote pendentes",
@@ -1304,8 +1318,8 @@
"Sábado"
],
"runSkippedStatus": "execução ignorada",
"reasonStoppedContainer": "Container está parado;a atualização agendada foi ignorada.",
"reasonStoppedContainerHistorical": "o contêiner foi interrompido no horário de atualização agendado."
"reasonStoppedContainer": "O contêiner está parado; a atualização agendada foi ignorada.",
"reasonStoppedContainerHistorical": "O contêiner estava parado no horário da atualização agendada."
},
"cronChip": {
"detected": "cron do host detectado",
@@ -1771,7 +1785,7 @@
},
"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.",
"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",
@@ -1781,7 +1795,7 @@
"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.",
"noActiveSuppressions": "Sem supressões ativas. Os alertas dispensados do Health Monitor aparecerão aqui.",
"permanent": "Permanente",
"daysRemaining": "{count}d restantes",
"hoursRemaining": "{count}h restantes",
@@ -2111,7 +2125,13 @@
"inactiveFooter": "Habilite notificações para receber alertas de sistema, integridade e segurança por meio dos canais configurados.",
"notificationLanguage": "Idioma de notificação",
"selectNotificationLanguage": "Selecione o idioma de notificação",
"notificationLanguageHint": "Usado para notificações determinísticas de tempo de execução, mesmo quando a IA está desabilitada."
"notificationLanguageHint": "Usado para notificações determinísticas de tempo de execução, mesmo quando a IA está desabilitada.",
"appriseServiceHelp": "Configuração do Slack e do Matrix",
"appriseSlackSteps": "Crie um webhook de entrada na sua aplicação Slack para o canal de destino e cole o seu URL HTTPS completo no campo URL do Apprise. Não é necessária qualquer conversão.",
"appriseSlackDocs": "Formatos de URL e configuração do Slack",
"appriseMatrixSteps": "Utilize uma conta de notificações que possa publicar na sala. Substitua o utilizador, a palavra-passe, o homeserver e o ID completo da sala do exemplo; codifique os caracteres especiais das credenciais para URL. O esquema matrixs usa HTTPS. Consulte a documentação sobre o suporte de tokens, SSO e salas cifradas na versão do Apprise instalada.",
"appriseMatrixDocs": "Formatos de URL e configuração do Matrix",
"appriseServiceFinish": "Ative o Apprise, introduza o seu URL, escolha as categorias de notificação ou os eventos individuais, guarde e utilize Enviar teste. Estes exemplos não alteram o URL guardado. Este canal do Apprise tem um destino; utilize a API do Apprise para vários serviços em simultâneo."
},
"ai": {
"title": "Aprimoramento de IA",
@@ -3567,7 +3587,7 @@
"hour": "Passada 1h",
"day": "Passadas 24 horas",
"week": "Passado 7 dias",
"month": "Passados ​​30 dias",
"month": "Passados 30 dias",
"year": "Último 1 ano"
},
"last": {
@@ -4019,7 +4039,7 @@
},
"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.",
"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.",
@@ -4547,7 +4567,7 @@
"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.",
"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",
@@ -4756,6 +4776,24 @@
"thursday": "Quinta-feira",
"tuesday": "Terça-feira",
"wednesday": "Quarta-feira"
},
"storageRetention": {
"title": "Retenção do armazenamento",
"keepAll": "Manter todas as cópias de segurança",
"description": "Retenção predefinida de cópias de segurança guardada no Proxmox. As tarefas de cópia com uma política explícita substituem este valor predefinido.",
"refresh": "Atualizar",
"saved": "Retenção do armazenamento guardada. Não foi executada nenhuma limpeza.",
"choosePolicy": "Escolha Manter todas ou pelo menos uma quantidade de retenção superior a zero.",
"saveFailed": "Não foi possível guardar a retenção do armazenamento. Atualize a lista se a configuração tiver mudado.",
"loadFailed": "Não foi possível carregar a retenção do armazenamento.",
"empty": "Não foram encontrados armazenamentos de cópias de segurança.",
"default": "Predefinição do Proxmox",
"edit": "Editar",
"editTitle": "Retenção para {storage}",
"effect": "Aplica-se às futuras cópias de segurança que herdem esta política de armazenamento. Guardar não elimina as cópias existentes. As cópias protegidas permanecem protegidas.",
"cancel": "Cancelar",
"save": "Guardar retenção",
"useDefault": "Use o padrão Proxmox (nenhuma política neste armazenamento)"
}
},
"healthStatus": {
@@ -4912,7 +4950,7 @@
},
"noIssues": "Nenhum problema detectado",
"updateNow": "Atualizar agora",
"dismissedItems": "Itens dispensados ​​({count})",
"dismissedItems": "Itens dispensados ({count})",
"permanent": "Permanente",
"dismissed": "Dispensado",
"wasStatus": "era {status}",