diff --git a/messages/pt-PT.json b/messages/pt-PT.json index 97c88ff3f..78105f403 100644 --- a/messages/pt-PT.json +++ b/messages/pt-PT.json @@ -101,6 +101,8 @@ "sitesTableViewPrivateResources": "Visualizar Recursos Privados", "siteInstallNewt": "Instalar Novo", "siteInstallNewtDescription": "Novo item em execução no seu sistema", + "siteInstallKubernetesDocsDescription": "Para mais informações atualizadas sobre a instalação do Kubernetes, veja docs.pangolin.net/manage/sites/install-kubernetes.", + "siteInstallAdvantechDocsDescription": "Para instruções de instalação do modem da Advantech, veja docs.pangolin.net/manage/sites/install-advantech.", "WgConfiguration": "Configuração do WireGuard", "WgConfigurationDescription": "Use a seguinte configuração para conectar-se à rede", "operatingSystem": "Sistema operacional", @@ -148,16 +150,16 @@ "siteCredentialsSaveDescription": "Você só será capaz de ver esta vez. Certifique-se de copiá-lo para um lugar seguro.", "siteInfo": "Informações do Site", "status": "SItuação", - "shareTitle": "Gerir links partilhados", + "shareTitle": "Gerenciar Links Compartilháveis", "shareDescription": "Criar links compartilháveis para conceder acesso temporário ou permanente aos recursos do proxy", - "shareSearch": "Pesquisar links de compartilhamento...", - "shareCreate": "Criar Link de Compartilhamento", + "shareSearch": "Pesquisar links compartilháveis...", + "shareCreate": "Criar Link Compartilhável", "shareErrorDelete": "Falha ao apagar o link", "shareErrorDeleteMessage": "Ocorreu um erro ao apagar o link", "shareDeleted": "Link excluído", "shareDeletedDescription": "O link foi eliminado", - "shareDelete": "Excluir Link de Compartilhamento", - "shareDeleteConfirm": "Confirmar Exclusão de Link de Compartilhamento", + "shareDelete": "Excluir Link Compartilhável", + "shareDeleteConfirm": "Confirmar exclusão do Link Compartilhável", "shareQuestionRemove": "Tem certeza de que deseja excluir este link de compartilhamento?", "shareMessageRemove": "Uma vez excluído, o link não funcionará mais e qualquer pessoa que o utilizar perderá o acesso ao recurso.", "shareTokenDescription": "O token de acesso pode ser passado de duas maneiras: como um parâmetro de consulta ou nos cabeçalhos da solicitação. Estes devem ser passados do cliente em todas as solicitações para acesso autenticado.", @@ -177,6 +179,7 @@ "shareCreateDescription": "Qualquer um com este link pode aceder o recurso", "shareTitleOptional": "Título (opcional)", "sharePathOptional": "Caminho (opcional)", + "sharePathDescription": "O link redirecionará os usuários para este caminho após a autenticação.", "expireIn": "Expira em", "neverExpire": "Nunca expirar", "shareExpireDescription": "Tempo de expiração é quanto tempo o link será utilizável e oferecerá acesso ao recurso. Após este tempo, o link não funcionará mais, e os utilizadores que usaram este link perderão acesso ao recurso.", @@ -200,8 +203,8 @@ "shareErrorSelectResource": "Por favor, selecione um recurso", "proxyResourceTitle": "Gerenciar Recursos Públicos", "proxyResourceDescription": "Criar e gerenciar recursos que são acessíveis publicamente por meio de um navegador da web", - "publicResourcesBannerTitle": "Acesso Público via Web", - "publicResourcesBannerDescription": "Os recursos públicos são proxies HTTPS ou TCP/UDP acessíveis a qualquer pessoa na internet por meio de um navegador web. Ao contrário dos recursos privados, eles não requerem software do lado do cliente e podem incluir políticas de acesso conscientes de identidade e contexto.", + "publicResourcesBannerTitle": "Acesso Público Baseado em Web", + "publicResourcesBannerDescription": "Os recursos públicos são proxies HTTPS acessíveis a qualquer pessoa na internet através de um navegador web. Ao contrário dos recursos privados, eles não exigem software do lado do cliente e podem incluir políticas de acesso conscientes de identidade e contexto.", "clientResourceTitle": "Gerenciar recursos privados", "clientResourceDescription": "Criar e gerenciar recursos que só são acessíveis por meio de um cliente conectado", "privateResourcesBannerTitle": "Acesso Privado com Confiança Zero", @@ -209,15 +212,19 @@ "resourcesSearch": "Procurar recursos...", "resourceAdd": "Adicionar Recurso", "resourceErrorDelte": "Erro ao apagar recurso", - "resourcePoliciesTitle": "Gerenciar Políticas de Recurso", - "resourcePoliciesAttachedResourcesColumnTitle": "Recursos Anexados", + "resourcePoliciesBannerTitle": "Reutilizar Regras de Autenticação e Acesso", + "resourcePoliciesBannerDescription": "Políticas de recursos compartilhados permitem que você defina métodos de autenticação e regras de acesso apenas uma vez, e então as associe a vários recursos públicos. Quando você atualiza uma política, cada recurso vinculado herda a alteração automaticamente.", + "resourcePoliciesBannerButtonText": "Saiba mais", + "resourcePoliciesTitle": "Gerenciar Políticas de Recursos Públicos", + "resourcePoliciesAttachedResourcesColumnTitle": "Recursos", "resourcePoliciesAttachedResources": "{count} recurso(s)", + "resourcePoliciesAttachedResourcesCount": "{count, plural, one {# recurso} other {# recursos}}", "resourcePoliciesAttachedResourcesEmpty": "sem recursos", - "resourcePoliciesDescription": "Crie e gerencie políticas de autenticação para controlar o acesso aos seus recursos", + "resourcePoliciesDescription": "Crie e gerencie políticas de autenticação para controlar o acesso aos seus recursos públicos", "resourcePoliciesSearch": "Pesquisar políticas...", "resourcePoliciesAdd": "Adicionar Política", "resourcePoliciesDefaultBadgeText": "Política Padrão", - "resourcePoliciesCreate": "Criar Política de Recurso", + "resourcePoliciesCreate": "Criar Política de Recurso Público", "resourcePoliciesCreateDescription": "Siga os passos abaixo para criar uma nova política", "resourcePolicyName": "Nome da Política", "resourcePolicyNameDescription": "Dê um nome a esta política para identificá-la em seus recursos", @@ -274,7 +281,7 @@ "back": "Anterior", "cancel": "cancelar", "resourceConfig": "Snippets de Configuração", - "resourceConfigDescription": "Copie e cole estes snippets de configuração para configurar o recurso TCP/UDP", + "resourceConfigDescription": "Copie e cole estes trechos de configuração para configurar o recurso TCP/UDP.", "resourceAddEntrypoints": "Traefik: Adicionar pontos de entrada", "resourceExposePorts": "Gerbil: Expor Portas no Docker Compose", "resourceLearnRaw": "Aprenda como configurar os recursos TCP/UDP", @@ -287,6 +294,8 @@ "labelDelete": "Excluir Etiqueta", "labelAdd": "Adicionar Etiqueta", "labelCreateSuccessMessage": "Etiqueta Criada com Sucesso", + "labelDuplicateError": "Etiqueta Duplicada", + "labelDuplicateErrorDescription": "Já existe uma etiqueta com este nome.", "labelEditSuccessMessage": "Etiqueta Modificada com Sucesso", "labelNameField": "Nome da Etiqueta", "labelColorField": "Cor da Etiqueta", @@ -311,7 +320,7 @@ "rules": "Regras", "resourceSettingDescription": "Configure as configurações do recurso", "resourceSetting": "Configurações do {resourceName}", - "resourcePolicySettingDescription": "Configure as configurações na política de recurso", + "resourcePolicySettingDescription": "Configure as configurações nesta política de recurso público", "resourcePolicySetting": "Configurações de {policyName}", "alwaysAllow": "Autenticação de bypass", "alwaysDeny": "Bloquear Acesso", @@ -719,7 +728,7 @@ "targetSubmit": "Adicionar Alvo", "targetNoOne": "Este recurso não tem nenhum alvo. Adicione um alvo para configurar para onde enviar solicitações para o backend.", "targetNoOneDescription": "Adicionar mais de um alvo acima habilitará o balanceamento de carga.", - "targetsSubmit": "Guardar Alvos", + "targetsSubmit": "Salvar Configurações", "addTarget": "Adicionar Alvo", "proxyMultiSiteRoundRobinNodeHelp": "O roteamento round robin não funcionará entre sites que não estão conectados ao mesmo nó, mas o failover funcionará.", "targetErrorInvalidIp": "Endereço IP inválido", @@ -753,11 +762,11 @@ "rulesErrorDuplicate": "Regra duplicada", "rulesErrorDuplicateDescription": "Uma regra com estas configurações já existe", "rulesErrorInvalidIpAddressRange": "CIDR inválido", - "rulesErrorInvalidIpAddressRangeDescription": "Por favor, insira um valor CIDR válido", - "rulesErrorInvalidUrl": "Caminho URL inválido", - "rulesErrorInvalidUrlDescription": "Por favor, insira um valor de caminho URL válido", - "rulesErrorInvalidIpAddress": "IP inválido", - "rulesErrorInvalidIpAddressDescription": "Por favor, insira um endereço IP válido", + "rulesErrorInvalidIpAddressRangeDescription": "Digite um intervalo CIDR válido (ex.: 10.0.0.0/8).", + "rulesErrorInvalidUrl": "Caminho inválido", + "rulesErrorInvalidUrlDescription": "Insira um caminho URL válido ou padrão (ex.: /api/*).", + "rulesErrorInvalidIpAddress": "Endereço IP inválido", + "rulesErrorInvalidIpAddressDescription": "Insira um endereço IPv4 ou IPv6 válido.", "rulesErrorUpdate": "Falha ao atualizar regras", "rulesErrorUpdateDescription": "Ocorreu um erro ao atualizar regras", "rulesUpdated": "Ativar Regras", @@ -765,15 +774,24 @@ "rulesMatchIpAddressRangeDescription": "Insira um endereço no formato CIDR (ex: 103.21.244.0/22)", "rulesMatchIpAddress": "Insira um endereço IP (ex: 103.21.244.12)", "rulesMatchUrl": "Insira um caminho URL ou padrão (ex: /api/v1/todos ou /api/v1/*)", - "rulesErrorInvalidPriority": "Prioridade Inválida", - "rulesErrorInvalidPriorityDescription": "Por favor, insira uma prioridade válida", - "rulesErrorDuplicatePriority": "Prioridades Duplicadas", - "rulesErrorDuplicatePriorityDescription": "Por favor, insira prioridades únicas", + "rulesErrorInvalidPriority": "Prioridade inválida", + "rulesErrorInvalidPriorityDescription": "Digite um número inteiro de 1 ou mais.", + "rulesErrorDuplicatePriority": "Prioridades duplicadas", + "rulesErrorDuplicatePriorityDescription": "Cada regra deve ter um número de prioridade único.", + "rulesErrorValidation": "Regras inválidas", + "rulesErrorValidationRuleDescription": "Regra {ruleNumber}: {message}", + "rulesErrorInvalidMatchTypeDescription": "Selecione um tipo de correspondência válido (caminho, IP, CIDR, país, região ou ASN).", + "rulesErrorValueRequired": "Digite um valor para esta regra.", + "rulesErrorInvalidCountry": "País inválido", + "rulesErrorInvalidCountryDescription": "Selecione um país válido.", + "rulesErrorInvalidAsn": "ASN inválido", + "rulesErrorInvalidAsnDescription": "Insira um ASN válido (ex.: AS15169).", "ruleUpdated": "Regras atualizadas", "ruleUpdatedDescription": "Regras atualizadas com sucesso", "ruleErrorUpdate": "Operação falhou", "ruleErrorUpdateDescription": "Ocorreu um erro durante a operação de salvamento", "rulesPriority": "Prioridade", + "rulesReorderDragHandle": "Arraste para reordenar a prioridade da regra", "rulesAction": "Ação", "rulesMatchType": "Tipo de Correspondência", "value": "Valor", @@ -792,7 +810,7 @@ "rulesResource": "Configuração de Regras do Recurso", "rulesResourceDescription": "Configurar regras para controlar o acesso ao recurso", "ruleSubmit": "Adicionar Regra", - "rulesNoOne": "Sem regras. Adicione uma regra usando o formulário.", + "rulesNoOne": "Ainda não há regras.", "rulesOrder": "As regras são avaliadas por prioridade em ordem ascendente.", "rulesSubmit": "Guardar Regras", "policyErrorCreate": "Erro ao criar política", @@ -803,7 +821,48 @@ "policyErrorUpdateMessageDescription": "Ocorreu um erro inesperado", "policyCreatedSuccess": "Política de recurso criada com sucesso", "policyUpdatedSuccess": "Política de recurso atualizada com sucesso", - "authMethodsSave": "Salvar métodos de autenticação", + "authMethodsSave": "Salvar Configurações", + "policyAuthStackTitle": "Autenticação", + "policyAuthStackDescription": "Controle quais métodos de autenticação são necessários para acessar este recurso", + "policyAuthOrLogicTitle": "Vários métodos de autenticação ativos", + "policyAuthOrLogicBanner": "Os visitantes podem autenticar-se usando qualquer um dos métodos ativos abaixo. Eles não precisam completar todos eles.", + "policyAuthMethodActive": "Ativo", + "policyAuthMethodOff": "Desligado", + "policyAuthSsoTitle": "SSO da Plataforma", + "policyAuthSsoDescription": "Exigir login pelo provedor de identidade da sua organização", + "policyAuthSsoSummary": "{idp} · {users} usuários, {roles} funções", + "policyAuthSsoDefaultIdp": "Provedor padrão", + "policyAuthAddDefaultIdentityProvider": "Adicionar Provedor de Identidade Padrão", + "policyAuthOtherMethodsTitle": "Outros Métodos", + "policyAuthOtherMethodsDescription": "Métodos opcionais que os visitantes podem usar em vez da SSO da plataforma ou junto com ela", + "policyAuthPasscodeTitle": "Código de Acesso", + "policyAuthPasscodeDescription": "Requer um código de acesso alfanumérico compartilhado para acessar o recurso", + "policyAuthPasscodeSummary": "Código de acesso definido", + "policyAuthPincodeTitle": "Código PIN", + "policyAuthPincodeDescription": "Um código numérico curto necessário para acessar o recurso", + "policyAuthPincodeSummary": "Código PIN de 6 dígitos definido", + "policyAuthEmailTitle": "Lista de E-mails Permitidos", + "policyAuthEmailDescription": "Permitir endereços de e-mail listados com senhas temporárias", + "policyAuthEmailSummary": "{count} endereços permitidos", + "policyAuthEmailOtpCallout": "Ativar a lista de e-mails permitidos envia uma senha temporária para o e-mail do visitante no login.", + "policyAuthHeaderAuthTitle": "Autenticação de Cabeçalho Básico", + "policyAuthHeaderAuthDescription": "Valide um nome e valor de cabeçalho HTTP personalizado em cada solicitação", + "policyAuthHeaderAuthSummary": "Cabeçalho configurado", + "policyAuthHeaderName": "Nome do Cabeçalho", + "policyAuthHeaderValue": "Valor esperado", + "policyAuthSetPasscode": "Definir Código de Acesso", + "policyAuthSetPincode": "Definir Código PIN", + "policyAuthSetEmailWhitelist": "Definir Lista de E-mails Permitidos", + "policyAuthSetHeaderAuth": "Definir Autenticação de Cabeçalho Básico", + "policyAccessRulesTitle": "Regras de Acesso", + "policyAccessRulesEnableDescription": "Quando ativadas, as regras são avaliadas em ordem decrescente até que uma delas seja verdadeira.", + "policyAccessRulesFirstMatch": "As regras são avaliadas de cima para baixo. A primeira regra correspondente decide o resultado.", + "policyAccessRulesHowItWorks": "As regras correspondem a solicitações por caminho, endereço IP, localização ou outros critérios. Cada regra aplica uma ação: ignorar autenticação, bloquear acesso ou passar para autenticação. Se nenhuma regra corresponder, o tráfego continua até a autenticação.", + "policyAccessRulesFallthroughOff": "Quando as regras estão desativadas, todo o tráfego passa para a autenticação.", + "policyAccessRulesFallthroughOn": "Quando nenhuma regra corresponde, o tráfego passa para a autenticação.", + "rulesPlaceholderCidr": "10.0.0.0/8", + "rulesPlaceholderPath": "/admin/*", + "rulesPlaceholderGeo": "RU, KP", "rulesSave": "Guardar Regras", "resourceErrorCreate": "Erro ao criar recurso", "resourceErrorCreateDescription": "Ocorreu um erro ao criar o recurso", @@ -824,9 +883,9 @@ "resourcesErrorUpdateDescription": "Ocorreu um erro ao atualizar o recurso", "access": "Acesso", "accessControl": "Controle de Acesso", - "shareLink": "Link de Compartilhamento {resource}", + "shareLink": "Link Compartilhável {resource}", "resourceSelect": "Selecionar recurso", - "shareLinks": "Links de Compartilhamento", + "shareLinks": "Links Compartilháveis", "share": "Links Compartilháveis", "shareDescription2": "Crie links compartilháveis para recursos. Links fornecem acesso temporário ou ilimitado ao seu recurso. Você pode configurar a duração de expiração do link quando você criar um.", "shareEasyCreate": "Fácil de criar e compartilhar", @@ -916,10 +975,18 @@ "resourceRoleDescription": "Administradores sempre podem aceder este recurso.", "resourcePolicySelectTitle": "Política de Acesso ao Recurso", "resourcePolicySelectDescription": "Selecione o tipo de política de recurso para autenticação", + "resourcePolicyTypeLabel": "Tipo de política", + "resourcePolicyLabel": "Política de recurso", "resourcePolicyInline": "Política de Recurso Inline", "resourcePolicyInlineDescription": "Política de Acesso abrange apenas este recurso", "resourcePolicyShared": "Política de Recurso Compartilhada", - "resourcePolicySharedDescription": "Este recurso usa uma política compartilhada. As configurações a nível de política (métodos de autenticação, lista de emails permitidos) estão bloqueadas. Você pode adicionar regras, funções e usuários específicos ao recurso abaixo.", + "resourcePolicySharedDescription": "Este recurso usa uma política compartilhada.", + "sharedPolicy": "Política Compartilhada", + "sharedPolicyNoneDescription": "Este recurso tem sua própria política.", + "resourceSharedPolicyOwnDescription": "Este recurso possui seus próprios controles de autenticação e regras de acesso.", + "resourceSharedPolicyInheritedDescription": "Este recurso herda de {policyName}.", + "resourceSharedPolicyAuthenticationNotice": "Este recurso está usando uma política compartilhada. Algumas configurações de autenticação podem ser editadas neste recurso para adicionar à política. Para alterar a política subjacente, você deve editar para {policyName}.", + "resourceSharedPolicyRulesNotice": "Este recurso está usando uma política compartilhada. Algumas regras de acesso podem ser editadas neste recurso. Para alterar a política subjacente, você deve editar {policyName}.", "resourceUsersRoles": "Controlos de Acesso", "resourceUsersRolesDescription": "Configure quais utilizadores e funções podem visitar este recurso", "resourceUsersRolesSubmit": "Guardar Controlos de Acesso", @@ -944,7 +1011,14 @@ "resourceVisibilityTitle": "Visibilidade", "resourceVisibilityTitleDescription": "Ativar ou desativar completamente a visibilidade do recurso", "resourceGeneral": "Configurações Gerais", - "resourceGeneralDescription": "Configure as configurações gerais para este recurso", + "resourceGeneralDescription": "Configure o nome, endereço e política de acesso para este recurso.", + "resourceGeneralDetailsSubsection": "Detalhes do Recurso", + "resourceGeneralDetailsSubsectionDescription": "Defina o nome de exibição, identificador e domínio publicamente acessível para este recurso.", + "resourceGeneralDetailsSubsectionPortDescription": "Defina o nome de exibição, identificador e porta pública para este recurso.", + "resourceGeneralPublicAddressSubsection": "Endereço Público", + "resourceGeneralPublicAddressSubsectionDescription": "Configure como os usuários alcançarão este recurso.", + "resourceGeneralAuthenticationAccessSubsection": "Autenticação & Acesso", + "resourceGeneralAuthenticationAccessSubsectionDescription": "Escolha se este recurso usa sua própria política ou herda de uma política compartilhada.", "resourceEnable": "Ativar Recurso", "resourceTransfer": "Transferir Recurso", "resourceTransferDescription": "Transferir este recurso para um site diferente", @@ -1220,11 +1294,14 @@ "addLabels": "Adicionar etiquetas", "siteLabelsTab": "Etiquetas", "siteLabelsDescription": "Gerencie etiquetas associadas a este site.", - "labelsNotFound": "Etiquetas não encontradas", + "labelsNotFound": "Nenhuma etiqueta encontrada.", + "labelsEmptyCreateHint": "Comece a digitar acima para criar uma etiqueta.", "labelSearch": "Pesquisar etiquetas", + "labelSearchOrCreate": "Pesquisar ou criar uma etiqueta", "accessLabelFilterCount": "{count, plural, one {# etiqueta} other {# etiquetas}}", "labelOverflowCount": "+{count, plural, one {# etiqueta} other {# etiquetas}}", "accessLabelFilterClear": "Limpar filtros de etiquetas", + "accessFilterClear": "Limpar filtros", "selectColor": "Selecionar cor", "createNewLabel": "Criar nova etiqueta na organização \"{label}\"", "inviteInvalidDescription": "O link do convite é inválido.", @@ -1461,8 +1538,8 @@ "sidebarResources": "Recursos", "sidebarProxyResources": "Público", "sidebarClientResources": "Privado", - "sidebarPolicies": "Políticas", - "sidebarResourcePolicies": "Recursos", + "sidebarPolicies": "Políticas Compartilhadas", + "sidebarResourcePolicies": "Recursos Públicos", "sidebarAccessControl": "Controle de Acesso", "sidebarLogsAndAnalytics": "Registros e Análises", "sidebarTeam": "Equipe", @@ -1470,7 +1547,7 @@ "sidebarAdmin": "Administrador", "sidebarInvitations": "Convites", "sidebarRoles": "Papéis", - "sidebarShareableLinks": "Links", + "sidebarShareableLinks": "Links Compartilháveis", "sidebarApiKeys": "Chaves API", "sidebarProvisioning": "Provisionamento", "sidebarSettings": "Configurações", @@ -1647,7 +1724,7 @@ "standaloneHcFilterResourceIdFallback": "Recurso {id}", "blueprints": "Diagramas", "blueprintsLog": "Registo dos Blueprint", - "blueprintsDescription": "Ver aplicações de blueprint passadas e seus resultados", + "blueprintsDescription": "Visualizar aplicações de blueprint passadas e seus resultados ou aplicar um novo blueprint", "blueprintAdd": "Adicionar Diagrama", "blueprintGoBack": "Ver todos os Diagramas", "blueprintCreate": "Criar Diagrama", @@ -1667,10 +1744,10 @@ "enableDockerSocket": "Habilitar o Diagrama Docker", "enableDockerSocketDescription": "Ative a raspagem de etiquetas do Docker Socket para etiquetas de modelo. O caminho do Socket deve ser fornecido ao conector do site. Leia sobre como isso funciona na documentação.", "newtAutoUpdate": "Ativar Atualização Automática do Site", - "newtAutoUpdateDescription": "Quando ativado, os conectores de site atualizarão automaticamente para a versão mais recente quando uma nova versão estiver disponível.", + "newtAutoUpdateDescription": "Quando ativada, os conectores do site baixarão automaticamente a versão mais recente e reiniciarão por conta própria. Isto pode ser sobrescrito com base em cada site.", "siteAutoUpdate": "Atualização Automática do Site", "siteAutoUpdateLabel": "Ativar Atualização Automática", - "siteAutoUpdateDescription": "Controle se o conector deste site baixa automaticamente a versão mais recente.", + "siteAutoUpdateDescription": "Quando ativado, o conector deste site baixará automaticamente a versão mais recente e reiniciará por si mesmo.", "siteAutoUpdateOrgDefault": "Padrão da organização: {state}", "siteAutoUpdateOverriding": "Substituindo configuração da organização", "siteAutoUpdateResetToOrg": "Redefinir para Padrão da Organização", @@ -1768,9 +1845,9 @@ "accountSetupSuccess": "Configuração da conta concluída! Bem-vindo ao Pangolin!", "documentation": "Documentação", "saveAllSettings": "Guardar Todas as Configurações", - "saveResourceTargets": "Guardar Alvos", - "saveResourceHttp": "Guardar Configurações de Proxy", - "saveProxyProtocol": "Salvar configurações do protocolo de proxy", + "saveResourceTargets": "Salvar Configurações", + "saveResourceHttp": "Salvar Configurações", + "saveProxyProtocol": "Salvar Configurações", "settingsUpdated": "Configurações atualizadas", "settingsUpdatedDescription": "Configurações atualizadas com sucesso", "settingsErrorUpdate": "Falha ao atualizar configurações", @@ -2027,13 +2104,13 @@ "healthCheckUnknown": "Desconhecido", "healthCheck": "Verificação de Saúde", "configureHealthCheck": "Configurar Verificação de Saúde", - "configureHealthCheckDescription": "Configure a monitorização de saúde para {target}", + "configureHealthCheckDescription": "Configure a monitorização para o seu recurso para garantir que ele esteja sempre disponível", "enableHealthChecks": "Ativar Verificações de Saúde", "healthCheckDisabledStateDescription": "Quando desativado, o site não realizará verificações de saúde e o estado será considerado desconhecido.", "enableHealthChecksDescription": "Monitore a saúde deste alvo. Você pode monitorar um ponto de extremidade diferente do alvo, se necessário.", "healthScheme": "Método", "healthSelectScheme": "Selecione o Método", - "healthCheckPortInvalid": "A porta do exame de saúde deve estar entre 1 e 65535", + "healthCheckPortInvalid": "A porta deve estar entre 1 e 65535", "healthCheckPath": "Caminho", "healthHostname": "IP / Nome do Host", "healthPort": "Porta", @@ -2046,6 +2123,7 @@ "requireDeviceApproval": "Exigir aprovação do dispositivo", "requireDeviceApprovalDescription": "Usuários com esta função precisam de novos dispositivos aprovados por um administrador antes que eles possam se conectar e acessar recursos.", "sshSettings": "Configurações SSH", + "sshAccess": "Acesso SSH", "rdpSettings": "Configurações RDP", "vncSettings": "Configurações VNC", "sshServer": "Servidor SSH", @@ -2072,8 +2150,13 @@ "sshDaemonDisclaimer": "Certifique-se de que seu host de destino está devidamente configurado para executar o daemon de autenticação antes de concluir esta configuração, ou o provisionamento falhará.", "sshDaemonPort": "Porta do Daemon", "sshServerDestination": "Destino do Servidor", - "sshServerDestinationDescription": "Configure o destino e a porta do servidor SSH", + "sshServerDestinationDescription": "Configure o destino do servidor SSH", "destination": "Destino", + "destinationRequired": "Destino é obrigatório.", + "domainRequired": "Domínio é obrigatório.", + "proxyPortRequired": "Porta é obrigatória.", + "invalidPathConfiguration": "Configuração de caminho inválida.", + "invalidRewritePathConfiguration": "Configuração de caminho de reescrita inválida.", "bgTargetMultiSiteDisclaimer": "Selecionar vários sites permite roteamento resiliente e failover para alta disponibilidade.", "roleAllowSsh": "Permitir SSH", "roleAllowSshAllow": "Autorizar", @@ -2088,10 +2171,25 @@ "sshSudoModeCommandsDescription": "Usuário só pode executar os comandos especificados com sudo.", "sshSudo": "Permitir sudo", "sshSudoCommands": "Comandos Sudo", - "sshSudoCommandsDescription": "Lista separada por vírgulas de comandos que o usuário pode executar com sudo. Caminhos absolutos devem ser usados.", + "sshSudoCommandsDescription": "Lista de comandos que o usuário está autorizado a executar com sudo, separados por vírgulas, espaços ou novas linhas. Devem ser usados caminhos absolutos.", "sshCreateHomeDir": "Criar Diretório Inicial", "sshUnixGroups": "Grupos Unix", - "sshUnixGroupsDescription": "Grupos Unix separados por vírgulas para adicionar o usuário no host alvo.", + "sshUnixGroupsDescription": "Grupos Unix para adicionar o usuário no host de destino, separados por vírgulas, espaços ou novas linhas.", + "roleTextFieldPlaceholder": "Insira valores, ou solte um arquivo .txt ou .csv", + "roleTextImportTitle": "Importar de Arquivo", + "roleTextImportDescription": "Importando {fileName} para {fieldLabel}.", + "roleTextImportSkipHeader": "Pular Primeira Linha (Cabeçalho)", + "roleTextImportOverride": "Substituir Existente", + "roleTextImportAppend": "Anexar ao Existente", + "roleTextImportMode": "Modo de Importação", + "roleTextImportPreview": "Visualizar", + "roleTextImportItemCount": "{count, plural, =0 {Sem itens para importar} one {1 item para importar} other {# itens para importar}}", + "roleTextImportTotalCount": "{existing} existente + {imported} importado = {total} total", + "roleTextImportConfirm": "Importar", + "roleTextImportInvalidFile": "Tipo de arquivo não suportado", + "roleTextImportInvalidFileDescription": "Apenas arquivos .txt e .csv são suportados.", + "roleTextImportEmpty": "Nenhum item encontrado no arquivo", + "roleTextImportEmptyDescription": "O arquivo não contém quaisquer itens importáveis.", "retryAttempts": "Tentativas de Repetição", "expectedResponseCodes": "Códigos de Resposta Esperados", "expectedResponseCodesDescription": "Código de status HTTP que indica estado saudável. Se deixado em branco, 200-300 é considerado saudável.", @@ -2875,9 +2973,10 @@ "enableProxyProtocol": "Habilitar protocolo proxy", "proxyProtocolInfo": "Preservar endereços IP do cliente para backends TCP", "proxyProtocolVersion": "Versão do Protocolo Proxy", - "version1": " Versão 1 (recomendado)", + "version1": "Versão 1 (Recomendado)", "version2": "Versão 2", - "versionDescription": "A versão 1 é baseada em texto e amplamente suportada. A versão 2 é binária e mais eficiente, mas menos compatível.", + "version1Description": "Baseado em texto e amplamente suportado. Certifique-se de que o transporte dos servidores seja adicionado à configuração dinâmica.", + "version2Description": "Binário e mais eficiente, mas menos compatível. Certifique-se de que o transporte do servidor seja adicionado à configuração dinâmica.", "warning": "ATENÇÃO", "proxyProtocolWarning": "A aplicação de backend deve ser configurada para aceitar conexões de protocolo proxy. Se o seu backend não suporta o Protocolo de Proxy, habilitando isto quebrará todas as conexões, então só habilite isso se você souber o que está fazendo. Certifique-se de configurar seu backend para confiar nos cabeçalhos do protocolo proxy no Traefik.", "restarting": "Reiniciando...", @@ -3034,7 +3133,7 @@ "enterConfirmation": "Inserir confirmação", "blueprintViewDetails": "Detalhes", "defaultIdentityProvider": "Provedor de Identidade Padrão", - "defaultIdentityProviderDescription": "Quando um provedor de identidade padrão for selecionado, o usuário será automaticamente redirecionado para o provedor de autenticação.", + "defaultIdentityProviderDescription": "O usuário será redirecionado automaticamente para este provedor de identidade para autenticação.", "editInternalResourceDialogNetworkSettings": "Configurações de Rede", "editInternalResourceDialogAccessPolicy": "Política de Acesso", "editInternalResourceDialogAddRoles": "Adicionar Funções", @@ -3075,6 +3174,7 @@ "maintenanceModeType": "Tipo de Modo de Manutenção", "showMaintenancePage": "Mostrar uma página de manutenção para os visitantes", "enableMaintenanceMode": "Ativar Modo de Manutenção", + "enableMaintenanceModeDescription": "Quando ativado, os visitantes verãos uma página de manutenção em vez do seu recurso.", "automatic": "Automático", "automaticModeDescription": "Exibir página de manutenção apenas quando todos os destinos de back-end estiverem inativos ou não saudáveis. Seu recurso continua funcionando normalmente desde que pelo menos um destino esteja saudável.", "forced": "Forçado", @@ -3082,6 +3182,8 @@ "warning:": "Aviso:", "forcedeModeWarning": "Todo o tráfego será direcionado para a página de manutenção. Seus recursos de back-end não receberão nenhuma solicitação.", "pageTitle": "Título da Página", + "maintenancePageContentSubsection": "Conteúdo da Página", + "maintenancePageContentSubsectionDescription": "Personalize o conteúdo exibido na página de manutenção", "pageTitleDescription": "O título principal exibido na página de manutenção", "maintenancePageMessage": "Mensagem de Manutenção", "maintenancePageMessagePlaceholder": "Voltaremos em breve! Nosso site está passando por manutenção programada.", @@ -3346,6 +3448,8 @@ "idpUnassociateQuestion": "Tem certeza de que deseja desassociar este provedor de identidade desta organização?", "idpUnassociateDescription": "Todos os usuários associados a este provedor de identidade serão removidos desta organização, mas o provedor de identidade continuará a existir para outras organizações associadas.", "idpUnassociateConfirm": "Confirmar Desassociação do Provedor de Identidade", + "idpConfirmDeleteAndRemoveMeFromOrg": "DELETAR E REMOVER-ME DA ORGANIZAÇÃO", + "idpUnassociateAndRemoveMeFromOrg": "DESASSOCIAR E REMOVER-ME DA ORGANIZAÇÃO", "idpUnassociateWarning": "Isso não pode ser desfeito para esta organização.", "idpUnassociatedDescription": "Provedor de identidade desassociado desta organização com sucesso", "idpUnassociateMenu": "Desassociar", @@ -3439,18 +3543,58 @@ "sshConnecting": "A conectar…", "sshInitializing": "A iniciar…", "sshSignInTitle": "Entrar no SSH", - "sshSignInDescription": "Insira suas credenciais SSH", + "sshSignInDescription": "Digite suas credenciais SSH para conectar", "sshPasswordTab": "Palavra-passe", "sshPrivateKeyTab": "Chave Privada", "sshPrivateKeyField": "Chave Privada", "sshPrivateKeyDisclaimer": "Sua chave privada não é armazenada ou visível para Pangolin. Alternativamente, você pode usar certificados de curta duração para autenticação perfeita usando sua identidade Pangolin existente.", "sshLearnMore": "Saiba mais", "sshPrivateKeyFile": "Arquivo de Chave Privada", - "sshAuthenticate": "Autenticar", + "sshAuthenticate": "Conectar", "sshTerminate": "Terminar", "sshPoweredBy": "Desenvolvido por", "sshErrorNoTarget": "Nenhum alvo especificado", "sshErrorWebSocket": "Falha na conexão WebSocket", "sshErrorAuthFailed": "Falha na autenticação", - "sshErrorConnectionClosed": "Conexão encerrada antes de concluir a autenticação" + "sshErrorConnectionClosed": "Conexão encerrada antes de concluir a autenticação", + "sitePangolinSshDescription": "Permitir acesso SSH aos recursos deste site. Isso pode ser alterado mais tarde.", + "browserGatewayNoResourceForDomain": "Nenhum recurso encontrado para este domínio", + "browserGatewayNoTarget": "Sem alvo", + "browserGatewayConnect": "Conectar", + "browserGatewayCtrlAltDel": "Ctrl+Alt+Del", + "sshErrorSignKeyFailed": "Falha ao assinar a chave SSH para autenticação PAM push. Você se conectou como um usuário?", + "sshTerminalError": "Erro: {error}", + "sshConnectionClosedCode": "Conexão encerrada (código {code})", + "sshPrivateKeyPlaceholder": "-----BEGIN OPENSSH PRIVATE KEY-----", + "sshPrivateKeyRequired": "Chave privada é necessária", + "vncTitle": "VNC", + "vncSignInDescription": "Digite sua senha VNC para conectar", + "vncPasswordOptional": "Senha (opcional)", + "vncNoResourceTarget": "Nenhum alvo de recurso disponível", + "vncFailedToLoadNovnc": "Falha ao carregar noVNC", + "vncAuthFailedStatus": "Status {status}", + "vncPasteClipboard": "Colar conteúdo da área de transferência", + "rdpTitle": "RDP", + "rdpSignInTitle": "Conectar-se à Área de Trabalho Remota", + "rdpSignInDescription": "Digite as credenciais do Windows para conectar", + "rdpLoadingModule": "Carregando módulo...", + "rdpFailedToLoadModule": "Falha ao carregar módulo RDP", + "rdpNotReady": "Não está pronto", + "rdpModuleInitializing": "Módulo RDP ainda está inicializando", + "rdpDownloadingFiles": "Baixando {count} arquivo(s) do remoto…", + "rdpDownloadFailed": "Falha ao baixar: {fileName}", + "rdpUploaded": "Enviado: {fileName}", + "rdpNoConnectionTarget": "Nenhum alvo de conexão disponível", + "rdpConnectionFailed": "Conexão falhou", + "rdpFit": "Ajustar", + "rdpFull": "Completo", + "rdpReal": "Real", + "rdpMeta": "Meta", + "rdpUploadFiles": "Upload de arquivos", + "rdpFilesReadyToPaste": "Arquivos prontos para colar", + "rdpFilesReadyToPasteDescription": "{count} arquivo(s) copiado(s) para a área de transferência remota — pressione Ctrl+V na área de trabalho remota para colar.", + "rdpUploadFailed": "Falha no upload", + "rdpUnicodeKeyboardMode": "Modo de teclado Unicode", + "sessionToolbarShow": "Mostrar barra de ferramentas", + "sessionToolbarHide": "Ocultar barra de ferramentas" }