diff --git a/dashboard/public/translation/en.json b/dashboard/public/translation/en.json index 282b14ffc..9175ff652 100644 --- a/dashboard/public/translation/en.json +++ b/dashboard/public/translation/en.json @@ -900,7 +900,12 @@ "subscriptionSetupAction": "Upgrade to Premium", "subscriptionChangeAction": "Manage Subscription", "subscriptionReactivateAction": "Reactivate Subscription", - "emailNotVerified": "Email not yet verified" + "emailNotVerified": "Email not yet verified", + "resetDialog": { + "title": "Really reset Cloudron ID", + "description": "This will disconnect the Cloudron from the current cloudron.io account." + }, + "resetAction": "Reset Registration" }, "timezone": { "title": "System Time Zone", diff --git a/dashboard/public/translation/nl.json b/dashboard/public/translation/nl.json index c6d47ca45..bf0c6ce7b 100644 --- a/dashboard/public/translation/nl.json +++ b/dashboard/public/translation/nl.json @@ -1474,7 +1474,7 @@ } }, "system": { - "title": "Statistieken", + "title": "Systeem Informatie", "diskUsage": { "usageInfo": "{{ available | prettyDiskSize }} van {{ size | prettyDiskSize }} beschikbaar", "diskContent": "Deze {{ type }} schijf bevat", @@ -1491,7 +1491,7 @@ "graphSubtext": "Alleen apps die meer dan {{ threshold }} geheugen gebruiken worden getoond" }, "cpuUsage": { - "title": "CPU-gebruik", + "title": "CPU", "graphTitle": "Percentage", "graphSubtext": "Alleen apps die meer dan {{ threshold }} van de CPU gebruiken worden getoond" }, diff --git a/dashboard/public/translation/pt.json b/dashboard/public/translation/pt.json index dec7c9917..239394ce6 100644 --- a/dashboard/public/translation/pt.json +++ b/dashboard/public/translation/pt.json @@ -32,7 +32,7 @@ "clearAll": "Limpar Tudo" }, "apps": { - "count": "Total aplicações: {{ count }}" + "count": "Total de aplicações: {{ count }}" } }, "main": { @@ -209,7 +209,9 @@ "setup2FA": "Configurar Dois Fatores", "title": "Ativar Autenticação de Dois Fatores", "token": "Código", - "enable": "Ativar" + "enable": "Ativar", + "description": "O seu administrador do Cloudron exigiu que todos os membros ativassem a autenticação de dois fatores. Você não poderá aceder ao painel até ativar a 2FA.", + "authenticatorAppDescription": "Utilize o Google Authenticator (Android, iOS), autenticador FreeOTP (Android, iOS) ou uma aplicação de TOTP similar para digitalizar o segredo." }, "apiTokens": { "revokeTokenTooltip": "Revogar Código", @@ -221,7 +223,10 @@ "scope": "Âmbito", "readonly": "Apenas de leitura", "readwrite": "Ler e Gravar", - "name": "Nome" + "name": "Nome", + "description": "Utilize estes códigos de acesso pessoais para autenticar a API do Cloudron", + "noTokensPlaceholder": "Sem Códigos da API criados", + "allowedIpRanges": "IPs Permitidos" }, "changeDisplayName": { "title": "Alterar o seu nome a exibir", @@ -233,16 +238,22 @@ "name": "Nome da Palavra-passe", "title": "Criar Palavra-passe da Aplicação", "errorNameRequired": "É necessário um nome", - "app": "Aplicação" + "app": "Aplicação", + "description": "Utilize a palavra-passe seguinte para se autenticar na aplicação:", + "copyNow": "Por favor, copie a palavra-passe agora. Esta não será mostrada novamente por motivos de segurança." }, "createApiToken": { "name": "Nome do Código de API", "title": "Criar Código de API", "errorNameRequired": "É necessário um nome", - "description": "Novo código de API:" + "description": "Novo código de API:", + "generateToken": "Gerar Código de API", + "access": "Acesso de API", + "copyNow": "Por favor, copie o código da API agora. Este não será mostrado novamente por motivos de segurança." }, "passwordResetNotification": { - "title": "Redefinição da palavra-passe bem-sucedida" + "title": "Redefinição da palavra-passe bem-sucedida", + "body": "Mensagem enviada para {{ email }}" }, "title": "Perfil", "changeAvatar": { @@ -263,23 +274,38 @@ "errorEmailInvalid": "O endereço de correio eletrónico não é válido", "password": "Palavra-passe para confirmação", "errorWrongPassword": "Palavra-passe errada", - "errorPasswordRequired": "É necessária uma palavra-passe" + "errorPasswordRequired": "É necessária uma palavra-passe", + "title": "Alterar endereço de correio eletrónico da recuperação de palavra-passe", + "email": "Novo endereço de correio eletrónico da recuperação de palavra-passe" }, "loginTokens": { "title": "Códigos de Autenticação", - "logoutAll": "Terminar Sessão de Todos" + "logoutAll": "Terminar Sessão de Todos", + "description": "Tem {{ webadminTokenCount}} código(s) da Web ativo(s) e {{ cliTokenCount }} código(s) de CLI." }, "appPasswords": { "title": "Palavras-passe da Aplicação", "app": "Aplicação", "name": "Nome", "newPassword": "Nova Palavra-passe", - "deletePasswordTooltip": "Eliminar Palavra-passe" + "deletePasswordTooltip": "Eliminar Palavra-passe", + "noPasswordsPlaceholder": "Nenhumas Palavras-passe de Aplicação criadas", + "description": "As palavras-passe da aplicação são uma medida de segurança para proteger a sua conta de utilizador Cloudron. Se precisar de aceder a uma aplicação Cloudron a partir de uma aplicação móvel ou cliente não fidedigno, pode iniciar a sessão com o seu nome de utilizador e a palavra-passe alternativa gerada aqui." }, "changePasswordAction": "Alterar Palavra-passe", "disable2FAAction": "Desativar 2FA", "enable2FAAction": "Ativar 2FA", - "passwordResetAction": "Eu não me lembro da minha palavra-passe" + "passwordResetAction": "Eu não me lembro da minha palavra-passe", + "removeAppPassword": { + "title": "Deseja remover a palavra-passe {{ name }}?" + }, + "removeApiToken": { + "title": "Deseja remover o código {{ name }}?" + }, + "passwordRecoveryEmail": "Mensagem de recuperação da palavra-passe", + "changeBackgroundImage": { + "title": "Definir Imagem de Fundo" + } }, "users": { "exposedLdap": { @@ -291,7 +317,8 @@ "secret": { "label": "Associar Palavra-passe", "url": "URL do Servidor" - } + }, + "description": "Cloudron pode atuar como um servidor de diretoria do utilizador central para as aplicações externas." }, "users": { "superadminTooltip": "Este utilizador é um super administrador", @@ -334,7 +361,14 @@ "errorInvalidUsername": "Não é um nome de utilizador válido", "displayName": "Nome a Exibir", "email": "E-mail", - "primaryEmail": "E-mail principal" + "primaryEmail": "E-mail principal", + "usernamePlaceholder": "Opcional. Se não for fornecido, o utilizador pode escolher durante o registo", + "ldapGroups": "Grupos de LDAP", + "errorDisplayNameRequired": "O nome é necessário", + "activeCheckbox": "O utilizador está ativo", + "displayNamePlaceholder": "Opcional. Se não fornecido, o utilizador pode fornecer durante o registo", + "fallbackEmailPlaceholder": "Opcional. Se não especificado, será utilizado o e-mail principal", + "recoveryEmail": "Mensagem de recuperação da palavra-passe" }, "passwordResetDialog": { "description": "A seguinte hiperligação de redefinir palavra-passe foi enviada para {{ email }}:", @@ -345,7 +379,10 @@ "reset2FAAction": "Redefinir 2FA", "emailSent": "Enviada", "title": "Redefinir palavra-passe para {{ username }}", - "sendEmailLinkAction": "Enviar mensagem com hiperligação para o utilizador" + "sendEmailLinkAction": "Enviar mensagem com hiperligação para o utilizador", + "descriptionLink": "Copiar hiperligação de redefinição da palavra-passe", + "descriptionEmail": "Enviar hiperligação de redefinição da palavra-passe", + "resetLinkExplanation": "Utilize isto para enviar uma mensagem com a hiperligação de redefinir a palavra-passe para o endereço de e-mail respondido do utilizador - {{ email }}." }, "editUserDialog": { "externalLdapWarning": "Este utilizador é sincronizado a partir da diretoria LDAP externa.", @@ -361,7 +398,9 @@ "title": "Convidar {{ username }}", "newLinkAction": "Convidar agora o utilizador", "sendAction": "Enviar Mensagem", - "descriptionLink": "Copiar hiperligação de convite" + "descriptionLink": "Copiar hiperligação de convite", + "inviteLinkExplanation": "Utilize isto para gerar uma nova hiperligação de convite. A hiperligação também será enviada para o utilizador e irá redefinir a palavra-passe.", + "description": "A seguinte hiperligação de convite foi enviada para {{ email }}:" }, "externalLdap": { "autocreateUsersOnLogin": "Criar utilizadores automaticamente ao iniciar a sessão", @@ -374,11 +413,24 @@ "syncAction": "Sincronizar", "configureAction": "Configurar", "providerOther": "Outro", - "providerDisabled": "Desativado" + "providerDisabled": "Desativado", + "showLogsAction": "Mostrar Registos", + "subscriptionRequiredAction": "Configurar Subscrição Agora", + "noopInfo": "A autenticação LDAP não está configurada.", + "title": "Ligar uma Diretoria Externa", + "acceptSelfSignedCert": "Aceitar certificado Assinado Automaticamente", + "groupnameField": "Campo do Nome do Grupo", + "errorSelfSignedCert": "O servidor está a utilizar um certificado inválido ou assinado automaticamente.", + "description": "Esta definição sincronizará e autenticará os utilizadores e grupos de um servidor LDAP ou Active Directory externa. A sincronização é executada periodicamente, mas também pode ser acionada manualmente.", + "bindPassword": "Vincular Palavra-passe (opcional)", + "disableWarning": "A fonte de autenticação de todos os utilizadores existentes será reiniciada para se autenticar na base de dados da palavra-passe atual.", + "baseDn": "Base DN", + "bindUsername": "Vincular Base DN/Nome de utilizador (opcional)" }, "deleteUserDialog": { "title": "Eliminar utilizador {{ username }}", - "deleteAction": "Eliminar" + "deleteAction": "Eliminar", + "description": "Depois da eliminação, o utilizador não poderá aceder ao painel ou iniciar a sessão em quaisquer aplicações. Note que não são removidos quaisquer dados do utilizador dentro das aplicações." }, "externalLdapDialog": { "title": "Configurar LDAP" @@ -396,7 +448,8 @@ "setGhostDialog": { "password": "Palavra-passe", "setPassword": "Definir Palavra-passe", - "generatePassword": "Gerar Palavra-passe" + "generatePassword": "Gerar Palavra-passe", + "title": "Crie palavra-passe para se passar por {{ username }}" }, "setGhost": { "password": "Palavra-passe" @@ -404,7 +457,12 @@ "userImportDialog": { "title": "Importar Utilizadores", "fileInput": "Selecionar ficheiro JSON ou CSV", - "importAction": "Importar" + "importAction": "Importar", + "usersFound": "Encontrado(s) {{ count }} utilizador(es) para importar.", + "success": "Importado(s) {{ count }} utilizador(es).", + "failed": "Os utilizadores seguintes não foram importados:", + "sendInviteCheckbox": "Enviar mensagem de convite aos utilizadores importados", + "description": "Envie um ficheiro JSON ou CSV com o esquema descrito na nossa documentação" }, "userExport": { "csv": "Exportar como CSV", @@ -424,7 +482,11 @@ "settings": { "title": "Definições do Utilizador", "subscriptionRequiredAction": "Configurar Subscrição Agora", - "saveAction": "Guardar" + "saveAction": "Guardar", + "allowProfileEditCheckbox": "Permitir que os utilizadores editem o seu nome e e-mail", + "require2FACheckbox": "Requer que os utilizadores configurem 2FA", + "subscriptionRequired": "Estas funcionalidades só estão disponíveis nos planos pagos.", + "require2FAWarning": "Configure primeiro o 2FA para a sua conta para evitar que fique bloqueado." }, "addGroupDialog": { "title": "Adicionar Grupo" @@ -447,7 +509,12 @@ }, "addUserDialog": { "title": "Adicionar Utilizador", - "addUserAction": "Adicionar Utilizador" + "addUserAction": "Adicionar Utilizador", + "sendInviteCheckbox": "Enviar agora uma mensagem de convite" + }, + "invitationNotification": { + "title": "Hiperligação de convite enviada", + "body": "Mensagem enviada para {{ email }}" } }, "login": { @@ -470,7 +537,90 @@ }, "emails": { "testMailDialog": { - "mailToPlaceholder": "Endereço de correio eletrónico" + "mailToPlaceholder": "Endereço de correio eletrónico", + "mailTo": "Enviar para", + "sendAction": "Enviar" + }, + "eventlog": { + "type": { + "sentInfo": "Enviada", + "queued": "Em Fila", + "savedInfo": "Guardada", + "denied": "Negado", + "bounce": "Desativado", + "outgoing": "De Saída", + "incoming": "A Receber", + "deferred": "Adiado", + "deniedInfo": "Ligação negada", + "overQuotaInfo": "Caixa de Correio {{ mailbox }} está {{ quotaPercent }}% cheia", + "underQuotaInfo": "Caixa de Correio {{ mailbox }} está abaixo da quota {{ quotaPercent }}%", + "quota": "Quota da Caixa de Correio" + }, + "searchPlaceholder": "Procurar", + "from": "De", + "mailFrom": "De", + "rcptTo": "Para", + "time": "Hora", + "details": "Detalhes", + "empty": "O registo de evento está vazio." + }, + "changeDomainDialog": { + "title": "Alterar Localização do Servidor de E-mail", + "location": "Localização", + "description": "Isto irá mover o servidor de IMAP e SMTP para a localização especificada." + }, + "title": "E-mail", + "typeFilterHeader": "Todos os Eventos", + "aclDialog": { + "dnsblZones": "Zonas DNSBL" + }, + "queue": { + "mailFrom": "De", + "discardTooltip": "Rejeitar", + "queueTime": "Hora da Fila", + "resendTooltip": "Reenviar agora", + "title": "Fila de Mensagens", + "rcptTo": "Para", + "details": "Detalhes", + "empty": "A fila de mensagens está vazia" + }, + "action": { + "queue": "Fila" + }, + "changeVirtualAllMailDialog": { + "title": "Pasta \"Todas as Mensagens\"" + }, + "settings": { + "title": "Definições", + "info": "Estas definições são globais e aplicam-se a todos os domínios.", + "location": "Localização do Servidor de Correio", + "aclOverview": "{{ dnsblZonesCount }} DNSBL zona(s)", + "virtualAllMail": "Pasta \"Todas as Mensagens\"", + "solrDisabled": "Desativado", + "solrRunning": "Em Execução", + "solrNotRunning": "Parado", + "acl": "Correio ACL", + "solrEnabled": "Ativado", + "spamFilter": "Filtragem de lixo do correio eletrónico" + }, + "domains": { + "domain": "Domínio", + "config": "Configurar", + "outbound": "Apenas de saída", + "disabled": "Desativado", + "stats": "{{ mailboxCount }} Caixa(s) de correio / Utilização: {{ usage }}", + "testEmailTooltip": "Enviar Mensagem de Teste", + "title": "Domínios" + }, + "mailboxSharing": { + "enableAction": "Ativar" + }, + "solrConfig": { + "notEnoughMemory": "Por favor, aloque pelo menos 3 GB para o serviço de correio para ativar solr." + }, + "spamFilterDialog": { + "title": "Filtragem de Lixo de Correio Eletrónico", + "blacklisteAddresses": "Endereços na lista de bloqueios" } }, "email": { @@ -487,16 +637,459 @@ "addMailinglistDialog": { "members": "Listar Membros", "name": "Nome" + }, + "smtpStatus": { + "rblCheck": "Verificar Lista Negra do DNS", + "outboundSmtp": "SMTP de Saída" + }, + "subscriptionDialog": { + "title": "Necessária subscrição" } }, "backups": { "location": { "title": "Localização", "provider": "Fornecedor", - "location": "Localização" + "location": "Localização", + "format": "Formato de Armazenamento", + "configure": "Configurar", + "remount": "Remontar Armazenamento", + "disabledList": "As seguintes aplicações têm as cópias de segurança desativadas:" + }, + "configureBackupStorage": { + "encryptedFilenames": "Nomes de ficheiro encriptados", + "s3SecretAccessKey": "Código de acesso secreto", + "format": "Formato do Armazenamento", + "preserveAttributesLabel": "Preservar atributos de ficheiro", + "port": "Porta", + "provider": "Fornecedor de armazenamento", + "prefix": "Prefixo", + "region": "Região", + "title": "Configurar Armazenamento da Cópia de Segurança", + "localDirectory": "Diretoria da cópia de segurança çocal", + "ext4Label": "A diretoria da cópia de segurança é um Disco EXT4 externo", + "acceptSelfSignedCerts": "Aceitar certificado Assinado Automaticamente", + "s3AccessKeyId": "Id. do código de acesso", + "gcsServiceKey": "Código da Conta de Serviço", + "encryptionPassword": "Encriptação da Palavra-passe (opcional)", + "encryptFilenames": "Nomes de Ficheiro Encriptados", + "advancedSettings": "Definições avançadas…", + "memoryLimit": "Limite da Memória", + "encryptionPasswordRepeat": "Repetir Palavra-passe", + "server": "IP do Servidor ou Nome do Anfitrião", + "remoteDirectory": "Diretoria Remota", + "username": "Nome de utilizador", + "password": "Palavra-passe", + "user": "Utilizador", + "privateKey": "Código Privado", + "diskPath": "Caminho do Disco", + "downloadConcurrencyDescription": "Número de ficheiros para transferir em paralelo quando restaurar" + }, + "schedule": { + "schedule": "Agendar", + "retentionPolicy": "Política de Retenção", + "title": "Agendar e Retenção", + "configure": "Configurar" + }, + "backupEdit": { + "remotePath": "Remover Caminho", + "label": "Etiqueta", + "title": "Editar Cópia" + }, + "restoreArchiveDialog": { + "restoreAction": "Restaurar", + "restoreActionOverwrite": "Restaurar e substituir DNS", + "title": "Restaurar do Arquivo" + }, + "archives": { + "info": "Informação" + }, + "deleteArchive": { + "deleteAction": "Eliminar" + }, + "deleteArchiveDialog": { + "description": "Depois da eliminação, o arquivo será limpo com base na política das cópias de segurança.", + "title": "Eliminar Arquivo de {{appTitle}} ({{fqdn}})" + }, + "cleanupBackups": { + "cleanupNow": "Limpar agora", + "title": "Limpeza das Cópias de Segurança" + }, + "configureBackupSchedule": { + "schedule": "Agendar", + "days": "Dias", + "hours": "Horas", + "retentionPolicy": "Política de Retenção" + }, + "backupFailed": { + "title": "Não é possível criar a cópia de segurança" + }, + "title": "Cópias de Segurança", + "listing": { + "contents": "Conteúdos", + "version": "Versão", + "noApps": "Sem aplicações", + "appCount": "{{ appCount }} aplicações", + "backupNow": "Copiar agora", + "stopTask": "Parar Cópia", + "tooltipEditBackup": "Editar Cópia", + "tooltipPreservedBackup": "Esta cópia de segurança será preservada", + "title": "Listagem", + "noBackups": "Ainda não foram efetuadas cópias de segurança.", + "tooltipDownloadBackupConfig": "Transferir Configuração da Cópia de Segurança", + "cleanupBackups": "Limpeza das Cópias de Segurança" + }, + "logs": { + "title": "Registos", + "showLogs": "Mostrar Registos", + "description": "Por favor, tenha cuidado quando envia estes registos para um servidor público porque eles podem conter informação sensível." + }, + "backupDetails": { + "title": "Detalhes da Cópia", + "id": "Id.", + "date": "Data", + "version": "Versão", + "format": "Formato" } }, "passwordReset": { "backToLoginAction": "Voltar para iniciar sessão" + }, + "branding": { + "footer": { + "title": "Rodapé", + "subscriptionRequired": "A personalização do rodapé só está disponível nos planos pagos.", + "setupSubscriptionNow": "Configurar Subscrição Agora", + "description": "Utilizar marcação para estilizar o rodapé." + }, + "clearBackgroundImage": "Limpar", + "title": "Aparência", + "cloudronName": "Nome de Cloudron", + "logo": "Logótipo", + "changeLogo": { + "title": "Escolher Avatar de Cloudron" + } + }, + "network": { + "firewall": { + "title": "Firewall", + "configure": { + "title": "Configuração da Firewall" + } + }, + "configureIp": { + "title": "Configurar Provedor de IPv4" + }, + "ip": { + "title": "IPv4", + "description": "Este endereço IPv4 é utilizado para configurar os registos de DNS A.", + "provider": "Provedor", + "interface": "Nome da Interface da Rede", + "configure": "Configurar", + "detected": "detetado", + "address": "Endereço de IP", + "interfaceDescription": "Listar os dispositivos disponíveis no servidor com:" + }, + "title": "Rede", + "dyndns": { + "title": "DNS Dinâmico", + "showLogsAction": "Mostrar Registos" + }, + "ipv4": { + "address": "Endereço de IPv4" + }, + "ipv6": { + "address": "Endereço de IPv6", + "title": "IPv6" + }, + "configureIpv6": { + "title": "Configurar Provedor de IPv6" + }, + "trustedIps": { + "title": "Configurar IPs Confiáveis" + } + }, + "settings": { + "timezone": { + "title": "Zona Horária do Sistema" + }, + "language": { + "description": "O idioma predefinido deste Cloudron pode ser definido aqui. Isto também será utilizado para as mensagens transacionais, tais como convite do utilizador e redefinição da palavra-passe. Cada utilizador ainda pode alterar individualmente o idioma preferido do painel no perfil.", + "title": "Idioma" + }, + "privateDockerRegistry": { + "deleteQuestion": "Deseja eliminar este registo?", + "setupSubscriptionAction": "Configurar Subscrição Agora", + "server": "Endereço do servidor", + "username": "Nome de utilizador", + "usernameNotSet": "Não definido", + "configureAction": "Configurar Registo", + "serverNotSet": "Não definido" + }, + "title": "Sistema", + "appstoreAccount": { + "title": "Conta Cloudron.io", + "setupAction": "Configurar Conta", + "email": "E-mail da Conta", + "subscription": "Subscrição", + "cloudronId": "Id. de Cloudron", + "subscriptionChangeAction": "Gerir Subscrição", + "subscriptionReactivateAction": "Reativar Subscrição", + "emailNotVerified": "E-mail ainda não foi verificado", + "subscriptionSetupAction": "Atualizar para Premium" + }, + "updates": { + "checkForUpdatesAction": "Procurar por Atualizações", + "schedule": "Agendar", + "version": "Versão da plataforma", + "showLogsAction": "Mostrar Registos", + "changeScheduleAction": "Alterar Agendamento", + "updateAvailableAction": "Disponível Atualização", + "stopUpdateAction": "Parar Atualização", + "disabled": "Desativada" + }, + "updateDialog": { + "title": "Atualizar Cloudron para", + "changes": "Alterações", + "skipBackupCheckbox": "Ignorar cópia", + "updateAction": "Atualizar", + "blockingApps": "As aplicações em baixo estão a bloquear a atualização porque elas têm ações pendentes:", + "blockingAppsInfo": "Por favor, aguarde que as operações em cima terminem." + }, + "privateDockerRegistryDialog": { + "email": "E-mail (Opcional)", + "passwordToken": "Palavra-passe/Código", + "title": "Configuração Privada do Registo" + }, + "updateScheduleDialog": { + "days": "Dias", + "hours": "Horas", + "disableCheckbox": "Desativar Atualizações Automáticas", + "enableCheckbox": "Ativar Atualizações Automáticas", + "selectOne": "Selecione pelo menos um dia e hora" + }, + "registryConfig": { + "providerOther": "Outro", + "providerDisabled": "Desativado" + } + }, + "support": { + "ticket": { + "typeEmail": "Erro de E-mail", + "type": "Tipo", + "subscriptionRequiredDescription": "Pode encontrar respostas na nossa documentação ou perguntar no Fórum.", + "reportPlaceholder": "Descreva o seu problema", + "emailVerifyAction": "Verificar agora", + "typeBilling": "Problema de Faturação", + "email": "E-mail", + "emailInfo": "(O e-mail de subscrição é {{ email }})", + "submitAction": "Submeter", + "title": "Pedido", + "typeApp": "Erro da Aplicação", + "typeBug": "Relatório de Erro", + "subscriptionRequired": "Os pedidos de apoio só estão disponíveis nos planos pagos.", + "selectApp": "Selecionar Aplicação", + "topic": "Tópico", + "report": "Relatório", + "sshCheckbox": "Permitir que os técnicos do apoio liguem a este servidor via SSH", + "emailPlaceholder": "Se necessário, forneça um endereço de correio eletrónico diferente do acima para contactá-lo", + "emailNotVerified": "A sua conta de correio eletrónico de cloudron.io {{ email }} não está verificada. Por favor, verifique-a para abrir os pedidos de apoio." + }, + "help": { + "title": "Ajuda", + "description": "Por favor, utilize os seguintes recursos para ajuda e apoio:\n* [Fórum do Cloudron]({{ forumLink }}) - Por favor, utilize as categorias específicas da Aplicação e Apoio para questões.\n* [Documentação do Cloudron e Base de Conhecimentos]({{ docsLink }})\n* [API e Empacotamento da Aplicação Personalizado]({{ packagingLink }})\n" + }, + "remoteSupport": { + "title": "Apoio Remoto", + "subscriptionRequired": "O apoio remoto está disponível nos planos pagos.", + "description": "Ative esta opção para permitir que os técnicos do apoio liguem a este servidor via SSH.", + "disableAction": "Desativar o acesso ao suporte de SSH", + "enableAction": "Ativar o acesso ao suporte de SSH", + "warning": "Não ative esta opção a não ser que solicitado pela equipa de apoio do Cloudron." + }, + "title": "Apoio" + }, + "domains": { + "renewCerts": { + "renewAllAction": "Renovar Todos os Certificados", + "title": "Renovar certificados", + "showLogsAction": "Mostrar Registos" + }, + "domainDialog": { + "editTitle": "Configurar {{ domain }}", + "addTitle": "Adicionar Domínio", + "fallbackCertCustomCert": "Certificado Personalizado", + "jitsiHostname": "Localização de Jitsi", + "inwxUsername": "Nome de utilizador", + "inwxPassword": "Palavra-passe", + "domain": "Domínio", + "matrixHostname": "Localização do Servidor Matrix", + "mastodonHostname": "Localização do Servidor Mastodon", + "netcupApiKey": "Código da API", + "provider": "Provedor de DNS", + "route53AccessKeyId": "Id. do Código de Acesso", + "route53SecretAccessKey": "Código de Acesso Secreto", + "gcdnsServiceAccountKey": "Código da Conta de Serviço", + "digitalOceanToken": "Código de DigitalOcean", + "gandiApiKey": "Código da API Gandi", + "goDaddyApiKey": "Código da API", + "goDaddyApiSecret": "Segredo da API", + "cloudflareTokenType": "Tipo de Código", + "cloudflareEmail": "E-mail de Cloudflare", + "linodeToken": "Código de Linode", + "nameComUsername": "Nome de Utilizador de Name.com", + "nameComApiToken": "Código da API", + "namecheapApiKey": "Código da API", + "advancedAction": "Definições avançadas…", + "zoneName": "Nome da Zona (Opcional)", + "certProvider": "Fornecedor do Certificado", + "fallbackCertKeyPlaceholder": "Código", + "fallbackCertCertificatePlaceholder": "Certificado", + "netcupCustomerNumber": "Número de Cliente", + "netcupApiPassword": "Palavra-passe da API", + "hetznerToken": "Código de Hetzner", + "cloudflareDefaultProxyStatus": "Ativar ''proxying'' para os novos registos de DNS", + "porkbunApikey": "Código da API", + "porkbunSecretapikey": "Código da API Secreto", + "vultrToken": "Código de Vultr", + "cloudflareTokenTypeGlobalApiKey": "Código da API Global", + "cloudflareTokenTypeApiToken": "Código da API" + }, + "title": "Domínios e Certificados", + "subscriptionRequired": { + "title": "Necessária subscrição", + "description": "Para adicionar mais domínios, por favor, configure um plano pago.", + "setupAction": "Configurar Subscrição" + }, + "addDomain": "Adicionar Domínio", + "domain": "Domínio", + "provider": "Provedor", + "tooltipEdit": "Editar Domínio", + "tooltipRemove": "Remover Domínio", + "changeDashboardDomain": { + "title": "Alterar Domínio do Painel", + "changeAction": "Alterar Domínio", + "cancelAction": "Cancelar", + "showLogsAction": "Mostrar Registos" + }, + "syncDns": { + "showLogsAction": "Mostrar Registos", + "title": "Sincronizar DNS", + "syncAction": "Sincronizar DNS" + }, + "removeDialog": { + "removeAction": "Remover" + } + }, + "services": { + "configureActionTooltip": "Configurar", + "restartActionTooltip": "Reiniciar", + "configure": { + "title": "Configurar {{ name }}", + "accessControl": "Controlo de Acesso", + "memoryLimitDescription": "Cloudron aloca 50% deste valor como RAM e 50% como troca (swap).", + "resetToDefaults": "Reiniciar para predefinição", + "requireAdminRoleLabel": "Requer função de administrador para aceder a SFTP", + "enableRecoveryMode": "Ativar Modo de Recuperação" + }, + "refresh": "Atualizar", + "memoryUsage": "Utilização de Memória", + "memoryLimit": "Limite de Memória", + "title": "Serviços", + "service": "Serviço" + }, + "system": { + "diskUsage": { + "uninstalledApp": "Aplicação desinstalada", + "title": "Utilização do Disco", + "diskSpeed": "Velocidade: {{ speed }} MB/seg.", + "usedInfo": "{{ used }} utilizado de {{ size }}", + "volumeContent": "Este disco é o volume {{ name }}", + "notAvailableYet": "Ainda não disponível", + "diskContent": "Este disco {{ type }} contém", + "mountedAt": "{{ filesystem }} montado em {{ mountpoint }}", + "usageInfo": "disponível {{ available | prettyDiskSize }} de {{ size | prettyDiskSize }}" + }, + "title": "Informação do Sistema", + "selectPeriodLabel": "Selecionar Período", + "systemMemory": { + "title": "Memória do Sistema", + "graphSubtext": "Só são mostradas aplicações que utilizem mais de {{ threshold }} da memória" + }, + "cpuUsage": { + "title": "CPU", + "graphTitle": "Percentagem", + "graphSubtext": "Só são mostradas aplicações que utilizem mais de {{ threshold }} da CPU" + }, + "info": { + "platformVersion": "Versão da Plataforma", + "vendor": "Empresa", + "product": "Produto", + "memory": "Memória", + "title": "Informação", + "uptime": "Em Execução", + "activationTime": "Hora de Criação do Cloudron" + }, + "locale": { + "title": "Definições de Local" + }, + "graphs": { + "title": "Gráficos" + } + }, + "eventlog": { + "source": "Fonte", + "details": "Detalhes", + "searchPlaceholder": "Procurar", + "filterAllEvents": "Todos os Eventos", + "time": "Hora", + "title": "Registo de Evento" + }, + "notifications": { + "settings": { + "diskSpace": "Pouco espaço em disco", + "appUp": "A aplicação está novamente on-line", + "rebootRequired": "É necessário reiniciar o servidor", + "cloudronUpdateFailed": "Atualização do Cloudron Falhou", + "title": "Definições da Notificação", + "backupFailed": "Cópia de segurança falhou", + "certificateRenewalFailed": "Renovação do certificado falhou", + "appOutOfMemory": "A aplicação não tem memória", + "appDown": "A aplicação está em baixo" + }, + "allCaughtUp": "Tudo OK", + "title": "Notificações", + "nonePending": "Tudo OK!", + "dismissTooltip": "Rejeitar", + "clearAll": "Limpar Tudo", + "markAllAsRead": "Marcar Tudo como Lido" + }, + "filemanager": { + "list": { + "menu": { + "download": "Transferir" + } + } + }, + "app": { + "backups": { + "backups": { + "downloadConfigTooltip": "Transferir Configuração da Cópia de Segurança", + "downloadBackupTooltip": "Transferir Cópia de Segurança" + } + } + }, + "logs": { + "title": "Registos", + "clear": "Limpar Visualização", + "download": "Transferir Registos Completos" + }, + "terminal": { + "download": { + "title": "Transferir de {{ name }}", + "filePath": "Caminho para ficheiro ou diretoria", + "download": "Transferir" + }, + "downloadAction": "Transferir" } } diff --git a/dashboard/src/views/CloudronAccountView.vue b/dashboard/src/views/CloudronAccountView.vue index ac7d5b4af..9dd7b76ec 100644 --- a/dashboard/src/views/CloudronAccountView.vue +++ b/dashboard/src/views/CloudronAccountView.vue @@ -51,8 +51,8 @@ async function refresh() { const inputDialog = useTemplateRef('inputDialog'); async function onAskResetCloudron() { const yes = await inputDialog.value.confirm({ - title: 'Really reset Cloudron ID', - message: 'This will disconnect the Cloudron from the current cloudron.io account', + title: t('settings.appstoreAccount.resetDialog.title'), + message: t('settings.appstoreAccount.resetDialog.description'), confirmStyle: 'danger', confirmLabel: t('main.dialog.yes'), rejectLabel: t('main.dialog.cancel'), @@ -133,7 +133,7 @@ onUnmounted(() => { {{ $t('settings.appstoreAccount.subscriptionChangeAction') }} - + @@ -151,7 +151,7 @@ onUnmounted(() => { Unknown Cloudron ID or invalid cloudron.io token.
- +