{
  "title": "Validadores (Beta)",
  "subtitle": "Instale e gira nós L1 neste anfitrião. Não detentor — as chaves ficam consigo.",
  "beta": "Beta",
  "tab": {
    "nodes": "Nós",
    "disk": "Disco",
    "stack": "Programas",
    "about": "Acerca"
  },
  "empty": {
    "title": "Ainda não há nós validador",
    "desc": "Crie um nó de testnet em poucos cliques."
  },
  "refresh": "Atualizar",
  "software": {
    "engine": "Motor Docker",
    "engineDesc": "Os nós validadores são executados como projetos do Compose. Instale o Docker aqui se estiver faltando. A remoção da imagem permanece na página do Docker.",
    "client": "Cliente",
    "image": "Imagem",
    "present": "Local",
    "local": "Retirado",
    "missing": "Não puxado",
    "size": "Tamanho",
    "usedBy": "Usado por",
    "unused": "Nenhuma instância",
    "pull": "Pull",
    "pulled": "Neste hospedeiro",
    "pulling": "Puxe {{ref}}",
    "empty": "Nenhuma imagem de cliente fixada",
    "emptyDesc": "O catálogo está vazio. Isso não deveria acontecer.",
    "daemonDown": "Docker Engine não está funcionando",
    "source": "Fonte",
    "official": "Oficial mais recente",
    "officialNewer": "Oficial mais recente",
    "stale": "Atrás do alfinete",
    "staleItem": "{{id}} ({{tag}})",
    "pin": "Pino do painel",
    "openRelease": "Notas de lançamento",
    "chooseOnInstance": "Altere a versão na página da instância. Extrair uma imagem não remarca um nó em execução."
  },
  "disk": {
    "title": "Disco dos validadores",
    "root": "Diretório de dados",
    "free": "Livre",
    "used": "Usado",
    "fsUsed": "Sistema de arquivos usado",
    "leftoverTitle": "Dados restantes ({{count}})",
    "leftoverEmpty": "Não há diretórios de instância restantes",
    "leftoverDesc": "Diretórios na raiz dos validadores que não são uma instância de armazenamento. Remova somente depois de confirmar que não foram utilizados.",
    "leftoverRemove": "Remover",
    "leftoverRemoveTitle": "Excluir dados restantes do validador?",
    "leftoverRemoveDesc": "Exclua permanentemente {{path}} do disco. Este não é um nó listado.",
    "browseRoot": "Abrir no navegador de arquivos",
    "none": "Ainda sem dados de instância",
    "warn": "A utilização do disco está alta (70%+)",
    "danger": "A utilização do disco é crítica (85%+)",
    "autoClear": "Limpar automaticamente a maior instância parada quando o disco é crítico (desligado por omissão)",
    "autoClearRisk": "Destrutivo: a maior instância interrompida é excluída sem aviso adicional. O padrão está desativado. Verifique a auditoria/logs após o disparo.",
    "autoClearConfirmTitle": "Ativar limpeza automática?",
    "autoClearC1": "Quando o disco é crítico, a maior instância parada é excluída sem perguntar novamente.",
    "autoClearThreshold": "Gatilho: uso do sistema de arquivos igual ou superior a 85%.",
    "autoClearCandidate": "Candidato atual: {{id}}",
    "autoClearCandidates": "Candidatos interrompidos (maiores com dados primeiro): {{list}}",
    "autoClearNone": "Nenhuma instância parada é candidata no momento."
  },
  "chain": {
    "eth": "Ethereum",
    "avax": "Avalanche",
    "near": "NEAR",
    "ada": "Cardano",
    "btc": "Bitcoin",
    "cosmos": "Cosmos Hub",
    "sui": "Sui",
    "aptos": "Aptos",
    "dot": "Polkadot",
    "sol": "Solana"
  },
  "network": {
    "hoodi": "Hoodi",
    "sepolia": "Sepolia",
    "mainnet": "Rede principal",
    "fuji": "Fuji",
    "testnet": "Rede de testes",
    "preview": "Visualização",
    "preprod": "Pré-produção",
    "westend": "Westend"
  },
  "networkKind": {
    "testnet": "Rede de testes",
    "mainnet": "Rede principal",
    "mixed": "Rede principal + rede de teste"
  },
  "profile": {
    "minimal": "Mínimo",
    "pruned": "Pruned",
    "validator-ready": "Pronto para validador",
    "rpc": "RPC"
  },
  "profileHelp": {
    "title": "Profiles",
    "desc": "The four choices on wizard step 3 are mainly disk budget and role. Each chain shows its recommended size in the wizard. The panel never holds staking keys.",
    "colName": "Perfil",
    "colUse": "Usar para",
    "colDisk": "Disco",
    "colStake": "Validador de piquetagem",
    "useMinimal": "Testnet ou uma primeira instalação. Não é uma história completa.",
    "usePruned": "Siga a ponta da corrente a longo prazo. Mantém apenas dados recentes (Removidos).",
    "useValidatorReady": "Dimensionado para que você possa posteriormente atestar ou propor. Gere você mesmo as chaves off-line.",
    "useRpc": "Deixe este host ou outros serviços consultarem a cadeia. Escuta em 127.0.0.1 por padrão.",
    "diskMinimal": "Menor",
    "diskPruned": "Médio (mais que Mínimo)",
    "diskValidatorReady": "O maior dos quatro",
    "diskRpc": "Depende da cadeia",
    "stakeNo": "Não adequado",
    "stakeYes": "Sim – off-line ou configurado incorretamente pode perder participação",
    "stakeRpc": "Não é um validador",
    "minimal": "Menor disco. Use para testnets ou uma primeira instalação. Não é um histórico completo e não é um validador de apostas ao vivo.",
    "pruned": "Mantém o estado recente da cadeia e descarta blocos mais antigos (Removidos). Mais disco que Mínimo, menos que um nó completo. Use para seguir a dica a longo prazo.",
    "validatorReady": "Reserva mais disco para que você possa posteriormente atestar ou propor como validador. Gere você mesmo as chaves off-line. Estar offline ou mal configurado pode perder participação.",
    "rpc": "Para este host ou outros serviços consultarem a cadeia. O RPC escuta em 127.0.0.1 por padrão e não é publicado na Internet."
  },
  "col": {
    "id": "ID",
    "chain": "Cadeia",
    "network": "Rede",
    "profile": "Perfil",
    "status": "Estado",
    "traffic": "Tráfego",
    "disk": "Disco"
  },
  "cli": {
    "usage": "Utilização: ysk-server validators list|chains|disk|get|status|checklist|logs|create|start|stop|restart|clear|upgrade|set-version|versions|policy|mithril|prune|switch-network|snapshot|compose|compose-write|rewrite-compose|software|pull|leftover-remove|stats|settings|producer-keys|producer-detach|near-account [--chain C] [--network N] [--profile P] [--el EL] [--cl CL] [--el-tag T] [--cl-tag T] [--node-tag T] [--client ID] [--tag T] [--data-path P] [--rpc-port N] [--id ID] [--path PATH] [--file PATH] [--image REF] [--upgrade POLICY] [--confirm TOKEN] [--kes-file P] [--vrf-file P] [--opcert-file P] [--accept-low-disk] [--accept-low-mem] [--accept-mainnet] [--refresh] [--execute] [--json]"
  },
  "clients": {
    "el": "Cliente de execução",
    "cl": "Cliente de consenso",
    "version": "Versão",
    "pin": "Pino do painel",
    "officialNewer": "Oficial mais recente",
    "olderThanPin": "Mais antigo que o pino do painel",
    "prerelease": "Pré-lançamento",
    "current": "Correndo agora",
    "source": "Fonte da imagem"
  },
  "mithril": {
    "label": "Restaurar primeiro a partir de um instantâneo Mithril (recomendado em testnet)",
    "hint": "Esta é uma restauração única após a instalação. Não está escrito no Compose. Você também pode executá-lo posteriormente na página da instância.",
    "action": "Restaurar com Mithril"
  },
  "errors": {
    "notFound": "Instância de validador não encontrada",
    "invalidId": "Identificador de instância inválido",
    "diskLow": "Disco livre insuficiente para esta cadeia, rede e perfil",
    "memLow": "Não há RAM livre suficiente para o limite de memória desta cadeia",
    "diskUnknownMainnet": "Não é possível medir o disco livre; recusada a criação em rede principal",
    "needDocker": "É necessário Docker Compose e não foi encontrado",
    "composeFailed": "docker compose falhou",
    "containerNotUp": "O Compose foi iniciado, mas o contêiner não continuou em execução",
    "probeFailed": "O nó ainda não está respondendo ao RPC. Verifique os registros nesta página.",
    "oom": "Sem memória. Defina um limite de memória ou adicione RAM e reinicie.",
    "nofile": "O processo atingiu o limite de arquivos abertos (nofile). Aumente ulimits.nofile e reinicie.",
    "noContainer": "Não existe nenhum contêiner de composição para esta instância.",
    "restarting": "O contêiner está reiniciando. Verifique os registros nesta página.",
    "restartingCount": "O contêiner está reiniciando ({{n}}). Verifique os registros nesta página.",
    "needConfirm": "Limpar exige confirm=identificador da instância ou CLEAR",
    "mithrilAdaOnly": "A restauração Mithril só está disponível para Cardano",
    "needMithrilConfirm": "Mithril exige confirm=identificador da instância ou MITHRIL",
    "mithrilBlocked": "O docker run do Mithril foi bloqueado pela lista permitida",
    "mithrilKey": "Não foi possível carregar a chave de verificação genesis do Mithril",
    "mithrilFailed": "A transferência do instantâneo Mithril falhou",
    "pruneFailed": "A limpeza falhou",
    "switchNeedStop": "Pare o nó antes de mudar de rede",
    "switchNeedClear": "Mudar de rede apaga os dados da cadeia. Confirme com o identificador da instância ou CLEAR",
    "composeMissing": "Ficheiro Compose não encontrado",
    "composeNotManaged": "Recusa de escrever um ficheiro Compose que não é gerido pelo YSK",
    "badDataPath": "O caminho de dados deve ser um diretório absoluto fora dos caminhos do sistema",
    "portInUse": "Esse porto RPC já é usado por outra instância de validador",
    "badTag": "Essa versão do cliente não é uma tag oficial para esta imagem",
    "needVersionConfirm": "A alteração da versão requer confirm=id da instância",
    "needMainnetVersionAck": "As alterações na versão da Mainnet exigem acceptMainnet",
    "snapshotUnsupported": "Não há origem de instantâneo permitida para esta cadeia",
    "snapshotLookup": "Não foi possível resolver o ponteiro oficial do instantâneo",
    "needSnapshotConfirm": "Restaurar instantâneo exige confirm=identificador da instância ou SNAPSHOT",
    "snapshotBlocked": "O docker run do instantâneo foi bloqueado pela lista permitida",
    "snapshotFailed": "A transferência ou extração do instantâneo falhou",
    "producerAdaOnly": "As chaves do produtor são apenas para Cardano",
    "needProducerConfirm": "Anexar chaves de produtor requer confirm=instance id ou PRODUCER",
    "needMainnetProducerAck": "Anexação do produtor Mainnet requer acceptMainnet",
    "producerColdRejected": "As chaves de assinatura fria ou do proprietário do pool são recusadas. Mantenha as chaves frias offline.",
    "producerTooLarge": "Esse arquivo de chave é maior que 64 KiB",
    "producerBadType": "Esse arquivo não é uma chave KES, uma chave VRF ou um certificado operacional",
    "producerEmpty": "Forneça pelo menos um entre kes, vrf ou opcert",
    "switchNeedDetachProducer": "Desanexe as chaves do produtor antes de mudar de rede",
    "nearAccountInvalid": "O nome do pool deve ser um slug curto (ou a conta {pool}{factory} completa).",
    "nearKeyMissing": "validator_key.json está ausente ou não possui chave pública. Inicie o nó e aguarde neard init."
  },
  "notes": {
    "beta": "Esta funcionalidade é Beta. Alterações no anfitrião precisam de root e YSK_EXECUTE=1.",
    "noKeys": "O YSK Server nunca gera nem guarda chaves de staking.",
    "dockerSoon": "Instale e inicie o assistente desta página. As alterações no host precisam de root e YSK_EXECUTE=1.",
    "dryCreate": "Especificação da instância e compose escritos (dry-run). Passe --execute e YSK_EXECUTE=1 para iniciar contentores.",
    "dryStart": "O arranque é dry-run. Passe --execute e YSK_EXECUTE=1.",
    "dryStop": "A paragem é dry-run. Passe --execute e YSK_EXECUTE=1.",
    "dryClear": "A limpeza é dry-run. Passe --execute e YSK_EXECUTE=1.",
    "created": "Nó criado e compose iniciado",
    "started": "Nó iniciado",
    "stopped": "Nó parado",
    "cleared": "Dados da cadeia limpos",
    "dryMithril": "A restauração Mithril é dry-run. Passe --execute e YSK_EXECUTE=1.",
    "mithril": "Instantâneo Mithril restaurado; nó reiniciado",
    "dryPrune": "A limpeza é dry-run. Passe --execute e YSK_EXECUTE=1.",
    "pruned": "Imagens não usadas do projeto limpas",
    "pruneProfile": "A poda nativa do cliente é o perfil pruned／minimal. Recrie para o alterar.",
    "sameNetwork": "Já está nessa rede",
    "drySwitch": "A mudança de rede é dry-run.",
    "switched": "Rede alterada e dados da cadeia limpos",
    "dryCompose": "Escreveria compose.yml",
    "composeWrote": "compose.yml escrito",
    "statsEmpty": "Não há contentores em execução para medir",
    "autoClearNone": "Não há instância parada para limpar automaticamente",
    "drySnapshot": "A restauração de instantâneo é dry-run. Passe --execute e YSK_EXECUTE=1.",
    "snapshotEthEl": "Arquivo EL ethPandaOps restaurado e CL redefinido para checkpoint sync",
    "snapshotEthCl": "Dados CL redefinidos para o checkpoint sync oficial",
    "snapshotNear": "Dados NEAR apagados; o compose vai reinicializar com genesis oficial e epoch sync",
    "nativePrune": "Comando de poda nativa do cliente executado",
    "dryProducer": "As chaves do produtor são testadas. Adicione --execute e YSK_EXECUTE=1.",
    "dryProducerDetach": "A separação do produtor é executada a seco. Adicione --execute e YSK_EXECUTE=1.",
    "producerPartial": "Escreveu teclas de atalho. Anexe KES, VRF e opcert antes que o nó comece como produtor de bloco.",
    "producerAttached": "Teclas de atalho anexadas; compor reescrito como produtor de bloco",
    "producerDetached": "Teclas de atalho removidas; compor reescrito como relé",
    "dryDelete": "Excluir é uma simulação. Passe --execute e YSK_EXECUTE=1.",
    "deleted": "Nó excluído",
    "leftoverRemoved": "Restos removidos {{path}}",
    "dryNearAccount": "Definiria account_id como {{account}} (passar --execute). O segredo nunca é alterado.",
    "nearAccountWrote": "Defina account_id como {{account}}. O segredo não foi alterado. Reinicie o nó se ele estiver em execução."
  },
  "create": "Criar nó",
  "wizard": {
    "title": "Criar nó",
    "stepOf": "Etapa {{n}} / {{total}}",
    "stepChain": "Corrente",
    "stepNetwork": "Rede",
    "stepProfile": "Perfil",
    "stepSummary": "Resumo",
    "needDocker": "O Docker Engine não está instalado. Instale-o primeiro – este botão permanece desativado.",
    "diskNeed": "Este perfil precisa de cerca de {{need}} · grátis {{free}}",
    "diskNeedNetwork": "O padrão (mínimo) para esta rede precisa de cerca de {{need}} · grátis {{free}}",
    "profileHint": {
      "minimal": "Menor sincronização – disco leve, não para piquetagem.",
      "pruned": "Mantém apenas o histórico recente (Removido). Menor que o arquivo, ainda utilizável para RPC.",
      "validator-ready": "Dimensionado para um validador de piquetagem. Precisa de mais disco do que o mínimo.",
      "rpc": "Nó RPC público — não é um validador de piquetagem."
    },
    "diskShort": "Disco livre insuficiente para esta cadeia/rede/perfil",
    "diskShortDetail": "Precisa {{need}} · grátis {{free}} · curto {{short}}",
    "memShort": "Não há RAM livre suficiente para o limite de memória desta cadeia",
    "memShortDetail": "Precisa {{need}} · grátis {{free}} · curto {{short}}",
    "needCustomPath": "Insira um caminho de dados absoluto",
    "previewId": "ID do nó",
    "previewCompose": "Compor projeto",
    "profileSeeAbout": "What each profile means is on the About tab.",
    "back": "Voltar",
    "next": "Seguinte",
    "install": "Instalar",
    "mainnetWarn": "A rede principal precisa de muito disco livre (ETH costuma ser 800 GiB+). Recomenda-se testnet.",
    "mainnetAck": "Compreendo o risco de disco e slashing. Continuar na rede principal.",
    "lowDiskAcked": "O disco livre está abaixo do tamanho recomendado. Você confirmou a criação de qualquer maneira; a sincronização pode parar se o disco ficar cheio.",
    "lowMemAcked": "A RAM livre está abaixo do limite de memória desta cadeia mais 1 GiB de espaço livre. Você confirmou a criação de qualquer maneira; o nó pode OOM ou parar.",
    "heavyWarn": "Esta cadeia é pesada (muito disco e IOPS altos). Solana na rede principal costuma precisar de 2 TiB+.",
    "memory": "Limite de memória (p. ex. 4g)",
    "cpus": "Limite de CPU (p. ex. 2.0)",
    "dataPath": "Caminho de dados (opcional)",
    "rpcPort": "Porto RPC (opcional)",
    "limitNone": "Sem limite",
    "rpcDefault": "Padrão",
    "customPath": "Use um caminho de dados personalizado",
    "installConfirmTitle": "Instalar este nó?",
    "installConfirmDesc": "{{chain}} · {{network}} · {{profile}}. Cerca de {{disk}} de disco. A extração da imagem pode demorar muito.",
    "installC1": "Vários gigabytes de imagens podem ser baixados.",
    "installC2": "Você pode cancelar a tarefa do painel; imagens já extraídas não são excluídas automaticamente.",
    "installC3": "Mainnet usa muito disco. Um validador de piquetagem pode perder a aposta se estiver offline ou configurado incorretamente. Digite o ID do nó para confirmar.",
    "dockerAbout": "O Docker Engine é necessário para instalar e iniciar nós.",
    "dockerAboutOk": "O Docker Engine está instalado.",
    "dockerAboutMissing": "O Docker Engine não está instalado. Abra o Docker para instalá-lo.",
    "rewriteCompose": "Reescrever escrever",
    "rewriteComposeTitle": "Reescrever compose.yml do adaptador atual?",
    "rewriteComposeDesc": "Substitui a composição gerada por {{id}} usando os sinalizadores enviados para esta cadeia.",
    "chainMeta": "{{disk}} min · {{clients}} clientes"
  },
  "actions": {
    "detail": "Detalhes",
    "start": "Iniciar",
    "stop": "Parar",
    "restart": "Reiniciar",
    "clear": "Limpar",
    "upgrade": "Atualizar",
    "setVersion": "Alterar versão",
    "clearConfirm": "Escreva o identificador da instância ou CLEAR",
    "prune": "Limpar imagens",
    "switchNetwork": "Mudar de rede",
    "removeUnit": "Também remover compose / o registo da instância",
    "restoreAfter": "Restaurar instantâneo após limpar",
    "delete": "Excluir",
    "deleteTitle": "Excluir {{id}}",
    "deleteDesc": "Isso remove o nó do painel.",
    "deleteC1": "Docker Compose foi interrompido e removido",
    "deleteC2": "Os dados da cadeia no disco são excluídos",
    "deleteC3": "O registro da instância é removido",
    "pruneTitle": "Remover imagens não utilizadas",
    "pruneDesc": "Digite o ID da instância para remover imagens não utilizadas do Compose para este nó.",
    "pruneC1": "As imagens não utilizadas marcadas para este projeto do Compose serão excluídas.",
    "clearTitle": "Limpar {{id}}",
    "clearC1": "Os dados da cadeia no disco são excluídos.",
    "clearC2": "A instância permanece no painel, parada e vazia.",
    "switchTitle": "Trocar de rede",
    "switchC1": "O nó é interrompido e os dados da cadeia são apagados antes que a nova rede seja gravada."
  },
  "policy": {
    "label": "Política de atualização",
    "manual": "À mão",
    "notify": "Notificar",
    "auto-safe": "Automático (seguro)",
    "auto-all": "Automático (tudo)"
  },
  "logs": {
    "empty": "Ainda sem registos",
    "follow": "Seguir registos"
  },
  "compose": {
    "label": "Ficheiro Compose",
    "save": "Guardar compose"
  },
  "snapshot": {
    "action": "Restaurar instantâneo",
    "mithril": "O Cardano usa Mithril para restaurar instantâneos certificados.",
    "eth": "A rede principal Ethereum arranca com o checkpoint sync oficial do cliente de consenso. O EL continua com snap sync.",
    "ethEl": "Hoodi/Sepolia podem restaurar um arquivo EL ethPandaOps e depois fazer checkpoint-sync do CL.",
    "avax": "A Avalanche usa state-sync no perfil compose.",
    "near": "Os instantâneos tar gratuitos oficiais da NEAR foram retirados. Restaurar apaga dados e usa genesis oficial mais epoch sync.",
    "none": "Não há origem de instantâneo configurada para esta cadeia."
  },
  "producer": {
    "title": "Bloquear teclas de atalho do produtor",
    "hint": "Este não é um endereço IP. Carregue a chave KES, a chave VRF e o certificado operacional de uma máquina offline. Mantenha as chaves frias fora deste host.",
    "warn": "O mesmo nó com porta P2P pública assinará blocos. A topologia oficial mantém o produtor fora da Internet pública. Esses três arquivos são teclas de atalho.",
    "kes": "KES",
    "vrf": "VRF",
    "opcert": "opcert",
    "missing": "Não anexado",
    "present": "Em anexo {{fp}}",
    "presentShort": "No anfitrião",
    "queuedShort": "Preparar",
    "queued": "Selecionado · {{name}}",
    "fileHint": "Nome típico {{file}}",
    "dropOrBrowse": "Solte {{file}} aqui ou navegue",
    "dropping": "Solte para anexar {{label}}",
    "browse": "Navegar",
    "clearFile": "Remover",
    "choose": "Escolha o arquivo",
    "apply": "Aplique e reinicie como produtor de bloco",
    "detach": "Desconecte e execute como relé",
    "applyTitle": "Anexe teclas de atalho a {{id}}?",
    "applyDesc": "KES, VRF e opcert são gravados no diretório de chaves de instância. Compor é reescrito. O contêiner é reiniciado como produtor de blocos.",
    "applyC1": "As chaves frias devem permanecer offline. Não carregue cold.skey.",
    "applyC2": "O nó em execução pode assinar blocos se esses arquivos forem válidos.",
    "applyC3": "Mainnet: um produtor offline ou mal configurado perde blocos.",
    "detachTitle": "Desanexe as chaves do produtor de {{id}}?",
    "detachDesc": "As teclas de atalho são excluídas deste host. O Compose volta para retransmitir.",
    "detachC1": "O nó não produzirá mais blocos.",
    "mainnet": "Mainnet: Entendo que este host conterá teclas de atalho e blocos de sinalização."
  },
  "stake": {
    "title": "Preparar staking (as chaves ficam consigo)",
    "offlineKeys": "Gere as chaves offline. O painel nunca as guarda.",
    "deposit": "Conclua o depósito / registo no launchpad oficial.",
    "withdrawal": "Defina você mesmo as credenciais de levantamento.",
    "monitor": "Vigie disco, pares e distintivos de atualização nesta página."
  },
  "playbook": {
    "overviewTitle": "Como funciona o staking em cada cadeia",
    "overviewDesc": "Este painel executa o nó. Sua carteira e chaves ficam com você. Apenas links oficiais – nunca compartilhe uma frase-semente aqui.",
    "colChain": "Corrente",
    "colModel": "Como você se registra",
    "colMin": "Mínimo típico",
    "colWallet": "Sua carteira",
    "colPanel": "O que este painel faz",
    "yskDoes": "Este painel faz",
    "youDo": "Você faz",
    "steps": "Passos",
    "never": "Não",
    "official": "Links oficiais",
    "seeAbout": "As etapas completas estão na guia Sobre.",
    "nodeIdReady": "NodeID (deste nó)",
    "nodeIdPending": "NodeID aparece depois que o nó é sincronizado e responde ao RPC.",
    "blsReady": "Chave pública BLS",
    "blsProof": "Prova de posse BLS",
    "blsPending": "As credenciais BLS aparecem depois que o nó responde ao RPC.",
    "copyAll": "Copiar tudo",
    "copyNamed": "Copiar {{label}}",
    "nearStakeKey": "Chave pública de aposta",
    "nearStakeKeyPending": "Aparece após a primeira inicialização (perto do init). RPC não está pronto não significa que a chave está faltando.",
    "nearAccountId": "Arquivo chave account_id",
    "nearAccountIdPending": "Freqüentemente vazio até que você o defina como {{pool}}{{suffix}} depois que o pool existir. O painel escreve apenas este campo — nunca secret_key.",
    "nearFactory": "Fábrica de piquetes",
    "nearPublicAddr": "P2P público (pares)",
    "nearPublicAddrPending": "Aparece após a primeira inicialização e escreve WAN:{{port}} em config.json.",
    "nearCreateCommand": "Comando create_staking_pool",
    "nearPointing": "O contrato do pool não utiliza o IP deste servidor. Ele armazena a chave pública de participação deste nó. Os peers usam a linha Public P2P acima (porta host {{port}}). O RPC permanece no host local.",
    "nearAccountIdHint": "Depois que o pool existir, defina account_id aqui (não edite o arquivo manualmente). O painel nunca escreve secret_key.",
    "cosmosPubkey": "Chave pública de consenso",
    "cosmosPubkeyPending": "Aparece depois que o gaiad init grava priv_validator_key.json. RPC não está pronto não significa que a chave está faltando.",
    "cosmosChainId": "ID da cadeia",
    "cosmosP2p": "P2P público (endereço_externo)",
    "cosmosP2pPending": "Aparece após a primeira inicialização e escreve tcp://WAN:{{port}} em config.toml.",
    "ethBeacon": "API Beacon (localhost)",
    "ethBeaconPending": "Beacon HTTP neste host. Aponte um cliente validador que você mesmo executa para este URL - este compose não tem VC.",
    "cosmosCreateCommand": "comando criar-validador",
    "cosmosCreateJson": "validador.json (gaiad v28)",
    "copyFailed": "Falha na cópia",
    "solIdentity": "Chave pública de identidade",
    "solIdentityPending": "Aparece depois que o RPC responde getIdentity. Este processo é --no-voting até que você mesmo adicione uma conta de voto.",
    "adaP2pPort": "Retransmitir porta P2P",
    "adaP2pPending": "Anuncie o IPv4 público deste host (ou DNS) e esta porta no certificado de registro do pool. topology.json localRoots é para o seu próprio produtor de blocos. Este painel não testa WAN.",
    "notPosTitle": "Não é prova de participação",
    "notPosBody": "Bitcoin aqui é um nó completo ou podado. Não há carteira de piquetagem nesta página.",
    "eth": {
      "model": "Este compose executa apenas execução + beacon - não um cliente validador. Deposite 32 ETH na plataforma de lançamento oficial.",
      "min": "32 ETH + gás",
      "wallets": "MetaMask, Ledger, Trezor – apenas na plataforma de lançamento oficial",
      "panel": "Executa o farol EL +. API RPC e beacon no host local. Nenhum cliente validador no Compose.",
      "honesty": "Esta instância é apenas execução + beacon. Não há cliente validador no arquivo de composição. Copiar um keystore no diretório de dados do beacon não iniciará a atestação. O contrato de depósito não leva o IP deste servidor.",
      "yskDoes": [
        "Instale e inicie os clientes de execução e beacon.",
        "Mostrar disco, peers e status de atualização.",
        "Não executa um cliente validador e não carrega um keystore de assinatura."
      ],
      "youDo": [
        "Crie você mesmo o keystore e o endereço de retirada na plataforma de lançamento oficial ou com staking-deposit-cli.",
        "Deposite 32 ETH na plataforma de lançamento desta rede.",
        "Execute você mesmo um cliente validador (não este composto) na API de beacon localhost desta instância."
      ],
      "steps": [
        "Aguarde até que a execução e o beacon sejam sincronizados.",
        "Abra a barra de lançamento oficial desta rede (Hoodi ou Mainnet nesta página). Sepolia não tem botão de launchpad aqui.",
        "Off-line, gere o keystore (staking-deposit-cli). Defina o endereço de retirada para sua própria carteira ETH.",
        "Deposite 32 ETH no launchpad (guarde o extra para gasolina).",
        "Execute você mesmo um validator client no URL do beacon neste cartão (exemplo: lighthouse vc --beacon-nodes). Este compose não tem VC - colocar um keystore no beacon datadir não atesta."
      ],
      "never": [
        "Nunca forneça sua frase-semente ou chave de retirada a ninguém, incluindo este painel.",
        "Nunca carregue um keystore de assinatura em uma nuvem hospedada.",
        "Não espere que esta página ateste depois de copiar um keystore no beacon datadir."
      ]
    },
    "avax": {
      "model": "Registre a prova NodeID e BLS em execução na P-Chain do Core ou Ledger.",
      "min": "2.000 AVAX + taxa (1 AVAX no Fuji); pelo menos 14 dias",
      "wallets": "Núcleo, razão",
      "panel": "Executa o avalanchego e pode mostrar NodeID e BLS após respostas RPC",
      "yskDoes": [
        "Execute o avalanchego e mantenha o RPC no host local.",
        "Mostre as credenciais NodeID e BLS assim que o nó responder ao RPC."
      ],
      "youDo": [
        "Segure AVAX no Core ou Ledger.",
        "Adicione o validador do Core usando o NodeID e a prova BLS deste nó."
      ],
      "steps": [
        "Aguarde até que este nó seja sincronizado e as linhas NodeID / BLS apareçam (RPC).",
        "Copie a chave pública NodeID, BLS e o comprovante de posse BLS.",
        "Na web Core (Staking → Validar), ou com Ledger via Core, registre-se na P-Chain. A transação não utiliza IP de servidor.",
        "A Mainnet precisa de pelo menos 2.000 AVAX, um período mínimo de 14 dias e uma reserva de taxa. Fuji é 1 AVAX."
      ],
      "never": [
        "Não envie AVAX para este painel.",
        "Não compartilhe sua frase de recuperação Core ou Ledger."
      ]
    },
    "ada": {
      "model": "Opere um pool de apostas com chaves offline / KES / VRF - não com um toque na carteira do navegador.",
      "min": "O compromisso é sua escolha (veja os documentos oficiais)",
      "wallets": "Ferramentas oficiais de participação (cold keys permanecem off-line)",
      "panel": "Executa primeiro o cardano-node como um relé; teclas de atalho podem ser anexadas nesta página.",
      "honesty": "Esta instância começa como uma retransmissão. O registro do pool on-chain usa chaves frias que você mantém offline. Os pares e a topologia usam o IPv4 público deste host e a porta P2P mostrada aqui — o painel não investiga a WAN.",
      "yskDoes": [
        "Execute a restauração do snapshot cardano-node e Mithril quando oferecido.",
        "Anexe KES, VRF e opcert ao fornecê-los. As chaves frias são recusadas."
      ],
      "youDo": [
        "Gere chaves de pool offline.",
        "Registre o pool com o Cardano CLI oficial. Coloque o IPv4 ou DNS público deste host e a porta de retransmissão P2P no certificado de registro do pool.",
        "Anexe KES, VRF e opcert nesta página. Não carregue chaves frias."
      ],
      "steps": [
        "Leia o guia oficial de operação de pool.",
        "Gere chaves cold, KES e VRF em uma máquina offline.",
        "Registre o pool na rede. Anuncie o relé nesse certificado (--pool-relay-ipv4 ou DNS + a porta P2P nesta placa). A descoberta pública é o certificado, não topology.json.",
        "Nesta página da instância, anexe KES, VRF e o certificado operacional. As chaves frias são recusadas.",
        "topology.json localRoots é para o seu próprio produtor de blocos (anúncio: falso). Este painel não procura o endereço WAN."
      ],
      "never": [
        "Não trate isso como uma aposta de um clique da MetaMask.",
        "Não armazene chaves frias no host validador.",
        "Não espere que a edição topology.json sozinha registre o relé na cadeia."
      ]
    },
    "near": {
      "model": "Crie um contrato de staking na fábrica oficial. O contrato armazena a chave pública deste nó – não o IP do servidor.",
      "min": "Veja os documentos oficiais do validador (30 NEAR para criar o pool, mais aposta)",
      "wallets": "Carteira / bloqueio oficial NEAR",
      "panel": "Executa neard; preenchimentos de formulário create_staking_pool; depois que o pool existe, grava apenas account_id.",
      "yskDoes": [
        "Execute o neard com RPC em localhost e P2P em 24567.",
        "Após a inicialização, mostre a chave pública da estaca, o endereço P2P público e a fábrica.",
        "Preencha create_staking_pool do nome do pool + proprietário + chave pública. Depois que o pool existir, escreva apenas account_id — nunca secret_key, nunca a transação."
      ],
      "youDo": [
        "Inicie o nó e aguarde a chave pública nesta página.",
        "Insira o nome e o proprietário do pool e copie o comando.",
        "Assine create_staking_pool de sua própria carteira NEAR ou quase cli.",
        "Volte aqui e defina account_id. Aposte da sua carteira nesse pool."
      ],
      "steps": [
        "Inicie o nó e aguarde o init próximo para que a chave pública apareça (RPC não pronto não é o mesmo que chaves ausentes).",
        "Insira o nome abreviado do pool e a conta do proprietário. Copie o comando create_staking_pool preenchido.",
        "Da sua carteira, ligue para a fábrica (testnet pool.f863973.m0 / mainnet poolv1.near) com 30 NEAR para armazenamento. O comando usa --accountId; se sua CLI próxima espera --account_id, siga --help da CLI.",
        "Depois que o pool existir, use Set account_id nesta página (confirmar = ID da instância). Não edite validator_key.json manualmente.",
        "Reinicie se o nó já estiver em execução. Espere até que RPC responda e o nó seja sincronizado antes de apostar grandes quantias. Os pares usam Público P2P — o contrato não exige IP."
      ],
      "never": [
        "Não cole uma frase inicial neste painel.",
        "Não coloque o IP deste servidor no contrato.",
        "Não espere que o painel envie a transação create_staking_pool."
      ]
    },
    "cosmos": {
      "model": "create-validator da carteira da sua operadora usando a chave pública de consenso deste nó - não o IP do servidor.",
      "min": "Veja os documentos oficiais do Cosmos Hub (autodelegação no uatom)",
      "wallets": "Keplr ou outra carteira Cosmos que você controla",
      "panel": "Executa o gaiad v28; mostra consenso pubkey; formulário preenche validator.json + create-validator. Nunca escreve priv_validator_key.json ou transmite.",
      "honesty": "Este gaiad é v28 (arquivo JSON). Os documentos do Hub ainda mostram sinalizadores – eles falham aqui. A transação armazena a chave pública de consenso deste nó, não o IP do servidor. Os pares usam P2P público. O RPC permanece no host local. Este painel não transmite nem lê priv_key.",
      "yskDoes": [
        "Execute gaiad com RPC em localhost e P2P em 26656. O preço mínimo do gás é 0.005uatom.",
        "Após a inicialização, mostre a chave pública de consenso, o ID da cadeia e o P2P público.",
        "Preencha validator.json e o comando gaiad v28 de amount, moniker e --from mais o consenso pubkey. Nunca escreva priv_validator_key.json ou transmita a transação."
      ],
      "youDo": [
        "Inicie o nó e aguarde a chave pública de consenso nesta página.",
        "Insira o valor, o apelido e --from. Copie validator.json e, em seguida, o comando gaiad.",
        "Assine com as teclas Keplr ou Gaiad que você controla. Não misture esse mnemônico com a chave de consenso neste host."
      ],
      "steps": [
        "Inicie o nó e aguarde o gaiad init para que a chave pública de consenso apareça (RPC não pronto não é o mesmo que chaves ausentes).",
        "Insira autodelegação (1atom = 1 ATOM ou uatom), apelido e --from. Copie validator.json e depois o comando gaiad. Este nó é gaiad v28: arquivo JSON, não o formulário de sinalização dos documentos do Hub. chain-id é cosmoshub-4 na mainnet, provedor na testnet.",
        "O --gas-prices copiado é 0,005uatom para corresponder a este nó. Não cole o exemplo 0.0025uatom dos documentos do Hub ou o create-validator baseado em sinalizador.",
        "Salve validator.json e transmita da carteira da sua operadora. A transação não utiliza IP de servidor. Os pares usam tcp://WAN:{{port}}.",
        "Espere até que RPC responda e o nó seja sincronizado antes de vincular grandes quantidades."
      ],
      "never": [
        "Não misture o mnemônico da carteira da operadora com a chave de consenso.",
        "Não insira mnemônicos de carteira aqui.",
        "Não coloque o IP deste servidor no create-validator.",
        "Não cole os sinalizadores --amount/--pubkey dos documentos do Hub - este gaiad é v28 (validator.json).",
        "Não use gás 0.0025uatom neste nó — o mínimo de composição é 0.005uatom."
      ]
    },
    "sol": {
      "model": "Esta composição executa o Agave com --no-voting. A conta de voto e o sacador são criados com ferramentas oficiais da Solana – não com este painel.",
      "min": "Consulte os documentos oficiais de operações (hardware e disco são pesados)",
      "wallets": "Solana CLI / carteira oficial que você controla",
      "panel": "Executa o Agave como um nó de atualização (--no-voting). Pode mostrar a identidade pubkey após respostas RPC.",
      "honesty": "Este processo é --sem votação. Ele não votará nem ganhará participação até que você crie uma conta de voto com o Agave CLI oficial e altere a forma como o processo é iniciado. Este painel não remove --no-voting.",
      "yskDoes": [
        "Execute o cliente Agave e avise sobre o disco.",
        "Mostre o pubkey de identidade assim que o RPC responder getIdentity.",
        "Não cria uma conta de voto e não inicia a votação."
      ],
      "youDo": [
        "Crie chaves de votação e retirada autorizada com ferramentas oficiais Solana em uma máquina que você controla.",
        "Crie a conta de voto com a CLI oficial, usando esta chave pública de identidade.",
        "Só então execute um validador de votação - esta composição permanece --no-voting."
      ],
      "steps": [
        "Confirme se este host tem disco e IOPS suficientes (a rede principal normalmente tem 2 TiB+).",
        "Aguarde até que o RPC responda e copie a chave pública de identidade mostrada aqui.",
        "Crie chaves de voto e retirada autorizada com ferramentas oficiais Solana em uma máquina que você controla e, em seguida, solana crie uma conta de voto.",
        "Esta composição mantém --no-voting. Criar um vote account não faz com que este processo seja votado."
      ],
      "never": [
        "Não espere um botão de carteira do navegador neste painel.",
        "Não cole identidade ou pares de chaves de voto neste painel.",
        "Não espere que esta página comece a votar depois de criar um vote account."
      ]
    },
    "dot": {
      "model": "Este compose é um nó completo (sem --validator). Chaves de sessão e setKeys são etapas oficiais do Polkadot.js - não este painel.",
      "min": "Veja o wiki oficial",
      "wallets": "Polkadot.js",
      "panel": "Executa polkadot como um nó completo. RPC no host local. Nenhum sinalizador --validator.",
      "honesty": "Este processo não é iniciado com --validator. O painel não chama author_rotateKeys (isso alteraria o keystore). Para se tornar um validador, você precisa do sinalizador de nó oficial e de uma chamada de rotateKeys que você faz no RPC do host local.",
      "yskDoes": [
        "Execute o polkadot e exponha o RPC no host local.",
        "Não passa --validator e não alterna chaves de sessão."
      ],
      "youDo": [
        "Siga o guia oficial de configuração de um validador.",
        "Se você mesmo adicionar --validator, chame rotateKeys no RPC localhost e vincule o resultado em Polkadot.js do seu stash."
      ],
      "steps": [
        "Sincronize este nó completo.",
        "Leia o guia oficial de validação. Esta composição não é um processo validador.",
        "Não cole o mnemônico stash aqui. Se você executar posteriormente com --validator, gire as chaves em http://127.0.0.1 (porta RPC nesta instância).",
        "Em Polkadot.js, defina essas chaves de sessão em seu stash/controlador e siga as etapas oficiais de ligação."
      ],
      "never": [
        "Não cole o mnemônico stash neste painel.",
        "Não espere que esta página gere chaves de sessão ou tenha iniciado o --validator."
      ]
    },
    "sui": {
      "model": "Este compose é um fullnode Sui (fullnode.yaml), não um nó validador.",
      "min": "Veja os documentos oficiais da Sui",
      "wallets": "Carteira oficial da operadora Sui",
      "panel": "Executa sui-node como um fullnode. RPC no host local.",
      "honesty": "Este processo não pode assinar como validador Sui. A configuração do validador usa configurações e chaves diferentes. Os documentos oficiais do validador estão vinculados; este painel não muda o nó para o modo validador.",
      "yskDoes": [
        "Execute a imagem sui-node enviada como um fullnode."
      ],
      "youDo": [
        "Use esta instância como um fullnode.",
        "Para se tornar um validador, siga a documentação oficial do validador Sui sobre a configuração do validador - não esta composição."
      ],
      "steps": [
        "Sincronize este fullnode.",
        "Trate-o como um fullnode: ele reexecuta pontos de verificação, mas não assina consenso.",
        "Abra o guia oficial do operador do validador somente se estiver criando um processo de validador separado."
      ],
      "never": [
        "Não envie SUI para este painel.",
        "Não espere que este processo fullnode seja registrado como um validador."
      ]
    },
    "aptos": {
      "model": "Este compose é um fullnode público do Aptos (função full_node), não um validador.",
      "min": "Veja os documentos oficiais do Aptos",
      "wallets": "Carteira oficial da operadora Aptos",
      "panel": "Executa o aptos-node como um fullnode público. RPC no host local.",
      "honesty": "Fullnodes públicos não participam do consenso. Um validador precisa de uma função diferente, chaves e geralmente um fullnode validador. Este painel não muda o nó para o modo validador.",
      "yskDoes": [
        "Execute a imagem Aptos enviada como um fullnode público."
      ],
      "youDo": [
        "Use esta instância como um fullnode público.",
        "Para executar um validador, siga os documentos oficiais do nó validador do Aptos - não esta composição."
      ],
      "steps": [
        "Sincronize este fullnode público.",
        "Trate-o como um PFN: ele fornece dados contábeis, não vota.",
        "Abra os documentos oficiais do validador apenas se você estiver construindo um par validador + VFN separado."
      ],
      "never": [
        "Não insira teclas do operador neste painel.",
        "Não espere que este processo fullnode seja registrado como um validador."
      ]
    },
    "btc": {
      "model": "Não é prova de aposta. Este é um nó Bitcoin completo ou podado.",
      "min": "—",
      "wallets": "Não aplicável",
      "panel": "Executa bitcoin",
      "yskDoes": [
        "Execute um nó Bitcoin completo ou podado."
      ],
      "youDo": [
        "Use qualquer carteira Bitcoin separadamente. Mineração e relâmpagos estão fora do escopo."
      ],
      "steps": [
        "Trate esta instância apenas como um nó Bitcoin.",
        "Não há depósito de aposta nem armazenamento de chaves do validador."
      ],
      "never": [
        "Não procure uma carteira de piquetagem nesta página."
      ]
    },
    "nearPoolSlug": "Nome do pool",
    "nearPoolSlugHint": "Apenas nome curto. A fábrica adiciona {{suffix}}.",
    "nearOwner": "Conta do proprietário",
    "nearOwnerHint": "Conta NEAR que assina create_staking_pool em sua carteira. Não é a chave do nó.",
    "nearPreview": "Visualização do comando",
    "nearWriteAccount": "Definir account_id",
    "nearWriteTitle": "Definir validator_key.json account_id para {{id}}?",
    "nearWriteDesc": "Grava apenas account_id no arquivo de chave existente. Não envia create_staking_pool. Não toca em secret_key.",
    "nearWriteC1": "account_id torna-se {{pool}}{{suffix}}",
    "nearWriteC2": "O painel nunca assina a transação factory",
    "nearRestart": "Reinicie o nó após escrever",
    "nearNeedKey": "Aguarde até que a chave pública da aposta apareça (neard init) e preencha este formulário.",
    "nearNeedSlug": "Insira um nome de pool para definir account_id.",
    "nearNeedOwner": "Insira a conta do proprietário para preencher o comando. Definir account_id só precisa do nome do pool.",
    "cosmosPointing": "Este gaiad é v28: copie validator.json e, em seguida, crie-validator validator.json. Os documentos do Hub ainda mostram sinalizadores – eles falham aqui. A transação usa a chave pública de consenso deste nó, não o IP do servidor. Os peers usam P2P público (porta host {{port}}). O gás é 0,005uatom - não o exemplo de 0,0025uatom dos documentos do Hub.",
    "avaxPointing": "O registro da P-Chain usa esta prova NodeID e BLS, não o IP do servidor. RPC permanece no host local. Registre-se em Core (Staking → Validar).",
    "ethVcCommand": "Exemplo de validator client (não está neste compose)",
    "ethVcHint": "Execute você mesmo um validator client neste URL de beacon. Importar um keystore para o diretório de dados do beacon não atesta.",
    "cosmosAmount": "Autodelegação",
    "cosmosAmountHint": "uatom, ou 1atom por 1 ATOM. Um 1 simples é 1 uatom – não 1 ATOM.",
    "cosmosAmountParsed": "{{amount}} = {{atom}}",
    "cosmosMoniker": "Moniker",
    "cosmosFromKey": "nome da chave --from",
    "cosmosFromHint": "Nome da chave local gaiad ou assine com Keplr. Não é a chave de consenso neste host.",
    "cosmosNeedPubkey": "Aguarde até que a chave pública de consenso apareça (gaiad init) e preencha este formulário.",
    "cosmosNeedFields": "Insira o valor, o apelido e --from para preencher o comando."
  },
  "alerts": {
    "diskTitle": "Disco do validador crítico",
    "diskBody": "O espaço livre no volume de dados do validador está criticamente baixo.",
    "upgradeTitle": "Atualização de validador disponível",
    "upgradeBody": "Um ou mais clientes de nó têm uma versão fixada mais recente.",
    "syncTitle": "O nó validador precisa de atenção",
    "syncBody": "Um nó está a sincronizar há mais de 6 horas ou reportou um erro.",
    "rollbackTitle": "Atualização de validador revertida",
    "rollbackBody": "A atualização de {{id}} falhou a verificação de saúde e foi revertida."
  },
  "upgrade": {
    "changelog": "Registo de alterações"
  },
  "readiness": {
    "dockerTitle": "Docker para nós validador",
    "dockerOk": "{{count}} instância(s) de validador; Docker está instalado",
    "dockerMissing": "Existem instâncias de validador mas o comando docker não foi encontrado"
  },
  "detail": {
    "status": "Status",
    "sync": "Sincronizar",
    "peers": "Pares",
    "traffic": "Tráfego",
    "version": "Versão",
    "access": "Acesso",
    "upgrade": "Atualizações",
    "upgradeHint": "Como este nó rastreia versões do cliente.",
    "setVersion": "Alterar versão",
    "setVersionHint": "Escolha uma tag oficial do Docker para um cliente neste nó. O Compose é reescrito, puxado e reiniciado.",
    "setVersionConfirmTitle": "Alterar {{id}} para {{tag}}?",
    "setVersionConfirmDesc": "Reescreve a composição, extrai {{ref}} e reinicia o nó.",
    "setVersionC1": "O contêiner em execução é substituído pela tag selecionada.",
    "setVersionC2": "Digite o ID da instância para confirmar.",
    "setVersionMainnet": "Mainnet: uma versão ruim pode deixar o nó offline. Eu entendo.",
    "releaseNotes": "Notas de lançamento",
    "network": "Rede",
    "networkHint": "A troca de rede interrompe o nó e limpa os dados da cadeia. Confirme em Limpar dados primeiro.",
    "maintain": "Manutenção",
    "danger": "Limpar dados",
    "dangerHint": "Digite o ID da instância ou CLEAR. Isso exclui os dados da cadeia no disco.",
    "compose": "Compose",
    "logs": "Registros"
  },
  "state": {
    "unknown": "Desconhecido",
    "stopped": "Parou",
    "created": "Criado (nunca iniciado)",
    "missing": "Sem contêiner",
    "starting": "Começando",
    "rpc_wait": "Em execução – RPC não está pronto",
    "running": "Correndo",
    "syncing": "Sincronizando",
    "error": "Erro"
  }
}
