♻️ refactor(view): System and Auth Control

This commit is contained in:
web
2025-08-04 08:58:57 -07:00
committed by speakeloudest
parent 9ba3ec40d6
commit 97aa24ba8e
333 changed files with 13905 additions and 9399 deletions
-16
View File
@@ -1,16 +0,0 @@
{
"clientId": "ID do Serviço",
"clientIdDescription": "ID de Serviço da Apple, você pode obtê-lo no Portal de Desenvolvedores da Apple",
"clientSecret": "Chave Privada",
"clientSecretDescription": "O conteúdo da chave privada (arquivo .p8) usado para autenticação com a Apple",
"enable": "Habilitar",
"enableDescription": "Após habilitar, os usuários podem fazer login com seu ID Apple",
"keyId": "ID da Chave",
"keyIdDescription": "O ID da sua chave privada no Apple Developer Portal",
"redirectUri": "URL de Redirecionamento",
"redirectUriDescription": "Por favor, preencha o endereço da API da URL para a qual será redirecionado após passar com sucesso pela autenticação da Apple. Não use / no final.",
"saveFailed": "Falha ao salvar",
"saveSuccess": "Salvo com sucesso",
"teamId": "ID da Equipe",
"teamIdDescription": "ID da Equipe de Desenvolvedores da Apple"
}
+188 -56
View File
@@ -1,14 +1,149 @@
{
"invite": {
"commissionFirstTimeOnly": "Comissão Apenas na Primeira Compra",
"commissionFirstTimeOnlyDescription": "Quando ativado, a comissão é gerada apenas no primeiro pagamento do convidador; você pode configurar usuários individuais na gestão de usuários",
"enableForcedInvite": "Ativar Convite Forçado",
"enableForcedInviteDescription": "Quando ativado, apenas usuários convidados podem se registrar",
"inputPlaceholder": "Digite",
"inviteCommissionPercentage": "Porcentagem de Comissão de Convite",
"inviteCommissionPercentageDescription": "Relação de distribuição de comissão global padrão; você pode configurar proporções individuais na gestão de usuários",
"inviteSettings": "Configurações de Convite",
"saveSuccess": "Salvo com Sucesso"
"apple": {
"clientId": "ID do Serviço",
"clientIdDescription": "ID de Serviço da Apple, você pode obtê-lo no Portal de Desenvolvedores da Apple",
"clientSecret": "Chave Privada",
"clientSecretDescription": "O conteúdo da chave privada (arquivo .p8) usado para autenticação com a Apple",
"description": "Autentique usuários com contas da Apple",
"enable": "Habilitar",
"enableDescription": "Após habilitar, os usuários podem fazer login com seu ID Apple",
"keyId": "ID da Chave",
"keyIdDescription": "O ID da sua chave privada no Apple Developer Portal",
"redirectUri": "URL de Redirecionamento",
"redirectUriDescription": "Por favor, preencha o endereço da API da URL para a qual será redirecionado após passar com sucesso pela autenticação da Apple. Não use / no final.",
"teamId": "ID da Equipe",
"teamIdDescription": "ID da Equipe de Desenvolvedores da Apple",
"title": "Login com Apple"
},
"common": {
"cancel": "Cancelar",
"save": "Salvar",
"saveFailed": "Falha ao salvar",
"saveSuccess": "Salvo com sucesso"
},
"communicationMethods": "Communication Methods",
"device": {
"blockVirtualMachine": "Bloquear Máquina Virtual",
"blockVirtualMachineDescription": "Quando ativado, os dispositivos serão impedidos de rodar em máquinas virtuais ou emuladores",
"communicationKey": "Chave de Comunicação",
"communicationKeyDescription": "A chave de comunicação é usada para comunicação segura entre dispositivos e servidores",
"description": "Autentique usuários com identificadores de dispositivo",
"enable": "Ativar",
"enableDescription": "Após a ativação, múltiplos identificadores de dispositivo, como IMEI/IDFA/IDFV/AndroidID/endereço Mac, são suportados para login e registro",
"enableSecurity": "Ativar Criptografia de Comunicação",
"enableSecurityDescription": "Quando ativado, a comunicação entre dispositivos e servidores será criptografada",
"showAds": "Mostrar Anúncios",
"showAdsDescription": "Quando ativado, anúncios serão exibidos nos dispositivos",
"title": "Autenticação de Dispositivo"
},
"deviceAuthMethods": "Device Authentication Methods",
"email": {
"basicSettings": "Configurações Básicas",
"description": "Autentique usuários com endereços de email",
"emailSuffixWhitelist": "Lista de Sufixos de Email Permitidos",
"emailSuffixWhitelistDescription": "Quando ativado, apenas e-mails com sufixos na lista podem se registrar",
"emailVerification": "Verificação de Email",
"emailVerificationDescription": "Quando ativado, os usuários precisarão verificar seu e-mail",
"enable": "Habilitar",
"enableDescription": "Após a ativação, as funções de registro por e-mail, login, vinculação e desvinculação serão habilitadas",
"expirationEmailTemplate": "Modelo de Aviso de Expiração",
"expirationTemplate": "Aviso de Expiração",
"inputPlaceholder": "Digite o valor...",
"logs": "Registros",
"logsDescription": "Veja o histórico de emails enviados e seu status",
"maintenanceEmailTemplate": "Modelo de Aviso de Manutenção",
"maintenanceTemplate": "Aviso de Manutenção",
"sendFailure": "Falha ao enviar o e-mail de teste, por favor verifique a configuração.",
"sendSuccess": "E-mail de teste enviado com sucesso.",
"sendTestEmail": "Enviar E-mail de Teste",
"sendTestEmailDescription": "Envie um e-mail de teste para verificar a configuração.",
"senderAddress": "Endereço do Remetente",
"senderAddressDescription": "O endereço de e-mail padrão usado para enviar e-mails.",
"smtpAccount": "Conta SMTP",
"smtpAccountDescription": "A conta de e-mail usada para autenticação.",
"smtpEncryptionMethod": "Método de Criptografia SMTP",
"smtpEncryptionMethodDescription": "Escolha se deseja habilitar a criptografia SSL/TLS.",
"smtpPassword": "Senha SMTP",
"smtpPasswordDescription": "A senha para a conta SMTP.",
"smtpServerAddress": "Endereço do Servidor SMTP",
"smtpServerAddressDescription": "Especifique o endereço do servidor usado para enviar e-mails.",
"smtpServerPort": "Porta do Servidor SMTP",
"smtpServerPortDescription": "Especifique a porta usada para conectar ao servidor SMTP.",
"smtpSettings": "Configurações SMTP",
"templateVariables": {
"code": {
"description": "Código de verificação de 6 dígitos",
"title": "Código de Verificação"
},
"expire": {
"description": "Tempo de validade do código de verificação (minutos)",
"title": "Período de Validade"
},
"expireDate": {
"description": "Data de expiração do serviço, lembra os usuários quando o serviço expira",
"title": "Data de Expiração"
},
"maintenanceDate": {
"description": "Data de manutenção do sistema, exibe a data de início da manutenção",
"title": "Data de Manutenção"
},
"maintenanceTime": {
"description": "Tempo estimado de manutenção, exibe o período ou duração da manutenção",
"title": "Duração da Manutenção"
},
"siteLogo": {
"description": "URL da imagem do logo do site",
"title": "Logo do Site"
},
"siteName": {
"description": "Nome atual do site",
"title": "Nome do Site"
},
"title": "Variáveis do Modelo de Email",
"type": {
"conditionalSyntax": "Suporta sintaxe condicional para alternar conteúdo com base no tipo",
"description": "Identificador do tipo de email, 1 para código de verificação de registro, outros para código de verificação de redefinição de senha",
"title": "Tipo de Email"
}
},
"title": "Autenticação por Email",
"trafficExceedEmailTemplate": "Modelo de Aviso de Limite de Tráfego",
"trafficTemplate": "Limite de Tráfego",
"verifyEmailTemplate": "Modelo de Email de Verificação",
"verifyTemplate": "Email de Verificação",
"whitelistSuffixes": "Sufixos de Lista Branca",
"whitelistSuffixesDescription": "Usado para verificação de e-mail durante o registro; um por linha",
"whitelistSuffixesPlaceholder": "Digite os sufixos de e-mail, um por linha"
},
"facebook": {
"clientId": "ID do Cliente",
"clientIdDescription": "ID do aplicativo do Facebook no Console de Desenvolvedores do Facebook",
"clientSecret": "Segredo do Cliente",
"clientSecretDescription": "Segredo do aplicativo do Facebook no Console de Desenvolvedores do Facebook",
"description": "Autentique usuários com contas do Facebook",
"enable": "Habilitar",
"enableDescription": "Após habilitar, os usuários podem fazer login com sua conta do Facebook",
"title": "Login com Facebook"
},
"github": {
"clientId": "ID do Cliente do GitHub",
"clientIdDescription": "O ID do cliente nas configurações do aplicativo OAuth do GitHub",
"clientSecret": "Segredo do Cliente do GitHub",
"clientSecretDescription": "O segredo do cliente das configurações do aplicativo OAuth do seu GitHub",
"description": "Autentique usuários com contas do GitHub",
"enable": "Ativar Autenticação do GitHub",
"enableDescription": "Permitir que os usuários façam login com suas contas do GitHub",
"title": "Login com GitHub"
},
"google": {
"clientId": "ID do Cliente",
"clientIdDescription": "ID do Cliente OAuth 2.0 do Google no Console do Google Cloud",
"clientSecret": "Segredo do Cliente",
"clientSecretDescription": "Segredo do Cliente OAuth 2.0 do Google a partir do Console do Google Cloud",
"description": "Autentique usuários com contas do Google",
"enable": "Habilitar",
"enableDescription": "Após habilitar, os usuários podem fazer login com sua conta do Google",
"title": "Login com Google"
},
"log": {
"content": "Conteúdo",
@@ -23,52 +158,49 @@
"to": "Destinatário",
"updatedAt": "Atualizado Em"
},
"register": {
"day": "Dia",
"hour": "Hora",
"ipRegistrationLimit": "Limite de Registro por IP",
"ipRegistrationLimitDescription": "Quando ativado, IPs que atendem aos requisitos da regra serão restritos de se registrar; note que a determinação de IP pode causar problemas devido a CDNs ou proxies de frontend",
"minute": "Minuto",
"month": "Mês",
"noLimit": "Sem Limite",
"penaltyTime": "Tempo de Penalidade (minutos)",
"penaltyTimeDescription": "Os usuários devem esperar o tempo de penalidade expirar antes de se registrar novamente",
"registerSettings": "Configurações de Registro",
"registrationLimitCount": "Contagem de Limite de Registro",
"registrationLimitCountDescription": "Ativar penalidade após atingir o limite de registro",
"saveSuccess": "Salvo com Sucesso",
"stopNewUserRegistration": "Parar Registro de Novos Usuários",
"stopNewUserRegistrationDescription": "Quando ativado, ninguém pode se registrar",
"trialDuration": "Duração do Teste",
"trialRegistration": "Registro de Teste",
"trialRegistrationDescription": "Ativar registro de teste; modifique o pacote de teste e a duração primeiro",
"trialSubscribePlan": "Plano de Assinatura de Teste",
"trialSubscribePlanDescription": "Selecione o plano de assinatura de teste",
"year": "Ano"
"phone": {
"accessLabel": "Acesso",
"applyPlatform": "Aplicar Plataforma",
"description": "Autentique usuários com números de telefone",
"enable": "Habilitar",
"enableTip": "Após a ativação, as funções de registro, login, vinculação e desvinculação de telefone celular serão ativadas",
"endpointLabel": "Endpoint",
"logs": "Registros",
"logsDescription": "Veja o histórico de mensagens SMS enviadas e seu status",
"phoneNumberLabel": "Número de Telefone",
"placeholders": {
"template": "Seu código de verificação é {code}, válido por 5 minutos"
},
"platform": "Plataforma de SMS",
"platformConfigTip": "Por favor, preencha a configuração fornecida {key}",
"platformTip": "Por favor, selecione a plataforma de SMS",
"secretLabel": "Segredo",
"sendFailed": "Envio Falhou",
"sendSuccess": "Envio bem-sucedido",
"settings": "Configurações",
"signNameLabel": "Nome da Assinatura",
"template": "Modelo de SMS",
"templateCodeLabel": "Código do Modelo",
"templateTip": "Por favor, preencha o template de SMS, mantenha {code} no meio, caso contrário a função de SMS não funcionará",
"testSms": "Enviar SMS de Teste",
"testSmsPhone": "Digite o número de telefone",
"testSmsTip": "Envie um SMS de teste para verificar sua configuração",
"title": "Autenticação por Telefone",
"updateSuccess": "Atualização bem-sucedida",
"whitelistAreaCode": "Código de Área da Lista Branca",
"whitelistAreaCodeTip": "Por favor, insira os códigos de área da lista branca, ex: 1, 852, 886, 888",
"whitelistValidation": "Verificação da Lista Branca",
"whitelistValidationTip": "Quando ativado, apenas os códigos de área na lista branca podem enviar SMS"
},
"verify": {
"inputPlaceholder": "Digite",
"loginVerificationCode": "Código de Verificação de Login",
"loginVerificationCodeDescription": "Verificação humana durante o login",
"registrationVerificationCode": "Código de Verificação de Registro",
"registrationVerificationCodeDescription": "Verificação humana durante o registro",
"resetPasswordVerificationCode": "Código de Verificação para Redefinir Senha",
"resetPasswordVerificationCodeDescription": "Verificação humana durante a redefinição de senha",
"saveSuccess": "Salvo com Sucesso",
"turnstileSecretDescription": "Chave secreta do Turnstile fornecida pela Cloudflare",
"turnstileSiteKeyDescription": "Chave do site do Turnstile fornecida pela Cloudflare",
"verifySettings": "Configurações de Verificação"
},
"verify-code": {
"dailyLimit": "Limite Diário",
"dailyLimitDescription": "Número máximo de códigos de verificação que podem ser enviados por dia",
"expireTime": "Tempo de Expiração",
"expireTimeDescription": "Tempo de expiração do código de verificação (segundos)",
"interval": "Intervalo de Envio",
"intervalDescription": "Intervalo mínimo entre o envio de códigos de verificação (segundos)",
"saveSuccess": "Salvo com Sucesso",
"second": "segundos",
"times": "vezes",
"verifyCodeSettings": "Configurações do Código de Verificação"
"socialAuthMethods": "Social Authentication Methods",
"telegram": {
"clientId": "ID do Bot",
"clientIdDescription": "ID do Bot do Telegram, você pode obtê-lo com o @BotFather",
"clientSecret": "Token do Bot",
"clientSecretDescription": "Token do Bot do Telegram, você pode obtê-lo com o @BotFather",
"description": "Autentique usuários com contas do Telegram",
"enable": "Habilitar",
"enableDescription": "Após a ativação, as funções de registro, login, vinculação e desvinculação de telefone celular serão ativadas",
"title": "Login com Telegram"
}
}
-14
View File
@@ -1,14 +0,0 @@
{
"blockVirtualMachine": "Bloquear Máquina Virtual",
"blockVirtualMachineDescription": "Quando ativado, os dispositivos serão impedidos de rodar em máquinas virtuais ou emuladores",
"communicationKey": "Chave de Comunicação",
"communicationKeyDescription": "A chave de comunicação é usada para comunicação segura entre dispositivos e servidores",
"enable": "Ativar",
"enableDescription": "Após a ativação, múltiplos identificadores de dispositivo, como IMEI/IDFA/IDFV/AndroidID/endereço Mac, são suportados para login e registro",
"enableSecurity": "Ativar Criptografia de Comunicação",
"enableSecurityDescription": "Quando ativado, a comunicação entre dispositivos e servidores será criptografada",
"saveFailed": "Falha ao salvar",
"saveSuccess": "Salvo com sucesso",
"showAds": "Mostrar Anúncios",
"showAdsDescription": "Quando ativado, anúncios serão exibidos nos dispositivos"
}
-49
View File
@@ -1,49 +0,0 @@
{
"emailBasicConfigDescription": "Configure as configurações do servidor SMTP e as opções de verificação de e-mail",
"emailLogsDescription": "Visualize o histórico de e-mails enviados e seu status",
"emailSuffixWhitelist": "Lista de Sufixos de Email Permitidos",
"emailSuffixWhitelistDescription": "Quando ativado, apenas e-mails com sufixos na lista podem se registrar",
"emailVerification": "Verificação de Email",
"emailVerificationDescription": "Quando ativado, os usuários precisarão verificar seu e-mail",
"enable": "Habilitar",
"enableDescription": "Após a ativação, as funções de registro por e-mail, login, vinculação e desvinculação serão habilitadas",
"expiration_email_template": "Modelo de Aviso de Expiração",
"expiration_email_templateDescription": "Os marcadores {after}.variable{before} serão substituídos por dados reais. Certifique-se de manter essas variáveis.",
"failed": "Falhou",
"inputPlaceholder": "Digite o valor...",
"logs": "Registros",
"maintenance_email_template": "Modelo de Aviso de Manutenção",
"maintenance_email_templateDescription": "Os marcadores {after}.variable{before} serão substituídos por dados reais. Certifique-se de manter essas variáveis.",
"recipient": "Destinatário",
"saveFailed": "Falha ao salvar a configuração",
"saveSuccess": "Configuração salva com sucesso.",
"sendFailure": "Falha ao enviar o e-mail de teste, por favor verifique a configuração.",
"sendSuccess": "E-mail de teste enviado com sucesso.",
"sendTestEmail": "Enviar E-mail de Teste",
"sendTestEmailDescription": "Envie um e-mail de teste para verificar a configuração.",
"senderAddress": "Endereço do Remetente",
"senderAddressDescription": "O endereço de e-mail padrão usado para enviar e-mails.",
"sent": "Enviado",
"sentAt": "Enviado em",
"settings": "Configurações",
"smtpAccount": "Conta SMTP",
"smtpAccountDescription": "A conta de e-mail usada para autenticação.",
"smtpEncryptionMethod": "Método de Criptografia SMTP",
"smtpEncryptionMethodDescription": "Escolha se deseja habilitar a criptografia SSL/TLS.",
"smtpPassword": "Senha SMTP",
"smtpPasswordDescription": "A senha para a conta SMTP.",
"smtpServerAddress": "Endereço do Servidor SMTP",
"smtpServerAddressDescription": "Especifique o endereço do servidor usado para enviar e-mails.",
"smtpServerPort": "Porta do Servidor SMTP",
"smtpServerPortDescription": "Especifique a porta usada para conectar ao servidor SMTP.",
"status": "Status",
"subject": "Assunto",
"template": "Modelo",
"traffic_exceed_email_template": "Modelo de Notificação de Excesso de Tráfego",
"traffic_exceed_email_templateDescription": "Os espaços reservados {after}.variable{before} serão substituídos por dados reais. Certifique-se de manter essas variáveis.",
"verify_email_template": "Modelo de E-mail de Verificação",
"verify_email_templateDescription": "Os marcadores {after}.variable{before} serão substituídos por dados reais. Certifique-se de manter essas variáveis.",
"whitelistSuffixes": "Sufixos de Lista Branca",
"whitelistSuffixesDescription": "Usado para verificação de e-mail durante o registro; um por linha",
"whitelistSuffixesPlaceholder": "Digite os sufixos de e-mail, um por linha"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID do Cliente",
"clientIdDescription": "ID do aplicativo do Facebook no Console de Desenvolvedores do Facebook",
"clientSecret": "Segredo do Cliente",
"clientSecretDescription": "Segredo do aplicativo do Facebook no Console de Desenvolvedores do Facebook",
"enable": "Habilitar",
"enableDescription": "Após habilitar, os usuários podem fazer login com sua conta do Facebook",
"saveFailed": "Falha ao salvar",
"saveSuccess": "Salvo com sucesso"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID do Cliente do GitHub",
"clientIdDescription": "O ID do cliente nas configurações do aplicativo OAuth do GitHub",
"clientSecret": "Segredo do Cliente do GitHub",
"clientSecretDescription": "O segredo do cliente das configurações do aplicativo OAuth do seu GitHub",
"enable": "Ativar Autenticação do GitHub",
"enableDescription": "Permitir que os usuários façam login com suas contas do GitHub",
"saveFailed": "Falha ao salvar as configurações do GitHub",
"saveSuccess": "Configurações do GitHub salvas com sucesso"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID do Cliente",
"clientIdDescription": "ID do Cliente OAuth 2.0 do Google no Console do Google Cloud",
"clientSecret": "Segredo do Cliente",
"clientSecretDescription": "Segredo do Cliente OAuth 2.0 do Google a partir do Console do Google Cloud",
"enable": "Habilitar",
"enableDescription": "Após habilitar, os usuários podem fazer login com sua conta do Google",
"saveFailed": "Falha ao salvar",
"saveSuccess": "Salvo com sucesso"
}
-32
View File
@@ -1,32 +0,0 @@
{
"accessLabel": "Acesso",
"applyPlatform": "Aplicar Plataforma",
"enable": "Habilitar",
"enableTip": "Após a ativação, as funções de registro, login, vinculação e desvinculação de telefone celular serão ativadas",
"endpointLabel": "Endpoint",
"logs": "Registros",
"phoneNumberLabel": "Número de Telefone",
"placeholders": {
"template": "Seu código de verificação é {code}, válido por 5 minutos",
"templateCode": "Insira o código do modelo"
},
"platform": "Plataforma de SMS",
"platformConfigTip": "Por favor, preencha a configuração fornecida {key}",
"platformTip": "Por favor, selecione a plataforma de SMS",
"secretLabel": "Segredo",
"sendFailed": "Envio Falhou",
"sendSuccess": "Envio bem-sucedido",
"settings": "Configurações",
"signNameLabel": "Nome da Assinatura",
"template": "Modelo de SMS",
"templateCodeLabel": "Código do Modelo",
"templateTip": "Por favor, preencha o template de SMS, mantenha {code} no meio, caso contrário a função de SMS não funcionará",
"testSms": "Enviar SMS de Teste",
"testSmsPhone": "Digite o número de telefone",
"testSmsTip": "Envie um SMS de teste para verificar sua configuração",
"updateSuccess": "Atualização bem-sucedida",
"whitelistAreaCode": "Código de Área da Lista Branca",
"whitelistAreaCodeTip": "Por favor, insira os códigos de área da lista branca, ex: 1, 852, 886, 888",
"whitelistValidation": "Verificação da Lista Branca",
"whitelistValidationTip": "Quando ativado, apenas os códigos de área na lista branca podem enviar SMS"
}
+6
View File
@@ -8,9 +8,12 @@
"createRule": "Adicionar Regra",
"createSuccess": "Regra criada com sucesso",
"createdAt": "Criado Em",
"default": "Padrão",
"defaultRule": "Regra Padrão",
"delete": "Excluir",
"deleteSuccess": "Regra excluída com sucesso",
"deleteWarning": "Você tem certeza de que deseja excluir esta regra? Esta ação não pode ser desfeita.",
"direct": "Direto",
"downloadTemplate": "Baixar Modelo",
"edit": "Editar",
"editRule": "Editar Regra",
@@ -29,11 +32,14 @@
"noValidRules": "Nenhuma regra válida encontrada",
"pleaseUploadFile": "Por favor, faça upload de um arquivo YAML",
"preview": "Pré-visualização",
"reject": "Rejeitar",
"rulesFormat": "Formato da regra: tipo de regra, conteúdo de correspondência, [política], onde a política é opcional.\nSe a política não for especificada, o nome do grupo de regras atual será usado automaticamente. Exemplos:",
"rulesLabel": "Conteúdo da Regra",
"searchRule": "Pesquisar nome da regra",
"selectTags": "Selecionar tags de nó",
"selectType": "Selecionar tipo de regra",
"tags": "Tags de Nó",
"tagsLabel": "Tags de Nó",
"type": "Tipo de Regra",
"updateSuccess": "Regra atualizada com sucesso"
}
+100 -75
View File
@@ -33,21 +33,22 @@
"description": "Descrição",
"edit": "Editar",
"editNodeGroup": "Editar Grupo de Nós",
"form": {
"cancel": "Cancelar",
"confirm": "Confirmar",
"description": "Descrição",
"name": "Nome"
},
"name": "Nome",
"title": "Lista de Grupos de Nós",
"updatedAt": "Atualizado em"
},
"groupForm": {
"cancel": "Cancelar",
"confirm": "Confirmar",
"description": "Descrição",
"name": "Nome"
},
"node": {
"abnormal": "Anormal",
"actions": "Ações",
"address": "Endereço",
"all": "Todos",
"basicInfo": "Informações Básicas",
"cancel": "Cancelar",
"confirm": "Confirmar",
"confirmDelete": "Tem certeza de que deseja excluir?",
@@ -59,96 +60,120 @@
"delete": "Excluir",
"deleteSuccess": "Excluído com sucesso",
"deleteWarning": "Após a exclusão, os dados não poderão ser recuperados. Por favor, proceda com cautela.",
"detail": "Detalhe",
"disabled": "Desativado",
"disk": "Disco",
"edit": "Editar",
"editNode": "Editar Nó",
"enable": "Habilitar",
"form": {
"allowInsecure": "Permitir Inseguro",
"cancel": "Cancelar",
"city": "Cidade",
"confirm": "Confirmar",
"country": "País",
"edit": "Editar",
"editSecurity": "Editar Configuração de Segurança",
"enableTLS": "Habilitar TLS",
"encryptionMethod": "Método de Criptografia",
"flow": "Algoritmo de Controle de Fluxo",
"groupId": "Grupo de Nós",
"hopInterval": "Intervalo de Salto",
"hopPorts": "Portas de Salto",
"hopPortsPlaceholder": "Várias portas separadas por vírgula",
"name": "Nome",
"obfsPassword": "Senha de Ofuscação",
"obfsPasswordPlaceholder": "Deixe em branco para não ofuscar",
"path": "Caminho",
"pleaseSelect": "Por favor, selecione",
"port": "Porta do Servidor",
"protocol": "Protocolo",
"relayHost": "Endereço de Relay",
"relayMode": "Modo de Retransmissão",
"relayModeOptions": {
"all": "Todos",
"none": "Nenhum",
"random": "Aleatório"
},
"relayPort": "Porta de Relay",
"relayPrefix": "Prefixo de Retransmissão",
"remarks": "Observações",
"security": "Segurança",
"securityConfig": "Configuração de Segurança",
"security_config": {
"fingerprint": "Impressão Digital",
"privateKey": "Chave Privada",
"privateKeyPlaceholder": "Deixe em branco para gerar automaticamente",
"publicKey": "Chave Pública",
"publicKeyPlaceholder": "Deixe em branco para gerar automaticamente",
"serverAddress": "Endereço do Servidor",
"serverAddressPlaceholder": "Endereço de destino REALITY, padrão usa SNI",
"serverName": "Nome do Servidor (SNI)",
"serverNamePlaceholder": "Obrigatório para REALITY, deve coincidir com o backend",
"serverPort": "Porta do Servidor",
"serverPortPlaceholder": "Porta de destino REALITY, padrão 443",
"shortId": "ID Curto",
"shortIdPlaceholder": "Deixe em branco para gerar automaticamente",
"sni": "Indicação de Nome do Servidor (SNI)"
},
"selectEncryptionMethod": "Selecione o Método de Criptografia",
"selectNodeGroup": "Selecione o Grupo de Nós",
"selectProtocol": "Selecione o Protocolo",
"selectRelayMode": "Selecionar Modo de Retransmissão",
"serverAddr": "Endereço do Servidor",
"serverKey": "Chave do Servidor",
"serverName": "Nome do Serviço",
"speedLimit": "Limite de Velocidade",
"speedLimitPlaceholder": "Sem Limite",
"tags": "Etiquetas",
"tagsPlaceholder": "Use Enter ou vírgula (,) para inserir várias etiquetas",
"trafficRatio": "Taxa de Tráfego",
"transport": "Protocolo de Transporte",
"transportConfig": "Configuração do Protocolo de Transporte",
"transportHost": "Endereço do Serviço de Transporte",
"transportPath": "Caminho de Transporte",
"transportServerName": "Nome do Serviço de Transporte"
},
"enabled": "Ativado",
"expireTime": "Tempo de Expiração",
"hide": "Ocultar",
"id": "ID",
"ipAddresses": "Endereços IP",
"lastUpdated": "Última Atualização",
"location": "Localização",
"memory": "Memória",
"name": "Nome",
"noData": "--",
"node": "Nó",
"nodeDetail": "Detalhes do Nó",
"nodeGroup": "Grupo de Nós",
"nodeStatus": "Status do Nó",
"normal": "Normal",
"onlineCount": "Contagem de Usuários Online",
"onlineUsers": "Usuários Online",
"protocol": "Protocolo",
"rate": "Taxa",
"relay": "Relay",
"serverAddr": "Endereço do Servidor",
"speedLimit": "Limite de Velocidade",
"status": "Status",
"subscribeId": "ID da Assinatura",
"subscribeName": "Nome da Assinatura",
"subscription": "Assinatura",
"tags": "Etiquetas",
"trafficRatio": "Taxa de Tráfego",
"trafficUsage": "Uso de Tráfego",
"type": "Tipo",
"updateSuccess": "Atualizado com sucesso",
"updatedAt": "Atualizado em"
"updatedAt": "Atualizado em",
"userAccount": "Conta do Usuário",
"userDetail": "Detalhes do Usuário",
"userId": "ID do Usuário"
},
"nodeForm": {
"allowInsecure": "Permitir Inseguro",
"cancel": "Cancelar",
"city": "Cidade",
"confirm": "Confirmar",
"congestionController": "Controlador de Congestionamento",
"country": "País",
"disableSni": "Desativar SNI",
"edit": "Editar",
"editSecurity": "Editar Configuração de Segurança",
"enableTLS": "Ativar TLS",
"encryptionMethod": "Método de Criptografia",
"fingerprint": "Impressão Digital",
"flow": "Algoritmo de Controle de Fluxo",
"groupId": "Grupo de Nós",
"hopInterval": "Intervalo de Salto",
"hopPorts": "Portas de Salto",
"hopPortsPlaceholder": "Separe várias portas com vírgulas",
"name": "Nome",
"obfsPassword": "Senha de Ofuscação",
"obfsPasswordPlaceholder": "Deixe em branco para nenhuma ofuscação",
"path": "Caminho",
"pleaseSelect": "Por Favor Selecione",
"port": "Porta do Servidor",
"protocol": "Protocolo",
"reduceRtt": "Reduzir RTT",
"relayHost": "Host de Revezamento",
"relayMode": "Modo de Revezamento",
"relayPort": "Porta de Revezamento",
"relayPrefix": "Prefixo de Revezamento",
"remarks": "Observações",
"security": "Segurança",
"securityConfig": "Configuração de Segurança",
"selectEncryptionMethod": "Selecionar Método de Criptografia",
"selectNodeGroup": "Selecionar Grupo de Nós",
"selectProtocol": "Selecionar Protocolo",
"selectRelayMode": "Selecionar Modo de Revezamento",
"serverAddr": "Endereço do Servidor",
"serverKey": "Chave do Servidor",
"serverName": "Nome do Serviço",
"speedLimit": "Limite de Velocidade",
"speedLimitPlaceholder": "Ilimitado",
"tags": "Tags",
"tagsPlaceholder": "Use Enter ou vírgula (,) para inserir várias tags",
"trafficRatio": "Taxa de Tráfego",
"transport": "Configuração do Protocolo de Transporte",
"transportConfig": "Configuração do Protocolo de Transporte",
"transportHost": "Endereço do Servidor de Transporte",
"transportPath": "Caminho de Transporte",
"transportServerName": "Nome do Servidor de Transporte",
"udpRelayMode": "Modo de Revezamento UDP"
},
"relayModeOptions": {
"all": "Todos",
"none": "Nenhum",
"random": "Aleatório"
},
"securityConfig": {
"fingerprint": "Impressão Digital",
"privateKey": "Chave Privada",
"privateKeyPlaceholder": "Deixe em branco para auto-geração",
"publicKey": "Chave Pública",
"publicKeyPlaceholder": "Deixe em branco para auto-geração",
"serverAddress": "Endereço do Servidor",
"serverAddressPlaceholder": "Endereço de destino REALITY, padrão usando SNI",
"serverName": "Nome do Servidor (SNI)",
"serverNamePlaceholder": "REALITY necessário, consistente com o backend",
"serverPort": "Porta do Servidor",
"serverPortPlaceholder": "Porta de destino REALITY, padrão 443",
"shortId": "ID Curto",
"shortIdPlaceholder": "Deixe em branco para auto-geração",
"sni": "Indicação de Nome do Servidor (SNI)"
},
"tabs": {
"node": "Nó",
+92 -11
View File
@@ -1,28 +1,77 @@
{
"authSettings": "Configurações de Autenticação",
"basicSettings": "Configurações Básicas",
"common": {
"cancel": "Cancelar",
"save": "Salvar Configurações",
"saveFailed": "Falha ao Salvar",
"saveSuccess": "Salvo com Sucesso"
},
"currency": {
"accessKey": "Chave de Acesso",
"accessKeyDescription": "Chave de API de taxa de câmbio fornecida gratuitamente por https://exchangerate.host",
"accessKeyDescription": "Chave de API de taxa de câmbio fornecida gratuitamente por {url}",
"accessKeyPlaceholder": "Digite a chave da API",
"currencySymbol": "Símbolo da Moeda",
"currencySymbolDescription": "Usado apenas para exibição, após a alteração todas as unidades monetárias no sistema serão alteradas",
"currencySymbolPlaceholder": "R$",
"currencyUnit": "Unidade Monetária",
"currencyUnitDescription": "Usado apenas para exibição, após a alteração todas as unidades monetárias no sistema serão alteradas",
"saveSuccess": "Salvo com sucesso"
"currencyUnitPlaceholder": "BRL",
"description": "Configure unidades de moeda, símbolos e configurações da API de taxa de câmbio",
"title": "Configuração de Moeda"
},
"privacy-policy": {
"invite": {
"description": "Configure as configurações de convite de usuário e recompensas de referência",
"forcedInvite": "Requerer Convite para Registrar",
"forcedInviteDescription": "Quando ativado, os usuários devem se registrar através de um link de convite",
"inputPlaceholder": "Por favor, insira",
"onlyFirstPurchase": "Apenas Recompensa na Primeira Compra",
"onlyFirstPurchaseDescription": "Quando ativado, os referenciadores recebem recompensas apenas pela primeira compra dos usuários referidos",
"referralPercentage": "Porcentagem de Recompensa de Referência",
"referralPercentageDescription": "Porcentagem da recompensa dada aos referenciadores",
"saveFailed": "Falha ao Salvar",
"saveSuccess": "Salvo com Sucesso",
"title": "Configurações de Convite"
},
"privacyPolicy": {
"description": "Edite e gerencie o conteúdo da política de privacidade",
"title": "Política de Privacidade"
},
"register": {
"day": "dia(s)",
"defaultSubscribe": "Assinatura Padrão",
"defaultSubscribeDescription": "Plano de assinatura padrão para novos usuários",
"description": "Configure as configurações relacionadas ao registro de usuários",
"inputPlaceholder": "Por favor, insira",
"ipRegistrationLimit": "Limite de Registro por IP",
"ipRegistrationLimitDescription": "Limite o número de registros de um único endereço IP",
"registrationLimitCount": "Contagem de Limite de Registro",
"registrationLimitCountDescription": "Número de registros permitidos por IP dentro do período limite",
"registrationLimitExpire": "Período de Limite",
"registrationLimitExpireDescription": "Duração para o limite de registro por IP",
"saveFailed": "Falha ao Salvar",
"saveSuccess": "Salvo com Sucesso",
"selectPlaceholder": "Por favor, selecione",
"stopNewUserRegistration": "Parar Registro de Novos Usuários",
"stopNewUserRegistrationDescription": "Quando ativado, o registro de novos usuários será desativado",
"title": "Configurações de Registro",
"trialDay": "Dias de Teste",
"trialDayDescription": "Dias de teste dados a novos usuários no registro",
"trialFlow": "Tráfego de Teste",
"trialFlowDescription": "Tráfego de teste dado a novos usuários no registro"
},
"site": {
"customData": "Dados Personalizados",
"customDataDescription": "Dados personalizados, usados para dados personalizados do site",
"customHtml": "HTML Personalizado",
"customHtmlDescription": "Código HTML personalizado a ser inserido no final da tag bodyo site.",
"description": "Configure informações básicas do site, logotipo, domínio e outras configurações",
"keywords": "Palavras-chave",
"keywordsDescription": "Usado para fins de SEO",
"keywordsPlaceholder": "palavra-chave1, palavra-chave2, palavra-chave3",
"logo": "LOGO",
"logoDescription": "Usado para exibir a posição onde o LOGO precisa ser mostrado",
"logoPlaceholder": "Por favor, insira o URL do LOGO, não termine com '/'",
"saveSuccess": "Salvo com sucesso",
"siteDesc": "Descrição do site",
"siteDescDescription": "Usado para exibir a posição onde a descrição do site precisa ser mostrada",
"siteDescPlaceholder": "Por favor, insira a descrição do site",
@@ -31,15 +80,47 @@
"siteDomainPlaceholder": "Por favor, insira o endereço do domínio, múltiplos domínios devem ser inseridos um por linha",
"siteName": "Nome do site",
"siteNameDescription": "Usado para exibir a posição onde o nome do site precisa ser mostrado",
"siteNamePlaceholder": "Por favor, insira o nome do site"
},
"tabs": {
"currency": "Moeda",
"site": "Site",
"tos": "Termos de Serviço"
"siteNamePlaceholder": "Por favor, insira o nome do site",
"title": "Configuração do Site"
},
"siteSettings": "Configurações do Site",
"tos": {
"saveSuccess": "Salvo com sucesso",
"description": "Edite e gerencie o conteúdo dos termos de serviço",
"title": "Termos de Serviço"
},
"userSecuritySettings": "Usuário & Segurança",
"verify": {
"description": "Configure o CAPTCHA Turnstile e as configurações de verificação",
"enableLoginVerify": "Ativar Verificação no Login",
"enableLoginVerifyDescription": "Quando ativado, os usuários devem passar pela verificação humana durante o login",
"enablePasswordVerify": "Ativar Verificação na Redefinição de Senha",
"enablePasswordVerifyDescription": "Quando ativado, os usuários devem passar pela verificação humana durante a redefinição de senha",
"enableRegisterVerify": "Ativar Verificação no Registro",
"enableRegisterVerifyDescription": "Quando ativado, os usuários devem passar pela verificação humana durante o registro",
"inputPlaceholder": "Por favor, insira",
"saveFailed": "Falha ao Salvar",
"saveSuccess": "Salvo com Sucesso",
"title": "Verificação de Segurança",
"turnstileSecret": "Chave Secreta Turnstile",
"turnstileSecretDescription": "Chave secreta Turnstile da Cloudflare para verificação no backend",
"turnstileSecretPlaceholder": "Digite a chave secreta Turnstile",
"turnstileSiteKey": "Chave do Site Turnstile",
"turnstileSiteKeyDescription": "Chave do site Turnstile da Cloudflare para verificação no frontend",
"turnstileSiteKeyPlaceholder": "Digite a chave do site Turnstile"
},
"verifyCode": {
"dailyLimit": "Limite Diário de Envio",
"dailyLimitDescription": "Número máximo de códigos de verificação que cada usuário pode enviar por dia",
"description": "Configure regras e limites para envio de código de verificação por e-mail",
"expireTime": "Validade do Código de Verificação",
"expireTimeDescription": "Período de validade dos códigos de verificação (segundos)",
"inputPlaceholder": "Por favor, insira",
"interval": "Intervalo de Envio",
"intervalDescription": "Intervalo mínimo entre dois envios de código de verificação (segundos)",
"saveFailed": "Falha ao Salvar",
"saveSuccess": "Salvo com Sucesso",
"seconds": "segundos",
"times": "vez(es)",
"title": "Configurações de Código de Verificação"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID do Bot",
"clientIdDescription": "ID do Bot do Telegram, você pode obtê-lo com o @BotFather",
"clientSecret": "Token do Bot",
"clientSecretDescription": "Token do Bot do Telegram, você pode obtê-lo com o @BotFather",
"enable": "Habilitar",
"enableDescription": "Após a ativação, as funções de registro, login, vinculação e desvinculação de telefone celular serão ativadas",
"saveFailed": "Falha ao salvar",
"saveSuccess": "Salvo com sucesso"
}