Cc/Cco. Os dois rótulos do compositor eram o último texto em inglês que restava, e "Bcc" tem nome próprio em português - quem não conhece a abreviatura inglesa não adivinha o que o campo faz. Larguras. A barra lateral tinha 244px fixos e nela não cabia "Console de administração", que transbordava no telemóvel e no computador: o botão passa a mostrar um rótulo curto e guarda o nome completo no tooltip. O endereço da conta usava break-words e partia-se a meio do domínio, deixando um "br" sozinho na linha de baixo; passa a truncar com o valor inteiro no tooltip. A lista tinha 404px fixos e o leitor 760px centrados, portanto num ecrã largo os assuntos eram espremidos numa coluna estreita enquanto o leitor ficava entre duas margens enormes. Ambos crescem agora com a janela. O assunto ganha overflow-wrap: os Message-ID dos relatórios do Google são uma única "palavra" sem espaços, mais longa que a coluna, e sem sítio onde quebrar saíam da linha. Imagens remotas. A escolha era reposta sempre que uma mensagem era aberta, por isso a mesma newsletter tinha de ser desbloqueada em cada leitura. A decisão passa a ser lembrada por remetente, com um segundo botão para a retirar. Bloqueado continua a ser o que acontece por omissão: uma imagem remota é um aviso de leitura que o remetente não pediu licença para receber. Assinatura. Era escrita num textarea - texto simples com quebras de linha reais - e injetada no compositor com innerHTML, onde uma quebra de linha é espaço em branco: todas desapareciam. Passa a ser um campo rico, com negrito, itálico, links e imagens, guardado como HTML e sanitizado nos dois sentidos, já que este valor é injetado como marcação na origem do webmail. Assinaturas guardadas pelo campo antigo continuam a funcionar: as suas quebras de linha são convertidas. Mover entre pastas. Faltava a única ação corrente que o leitor não tinha: arquivar uma mensagem para fora da caixa de entrada era impossível. Enviados e Rascunhos nunca são destino - descrevem como a mensagem veio a existir, não onde o leitor a arrumou - mas sair deles é permitido. Pastas criadas pelo utilizador, que não têm papel special-use, são destino como qualquer outra. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
342 lines
15 KiB
JSON
342 lines
15 KiB
JSON
{
|
|
"admin": {
|
|
"addAlias": "Adicionar apelido",
|
|
"aliasTarget": "Endereço de destino",
|
|
"aliasesTitle": "Apelidos",
|
|
"auditLog": "Trilha de auditoria",
|
|
"backToWebmail": "Voltar ao webmail",
|
|
"cancelJob": "Cancelar",
|
|
"certificateState": "Certificado",
|
|
"checksPassed": "{passed} de {total} aprovadas",
|
|
"createAccount": "Criar conta",
|
|
"createAlias": "Criar um apelido de roteamento",
|
|
"csvImportFailed": "A importação do CSV falhou",
|
|
"csvImported": "{count} caixas importadas.",
|
|
"csvIntro": "Cole o CSV para criar várias contas com as pastas da RFC 6154. Colunas: email, papel, cota_mb.",
|
|
"csvPreview": "Pré-visualizar",
|
|
"csvRun": "Executar importação",
|
|
"csvTitle": "Importar caixas em massa (CSV)",
|
|
"dashboardSubtitle": "Números ao vivo lidos do banco de dados.",
|
|
"dashboardTitle": "Visão geral",
|
|
"dkimAlgorithm": "Tipo de chave",
|
|
"dkimOverlap": "As duas chaves assinam as mensagens enviadas por {days} dias, para nada falhar enquanto o DNS propaga.",
|
|
"dkimPublishRecord": "Publique este registro no DNS:",
|
|
"dkimRotate": "Gerar uma nova chave",
|
|
"dkimSelector": "Seletor",
|
|
"dkimTitle": "Rotação de chave DKIM",
|
|
"dmarcSubtitle": "Detalhamento dos relatórios XML agregados que foram processados.",
|
|
"dmarcTitle": "Relatórios DMARC",
|
|
"dnsRecordsFor": "Registros DNS de {domain}",
|
|
"dnsStatusDrift": "Divergente",
|
|
"dnsStatusPartial": "Parcial",
|
|
"dnsStatusVerified": "Verificado",
|
|
"domainName": "Nome do domínio",
|
|
"domainsTitle": "Domínios",
|
|
"expiresInDays": "Expira em {days} dias",
|
|
"freezeDomain": "Congelar domínio",
|
|
"greylistScore": "Pontuação de greylist",
|
|
"headerScore": "Pontuação de marcação de cabeçalho",
|
|
"jobCancelled": "O trabalho {id} foi cancelado.",
|
|
"jobRetried": "O trabalho {id} foi recolocado na fila para nova tentativa.",
|
|
"lastChecked": "Última verificação: {when}",
|
|
"lastReload": "Última recarga",
|
|
"lockAccount": "Bloquear",
|
|
"mailHost": "Host de e-mail",
|
|
"mailboxCount": "{count} caixas de e-mail",
|
|
"mailboxesSubtitle": "Contas, apelidos, importação CSV e a política de segundo fator.",
|
|
"mailboxesTitle": "Caixas de e-mail",
|
|
"mfaAdmins": "Obrigatório para administradores",
|
|
"mfaEveryone": "Obrigatório para todos",
|
|
"mfaOptional": "Opcional",
|
|
"mfaPolicyIntro": "Escolha com que rigor este domínio exige um segundo fator.",
|
|
"mfaPolicyTitle": "Exigência de segundo fator",
|
|
"noCertificate": "Nenhum certificado carregado para este host.",
|
|
"noChecks": "Nenhuma verificação relatada.",
|
|
"noDomains": "Nenhum domínio foi cadastrado ainda.",
|
|
"notPublished": "Não publicado",
|
|
"onboardIntro": "Cria o domínio e os apelidos padrão da RFC 2142, apontados para o seu endereço.",
|
|
"onboardTitle": "Adicionar um domínio",
|
|
"openAdmin": "Console de administração",
|
|
"preflightTitle": "Verificações de prontidão",
|
|
"presentProxied": "Presente (com proxy)",
|
|
"queueEmpty": "A fila de saída está vazia.",
|
|
"queueSubtitle": "Inspecione a fila de saída, tente reenviar um trabalho ou cancele um.",
|
|
"queueTitle": "Fila de saída",
|
|
"quotaMb": "Cota (MB)",
|
|
"readinessIntro": "Verificações que o servidor relata sobre si mesmo antes de transportar mensagens em produção.",
|
|
"reconcileDns": "Reconciliar DNS",
|
|
"reconcileNotImplemented": "A verificação de registros DNS individuais ainda não foi implementada: isto registra a solicitação e relê o status armazenado, não consulta um resolvedor.",
|
|
"rejectScore": "Pontuação de rejeição",
|
|
"retryJob": "Tentar novamente",
|
|
"rspamdIntro": "Pontuações que acionam greylisting, marcação de cabeçalho e rejeição.",
|
|
"rspamdSaved": "Limites salvos.",
|
|
"saveThresholds": "Salvar limites",
|
|
"securitySubtitle": "Verificações de prontidão, estado do TLS, limites de spam e a trilha de auditoria.",
|
|
"securityTitle": "Segurança",
|
|
"tabAccounts": "Contas",
|
|
"tabAliases": "Apelidos",
|
|
"tabAudit": "Trilha de auditoria",
|
|
"tabCsv": "Importação em massa",
|
|
"tabReadiness": "Prontidão",
|
|
"tabRspamd": "Limites de spam",
|
|
"tabTls": "TLS",
|
|
"tlsMode": "Modo TLS",
|
|
"tlsTitle": "Certificado e transporte",
|
|
"traceNoResults": "Nenhum rastro encontrado para esse ID de fila.",
|
|
"tracePlaceholder": "ID da fila",
|
|
"traceResultFor": "Rastreamento de {id}",
|
|
"traceStep": "Etapa {n}",
|
|
"traceTitle": "Rastrear uma mensagem",
|
|
"unknownSni": "Requisições SNI desconhecidas",
|
|
"unlockAccount": "Desbloquear",
|
|
"verifyIntro": "Resolve cada registro esperado em servidores DNS públicos e relata um a um.",
|
|
"watcherHealthy": "Monitor de certificado",
|
|
"openAdminShort": "Admin"
|
|
},
|
|
"auth": {
|
|
"adminLoginTitle": "Console de administração",
|
|
"adminStepUpNote": "O console de administração pede o segundo fator novamente, mesmo você já estando conectado ao webmail.",
|
|
"authFailed": "Falha na autenticação",
|
|
"cantScanQr": "Não consegue escanear? Digite esta chave manualmente:",
|
|
"emailLabel": "Endereço de e-mail",
|
|
"enrolmentFailed": "Não foi possível iniciar a configuração do segundo fator",
|
|
"enrolmentIntro": "O console de administração exige um segundo fator. Configure um agora para continuar.",
|
|
"genericError": "Algo deu errado",
|
|
"invalidCredentials": "E-mail ou senha inválidos",
|
|
"mfaRequired": "Digite o código de seis dígitos do seu aplicativo autenticador.",
|
|
"orRecoveryCode": "Perdeu o celular? Um código de recuperação também funciona aqui.",
|
|
"passwordLabel": "Senha",
|
|
"qrCodeAlt": "Código QR para configurar a verificação em duas etapas",
|
|
"scanQr": "Escaneie este código com o Google Authenticator, Aegis, Authy ou 1Password.",
|
|
"signInButton": "Entrar",
|
|
"signOutOfAdmin": "Sair da administração",
|
|
"stepUpIntro": "Você já está autenticado, então basta o segundo fator. A senha não é pedida de novo.",
|
|
"stepUpSignedInAs": "Autenticado como {email}",
|
|
"stepUpTitle": "Abrir o console administrativo",
|
|
"totpCodeLabel": "Código de autenticação",
|
|
"userLoginTitle": "Entre na sua caixa de e-mail",
|
|
"verificationFailed": "Falha na verificação",
|
|
"verifyCodeButton": "Verificar código"
|
|
},
|
|
"common": {
|
|
"actions": "Ações",
|
|
"add": "Adicionar",
|
|
"adminPortal": "Administração",
|
|
"appName": "LambdaMail",
|
|
"back": "Voltar",
|
|
"cancel": "Cancelar",
|
|
"confirm": "Confirmar",
|
|
"continue": "Continuar",
|
|
"copied": "Copiado",
|
|
"copy": "Copiar",
|
|
"delete": "Excluir",
|
|
"loading": "Carregando...",
|
|
"logout": "Sair",
|
|
"never": "Nunca",
|
|
"none": "Nenhum",
|
|
"refresh": "Atualizar",
|
|
"retry": "Tentar novamente",
|
|
"save": "Salvar",
|
|
"search": "Buscar",
|
|
"status": "Status",
|
|
"unavailable": "Indisponível",
|
|
"userPortal": "Webmail"
|
|
},
|
|
"errors": {
|
|
"forbidden": "Você não tem acesso a isto",
|
|
"loadFailed": "Não foi possível carregar os dados",
|
|
"serverError": "Algo deu errado no servidor",
|
|
"unauthorized": "Entre novamente"
|
|
},
|
|
"mail": {
|
|
"addFiles": "Adicionar arquivos...",
|
|
"allMessages": "Todas",
|
|
"archive": "Arquivo",
|
|
"attachments": "Anexos ({count})",
|
|
"attachmentsFilter": "Com anexos",
|
|
"attachmentsUnsupported": "Anexos são listados apenas pelo nome; o envio de arquivos ainda não está implementado.",
|
|
"backToList": "Voltar para a lista de mensagens",
|
|
"bold": "Negrito",
|
|
"bulletList": "Lista com marcadores",
|
|
"compose": "Escrever",
|
|
"discard": "Descartar",
|
|
"draftSaveFailed": "Não foi possível salvar o rascunho",
|
|
"draftSaved": "Rascunho salvo automaticamente",
|
|
"draftSaving": "Salvando rascunho...",
|
|
"drafts": "Rascunhos",
|
|
"deleteForever": "Excluir definitivamente",
|
|
"continueDraft": "Continuar escrevendo",
|
|
"emptyBody": "Esta mensagem não tem corpo de texto.",
|
|
"forward": "Encaminhar",
|
|
"imagesEnabled": "Imagens carregadas",
|
|
"hideCcBcc": "- Ocultar Cc/Cco",
|
|
"inbox": "Caixa de entrada",
|
|
"insertLink": "Inserir link",
|
|
"insertUrl": "Digite a URL:",
|
|
"italic": "Itálico",
|
|
"junk": "Spam",
|
|
"reports": "Relatórios",
|
|
"loadImages": "Carregar imagens",
|
|
"markRead": "Marcar como lida",
|
|
"markUnread": "Marcar como não lida",
|
|
"messagesInFolder": "{count} mensagens",
|
|
"noMatches": "Nada corresponde a essa busca",
|
|
"noMessages": "Nenhuma mensagem",
|
|
"noSubject": "(Sem assunto)",
|
|
"numberedList": "Lista numerada",
|
|
"remoteContentBlocked": "As imagens remotas foram bloqueadas para que esta mensagem não possa rastrear você.",
|
|
"reply": "Responder",
|
|
"searchMatches": "{count} encontradas",
|
|
"searchPlaceholder": "Buscar (from:, subject:)...",
|
|
"selectAMessage": "Selecione uma mensagem para ler",
|
|
"sendMessage": "Enviar mensagem",
|
|
"sending": "Enviando...",
|
|
"sent": "Enviados",
|
|
"showCcBcc": "+ Adicionar Cc/Cco",
|
|
"strikethrough": "Tachado",
|
|
"trash": "Lixeira",
|
|
"underline": "Sublinhado",
|
|
"undoSend": "Enviando em {seconds}s",
|
|
"undoSendAction": "Desfazer",
|
|
"unreadCount": "{count} não lidas",
|
|
"unreadFilter": "Não lidas",
|
|
"ccLabel": "Cc",
|
|
"bccLabel": "Cco",
|
|
"hideImages": "Ocultar imagens",
|
|
"alwaysFromSender": "Sempre deste remetente",
|
|
"forgetSender": "Deixar de confiar",
|
|
"moveTo": "Mover para"
|
|
},
|
|
"settings": {
|
|
"actionDiscard": "Descartar",
|
|
"actionFlag": "Marcar mensagem",
|
|
"actionMove": "Mover para o Arquivo",
|
|
"addRule": "Adicionar regra",
|
|
"appPasswordPlaceholder": "Thunderbird / Outlook Mobile",
|
|
"appPasswords": "Senhas de aplicativo",
|
|
"autoReplySaveFailed": "Não foi possível salvar a resposta automática",
|
|
"enableMfa": "Ativar verificação em duas etapas",
|
|
"fieldFrom": "De",
|
|
"fieldHeader": "Cabeçalho",
|
|
"fieldSubject": "Assunto",
|
|
"generateAppPassword": "Gerar",
|
|
"langEn": "English",
|
|
"langEs": "Español",
|
|
"langPtBR": "Português (Brasil)",
|
|
"language": "Idioma",
|
|
"matchContains": "contém",
|
|
"matchEquals": "é exatamente",
|
|
"matchRegex": "corresponde à regex",
|
|
"mfaDisabled": "Desativada",
|
|
"mfaEnabled": "Ativada",
|
|
"mfaStatus": "Status da verificação em duas etapas",
|
|
"recoveryCodesTitle": "Códigos de recuperação",
|
|
"ruleIf": "SE",
|
|
"ruleThen": "ENTÃO",
|
|
"saveAutoReply": "Salvar resposta automática",
|
|
"saveRecoveryCodes": "Guarde-os em local seguro. Cada um funciona uma única vez e eles só aparecem agora.",
|
|
"security": "Segurança",
|
|
"sessions": "Sessões",
|
|
"settingsSaved": "Configurações salvas.",
|
|
"sieveIntro": "Regras que organizam as mensagens recebidas automaticamente.",
|
|
"sieveTitle": "Filtros (Sieve)",
|
|
"signOut": "Sair",
|
|
"signatureIntro": "Anexada automaticamente às mensagens que você escreve.",
|
|
"signaturePlaceholder": "Atenciosamente,\nSeu nome\nSeu cargo",
|
|
"signatureSaveFailed": "Não foi possível salvar a assinatura",
|
|
"signatureSaved": "Assinatura salva.",
|
|
"signatureTitle": "Assinatura de e-mail",
|
|
"sixDigitCode": "Código de seis dígitos",
|
|
"startOverMfa": "Perdeu o registro? Recomece com uma nova chave",
|
|
"subtitle": "Verificação em duas etapas, filtros, resposta automática e sua assinatura.",
|
|
"title": "Configurações",
|
|
"twoFactorIntro": "Proteja sua conta com o Google Authenticator, Aegis, Authy ou 1Password.",
|
|
"vacationBodyLabel": "Mensagem da resposta",
|
|
"vacationDefaultBody": "Obrigado pela sua mensagem. Estou ausente no momento e responderei assim que retornar.",
|
|
"vacationDefaultSubject": "Fora do escritório",
|
|
"vacationIntro": "Responde automaticamente às mensagens recebidas enquanto você estiver ausente.",
|
|
"vacationSubjectLabel": "Assunto da resposta",
|
|
"vacationTitle": "Resposta automática de ausência",
|
|
"valuePlaceholder": "Valor a corresponder..."
|
|
},
|
|
"ui": {
|
|
"accountLocked": "Bloqueada",
|
|
"accountStatus": "Status da conta",
|
|
"actions": "Ações",
|
|
"active": "Ativo",
|
|
"activeSessions": "Sessões ativas",
|
|
"actor": "Autor",
|
|
"actualRecord": "Valor atual",
|
|
"allChecksPassed": "Todas as verificações passaram",
|
|
"appPasswordGenerated": "Senha de aplicativo gerada",
|
|
"appPasswordsSection": "Senhas de aplicativo",
|
|
"attempts": "Tentativas",
|
|
"bounceRate": "Taxa de devolução",
|
|
"ccRecipients": "Cc",
|
|
"changePassword": "Alterar senha",
|
|
"clientIp": "IP do cliente",
|
|
"copyPasswordNow": "Copie agora. Ela não será exibida novamente.",
|
|
"coreInfra": "Serviços principais",
|
|
"currentPassword": "Senha atual",
|
|
"currentSession": "Este dispositivo",
|
|
"daneVerified": "DANE verificado",
|
|
"destination": "Destino",
|
|
"diskUsed": "Armazenamento usado",
|
|
"dkimAlignment": "Alinhamento DKIM",
|
|
"dkimResult": "DKIM",
|
|
"dmarcEnforcement": "Política DMARC",
|
|
"domainVerification": "Verificação de domínio",
|
|
"domainsVerified": "Domínios verificados",
|
|
"emailAddress": "Endereço de e-mail",
|
|
"eventAction": "Ação",
|
|
"expectedValue": "Valor esperado",
|
|
"healthy": "Saudável",
|
|
"imapEngine": "Serviço IMAP",
|
|
"inboundVolume": "Recebidas (24h)",
|
|
"jobId": "Trabalho",
|
|
"lastError": "Último erro",
|
|
"liveMetrics": "Métricas ao vivo",
|
|
"localDisk": "Disco local",
|
|
"mailboxesActive": "Caixas ativas",
|
|
"messageBody": "Mensagem",
|
|
"messageVolume": "Mensagens",
|
|
"mfaActive": "TOTP ativo",
|
|
"mfaNone": "Sem segundo fator",
|
|
"newPassword": "Nova senha",
|
|
"noAppPasswords": "Nenhuma senha de aplicativo ainda.",
|
|
"noData": "Ainda sem dados",
|
|
"online": "Online",
|
|
"outboundDelivered": "Enviadas (24h)",
|
|
"passwordChanged": "Senha alterada.",
|
|
"postgresRunner": "Fila baseada em Postgres",
|
|
"preflightTitle": "Prontidão",
|
|
"provisionMailbox": "Criar caixa de e-mail",
|
|
"queueDepth": "Tamanho da fila",
|
|
"recipient": "Destinatário",
|
|
"recordName": "Registro",
|
|
"reportingOrg": "Organização que reportou",
|
|
"role": "Papel",
|
|
"scanners": "Análise de spam e vírus",
|
|
"sender": "Remetente",
|
|
"signOutOthers": "Sair dos outros dispositivos",
|
|
"smtpListener": "Serviço SMTP",
|
|
"sourceIp": "IP de origem",
|
|
"spfRatio": "Taxa de aprovação SPF",
|
|
"spfResult": "SPF",
|
|
"storageQuota": "Cota de armazenamento",
|
|
"subject": "Assunto",
|
|
"targetObject": "Alvo",
|
|
"timestamp": "Horário",
|
|
"toRecipients": "Para",
|
|
"toggleMenu": "Alternar menu",
|
|
"totalEvaluated": "Mensagens avaliadas",
|
|
"twoFactorSection": "Verificação em duas etapas",
|
|
"watching": "Monitorando",
|
|
"bold": "Negrito",
|
|
"italic": "Itálico",
|
|
"underline": "Sublinhado",
|
|
"insertLink": "Link",
|
|
"insertImage": "Imagem"
|
|
}
|
|
}
|