From be311419ff467232db205af9d3b8b8d097680238 Mon Sep 17 00:00:00 2001 From: Diogo Correia Date: Mon, 1 Feb 2021 10:14:56 +0000 Subject: [PATCH] Add Portuguese translations Signed-off-by: Diogo Correia --- i18n/en.json | 16 +- i18n/pt.json | 431 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 439 insertions(+), 8 deletions(-) create mode 100644 i18n/pt.json diff --git a/i18n/en.json b/i18n/en.json index 2e60f99..0b892a0 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -282,7 +282,7 @@ "settings.general.fromEmail": "Default `from` email", "settings.general.fromEmailHelp": "Default `from` e-mail to show on outgoing campaign e-mails. This can be changed per campaign.", "settings.general.language": "Language", - "settings.general.logoURL": "Root URL", + "settings.general.logoURL": "Logo URL", "settings.general.logoURLHelp": "(Optional) full URL to the static logo to be displayed on user facing view such as the unsubscription page.", "settings.general.name": "General", "settings.general.rootURL": "Root URL", @@ -306,14 +306,14 @@ "settings.media.upload.uri": "Upload URI", "settings.media.upload.uriHelp": "Upload URI that is visible to the outside world. The media uploaded to upload_path will be publicly accessible under {root_url}, for instance, https://listmonk.yoursite.com/uploads.", "settings.messengers.maxConns": "Max. connections", - "settings.messengers.maxConnsHelp": "Maximum concurrent connections to the SMTP server.", + "settings.messengers.maxConnsHelp": "Maximum concurrent connections to the server.", "settings.messengers.messageDiscard": "Discard changes?", "settings.messengers.messageSaved": "Settings saved. Reloading app ...", "settings.messengers.name": "Messengers", "settings.messengers.nameHelp": "eg: my-sms. Alphanumeric / dash.", "settings.messengers.password": "Password", "settings.messengers.retries": "Retries", - "settings.messengers.retriesHelp": "Number of times to rety when a message fails.", + "settings.messengers.retriesHelp": "Number of times to retry when a message fails.", "settings.messengers.skipTLSHelp": "Skip hostname check on the TLS certificate.", "settings.messengers.timeout": "Idle timeout", "settings.messengers.timeoutHelp": "Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).", @@ -353,7 +353,7 @@ "settings.smtp.heloHost": "HELO hostname", "settings.smtp.heloHostHelp": "Optional. Some SMTP servers require a FQDN in the hostname. By default, HELLOs go with `localhost`. Set this if a custom hostname should be used.", "settings.smtp.host": "Host", - "settings.smtp.hostHelp": "SMTP server\"s host address.", + "settings.smtp.hostHelp": "SMTP server's host address.", "settings.smtp.idleTimeout": "Idle timeout", "settings.smtp.idleTimeoutHelp": "Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).", "settings.smtp.maxConns": "Max. connections", @@ -362,9 +362,9 @@ "settings.smtp.password": "Password", "settings.smtp.passwordHelp": "Enter to change", "settings.smtp.port": "Port", - "settings.smtp.portHelp": "SMTP server\"s port.", + "settings.smtp.portHelp": "SMTP server's port.", "settings.smtp.retries": "Retries", - "settings.smtp.retriesHelp": "Number of times to rety when a message fails.", + "settings.smtp.retriesHelp": "Number of times to retry when a message fails.", "settings.smtp.setCustomHeaders": "Set custom headers", "settings.smtp.skipTLS": "Skip TLS verification", "settings.smtp.skipTLSHelp": "Skip hostname check on the TLS certificate.", @@ -372,7 +372,7 @@ "settings.smtp.tlsHelp": "Enable STARTTLS.", "settings.smtp.username": "Username", "settings.smtp.waitTimeout": "Wait timeout", - "settings.smtp.waitTimeoutHelp": "Time to wait for new activity on a connection before closing it and removing it from the pool(s for second, m for minute).", + "settings.smtp.waitTimeoutHelp": "Time to wait for new activity on a connection before closing it and removing it from the pool (s for second, m for minute).", "settings.title": "Settings", "subscribers.advancedQuery": "Advanced", "subscribers.advancedQueryHelp": "Partial SQL expression to query subscriber attributes", @@ -399,7 +399,7 @@ "subscribers.listChangeApplied": "List change applied.", "subscribers.lists": "Lists", "subscribers.listsHelp": "Lists from which subscribers have unsubscribed themselves cannot be removed.", - "subscribers.listsPlaceholder": "Lists to subscriber to", + "subscribers.listsPlaceholder": "Lists to subscribe to", "subscribers.manageLists": "Manage lists", "subscribers.markUnsubscribed": "Mark as unsubscribed", "subscribers.newSubscriber": "New subscriber", diff --git a/i18n/pt.json b/i18n/pt.json new file mode 100644 index 0000000..577f025 --- /dev/null +++ b/i18n/pt.json @@ -0,0 +1,431 @@ +{ + "_.code": "pt", + "_.name": "Portuguese (pt)", + "admin.errorMarshallingConfig": "Erro ao ler o config: {error}", + "campaigns.addAltText": "Adicionar mensagem alternativa em texto simples", + "campaigns.cantUpdate": "Não é possível atualizar uma campanha em curso ou terminada.", + "campaigns.clicks": "Cliques", + "campaigns.confirmDelete": "Eliminar {name}", + "campaigns.confirmSchedule": "A campanha irá começar automaticamente na data e hora agendadas. Agendar agora?", + "campaigns.confirmSwitchFormat": "O conteúdo pode perder a formatação. Continuar?", + "campaigns.content": "Conteúdo", + "campaigns.contentHelp": "Conteúdo aqui", + "campaigns.continue": "Continuar", + "campaigns.copyOf": "Cópia de {name}", + "campaigns.dateAndTime": "Dia e hora", + "campaigns.ended": "Terminada", + "campaigns.errorSendTest": "Erro ao enviar teste: {error}", + "campaigns.fieldInvalidBody": "Erro ao compilar corpo da campanha: {error}", + "campaigns.fieldInvalidFromEmail": "`from_email` inválido.", + "campaigns.fieldInvalidListIDs": "Lista de IDs inválida.", + "campaigns.fieldInvalidMessenger": "Mensageiro {name} desconhecido.", + "campaigns.fieldInvalidName": "Tamanho de nome inválido.", + "campaigns.fieldInvalidSendAt": "Data agendada deve ser no futuro.", + "campaigns.fieldInvalidSubject": "Tamanho de corpo inválido.", + "campaigns.fromAddress": "Endereço do Remetente", + "campaigns.fromAddressPlaceholder": "O Teu Nome ", + "campaigns.invalid": "Campanha inválida", + "campaigns.needsSendAt": "A campanha necessita de uma data para ser agendada.", + "campaigns.newCampaign": "Nova campanha", + "campaigns.noKnownSubsToTest": "Não existem subscritores para testar.", + "campaigns.noOptinLists": "Não foram encontradas listas opt-in para criar a campanha.", + "campaigns.noSubs": "Não existem subscritores nas listas selecionadas para criar a campanha.", + "campaigns.noSubsToTest": "Não existem subscritores para usar.", + "campaigns.notFound": "Campanha não encontrada.", + "campaigns.onlyActiveCancel": "Apenas campanhas ativas podem ser canceladas.", + "campaigns.onlyActivePause": "Apenas campanhas ativas podem ser pausadas.", + "campaigns.onlyDraftAsScheduled": "Apenas rascunhos de campanhas podem ser agendadas.", + "campaigns.onlyPausedDraft": "Apenas campanhas pausadas e rascunhos podem ser iniciadas.", + "campaigns.onlyScheduledAsDraft": "Apenas campanhas agendadas podem ser guardadas como rascunhos.", + "campaigns.pause": "Pausar", + "campaigns.plainText": "Texto simples", + "campaigns.preview": "Pré-visualizar", + "campaigns.progress": "Progresso", + "campaigns.queryPlaceholder": "Nome ou assunto", + "campaigns.rawHTML": "HTML simples", + "campaigns.removeAltText": "Remover mensagem alternativa em texto simples", + "campaigns.richText": "Texto rico", + "campaigns.schedule": "Agendar campanha", + "campaigns.scheduled": "Agendada", + "campaigns.send": "Enviar", + "campaigns.sendLater": "Enviar mais tarde", + "campaigns.sendTest": "Enviar mensagem de teste", + "campaigns.sendTestHelp": "Clica Enter após escrever o endereço de múltiplos destinatários. Os endereços devem pertencer a subscritores existentes.", + "campaigns.sendToLists": "Listas a enviar para", + "campaigns.sent": "Enviada", + "campaigns.start": "Começar campanha", + "campaigns.started": "\"{name}\" começou", + "campaigns.startedAt": "Começou", + "campaigns.stats": "Estatísticas", + "campaigns.status.cancelled": "Cancelada", + "campaigns.status.draft": "Rascunho", + "campaigns.status.finished": "Terminada", + "campaigns.status.paused": "Em Pausa", + "campaigns.status.running": "Em progresso", + "campaigns.status.scheduled": "Agendada", + "campaigns.statusChanged": "\"{name}\" está {status}", + "campaigns.subject": "Assunto", + "campaigns.testEmails": "E-mails", + "campaigns.testSent": "Mensagem de teste enviada", + "campaigns.timestamps": "Carimbo de hora", + "campaigns.views": "Visualizações", + "dashboard.campaignViews": "Vista de campanhas", + "dashboard.linkClicks": "Cliques nos links", + "dashboard.messagesSent": "Mensagens enviadas", + "dashboard.orphanSubs": "Órfãos", + "email.data.info": "Uma cópia de todos os seus dados está em anexo em formato JSON. Pode ser visualizada num editor de texto.", + "email.data.title": "Os seus dados", + "email.optin.confirmSub": "Confirmar subscrição", + "email.optin.confirmSubHelp": "Confirme a sua subscrição clicando no botão abaixo.", + "email.optin.confirmSubInfo": "Foi adicionado às seguintes listas:", + "email.optin.confirmSubTitle": "Confirmar subscrição", + "email.optin.confirmSubWelcome": "Olá {name},", + "email.optin.privateList": "Lista privada", + "email.status.campaignReason": "Motivo", + "email.status.campaignSent": "Enviada", + "email.status.campaignTitle": "Atualização de campanha", + "email.status.importFile": "Ficheiro", + "email.status.importRecords": "Registos", + "email.status.importTitle": "Importar atualização", + "email.status.status": "Estado", + "email.unsub": "Cancelar subscrição", + "email.unsubHelp": "Não quer receber estes e-mails?", + "forms.formHTML": "Formulário HTML", + "forms.formHTMLHelp": "Usa o seguinte código HTML para mostrar um formulário de subscrição numa página externa. O formulário deve ter um campo de email e um ou mais campos `l` (UUID de listas). O campo de nome é opcional.", + "forms.publicLists": "Listas públicas", + "forms.publicSubPage": "Página pública de subscrição", + "forms.selectHelp": "Seleciona listas para adicionar ao formulário.", + "forms.title": "Formulários", + "globals.buttons.add": "Adicionar", + "globals.buttons.addNew": "Adicionar novo", + "globals.buttons.cancel": "Cancelar", + "globals.buttons.clone": "Duplicar", + "globals.buttons.close": "Fechar", + "globals.buttons.continue": "Continuar", + "globals.buttons.delete": "Eliminar", + "globals.buttons.edit": "Editar", + "globals.buttons.enabled": "Ativo", + "globals.buttons.learnMore": "Saber mais", + "globals.buttons.new": "Novo", + "globals.buttons.ok": "Ok", + "globals.buttons.remove": "Remover", + "globals.buttons.save": "Guardar", + "globals.buttons.saveChanges": "Guardar alterações", + "globals.days.1": "Seg", + "globals.days.2": "Ter", + "globals.days.3": "Qua", + "globals.days.4": "Qui", + "globals.days.5": "Sex", + "globals.days.6": "Sáb", + "globals.days.7": "Dom", + "globals.fields.createdAt": "Criado a", + "globals.fields.id": "ID", + "globals.fields.name": "Nome", + "globals.fields.status": "Estado", + "globals.fields.type": "Tipo", + "globals.fields.updatedAt": "Atualizado a", + "globals.fields.uuid": "UUID", + "globals.messages.confirm": "Tens a certeza?", + "globals.messages.created": "\"{name}\" criado", + "globals.messages.deleted": "\"{name}\" eliminado", + "globals.messages.emptyState": "Não há nada aqui", + "globals.messages.errorCreating": "Erro ao criar {name}: {error}", + "globals.messages.errorDeleting": "Erro ao eliminar {name}: {error}", + "globals.messages.errorFetching": "Erro ao carregar {name}: {error}", + "globals.messages.errorUUID": "Erro ao gerar UUID: {error}", + "globals.messages.errorUpdating": "Erro ao atualizar {name}: {error}", + "globals.messages.invalidID": "ID inválido", + "globals.messages.invalidUUID": "UUID inválido", + "globals.messages.notFound": "{name} não encontrado", + "globals.messages.passwordChange": "Insere um valor para alterar", + "globals.messages.updated": "\"{name}\" atualizado", + "globals.months.1": "Jan", + "globals.months.10": "Out", + "globals.months.11": "Nov", + "globals.months.12": "Dez", + "globals.months.2": "Fev", + "globals.months.3": "Mar", + "globals.months.4": "Abr", + "globals.months.5": "Mai", + "globals.months.6": "Jun", + "globals.months.7": "Jul", + "globals.months.8": "Ago", + "globals.months.9": "Set", + "globals.terms.campaign": "Campanha | Campanhas", + "globals.terms.campaigns": "Campanha", + "globals.terms.dashboard": "Dashboard", + "globals.terms.list": "Lista | Listas", + "globals.terms.lists": "Listas", + "globals.terms.media": "Mídia | Mídia", + "globals.terms.messenger": "Mensageiro | Mensageiros", + "globals.terms.messengers": "Mensageiros", + "globals.terms.settings": "Definições", + "globals.terms.subscriber": "Subscritor | Subcritores", + "globals.terms.subscribers": "Subscritores", + "globals.terms.tag": "Etiqueta | Etiquetas", + "globals.terms.tags": "Etiquetas", + "globals.terms.template": "Modelo | Modelos", + "globals.terms.templates": "Modelo", + "import.alreadyRunning": "Uma importação já está em curso. Aguarda que termine ou cancela-a antes de tentares novamente.", + "import.blocklist": "Lista de bloqueio", + "import.csvDelim": "Delimitador CSV", + "import.csvDelimHelp": "O delimitador padrão é uma vírgula.", + "import.csvExample": "Exemplo CSV simples", + "import.csvFile": "Ficheiro CSV ou ZIP", + "import.csvFileHelp": "Clica ou arrasta um ficheiro CSV ou ZIP para aqui", + "import.errorCopyingFile": "Erro ao copiar ficheiro: {error}", + "import.errorProcessingZIP": "Erro ao processar ficheiro ZIP: {error}", + "import.errorStarting": "Erro ao começar importação: {error}", + "import.importDone": "Terminado", + "import.importStarted": "Importação iniciada", + "import.instructions": "Instruções", + "import.instructionsHelp": "Envia um ficheiro CSV ou ficheiro ZIP com um único CSV para importares subscritores em massa. O ficheiro CSV deve conter os seguintes cabeçalhos com os nomes de colunas exatos. attributes (opcional) deve ser uma string JSON válida, com aspas de escape duplo.", + "import.invalidDelim": "O delimitador deve ser um caractere único.", + "import.invalidFile": "Ficheiro inválido: {error}", + "import.invalidMode": "Modo inválido", + "import.invalidParams": "Parâmetros inválidos: {error}", + "import.listSubHelp": "Listas a subscrever.", + "import.mode": "Modo", + "import.overwrite": "Sobrescrever?", + "import.overwriteHelp": "Sobrescrever nome e atributos de subscritores existentes?", + "import.recordsCount": "{num} / {total} registos", + "import.stopImport": "Parar importação", + "import.subscribe": "Subscrever", + "import.title": "Importar subscritores", + "import.upload": "Upload", + "lists.confirmDelete": "Tens a certeza? Isto não elimina subscritores.", + "lists.confirmSub": "Confirmar subscrição(ões) para {name}", + "lists.invalidName": "Nome inválido", + "lists.newList": "Nova lista", + "lists.optin": "Opt-in", + "lists.optinHelp": "Double opt-in envia um email ao subscritor a pedir confirmação. Em listas double opt-in, as campanhas são apenas enviadas para subscritores confirmados.", + "lists.optinTo": "Opt-in a {name}", + "lists.optins.double": "Double opt-in", + "lists.optins.single": "Single opt-in", + "lists.sendCampaign": "Enviar campanha", + "lists.sendOptinCampaign": "Enviada campanha opt-in", + "lists.type": "Tipo", + "lists.typeHelp": "Listas públicas estão abertas para toda a gente se subscrever e os seus nomes podem aparecer em páginas públicas, como a página de gestão de subscrições.", + "lists.types.private": "Privado", + "lists.types.public": "Público", + "logs.title": "Logs (Histórico)", + "media.errorReadingFile": "Erro ao ler ficheiro: {error}", + "media.errorResizing": "Erro ao alterar tamanho da imagem: {error}", + "media.errorSavingThumbnail": "Erro ao guardar miniatura: {error}", + "media.errorUploading": "Erro ao enviar ficheiro: {error}", + "media.invalidFile": "Ficheiro inválido: {error}", + "media.title": "Mídia", + "media.unsupportedFileType": "Tipo de ficheiro não suportado ({type})", + "media.upload": "Upload", + "media.uploadHelp": "Clica ou arrasta uma ou mais imagens aqui", + "media.uploadImage": "Enviar imagens", + "menu.allCampaigns": "Todas as campanhas", + "menu.allLists": "Todas as listas", + "menu.allSubscribers": "Todos os subscritores", + "menu.dashboard": "Dashboard", + "menu.forms": "Formulários", + "menu.import": "Importar", + "menu.logs": "Logs", + "menu.media": "Mídia", + "menu.newCampaign": "Criar nova", + "menu.settings": "Definições", + "public.campaignNotFound": "A mensagem de email não foi encontrada.", + "public.confirmOptinSubTitle": "Confirmar subscrição", + "public.confirmSub": "Confirmar subscrição", + "public.confirmSubInfo": "Foi adicionado às seguintes listas:", + "public.confirmSubTitle": "Confirmar", + "public.dataRemoved": "As suas subscrições e todos os dados associados foram removidos.", + "public.dataRemovedTitle": "Dados removidos", + "public.dataSent": "Os seus dados foram-lhe enviados em anexo por email.", + "public.dataSentTitle": "Dados enviados por email", + "public.errorFetchingCampaign": "Error fetching e-mail message", + "public.errorFetchingEmail": "Mensagem de email não encontrada", + "public.errorFetchingLists": "Erro ao carregar listas. Por favor tente novamente.", + "public.errorProcessingRequest": "Erro ao processar pedido. Por favor tente novamente.", + "public.errorTitle": "Erro", + "public.invalidFeature": "That feature is not available", + "public.invalidLink": "Link inválido", + "public.noListsAvailable": "Não existem listas disponíveis para subscrever.", + "public.noListsSelected": "Não foram selecionadas listas válidas para subscrever.", + "public.noSubInfo": "There are no subscriptions to confirm", + "public.noSubTitle": "Sem subscrições", + "public.notFoundTitle": "Não encontrado", + "public.privacyConfirmWipe": "Tem a certeza que deseja apagar permanentemente todos os seus dados de subscrições?", + "public.privacyExport": "Exportar os seus dados", + "public.privacyExportHelp": "Uma cópia dos seus dados ser-lhe-á enviada por email.", + "public.privacyTitle": "Privacidade e dados", + "public.privacyWipe": "Apagar os seus dados", + "public.privacyWipeHelp": "Apagar permanentemente da base de dados todas as suas subscrições e dados relacionados.", + "public.sub": "Subscrever", + "public.subConfirmed": "Subscribed successfully", + "public.subConfirmedTitle": "Confirmado", + "public.subName": "Nome (opcional)", + "public.subNotFound": "Subscrição não encontrada.", + "public.subPrivateList": "Lista privada", + "public.subTitle": "Subscrever", + "public.unsub": "Cancelar subscrição", + "public.unsubFull": "Também cancelar subscrição de todos os emails futuros.", + "public.unsubHelp": "Quer cancelar a subscrição desta lista de emails?", + "public.unsubTitle": "Cancelar subscrição", + "public.unsubbedInfo": "A sua subscrição foi cancelada com sucesso.", + "public.unsubbedTitle": "Subscrição cancelada", + "public.unsubscribeTitle": "Cancelar subscrição da lista de emails", + "settings.duplicateMessengerName": "Nome duplicado do mensageiro: {name}", + "settings.errorEncoding": "Erro de definições de codificação: {error}", + "settings.errorNoSMTP": "Pelo menos um bloco SMTP deve estar ativo", + "settings.general.adminNotifEmails": "Emails de notificação de administração", + "settings.general.adminNotifEmailsHelp": "Lista separada por vírgulas dos endereços de email para os quais devem ser enviadas notificações de administração como updates importantes, conclusão de campanhas, falhas, etc.", + "settings.general.enablePublicSubPage": "Ativar página de subscrição pública", + "settings.general.enablePublicSubPageHelp": "Mostrar uma página de subscrição pública com todas as listas públicas para as pessoas se subscreverem.", + "settings.general.faviconURL": "URL do Favicon", + "settings.general.faviconURLHelp": "(Opcional) URL completo do favicon estático para ser mostrado nas janelas do utilizador, como a página de cancelamento de subscrição.", + "settings.general.fromEmail": "Endereço `de` padrão", + "settings.general.fromEmailHelp": "Email `de` padrão para usar em campanhas. Este pode ser alterado por campanha.", + "settings.general.language": "Linguagem", + "settings.general.logoURL": " Root URL", + "settings.general.logoURLHelp": "(Opcional) URL completo do logotipo para ser mostrado nas janelas do utilizador, como a página de cancelamento de subscrição.", + "settings.general.name": "Geral", + "settings.general.rootURL": "URL base", + "settings.general.rootURLHelp": "URL público da instalação (sem barra final).", + "settings.invalidMessengerName": "Nome de mensageiro inválido.", + "settings.media.provider": "Fornecedor", + "settings.media.s3.bucket": "Bucket", + "settings.media.s3.bucketPath": "Caminho do bucket", + "settings.media.s3.bucketPathHelp": "Caminho dentro do bucket para enviar ficheiros. Padrão é /", + "settings.media.s3.bucketType": "Tipo de bucket", + "settings.media.s3.bucketTypePrivate": "Privado", + "settings.media.s3.bucketTypePublic": "Público", + "settings.media.s3.key": "Chave de acesso AWS", + "settings.media.s3.region": "Região", + "settings.media.s3.secret": "Segredo de acesso AWS", + "settings.media.s3.uploadExpiry": "Validade do upload", + "settings.media.s3.uploadExpiryHelp": "(Opcional) Especifica TTL (em segundos) para o URL pré-assinado gerado. Apenas aplicável a buckets privados (s, m, h, d para segundos, minutos, horas e dias).", + "settings.media.title": "Upload de mídia", + "settings.media.upload.path": "Caminho de upload", + "settings.media.upload.pathHelp": "Caminho para a pasta onde será enviada a mídia.", + "settings.media.upload.uri": "URI de envio", + "settings.media.upload.uriHelp": "URI de envio que é visível ao mundo exterior. Toda a mídia enviada para o upload_path será publicamente acessível em {root_url}/{}, por exemplo, https://listmonk.oteusite.com/uploads.", + "settings.messengers.maxConns": "N. Max. Conexões", + "settings.messengers.maxConnsHelp": "Número máximo de conexões simultâneas ao servidor.", + "settings.messengers.messageDiscard": "Descartar alterações?", + "settings.messengers.messageSaved": "Definições guardadas. Recarregando aplicação ...", + "settings.messengers.name": "Mensageiros", + "settings.messengers.nameHelp": "eg: o-meu-sms. Alfanumérico / traço.", + "settings.messengers.password": "Palavra-passe", + "settings.messengers.retries": "Tentativas", + "settings.messengers.retriesHelp": "Número de vezes para tentar novamente quando uma mensagem falha.", + "settings.messengers.skipTLSHelp": "Saltar verificação do hostname no certificado TLS.", + "settings.messengers.timeout": "Tempo limite de inatividade", + "settings.messengers.timeoutHelp": "Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).", + "settings.messengers.url": "URL", + "settings.messengers.urlHelp": "URL base do servidor Postback.", + "settings.messengers.username": "Nome de utilizador", + "settings.performance.batchSize": "Tamanho do lote", + "settings.performance.batchSizeHelp": "O número de subscritores para ir buscar à base de dados numa só iteração. Cada iteração vai buscar subscritores à base de dados, envia-lhe mensagens, e depois segue para a nova iteração para ir buscar o lote seguinte. Isto deve idealmente ser maior do que a máxima taxa de transferência alcançável (simultaneidade * taxa de mensagens).", + "settings.performance.concurrency": "Simultaneidade", + "settings.performance.concurrencyHelp": "Número máximo de workers (threads) concurrentes que irão tentar enviar as mensagens simultaneamente.", + "settings.performance.maxErrThreshold": "Limite máximo de erros", + "settings.performance.maxErrThresholdHelp": "O número de erros (eg: timeouts SMTP ao enviar um email) uma campanha em curso pode tolerar antes de ser colocada em pausa para investigação manual ou intervenção. Colocar a 0 para nunca pausar.", + "settings.performance.messageRate": "Taxa de mensagens", + "settings.performance.messageRateHelp": "Número máximo de mensagens para serem enviadas por segundo num worker. Se simultaneidade = 10 e taxa de mensagens = 10, então até 10x10=100 mensagens podem ser enviadas por segundo. Isto, junto com a simultaneidade, deve ser ajustado de forma a manter o número de mensagens a ser enviadas por segundo abaixo do limite máximo do servidor, se existir.", + "settings.performance.name": "Desempenho", + "settings.performance.slidingWindow": "Ativar o limite de janela", + "settings.performance.slidingWindowDuration": "Duração", + "settings.performance.slidingWindowDurationHelp": "Duração do periodo de limite de janela (m para minuto, h para hora).", + "settings.performance.slidingWindowHelp": "Limitar o número total de mensagens que é enviado num determinado periodo. Ao alcançar este limite, as mensagens são impedidas de ser enviadas até ao fim da janela temporária.", + "settings.performance.slidingWindowRate": "Max. mensagens", + "settings.performance.slidingWindowRateHelp": "Número máximo de mensagens para enviar na duração da janela.", + "settings.privacy.allowBlocklist": "Permitir lista de bloqueio", + "settings.privacy.allowBlocklistHelp": "Permitir ao subscritores cancelar a subscrição de todas as listas de emails e marcar-se como bloqueados?", + "settings.privacy.allowExport": "Permitir exportação", + "settings.privacy.allowExportHelp": "Permitir aos subscritores exportar os dados coletados neles mesmos?", + "settings.privacy.allowWipe": "Permitir eliminação de dados", + "settings.privacy.allowWipeHelp": "Permitir aos subscritores eliminar todos os seus dados, incluindo as suas subscrições, da base de dados. Visualizações de campanhas e cliques em links também são removidos enquanto visualizações e contagem de clicks permanecem (sem nenhum subscritor associado) para que as estatísticas não sejam afetadas.", + "settings.privacy.individualSubTracking": "Tracking individual de subscritores", + "settings.privacy.individualSubTrackingHelp": "Track visualizações e clicked ao nível do subscritor. Quando desligado, visualizações e track de clicks continuam, mas sem estarem associadas a nenhum subscritor.", + "settings.privacy.listUnsubHeader": "Incluir header `List-Unsubscribe`", + "settings.privacy.listUnsubHeaderHelp": "Incluir headers de cancelamento de subscrição que permite aos clientes de email permitir ao utilizadores cancelar a subscrição num único clique.", + "settings.privacy.name": "Privacidade", + "settings.smtp.authProtocol": "Protocolo Autenticação", + "settings.smtp.customHeaders": "Headers customizados", + "settings.smtp.customHeadersHelp": "Array opcional de headers de email a incluir em todas as mensagens enviadas deste servidor. eg: [{\"X-Custom\": \"value\"}, {\"X-Custom2\": \"value\"}]", + "settings.smtp.enabled": "Ativo", + "settings.smtp.heloHost": "Hostname HELO", + "settings.smtp.heloHostHelp": "Opcional. Alguns servidores SMTP necessitam de um FQDN no hostname. Por padrão, HELLOs usam `localhost`. Coloca um hostname customizado se for necessario.", + "settings.smtp.host": "Host", + "settings.smtp.hostHelp": "O endereço host do servidor SMTP", + "settings.smtp.idleTimeout": "Tempo limite de inatividade", + "settings.smtp.idleTimeoutHelp": "Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).", + "settings.smtp.maxConns": "N. Max. Conexões", + "settings.smtp.maxConnsHelp": "Número máximo de conexões simultâneas ao servidor SMTP.", + "settings.smtp.name": "SMTP", + "settings.smtp.password": "Palavra-passe", + "settings.smtp.passwordHelp": "Escreve aqui para alterar", + "settings.smtp.port": "Porta", + "settings.smtp.portHelp": "Porta do servidor SMTP", + "settings.smtp.retries": "Tentativas", + "settings.smtp.retriesHelp": "Número de vezes para tentar novamente quando uma mensagem falha.", + "settings.smtp.setCustomHeaders": "Colocar headers customizados", + "settings.smtp.skipTLS": "Saltar verificação TLS", + "settings.smtp.skipTLSHelp": "Saltar verificação do hostname no certificado TLS.", + "settings.smtp.tls": "TLS", + "settings.smtp.tlsHelp": "Ativar STARTTLS.", + "settings.smtp.username": "Nome de utilizador", + "settings.smtp.waitTimeout": "Tempo limite de espera", + "settings.smtp.waitTimeoutHelp": "Tempo a esperar por nova atividade numa conexão antes de a fechar e removê-la da pool (s para segundo, m para minuto).", + "settings.title": "Definições", + "subscribers.advancedQuery": "Avançado", + "subscribers.advancedQueryHelp": "Expressão SQL parcial para consultar atributos de subscritores", + "subscribers.attribs": "Atributos", + "subscribers.attribsHelp": "Atributos estão definidos como uma mapa JSON, por exemplo:", + "subscribers.blocklistedHelp": "Subscritores bloqueados nunca irão receber emails.", + "subscribers.confirmBlocklist": "Adicionar {num} subscritor(es) à lista de bloqueio?", + "subscribers.confirmDelete": "Eliminar {num} subscritor(es)?", + "subscribers.confirmExport": "Exportar {num} subscritor(es)?", + "subscribers.downloadData": "Descarregar dados", + "subscribers.email": "E-mail", + "subscribers.emailExists": "E-mail já existe.", + "subscribers.errorBlocklisting": "Erro ao bloquear subscritores: {error}", + "subscribers.errorInvalidIDs": "Foram dados um ou mais IDs inválidos: {error}", + "subscribers.errorNoIDs": "Não foram dados IDs.", + "subscribers.errorNoListsGiven": "Não foram dadas listas.", + "subscribers.errorPreparingQuery": "Erro ao preparar query dos subscritores: {error}", + "subscribers.errorSendingOptin": "Erro ao enviar email opt-in.", + "subscribers.export": "Exportar", + "subscribers.invalidAction": "Ação inválida.", + "subscribers.invalidEmail": "Email inválida.", + "subscribers.invalidJSON": "JSON inválido nos atributos.", + "subscribers.invalidName": "Nome inválido.", + "subscribers.listChangeApplied": "Alteração à lista aplicada.", + "subscribers.lists": "Listas", + "subscribers.listsHelp": "Listas nas quais o/a subscritor/a cancelou a sua subscrição não podem ser removidas.", + "subscribers.listsPlaceholder": "Listas a subscrever", + "subscribers.manageLists": "Gerir listas", + "subscribers.markUnsubscribed": "Marcar como não subscrito", + "subscribers.newSubscriber": "Novo subscritor", + "subscribers.numSelected": "{num} subscritor(es) selecionados", + "subscribers.optinSubject": "Confirmar subscrição", + "subscribers.query": "Query", + "subscribers.queryPlaceholder": "E-mail ou nome", + "subscribers.reset": "Repor", + "subscribers.selectAll": "Selecionar todos os {num}", + "subscribers.status.blocklisted": "Bloqueados", + "subscribers.status.confirmed": "Confirmado", + "subscribers.status.enabled": "Ativo", + "subscribers.status.subscribed": "Subscrito", + "subscribers.status.unconfirmed": "Não confirmado", + "subscribers.status.unsubscribed": "Não subscrito", + "subscribers.subscribersDeleted": "{num} subscritor(es) eliminados", + "templates.cantDeleteDefault": "Não é possível eliminar o template padrão", + "templates.default": "Padrão", + "templates.dummyName": "Campanha fictícia", + "templates.dummySubject": "Assunto da campanha fictícia", + "templates.errorCompiling": "Erro ao compilar template: {error}", + "templates.errorRendering": "Erro ao renderizar mensagem: {error}", + "templates.fieldInvalidName": "Tamanho inválido para o nome.", + "templates.makeDefault": "Marcar como padrão", + "templates.newTemplate": "Novo template", + "templates.placeholderHelp": "O placeholder {placeholder} deve aparecer exatamente uma vez no template.", + "templates.preview": "Pré-visualização", + "templates.rawHTML": "HTML Simples" +}