diff --git a/messages/pt-PT.json b/messages/pt-PT.json
index 701c9a33e..3fac39005 100644
--- a/messages/pt-PT.json
+++ b/messages/pt-PT.json
@@ -26,7 +26,7 @@
"trialBannerMessage": "Sua avaliação termina em {countdown}. Faça o upgrade para manter o acesso.",
"trialBannerExpired": "Sua avaliação expirou. Faça o upgrade agora para restaurar o acesso.",
"billingTrialBannerTitle": "Teste Gratuito Ativo",
- "billingTrialBannerDescription": "Atualmente, você está em um teste gratuito no nível empresarial. Quando o teste terminar, sua conta reverterá automaticamente para os recursos e limites do nível Básico. Atualize a qualquer momento para manter o acesso aos recursos do seu plano atual.",
+ "billingTrialBannerDescription": "Atualmente, você está em um teste gratuito no nível {tier}. Quando o teste terminar, sua conta reverterá automaticamente para os recursos e limites do nível Básico. Atualize a qualquer momento para manter o acesso aos recursos do seu plano atual.",
"billingTrialBannerUpgrade": "Atualize Agora",
"billingTrialBadge": "Teste Gratuito",
"trialActive": "Avaliação Gratuita Ativa",
@@ -110,7 +110,7 @@
"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-newt#advantech-router-app.",
+ "siteInstallAdvantechDocsDescription": "Para instruções de instalação do modem Advantech, veja docs.pangolin.net/manage/sites/install-newt#advantech-router-app.",
"WgConfiguration": "Configuração do WireGuard",
"WgConfigurationDescription": "Use a seguinte configuração para conectar-se à rede",
"operatingSystem": "Sistema operacional",
@@ -132,7 +132,7 @@
"siteRestartDialogMessage": "Tem certeza de que deseja reiniciar o túnel WireGuard para {name}? O site perderá brevemente a conectividade.",
"siteRestartWarning": "O site será desconectado brevemente enquanto o túnel reinicia.",
"siteRestarted": "Site reiniciado",
- "siteRestartedDescription": "O túnel WireGuard foi reiniciado.",
+ "siteRestartedDescription": "O site foi reiniciado.",
"siteErrorRestart": "Falha ao reiniciar o site",
"siteErrorRestartDescription": "Ocorreu um erro ao reiniciar o site.",
"siteSettingDescription": "Configurar as configurações no site",
@@ -234,6 +234,9 @@
"clientResourceDescription": "Criar e gerenciar recursos que só são acessíveis por meio de um cliente conectado",
"privateResourcesBannerTitle": "Acesso Privado com Confiança Zero",
"privateResourcesBannerDescription": "Os recursos privados usam segurança de zero confiança, garantindo que usuários e máquinas possam acessar apenas os recursos que você concede explicitamente. Conecte dispositivos de usuários ou clientes de máquinas para acessar esses recursos por meio de uma rede privada virtual segura.",
+ "licenseBillingBannerTitle": "Gerenciar Faturamento de Licença",
+ "licenseBillingBannerDescription": "Para gerenciar o faturamento de suas chaves de licença, incluindo métodos de pagamento e faturas, visite a página de faturamento. Você pode gerar licenças adicionais abaixo para aumentar a capacidade do servidor ou implantar mais instâncias.",
+ "licenseBillingBannerButton": "Ir para Faturamento",
"resourcesSearch": "Procurar recursos...",
"resourceAdd": "Adicionar Recurso",
"resourceErrorDelte": "Erro ao apagar recurso",
@@ -304,6 +307,8 @@
"privateResourceTypeCidrDescription": "Exponha um intervalo CIDR na rede do site para clientes conectados",
"privateResourceTypeHttpDescription": "Acesse um serviço HTTP ou HTTPS por meio de um domínio",
"privateResourceTypeSshDescription": "Acesse um servidor SSH de clientes conectados",
+ "privateResourceTypeGatewayDescription": "Envie todo o tráfego da internet para sair pela rede do site.",
+ "resourceTypeGatewayDescription": "Envie todo o tráfego da internet para sair pela rede do site.",
"resourceDomainDescription": "O recurso será servido neste nome de domínio totalmente qualificado.",
"resourceHTTPSSettings": "Configurações de HTTPS",
"resourceHTTPSSettingsDescription": "Configure como o recurso será acessado por HTTPS",
@@ -555,6 +560,10 @@
"licenseBannerDescription": "Desbloqueie recursos empresariais para sua instância de Pangolin autohospedada. Compre uma chave de licença para ativar recursos premium e adicione-a abaixo.",
"licenseBannerGetLicense": "Obter Licença",
"licenseBannerViewDocs": "Ver Documentação",
+ "licenseUpgradeBannerTitle": "Precisa de Mais Capacidade?",
+ "licenseUpgradeBannerDescription": "Se você precisar aumentar a capacidade do seu site ou usuário, pode comprar mais licenças no portal app.pangolin.net e adicioná-las abaixo para atualizar sua instância.",
+ "licenseUpgradeBannerButton": "Compre Mais Licenças",
+ "licenseMultipleKeysDescription": "Você possui várias licenças ativadas neste servidor. O nível mais alto está em uso.",
"communityEdition": "Edição da Comunidade",
"licenseAboutDescription": "Isto destina-se aos utilizadores empresariais e empresariais que estão a usar o Pangolin num ambiente comercial. Se você estiver usando o Pangolin para uso pessoal, você pode ignorar esta seção.",
"licenseKeyActivated": "Chave de licença ativada",
@@ -573,10 +582,10 @@
"licenseQuestionRemove": "Tem certeza que deseja excluir a chave de licença?",
"licenseKeyDelete": "Excluir Chave de Licença",
"licenseKeyDeleteConfirm": "Confirmar que pretende apagar a chave de licença",
- "licenseTitle": "Gerir Status da Licença",
+ "licenseTitle": "Gerenciar Licenças",
"licenseTitleDescription": "Visualizar e gerir chaves de licença no sistema",
- "licenseHost": "Licença do host",
- "licenseHostDescription": "Gerir a chave de licença principal do host.",
+ "licenseHost": "Licença",
+ "licenseHostDescription": "Veja o nível da licença e informações de anfitrião",
"licensedNot": "Não Licenciado",
"hostId": "ID do host",
"licenseReckeckAll": "Verifique novamente todas as chaves",
@@ -586,7 +595,16 @@
"licensePurchase": "Comprar Licença",
"licensePurchaseSites": "Comprar Sites Adicionais",
"licenseSitesUsedMax": "{usedSites} de {maxSites} utilizados",
- "licenseSitesUsed": "{count, plural, =0 {# sites} one {# site} other {# sites}} no sistema.",
+ "licenseSitesUsed": "{count, plural, =0 {# sites} one {# site} other {# sites}}",
+ "licenseUsage": "Uso",
+ "licenseUsageDescription": "Veja o número de utilizadores e sites licenciados para este anfitrião",
+ "licenseUsageSites": "Sites",
+ "licenseUsageUsers": "Utilizadores",
+ "licenseNoUserLimit": "Não há limite para o número de utilizadores usando um anfitrião não licenciado",
+ "licenseUsersUsedMax": "{usedUsers} de {maxUsers} utilizadores utilizados",
+ "licenseUsersUsed": "{count, plural, =0 {# utilizadores} one {# utilizador} other {# utilizadores}}",
+ "licenseUnlimited": "Ilimitado",
+ "licenseTierLabel": "Nível",
"licensePurchaseDescription": "Escolha quantos sites você quer {selectedMode, select, license {Compre uma licença. Você sempre pode adicionar mais sites depois.} other {adicione à sua licença existente.}}",
"licenseFee": "Taxa de licença",
"licensePriceSite": "Preço por site",
@@ -831,7 +849,7 @@
"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).",
+ "rulesErrorInvalidMatchTypeDescription": "Selecione um tipo de correspondência válido (caminho, IP, CIDR, país, região, ASN ou método).",
"rulesErrorValueRequired": "Digite um valor para esta regra.",
"rulesErrorInvalidCountry": "País inválido",
"rulesErrorInvalidCountryDescription": "Selecione um país válido.",
@@ -2826,10 +2844,10 @@
"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.",
- "customRequestHeaders": "Cabeçalhos de Pedido Personalizados",
- "customRequestHeadersDescription": "Cabeçalhos de pedido enviados para os destinos. Um por linha: Nome-Cabeçalho: valor",
- "customResponseHeaders": "Cabeçalhos de Resposta Personalizados",
- "customResponseHeadersDescription": "Cabeçalhos de resposta enviados de volta ao cliente. Um por linha: Nome-Cabeçalho: valor",
+ "customRequestHeaders": "Cabeçalhos Personalizados de Requisição",
+ "customRequestHeadersDescription": "Cabeçalhos de requisição enviados para os alvos a jusante. Um por linha: Nome-Do-Cabeçalho: valor",
+ "customResponseHeaders": "Cabeçalhos Personalizados de Resposta",
+ "customResponseHeadersDescription": "Cabeçalhos de resposta enviados de volta ao cliente. Um por linha: Nome-Do-Cabeçalho: valor",
"headersValidationError": "Cabeçalhos devem estar no formato: Nome do Cabeçalho: valor.",
"saveHealthCheck": "Salvar Verificação de Saúde",
"healthCheckSaved": "Verificação de Saúde Salva",
@@ -2911,6 +2929,7 @@
"editInternalResourceDialogModePort": "Porta",
"editInternalResourceDialogModeHost": "Servidor",
"editInternalResourceDialogModeCidr": "CIDR",
+ "editInternalResourceDialogModeGateway": "Nodo de Saída",
"editInternalResourceDialogModeHttp": "HTTP",
"editInternalResourceDialogModeHttps": "HTTPS",
"editInternalResourceDialogModeInference": "Gateway de IA",
@@ -2922,6 +2941,7 @@
"editInternalResourceDialogDestinationHostDescription": "O endereço IP ou o nome do host do recurso na rede do site.",
"editInternalResourceDialogDestinationIPDescription": "O IP ou endereço do hostname do recurso na rede do site.",
"editInternalResourceDialogDestinationCidrDescription": "A faixa CIDR do recurso na rede do site.",
+ "editInternalResourceDialogDestinationGatewayDescription": "Os sites a serem usados como nós de saída para este recurso",
"editInternalResourceDialogAlias": "Apelido",
"editInternalResourceDialogAliasDescription": "Um alias de DNS interno opcional para este recurso.",
"createInternalResourceDialogNoSitesAvailable": "Nenhum Site Disponível",
@@ -2936,6 +2956,7 @@
"privateResourceNetworkAccessDescription": "Controlar o acesso à porta TCP/UDP e se o ICMP ping é permitido para este recurso.",
"hostSettings": "Servidor",
"cidrSettings": "CIDR",
+ "gatewaySettings": "Nodo de Saída",
"createInternalResourceDialogResourceProperties": "Propriedades do Recurso",
"createInternalResourceDialogName": "Nome",
"createInternalResourceDialogSite": "Site",
@@ -2974,6 +2995,7 @@
"createInternalResourceDialogModeHttps": "HTTPS",
"createInternalResourceDialogModeSsh": "SSH",
"createInternalResourceDialogModeInference": "Gateway de IA",
+ "createInternalResourceDialogModeGateway": "Nodo de Saída",
"scheme": "Esquema",
"createInternalResourceDialogScheme": "Esquema",
"createInternalResourceDialogEnableSsl": "Ativar TLS",
@@ -3278,10 +3300,10 @@
"orgAuthRememberOrgId": "Lembrar este ID da organização",
"orgAuthBackToSignIn": "Voltar para entrada padrão",
"orgAuthNoAccount": "Não possui uma conta?",
- "subscriptionRequiredToUse": "Uma assinatura é necessária para usar esse recurso.",
- "mustUpgradeToUse": "Você deve atualizar sua assinatura para usar este recurso.",
+ "subscriptionRequiredToUse": "É necessária uma assinatura para usar esse recurso. Agendar uma demonstração",
+ "mustUpgradeToUse": "Você deve atualizar sua assinatura para usar este recurso. Agendar uma demonstração",
"subscriptionRequiredTierToUse": "Esta função requer {tier} ou superior.",
- "upgradeToTierToUse": "Atualize para {tier} ou superior para usar este recurso.",
+ "upgradeToTierToUse": "Atualize para {tier} para usar este recurso. Agendar uma demonstração",
"subscriptionTierTier1": "Residencial",
"subscriptionTierTier2": "Equipe",
"subscriptionTierTier3": "Empresas",
@@ -3651,8 +3673,8 @@
"sourceAddress": "Endereço de origem",
"destinationAddress": "Endereço de destino",
"duration": "Duração",
- "licenseRequiredToUse": "Licença da Edição Empresarial é necessária. Agende uma demo ou teste",
- "ossEnterpriseEditionRequired": "Licença da Edição Empresarial é necessária. Agende uma demo ou teste",
+ "licenseRequiredToUse": "Licença da Edição Empresarial é necessária. Agendar uma demonstração",
+ "ossEnterpriseEditionRequired": "Licença da Edição Empresarial é necessária. Agendar uma demonstração",
"certResolver": "Resolvedor de Certificado",
"certResolverDescription": "Selecione o resolvedor de certificados para este recurso.",
"selectCertResolver": "Selecionar solucionador de certificado",
@@ -3719,6 +3741,7 @@
"deviceCodeVerifying": "Verificando autorização do dispositivo...",
"signedInAs": "Sessão iniciada como",
"deviceCodeEnterPrompt": "Digite o código exibido no dispositivo",
+ "deviceCodeConfirmPrompt": "Confirme que isso corresponde ao código em seu dispositivo",
"continue": "Continuar",
"deviceUnknownLocation": "Localização desconhecida",
"deviceAuthorizationRequested": "Esta autorização foi solicitada por {location} no {date}. Certifique-se de que você confia neste dispositivo, pois ele terá acesso à conta.",
@@ -4291,9 +4314,12 @@
"resourceLauncherAuthMethodsDescription": "Métodos de autenticação habilitados para este recurso.",
"resourceLauncherPrivateClientRequired": "Conecte com um cliente no seu dispositivo para acessar este recurso privadamente.",
"resourceLauncherPrivateClientRequiredTitle": "Conexão do Cliente Obrigatória",
+ "resourceLauncherExitNodeTitle": "Roteamento de Nodo de Saída",
+ "resourceLauncherExitNodeDescription": "Após conectar o cliente, selecione este nodo de saída no menu do cliente para rotear todo o tráfego através dos sites anexados.",
"resourceLauncherDownloadClient": "Baixar cliente",
"resourceLauncherFailedToLoadDetails": "Não foi possível carregar os detalhes do recurso. Você pode não ter mais acesso a este recurso.",
"resourceLauncherNoPortRestrictions": "Sem restrições de porta",
+ "resourceLauncherAllInternetTraffic": "Todo o tráfego da internet",
"resourceLauncherTcp": "TCP",
"resourceLauncherUdp": "UDP",
"resourceLauncherUnlabeled": "Sem Etiqueta",
@@ -4399,5 +4425,8 @@
"sessionToolbarShow": "Mostrar barra de ferramentas",
"sessionToolbarHide": "Ocultar barra de ferramentas",
"actionUpdateSiteApprovals": "Atualizar Aprovações do Site",
- "check": "Verificar"
+ "check": "Verificar",
+ "rulesErrorInvalidMethod": "Método HTTP inválido",
+ "rulesErrorInvalidMethodDescription": "Selecione pelo menos um método HTTP.",
+ "rulesSelectMethods": "Selecionar métodos"
}