mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-05-31 10:14:15 +00:00
Client emails containing a slash broke the path-param routes (edit/delete/view returned 404 / "client not found"), leaving stale records that could only be cleared with manual SQLite edits. Validate the email on both the backend (Create + Update, which also covers the bulk paths) and the frontend (Zod) so these characters are rejected at save time with a clear, localized message across all 13 locales. Closes #4695
1548 lines
81 KiB
JSON
1548 lines
81 KiB
JSON
{
|
||
"username": "Nome de Usuário",
|
||
"password": "Senha",
|
||
"login": "Entrar",
|
||
"confirm": "Confirmar",
|
||
"cancel": "Cancelar",
|
||
"close": "Fechar",
|
||
"save": "Salvar",
|
||
"logout": "Sair",
|
||
"create": "Criar",
|
||
"add": "Adicionar",
|
||
"remove": "Remover",
|
||
"update": "Atualizar",
|
||
"copy": "Copiar",
|
||
"copied": "Copiado",
|
||
"more": "mais",
|
||
"download": "Baixar",
|
||
"remark": "Observação",
|
||
"enable": "Ativado",
|
||
"protocol": "Protocolo",
|
||
"search": "Pesquisar",
|
||
"filter": "Filtrar",
|
||
"all": "Todos",
|
||
"from": "De",
|
||
"to": "Até",
|
||
"done": "Concluído",
|
||
"loading": "Carregando...",
|
||
"refresh": "Atualizar",
|
||
"clear": "Limpar",
|
||
"second": "Segundo",
|
||
"minute": "Minuto",
|
||
"hour": "Hora",
|
||
"day": "Dia",
|
||
"check": "Verificar",
|
||
"indefinite": "Indeterminado",
|
||
"unlimited": "Ilimitado",
|
||
"none": "Nenhum",
|
||
"qrCode": "Código QR",
|
||
"info": "Mais Informações",
|
||
"edit": "Editar",
|
||
"delete": "Excluir",
|
||
"reset": "Redefinir",
|
||
"noData": "Sem dados.",
|
||
"copySuccess": "Copiado com Sucesso",
|
||
"sure": "Certo",
|
||
"encryption": "Criptografia",
|
||
"useIPv4ForHost": "Usar IPv4 para o host",
|
||
"transmission": "Transmissão",
|
||
"host": "Host",
|
||
"path": "Caminho",
|
||
"camouflage": "Ofuscação",
|
||
"status": "Status",
|
||
"enabled": "Ativado",
|
||
"disabled": "Desativado",
|
||
"depleted": "Encerrado",
|
||
"depletingSoon": "Esgotando",
|
||
"offline": "Offline",
|
||
"online": "Online",
|
||
"domainName": "Nome de Domínio",
|
||
"monitor": "IP de Escuta",
|
||
"certificate": "Certificado Digital",
|
||
"fail": "Falhou",
|
||
"comment": "Comentário",
|
||
"success": "Com Sucesso",
|
||
"lastOnline": "Última vez online",
|
||
"getVersion": "Obter Versão",
|
||
"install": "Instalar",
|
||
"clients": "Clientes",
|
||
"usage": "Uso",
|
||
"twoFactorCode": "Código",
|
||
"remained": "Restante",
|
||
"security": "Segurança",
|
||
"secAlertTitle": "Alerta de Segurança",
|
||
"secAlertSsl": "Esta conexão não é segura. Evite inserir informações confidenciais até que o TLS seja ativado para proteção de dados.",
|
||
"secAlertConf": "Algumas configurações estão vulneráveis a ataques. Recomenda-se reforçar os protocolos de segurança para evitar possíveis violações.",
|
||
"secAlertSSL": "O painel não possui uma conexão segura. Instale o certificado TLS para proteção de dados.",
|
||
"secAlertPanelPort": "A porta padrão do painel é vulnerável. Configure uma porta aleatória ou específica.",
|
||
"secAlertPanelURI": "O caminho URI padrão do painel não é seguro. Configure um caminho URI complexo.",
|
||
"secAlertSubURI": "O caminho URI padrão de inscrição não é seguro. Configure um caminho URI complexo.",
|
||
"secAlertSubJsonURI": "O caminho URI JSON de inscrição padrão não é seguro. Configure um caminho URI complexo.",
|
||
"emptyDnsDesc": "Nenhum servidor DNS adicionado.",
|
||
"emptyFakeDnsDesc": "Nenhum servidor Fake DNS adicionado.",
|
||
"emptyBalancersDesc": "Nenhum balanceador adicionado.",
|
||
"emptyReverseDesc": "Nenhum proxy reverso adicionado.",
|
||
"somethingWentWrong": "Algo deu errado",
|
||
"subscription": {
|
||
"title": "Informações da assinatura",
|
||
"subId": "ID da assinatura",
|
||
"status": "Status",
|
||
"downloaded": "Baixado",
|
||
"uploaded": "Enviado",
|
||
"expiry": "Validade",
|
||
"totalQuota": "Cota total",
|
||
"individualLinks": "Links individuais",
|
||
"active": "Ativo",
|
||
"inactive": "Inativo",
|
||
"unlimited": "Ilimitado",
|
||
"noExpiry": "Sem validade"
|
||
},
|
||
"menu": {
|
||
"theme": "Tema",
|
||
"dark": "Escuro",
|
||
"ultraDark": "Ultra Escuro",
|
||
"dashboard": "Visão Geral",
|
||
"inbounds": "Entradas",
|
||
"clients": "Clientes",
|
||
"groups": "Grupos",
|
||
"nodes": "Nós",
|
||
"settings": "Configurações do Painel",
|
||
"xray": "Configurações Xray",
|
||
"apiDocs": "Documentação da API",
|
||
"logout": "Sair",
|
||
"link": "Gerenciar",
|
||
"donate": "Doar"
|
||
},
|
||
"pages": {
|
||
"login": {
|
||
"hello": "Olá",
|
||
"title": "Bem-vindo",
|
||
"loginAgain": "Sua sessão expirou, faça login novamente",
|
||
"toasts": {
|
||
"invalidFormData": "O formato dos dados de entrada é inválido.",
|
||
"emptyUsername": "Nome de usuário é obrigatório",
|
||
"emptyPassword": "Senha é obrigatória",
|
||
"wrongUsernameOrPassword": "Nome de usuário, senha ou código de dois fatores inválido.",
|
||
"successLogin": "Você entrou na sua conta com sucesso."
|
||
}
|
||
},
|
||
"index": {
|
||
"title": "Visão Geral",
|
||
"cpu": "CPU",
|
||
"logicalProcessors": "Processadores lógicos",
|
||
"frequency": "Frequência",
|
||
"swap": "Swap",
|
||
"storage": "Armazenamento",
|
||
"memory": "RAM",
|
||
"threads": "Threads",
|
||
"xrayStatus": "Xray",
|
||
"stopXray": "Parar",
|
||
"restartXray": "Reiniciar",
|
||
"xraySwitch": "Versão",
|
||
"xrayUpdates": "Atualizações do Xray",
|
||
"xraySwitchClick": "Escolha a versão para a qual deseja alternar.",
|
||
"xraySwitchClickDesk": "Escolha com cuidado, pois versões mais antigas podem não ser compatíveis com as configurações atuais.",
|
||
"updatePanel": "Atualizar painel",
|
||
"panelUpdateDesc": "Isso atualizará o 3X-UI para a versão mais recente e reiniciará o serviço do painel.",
|
||
"currentPanelVersion": "Versão atual do painel",
|
||
"latestPanelVersion": "Última versão do painel",
|
||
"panelUpToDate": "O painel está atualizado",
|
||
"upToDate": "Atualizado",
|
||
"xrayStatusUnknown": "Desconhecido",
|
||
"xrayStatusRunning": "Em execução",
|
||
"xrayStatusStop": "Parado",
|
||
"xrayStatusError": "Erro",
|
||
"xrayErrorPopoverTitle": "Ocorreu um erro ao executar o Xray",
|
||
"operationHours": "Tempo de Atividade",
|
||
"systemHistoryTitle": "Histórico do Sistema",
|
||
"charts": "Gráficos",
|
||
"xrayMetricsTitle": "Métricas do Xray",
|
||
"xrayMetricsDisabled": "Endpoint de métricas do Xray não configurado",
|
||
"xrayMetricsHint": "Adicione um bloco metrics de nível superior à configuração do xray com tag metrics_out e listen 127.0.0.1:11111, depois reinicie o xray.",
|
||
"xrayObservatoryEmpty": "Ainda não há dados do Observatory",
|
||
"xrayObservatoryHint": "Adicione um bloco observatory à configuração do xray listando as tags de outbound a sondar, depois reinicie o xray.",
|
||
"xrayObservatoryTagPlaceholder": "Selecionar outbound",
|
||
"xrayObservatoryAlive": "Ativo",
|
||
"xrayObservatoryDead": "Inativo",
|
||
"xrayObservatoryLastSeen": "Visto pela última vez",
|
||
"xrayObservatoryLastTry": "Última tentativa",
|
||
"trendLast2Min": "Últimos 2 minutos",
|
||
"systemLoad": "Carga do Sistema",
|
||
"systemLoadDesc": "Média de carga do sistema nos últimos 1, 5 e 15 minutos",
|
||
"connectionCount": "Estatísticas de Conexão",
|
||
"ipAddresses": "Endereços IP",
|
||
"toggleIpVisibility": "Alternar visibilidade do IP",
|
||
"overallSpeed": "Velocidade geral",
|
||
"upload": "Upload",
|
||
"download": "Download",
|
||
"totalData": "Dados totais",
|
||
"sent": "Enviado",
|
||
"received": "Recebido",
|
||
"documentation": "Documentação",
|
||
"xraySwitchVersionDialog": "Você realmente deseja alterar a versão do Xray?",
|
||
"xraySwitchVersionDialogDesc": "Isso mudará a versão do Xray para #version#.",
|
||
"xraySwitchVersionPopover": "Xray atualizado com sucesso",
|
||
"panelUpdateDialog": "Deseja realmente atualizar o painel?",
|
||
"panelUpdateDialogDesc": "Isso atualizará o 3X-UI para #version# e reiniciará o serviço do painel.",
|
||
"panelUpdateCheckPopover": "Falha na verificação de atualização do painel",
|
||
"panelUpdateStartedPopover": "Atualização do painel iniciada",
|
||
"geofileUpdateDialog": "Você realmente deseja atualizar o geofile?",
|
||
"geofileUpdateDialogDesc": "Isso atualizará o arquivo #filename#.",
|
||
"geofilesUpdateDialogDesc": "Isso atualizará todos os arquivos.",
|
||
"geofilesUpdateAll": "Atualizar tudo",
|
||
"geofileUpdatePopover": "Geofile atualizado com sucesso",
|
||
"customGeoTitle": "GeoSite / GeoIP personalizados",
|
||
"customGeoAdd": "Adicionar",
|
||
"customGeoType": "Tipo",
|
||
"customGeoAlias": "Alias",
|
||
"customGeoUrl": "URL",
|
||
"customGeoEnabled": "Ativado",
|
||
"customGeoLastUpdated": "Última atualização",
|
||
"customGeoExtColumn": "Roteamento (ext:…)",
|
||
"customGeoToastUpdateAll": "Todas as fontes personalizadas foram atualizadas",
|
||
"customGeoActions": "Ações",
|
||
"customGeoEdit": "Editar",
|
||
"customGeoDelete": "Excluir",
|
||
"customGeoDownload": "Atualizar agora",
|
||
"customGeoModalAdd": "Adicionar geo personalizado",
|
||
"customGeoModalEdit": "Editar geo personalizado",
|
||
"customGeoModalSave": "Salvar",
|
||
"customGeoDeleteConfirm": "Excluir esta fonte geo personalizada?",
|
||
"customGeoRoutingHint": "Nas regras de roteamento use a coluna de valor como ext:arquivo.dat:tag (substitua a tag).",
|
||
"customGeoInvalidId": "ID de recurso inválido",
|
||
"customGeoAliasesError": "Falha ao carregar aliases geo personalizados",
|
||
"customGeoValidationAlias": "O alias só pode conter letras minúsculas, dígitos, - e _",
|
||
"customGeoValidationUrl": "A URL deve começar com http:// ou https://",
|
||
"customGeoAliasPlaceholder": "a-z 0-9 _ -",
|
||
"customGeoAliasLabelSuffix": " (personalizado)",
|
||
"customGeoToastList": "Lista de geo personalizado",
|
||
"customGeoToastAdd": "Adicionar geo personalizado",
|
||
"customGeoToastUpdate": "Atualizar geo personalizado",
|
||
"customGeoToastDelete": "Geofile personalizado “{{ .fileName }}” excluído",
|
||
"customGeoToastDownload": "Geofile “{{ .fileName }}” atualizado",
|
||
"customGeoErrInvalidType": "O tipo deve ser geosite ou geoip",
|
||
"customGeoErrAliasRequired": "Alias é obrigatório",
|
||
"customGeoErrAliasPattern": "O alias contém caracteres não permitidos",
|
||
"customGeoErrAliasReserved": "Este alias é reservado",
|
||
"customGeoErrUrlRequired": "URL é obrigatória",
|
||
"customGeoErrInvalidUrl": "URL inválida",
|
||
"customGeoErrUrlScheme": "A URL deve usar http ou https",
|
||
"customGeoErrUrlHost": "Host da URL inválido",
|
||
"customGeoErrDuplicateAlias": "Este alias já está em uso para este tipo",
|
||
"customGeoErrNotFound": "Fonte geo personalizada não encontrada",
|
||
"customGeoErrDownload": "Falha no download",
|
||
"customGeoErrUpdateAllIncomplete": "Falha ao atualizar uma ou mais fontes geo personalizadas",
|
||
"customGeoEmpty": "Ainda não há fontes geo personalizadas — clique em Adicionar para criar uma",
|
||
"dontRefresh": "Instalação em andamento, por favor não atualize a página",
|
||
"logs": "Logs",
|
||
"config": "Configuração",
|
||
"backup": "Backup",
|
||
"backupTitle": "Backup & Restauração",
|
||
"exportDatabase": "Backup",
|
||
"exportDatabaseDesc": "Clique para baixar um arquivo .db contendo um backup do seu banco de dados atual para o seu dispositivo.",
|
||
"importDatabase": "Restaurar",
|
||
"importDatabaseDesc": "Clique para selecionar e enviar um arquivo .db do seu dispositivo para restaurar seu banco de dados a partir de um backup.",
|
||
"importDatabaseSuccess": "O banco de dados foi importado com sucesso",
|
||
"importDatabaseError": "Ocorreu um erro ao importar o banco de dados",
|
||
"readDatabaseError": "Ocorreu um erro ao ler o banco de dados",
|
||
"getDatabaseError": "Ocorreu um erro ao recuperar o banco de dados",
|
||
"getConfigError": "Ocorreu um erro ao recuperar o arquivo de configuração"
|
||
},
|
||
"inbounds": {
|
||
"title": "Entradas",
|
||
"totalDownUp": "Total Enviado/Recebido",
|
||
"totalUsage": "Uso Total",
|
||
"inboundCount": "Total de Inbounds",
|
||
"operate": "Menu",
|
||
"enable": "Ativado",
|
||
"remark": "Observação",
|
||
"node": "Nó",
|
||
"deployTo": "Implantar em",
|
||
"localPanel": "Painel local",
|
||
"fallbacks": {
|
||
"title": "Fallbacks",
|
||
"help": "Quando uma conexão neste inbound não corresponde a nenhum cliente, redirecione-a para outro inbound. Escolha um filho abaixo e os campos de roteamento (SNI / ALPN / Path / xver) são preenchidos automaticamente a partir do transporte dele — a maioria das configurações não precisa de mais ajustes. Cada filho deve escutar em 127.0.0.1 com security=none.",
|
||
"empty": "Ainda sem fallbacks",
|
||
"add": "Adicionar fallback",
|
||
"pickInbound": "Escolha um inbound",
|
||
"matchAny": "qualquer",
|
||
"destPlaceholder": "automático (listen:porta do filho)",
|
||
"rederive": "Preencher a partir do filho",
|
||
"rederived": "Preenchido a partir do filho",
|
||
"editAdvanced": "Editar campos de roteamento",
|
||
"hideAdvanced": "Ocultar avançado",
|
||
"quickAddAll": "Adicionar todos os elegíveis",
|
||
"quickAdded": "{n} fallback(s) adicionado(s)",
|
||
"quickAddedNone": "Nenhum inbound novo elegível para adicionar",
|
||
"routesWhen": "Roteia quando",
|
||
"defaultCatchAll": "Padrão — captura qualquer outra coisa"
|
||
},
|
||
"protocol": "Protocolo",
|
||
"port": "Porta",
|
||
"portMap": "Mapeamento de portas",
|
||
"traffic": "Tráfego",
|
||
"details": "Detalhes",
|
||
"transportConfig": "Transporte",
|
||
"expireDate": "Duração",
|
||
"createdAt": "Criado",
|
||
"updatedAt": "Atualizado",
|
||
"resetTraffic": "Redefinir tráfego",
|
||
"addInbound": "Adicionar Inbound",
|
||
"generalActions": "Ações Gerais",
|
||
"modifyInbound": "Modificar Inbound",
|
||
"deleteInbound": "Excluir Inbound",
|
||
"deleteInboundContent": "Tem certeza de que deseja excluir o inbound?",
|
||
"deleteConfirmTitle": "Excluir o inbound \"{remark}\"?",
|
||
"deleteConfirmContent": "Isto remove o inbound e todos os seus clientes. Não é possível desfazer.",
|
||
"resetConfirmTitle": "Redefinir o tráfego de \"{remark}\"?",
|
||
"resetConfirmContent": "Zera os contadores de envio/recebimento para este inbound.",
|
||
"cloneConfirmTitle": "Clonar o inbound \"{remark}\"?",
|
||
"cloneConfirmContent": "Cria uma cópia com uma nova porta e lista de clientes vazia.",
|
||
"delAllClients": "Excluir todos os clientes",
|
||
"delAllClientsConfirmTitle": "Excluir todos os {count} clientes de \"{remark}\"?",
|
||
"delAllClientsConfirmContent": "Remove todos os clientes deste inbound e descarta seus registros de tráfego. O inbound em si é mantido. Esta ação não pode ser desfeita.",
|
||
"attachClients": "Associar clientes a…",
|
||
"addClientsToGroup": "Adicionar clientes ao grupo…",
|
||
"attachClientsTitle": "Associar clientes de «{remark}»",
|
||
"attachClientsDesc": "Associa os mesmos {count} cliente(s) (mesmo UUID/senha e tráfego compartilhado) à(s) entrada(s) selecionada(s). Permanecem nesta entrada também.",
|
||
"attachClientsTargets": "Entradas de destino",
|
||
"attachClientsNoTargets": "Não há outras entradas compatíveis disponíveis para associação.",
|
||
"attachClientsResult": "Associados {attached}, ignorados {skipped}.",
|
||
"attachClientsResultMixed": "Associados {attached}, ignorados {skipped}, erros {errors}.",
|
||
"attachClientsSelectLabel": "Clientes para associar",
|
||
"attachClientsSearchPlaceholder": "Buscar email ou comentário",
|
||
"attachClientsStatusDisabled": "Desabilitado",
|
||
"attachClientsSelectedCount": "{selected} de {total} selecionado(s)",
|
||
"detachClients": "Desassociar clientes",
|
||
"detachClientsTitle": "Desassociar clientes de «{remark}»",
|
||
"detachClientsDesc": "Remove o(s) cliente(s) selecionado(s) apenas desta entrada. Os registros são mantidos (use Delete para remover completamente). A origem tem {count} cliente(s) no total.",
|
||
"detachClientsResult": "Desassociados {detached}, ignorados {skipped}.",
|
||
"detachClientsResultMixed": "Desassociados {detached}, ignorados {skipped}, erros {errors}.",
|
||
"detachClientsSelectLabel": "Clientes para desassociar",
|
||
"exportLinksTitle": "Exportar links do inbound",
|
||
"exportSubsTitle": "Exportar links de assinatura",
|
||
"exportAllLinksTitle": "Exportar todos os links de inbound",
|
||
"exportAllSubsTitle": "Exportar todos os links de assinatura",
|
||
"exportAllLinksFileName": "Todas-as-entradas",
|
||
"exportAllSubsFileName": "Todas-as-entradas-Subs",
|
||
"inboundJsonTitle": "JSON da entrada",
|
||
"deleteClient": "Excluir Cliente",
|
||
"deleteClientContent": "Tem certeza de que deseja excluir o cliente?",
|
||
"resetTrafficContent": "Tem certeza de que deseja redefinir o tráfego?",
|
||
"copyLink": "Copiar URL",
|
||
"address": "Endereço",
|
||
"network": "Rede",
|
||
"destinationPort": "Porta de Destino",
|
||
"targetAddress": "Endereço de Destino",
|
||
"monitorDesc": "Deixe em branco para ouvir todos os IPs",
|
||
"meansNoLimit": "= Ilimitado. (unidade: GB)",
|
||
"totalFlow": "Fluxo Total",
|
||
"leaveBlankToNeverExpire": "Deixe em branco para nunca expirar",
|
||
"noRecommendKeepDefault": "Recomenda-se manter o padrão",
|
||
"certificatePath": "Caminho",
|
||
"certificateContent": "Conteúdo",
|
||
"publicKey": "Chave Pública",
|
||
"privatekey": "Chave Privada",
|
||
"clickOnQRcode": "Clique no Código QR para Copiar",
|
||
"client": "Cliente",
|
||
"export": "Exportar Todos os URLs",
|
||
"clone": "Clonar",
|
||
"cloneInbound": "Clonar",
|
||
"cloneInboundContent": "Todas as configurações deste inbound, exceto Porta, IP de Escuta e Clientes, serão aplicadas ao clone.",
|
||
"cloneInboundOk": "Clonar",
|
||
"resetAllTraffic": "Redefinir Tráfego de Todos os Inbounds",
|
||
"resetAllTrafficTitle": "Redefinir Tráfego de Todos os Inbounds",
|
||
"resetAllTrafficContent": "Tem certeza de que deseja redefinir o tráfego de todos os inbounds?",
|
||
"resetInboundClientTraffics": "Redefinir Tráfego dos Clientes",
|
||
"resetInboundClientTrafficTitle": "Redefinir Tráfego dos Clientes",
|
||
"resetInboundClientTrafficContent": "Tem certeza de que deseja redefinir o tráfego dos clientes deste inbound?",
|
||
"resetAllClientTraffics": "Redefinir Tráfego de Todos os Clientes",
|
||
"resetAllClientTrafficTitle": "Redefinir Tráfego de Todos os Clientes",
|
||
"resetAllClientTrafficContent": "Tem certeza de que deseja redefinir o tráfego de todos os clientes?",
|
||
"delDepletedClients": "Excluir Clientes Esgotados",
|
||
"delDepletedClientsTitle": "Excluir Clientes Esgotados",
|
||
"delDepletedClientsContent": "Tem certeza de que deseja excluir todos os clientes esgotados?",
|
||
"email": "Email",
|
||
"emailDesc": "Por favor, forneça um endereço de e-mail único.",
|
||
"IPLimit": "Limite de IP",
|
||
"IPLimitDesc": "Desativa o inbound se o número ultrapassar o valor definido. (0 = desativar)",
|
||
"IPLimitlog": "Log de IP",
|
||
"IPLimitlogDesc": "O histórico de IPs. (para ativar o inbound após a desativação, limpe o log)",
|
||
"IPLimitlogclear": "Limpar o Log",
|
||
"setDefaultCert": "Definir Certificado pelo Painel",
|
||
"setDefaultCertEmpty": "Nenhum certificado configurado para o painel. Configure um em Configurações primeiro.",
|
||
"streamTab": "Transmissão",
|
||
"securityTab": "Segurança",
|
||
"sniffingTab": "Inspeção",
|
||
"sniffingMetadataOnly": "Apenas metadados",
|
||
"sniffingRouteOnly": "Apenas roteamento",
|
||
"sniffingIpsExcluded": "IPs excluídos",
|
||
"sniffingDomainsExcluded": "Domínios excluídos",
|
||
"decryption": "Descriptografia",
|
||
"encryption": "Criptografia",
|
||
"vlessAuthX25519": "Autenticação X25519",
|
||
"vlessAuthMlkem768": "Autenticação ML-KEM-768",
|
||
"vlessAuthCustom": "Personalizado",
|
||
"vlessAuthSelected": "Selecionado: {auth}",
|
||
"advanced": {
|
||
"title": "Seções JSON do inbound",
|
||
"subtitle": "JSON completo do inbound e editores específicos para settings, sniffing e streamSettings.",
|
||
"all": "Tudo",
|
||
"allHelp": "Objeto inbound completo com todos os campos em um único editor.",
|
||
"settings": "Configurações",
|
||
"settingsHelp": "Wrapper do bloco settings do Xray:",
|
||
"sniffing": "Sniffing",
|
||
"sniffingHelp": "Wrapper do bloco sniffing do Xray:",
|
||
"stream": "Stream",
|
||
"streamHelp": "Wrapper do bloco stream do Xray:",
|
||
"jsonErrorPrefix": "JSON avançado"
|
||
},
|
||
"telegramDesc": "Por favor, forneça o ID do Chat do Telegram. (use o comando '/id' no bot) ou ({'@'}userinfobot)",
|
||
"subscriptionDesc": "Para encontrar seu URL de assinatura, navegue até 'Detalhes'. Além disso, você pode usar o mesmo nome para vários clientes.",
|
||
"same": "Igual",
|
||
"inboundInfo": "Informações do Inbound",
|
||
"exportInbound": "Exportar Inbound",
|
||
"import": "Importar",
|
||
"importInbound": "Importar um Inbound",
|
||
"periodicTrafficResetTitle": "Reset de Tráfego",
|
||
"periodicTrafficResetDesc": "Reinicia automaticamente o contador de tráfego em intervalos especificados",
|
||
"lastReset": "Último Reset",
|
||
"periodicTrafficReset": {
|
||
"never": "Nunca",
|
||
"daily": "Diariamente",
|
||
"weekly": "Semanalmente",
|
||
"monthly": "Mensalmente",
|
||
"hourly": "A cada hora"
|
||
},
|
||
"toasts": {
|
||
"obtain": "Obter",
|
||
"updateSuccess": "A atualização foi bem-sucedida",
|
||
"logCleanSuccess": "O log foi limpo",
|
||
"inboundsUpdateSuccess": "Entradas atualizadas com sucesso",
|
||
"inboundUpdateSuccess": "Entrada atualizada com sucesso",
|
||
"inboundCreateSuccess": "Entrada criada com sucesso",
|
||
"inboundDeleteSuccess": "Entrada excluída com sucesso",
|
||
"inboundClientAddSuccess": "Cliente(s) de entrada adicionado(s)",
|
||
"inboundClientDeleteSuccess": "Cliente de entrada excluído",
|
||
"inboundClientUpdateSuccess": "Cliente de entrada atualizado",
|
||
"delDepletedClientsSuccess": "Todos os clientes esgotados foram excluídos",
|
||
"resetAllClientTrafficSuccess": "Todo o tráfego do cliente foi reiniciado",
|
||
"resetAllTrafficSuccess": "Todo o tráfego foi reiniciado",
|
||
"resetInboundClientTrafficSuccess": "O tráfego foi reiniciado",
|
||
"resetInboundTrafficSuccess": "O tráfego de entrada foi reiniciado",
|
||
"trafficGetError": "Erro ao obter tráfegos",
|
||
"getNewX25519CertError": "Erro ao obter o certificado X25519.",
|
||
"getNewmldsa65Error": "Erro ao obter o certificado mldsa65.",
|
||
"getNewVlessEncError": "Erro ao obter o certificado VlessEnc."
|
||
},
|
||
"form": {
|
||
"moveUp": "Mover para cima",
|
||
"moveDown": "Mover para baixo",
|
||
"addAll": "Adicionar todos",
|
||
"addAllFallbackTooltip": "Adiciona uma linha de fallback para cada entrada elegível ainda não conectada",
|
||
"peers": "Peers",
|
||
"addPeer": "Adicionar peer",
|
||
"keepAlive": "Keep-alive",
|
||
"autoSystemRoutesTooltip": "Apenas Windows. CIDRs são adicionados à tabela de roteamento do sistema automaticamente para que o tráfego correspondente passe pelo TUN.",
|
||
"autoOutboundsInterface": "Interface de saída automática",
|
||
"autoOutboundsInterfaceTooltip": "Interface física para tráfego de saída. Use 'auto' para detecção; auto-habilitado quando Auto system routes está ativo.",
|
||
"rewriteAddress": "Reescrever endereço",
|
||
"rewritePort": "Reescrever porta",
|
||
"allowedNetwork": "Rede permitida",
|
||
"followRedirect": "Seguir redirect",
|
||
"accounts": "Contas",
|
||
"allowTransparent": "Permitir transparente",
|
||
"encryptionMethod": "Método de criptografia",
|
||
"visionTestseed": "Vision testseed",
|
||
"version": "Versão",
|
||
"udpIdleTimeout": "UDP idle timeout (s)",
|
||
"masquerade": "Masquerade",
|
||
"type": "Tipo",
|
||
"upstreamUrl": "URL Upstream",
|
||
"rewriteHost": "Reescrever Host",
|
||
"skipTlsVerify": "Pular verificação TLS",
|
||
"directory": "Diretório",
|
||
"statusCode": "Código de status",
|
||
"body": "Body",
|
||
"headers": "Cabeçalhos",
|
||
"proxyProtocol": "Proxy Protocol",
|
||
"requestVersion": "Versão da requisição",
|
||
"requestMethod": "Método da requisição",
|
||
"requestPath": "Caminho da requisição",
|
||
"requestHeaders": "Cabeçalhos de requisição",
|
||
"responseVersion": "Versão da resposta",
|
||
"responseStatus": "Status da resposta",
|
||
"responseReason": "Motivo da resposta",
|
||
"responseHeaders": "Cabeçalhos de resposta",
|
||
"heartbeatPeriod": "Período de heartbeat",
|
||
"serviceName": "Nome do serviço",
|
||
"authority": "Authority",
|
||
"multiMode": "Multi Mode",
|
||
"maxBufferedUpload": "Máx. upload em buffer",
|
||
"maxUploadSize": "Tamanho máx. de upload (Byte)",
|
||
"streamUpServer": "Stream-Up Server",
|
||
"serverMaxHeaderBytes": "Máx. bytes cabeçalho servidor",
|
||
"paddingBytes": "Bytes de Padding",
|
||
"uplinkHttpMethod": "Método HTTP Uplink",
|
||
"paddingObfsMode": "Modo obfs de Padding",
|
||
"paddingKey": "Padding Key",
|
||
"paddingHeader": "Padding Header",
|
||
"paddingPlacement": "Posição de Padding",
|
||
"paddingMethod": "Método de Padding",
|
||
"sessionPlacement": "Session Placement",
|
||
"sessionKey": "Session Key",
|
||
"sequencePlacement": "Sequence Placement",
|
||
"sequenceKey": "Sequence Key",
|
||
"uplinkDataPlacement": "Uplink Data Placement",
|
||
"uplinkDataKey": "Uplink Data Key",
|
||
"noSseHeader": "Sem cabeçalho SSE",
|
||
"ttiMs": "TTI (ms)",
|
||
"uplinkMbps": "Uplink (MB/s)",
|
||
"downlinkMbps": "Downlink (MB/s)",
|
||
"cwndMultiplier": "Multiplicador CWND",
|
||
"maxSendingWindow": "Máx. janela de envio",
|
||
"externalProxy": "Proxy externo",
|
||
"sniPlaceholder": "SNI (padrão = host)",
|
||
"fingerprint": "Fingerprint",
|
||
"defaultOption": "Padrão",
|
||
"routeMark": "Route Mark",
|
||
"tcpKeepAliveInterval": "TCP Keep Alive Interval",
|
||
"tcpKeepAliveIdle": "TCP Keep Alive Idle",
|
||
"tcpMaxSeg": "TCP Max Seg",
|
||
"tcpUserTimeout": "TCP User Timeout",
|
||
"tcpWindowClamp": "TCP Window Clamp",
|
||
"tcpFastOpen": "TCP Fast Open",
|
||
"multipathTcp": "Multipath TCP",
|
||
"penetrate": "Penetrate",
|
||
"v6Only": "Apenas V6",
|
||
"tcpCongestion": "TCP Congestion",
|
||
"dialerProxy": "Dialer Proxy",
|
||
"trustedXForwardedFor": "X-Forwarded-For confiável",
|
||
"addressPortStrategy": "Estratégia endereço+porta",
|
||
"tryDelayMs": "Atraso de tentativa (ms)",
|
||
"prioritizeIPv6": "Priorizar IPv6",
|
||
"interleave": "Interleave",
|
||
"maxConcurrentTry": "Máx. tentativas simultâneas",
|
||
"customSockopt": "Sockopt personalizado",
|
||
"addCustomOption": "Adicionar opção personalizada",
|
||
"serverNameIndication": "SNI",
|
||
"cipherSuites": "Cipher Suites",
|
||
"autoOption": "Auto",
|
||
"minMaxVersion": "Versão mín/máx",
|
||
"rejectUnknownSni": "Rejeitar SNI desconhecido",
|
||
"disableSystemRoot": "Desabilitar System Root",
|
||
"sessionResumption": "Retomada de sessão",
|
||
"oneTimeLoading": "Carregamento único",
|
||
"usageOption": "Opção de uso",
|
||
"buildChain": "Construir cadeia",
|
||
"echKey": "ECH key",
|
||
"echConfig": "Config ECH",
|
||
"pinnedPeerCertSha256": "SHA-256 do cert. do par fixado",
|
||
"pinnedPeerCertSha256Tip": "Hashes SHA-256 codificados em Base64 do certificado do par. Apenas no painel — não é gravado na config xray do servidor, mas é incluído nos links de compartilhamento para que clientes possam fixar o certificado.",
|
||
"pinnedPeerCertSha256Placeholder": "hash(es) base64, separados por vírgula",
|
||
"generateRandomPin": "Gerar hash aleatório",
|
||
"getNewEchCert": "Obter novo certificado ECH",
|
||
"show": "Mostrar",
|
||
"xver": "Xver",
|
||
"target": "Alvo",
|
||
"maxTimeDiff": "Máx. diferença de tempo (ms)",
|
||
"minClientVer": "Mín. versão cliente",
|
||
"maxClientVer": "Máx. versão cliente",
|
||
"shortIds": "Short IDs",
|
||
"spiderX": "SpiderX",
|
||
"getNewCert": "Obter novo certificado",
|
||
"mldsa65Seed": "mldsa65 Seed",
|
||
"mldsa65Verify": "mldsa65 Verify",
|
||
"getNewSeed": "Obter novo Seed"
|
||
},
|
||
"info": {
|
||
"mode": "Modo",
|
||
"grpcServiceName": "grpc serviceName",
|
||
"grpcMultiMode": "grpc multiMode",
|
||
"interfaceName": "Nome da interface",
|
||
"mtu": "MTU",
|
||
"gateway": "Gateway",
|
||
"dns": "DNS",
|
||
"outboundsInterface": "Interface de saída",
|
||
"autoSystemRoutes": "Rotas do sistema automáticas",
|
||
"followRedirect": "FollowRedirect",
|
||
"auth": "Auth",
|
||
"noKernelTun": "TUN sem kernel",
|
||
"keepAlive": "Keep alive",
|
||
"peerNumber": "Peer {n}",
|
||
"peerNumberConfig": "Config Peer {n}"
|
||
},
|
||
"stream": {
|
||
"general": {
|
||
"request": "Requisição",
|
||
"response": "Resposta",
|
||
"name": "Nome",
|
||
"value": "Valor"
|
||
},
|
||
"tcp": {
|
||
"version": "Versão",
|
||
"method": "Método",
|
||
"path": "Caminho",
|
||
"status": "Status",
|
||
"statusDescription": "Descrição do Status",
|
||
"requestHeader": "Cabeçalho da Requisição",
|
||
"responseHeader": "Cabeçalho da Resposta"
|
||
}
|
||
}
|
||
},
|
||
"clients": {
|
||
"add": "Adicionar cliente",
|
||
"edit": "Editar cliente",
|
||
"submitAdd": "Adicionar cliente",
|
||
"submitEdit": "Salvar alterações",
|
||
"clientCount": "Número de clientes",
|
||
"bulk": "Adicionar em lote",
|
||
"copyFromInbound": "Copiar clientes do inbound",
|
||
"copyToInbound": "Copiar clientes para",
|
||
"copySelected": "Copiar selecionados",
|
||
"copySource": "Origem",
|
||
"copyEmailPreview": "Prévia do e-mail resultante",
|
||
"copySelectSourceFirst": "Selecione primeiro um inbound de origem.",
|
||
"copyResult": "Resultado da cópia",
|
||
"copyResultSuccess": "Copiado com sucesso",
|
||
"copyResultNone": "Nada a copiar: nenhum cliente selecionado ou a origem está vazia",
|
||
"copyResultErrors": "Erros de cópia",
|
||
"copyFlowLabel": "Flow para os novos clientes (VLESS)",
|
||
"copyFlowHint": "Aplicado a todos os clientes copiados. Deixe em branco para ignorar.",
|
||
"selectAll": "Selecionar tudo",
|
||
"clearAll": "Limpar tudo",
|
||
"method": "Método",
|
||
"first": "Primeiro",
|
||
"last": "Último",
|
||
"ipLog": "Registro de IP",
|
||
"prefix": "Prefixo",
|
||
"postfix": "Sufixo",
|
||
"delayedStart": "Iniciar após o primeiro uso",
|
||
"expireDays": "Duração",
|
||
"days": "Dia(s)",
|
||
"renew": "Renovação automática",
|
||
"renewDesc": "Renovação automática após a expiração. (0 = desativar) (unidade: dia)",
|
||
"searchPlaceholder": "Buscar email, comentário, sub ID, UUID, senha, auth…",
|
||
"filterTitle": "Filtrar clientes",
|
||
"clearAllFilters": "Limpar tudo",
|
||
"sortOldest": "Mais antigos primeiro",
|
||
"sortNewest": "Mais novos primeiro",
|
||
"sortRecentlyUpdated": "Atualizados recentemente",
|
||
"sortRecentlyOnline": "Online recentemente",
|
||
"sortEmailAZ": "Email A→Z",
|
||
"sortEmailZA": "Email Z→A",
|
||
"sortMostTraffic": "Mais tráfego",
|
||
"sortHighestRemaining": "Maior restante",
|
||
"sortExpiringSoonest": "Expira em breve",
|
||
"has": "Tem",
|
||
"hasNot": "Não tem",
|
||
"title": "Clientes",
|
||
"actions": "Ações",
|
||
"totalGB": "Total enviado/recebido (GB)",
|
||
"expiryTime": "Expiração",
|
||
"addClients": "Adicionar clientes",
|
||
"limitIp": "Limite de IP",
|
||
"password": "Senha",
|
||
"subId": "ID da assinatura",
|
||
"online": "Online",
|
||
"email": "Email",
|
||
"emailInvalidChars": "O e-mail não pode conter espaços, '/', '\\' ou caracteres de controle",
|
||
"group": "Grupo",
|
||
"groupDesc": "Rótulo lógico para agrupar clientes relacionados (ex.: equipe, cliente, região). Filtrável pela barra de ferramentas.",
|
||
"groupPlaceholder": "ex.: customer-a",
|
||
"comment": "Comentário",
|
||
"traffic": "Tráfego",
|
||
"offline": "Offline",
|
||
"addClient": "Adicionar cliente",
|
||
"qrCode": "Código QR",
|
||
"clientInfo": "Informações do cliente",
|
||
"delete": "Excluir",
|
||
"reset": "Redefinir tráfego",
|
||
"editClient": "Editar cliente",
|
||
"client": "Cliente",
|
||
"enabled": "Habilitado",
|
||
"remaining": "Restante",
|
||
"duration": "Duração",
|
||
"attachedInbounds": "Inbounds associados",
|
||
"selectInbound": "Selecione um ou mais inbounds",
|
||
"noSubId": "Este cliente não tem subId, sem link compartilhável.",
|
||
"noLinks": "Sem links compartilháveis — associe primeiro este cliente a um inbound compatível com o protocolo.",
|
||
"link": "Link",
|
||
"resetNotPossible": "Associe primeiro este cliente a um inbound.",
|
||
"general": "Geral",
|
||
"resetAllTraffics": "Redefinir o tráfego de todos os clientes",
|
||
"resetAllTrafficsTitle": "Redefinir o tráfego de todos os clientes?",
|
||
"resetAllTrafficsContent": "Os contadores de envio/recebimento de cada cliente vão a zero. Cota e expiração não são afetadas. Não é possível desfazer.",
|
||
"deleteConfirmTitle": "Excluir o cliente {email}?",
|
||
"deleteConfirmContent": "Isto remove o cliente de cada inbound associado e descarta o registro de tráfego. Não é possível desfazer.",
|
||
"deleteSelected": "Excluir ({count})",
|
||
"adjustSelected": "Ajustar ({count})",
|
||
"subLinksSelected": "Links sub ({count})",
|
||
"addToGroupTitle": "Adicionar {count} cliente(s) a um grupo",
|
||
"addToGroupTooltip": "Escolha um grupo existente ou digite um novo nome. Use Ungroup para remover clientes do grupo atual.",
|
||
"groupName": "Nome do grupo",
|
||
"addToGroupSuccessToast": "{count} cliente(s) adicionado(s) a {group}",
|
||
"ungroupSuccessToast": "Grupo limpo de {count} cliente(s)",
|
||
"ungroup": "Desagrupar",
|
||
"ungroupConfirmTitle": "Remover {count} cliente(s) do grupo?",
|
||
"ungroupConfirmContent": "Limpa o rótulo de grupo de cada cliente selecionado. Os clientes em si são mantidos (use Delete para remover completamente).",
|
||
"addToGroup": "Adicionar ao grupo",
|
||
"attach": "Associar",
|
||
"adjust": "Ajustar",
|
||
"subLinks": "Links de assinatura",
|
||
"selectedCount": "{count} selecionado(s)",
|
||
"attachSelected": "Associar ({count})",
|
||
"attachToInboundsTitle": "Associar {count} cliente(s) a entrada(s)",
|
||
"attachToInboundsDesc": "Associa os {count} cliente(s) selecionados (mesmo UUID/senha e tráfego compartilhado) às entradas escolhidas. Mantêm suas associações existentes.",
|
||
"attachToInboundsTargets": "Entradas de destino",
|
||
"attachToInboundsNoTargets": "Não há entradas multiusuário disponíveis para associação.",
|
||
"detachSelected": "Desassociar ({count})",
|
||
"detach": "Desassociar",
|
||
"detachFromInboundsTitle": "Desassociar {count} cliente(s) de entrada(s)",
|
||
"detachFromInboundsDesc": "Remove os {count} cliente(s) selecionados das entradas escolhidas. Pares onde o cliente não estava associado são ignorados silenciosamente. Os registros dos clientes são mantidos (use Delete para remover completamente).",
|
||
"detachFromInboundsTargets": "Entradas para desassociar",
|
||
"detachFromInboundsNoTargets": "Não há entradas multiusuário disponíveis.",
|
||
"detachFromInboundsResult": "Desassociados {detached}, ignorados {skipped}.",
|
||
"detachFromInboundsResultMixed": "Desassociados {detached}, ignorados {skipped}, erros {errors}.",
|
||
"subLinksTitle": "Links sub ({count})",
|
||
"subLinkColumn": "URL da assinatura",
|
||
"subJsonLinkColumn": "URL JSON da assinatura",
|
||
"subLinksCopyAll": "Copiar tudo",
|
||
"subLinksCopiedAll": "Copiados {count} link(s)",
|
||
"subLinksEmpty": "Nenhum dos clientes selecionados tem ID de assinatura.",
|
||
"subLinksDisabled": "O serviço de assinatura está desabilitado.",
|
||
"subLinksDisabledHint": "Habilite a assinatura em Configurações do Painel → Assinatura para gerar links.",
|
||
"bulkDeleteConfirmTitle": "Excluir {count} clientes?",
|
||
"bulkDeleteConfirmContent": "Cada cliente selecionado é removido dos inbounds associados e o registro de tráfego é descartado. Não é possível desfazer.",
|
||
"bulkAdjustTitle": "Ajustar {count} clientes",
|
||
"bulkAdjustHint": "Valores positivos estendem, negativos reduzem. Clientes com expiração ou tráfego ilimitado são ignorados para esse campo.",
|
||
"bulkAdjustNothing": "Defina dias ou tráfego antes de aplicar.",
|
||
"addDays": "Adicionar dias",
|
||
"addTrafficGB": "Adicionar tráfego (GB)",
|
||
"delDepleted": "Excluir esgotados",
|
||
"delDepletedConfirmTitle": "Excluir clientes esgotados?",
|
||
"delDepletedConfirmContent": "Remove todos os clientes cuja cota de tráfego foi esgotada ou cuja expiração já passou. Não é possível desfazer.",
|
||
"auth": "Auth",
|
||
"hysteriaAuth": "Hysteria Auth",
|
||
"uuid": "UUID",
|
||
"flow": "Flow",
|
||
"vmessSecurity": "Segurança VMess",
|
||
"reverseTag": "Tag reversa",
|
||
"reverseTagPlaceholder": "Reverse tag opcional",
|
||
"telegramId": "ID de usuário do Telegram",
|
||
"telegramIdPlaceholder": "ID numérico de usuário do Telegram (0 = nenhum)",
|
||
"created": "Criado",
|
||
"updated": "Atualizado",
|
||
"ipLimit": "Limite de IP",
|
||
"toasts": {
|
||
"deleted": "Cliente excluído",
|
||
"trafficReset": "Tráfego redefinido",
|
||
"allTrafficsReset": "Tráfego de todos os clientes redefinido",
|
||
"bulkDeleted": "{count} clientes excluídos",
|
||
"bulkDeletedMixed": "{ok} excluídos, {failed} com falha",
|
||
"bulkCreated": "{count} clientes criados",
|
||
"bulkCreatedMixed": "{ok} criados, {failed} com falha",
|
||
"bulkAdjusted": "{count} clientes ajustados",
|
||
"bulkAdjustedMixed": "{ok} ajustados, {skipped} ignorados",
|
||
"delDepleted": "{count} clientes esgotados excluídos"
|
||
}
|
||
},
|
||
"groups": {
|
||
"title": "Grupos",
|
||
"name": "Nome",
|
||
"clientCount": "Clientes no grupo",
|
||
"totalGroups": "Total de grupos",
|
||
"totalGroupedClients": "Clientes com grupo",
|
||
"emptyGroups": "Grupos vazios",
|
||
"addGroup": "Adicionar grupo",
|
||
"createSuccess": "Grupo «{name}» criado.",
|
||
"rename": "Renomear",
|
||
"renameTitle": "Renomear {name}",
|
||
"renameCollision": "Já existe um grupo chamado «{name}».",
|
||
"renameSuccess": "Grupo renomeado em {count} cliente(s).",
|
||
"deleteConfirmTitle": "Excluir o grupo {name}?",
|
||
"deleteConfirmContent": "Isso remove o grupo e limpa seu rótulo de {count} cliente(s). Os clientes em si não são excluídos.",
|
||
"deleteSuccess": "Grupo limpo de {count} cliente(s).",
|
||
"resetTraffic": "Redefinir tráfego",
|
||
"resetConfirmTitle": "Redefinir tráfego do grupo {name}?",
|
||
"resetConfirmContent": "Isso zera up/down para todos os {count} cliente(s) deste grupo.",
|
||
"resetSuccess": "Tráfego redefinido para {count} cliente(s).",
|
||
"adjustSuccess": "Ajustados {count} cliente(s) em {name}.",
|
||
"emptyForAction": "Este grupo ainda não tem clientes.",
|
||
"deleteGroupOnly": "Excluir grupo (manter clientes)",
|
||
"deleteClients": "Excluir clientes do grupo",
|
||
"deleteClientsConfirmTitle": "Excluir todos os clientes em {name}?",
|
||
"deleteClientsConfirmContent": "Isso remove permanentemente {count} cliente(s) junto com seus registros de tráfego. O rótulo de grupo também é limpo. Isso não pode ser desfeito.",
|
||
"deleteClientsSuccess": "Excluídos {count} cliente(s).",
|
||
"deleteClientsMixed": "{ok} excluídos, {failed} ignorados",
|
||
"addToGroup": "Adicionar clientes…",
|
||
"addToGroupTitle": "Adicionar clientes ao grupo «{name}»",
|
||
"addToGroupDesc": "Selecione clientes para adicionar a este grupo. Mantêm suas associações de entrada atuais; apenas o rótulo de grupo muda. Clientes já neste grupo não são listados.",
|
||
"addToGroupEmpty": "Não há outros clientes disponíveis para adicionar.",
|
||
"addToGroupResult": "Adicionados {count} cliente(s) a {name}.",
|
||
"removeFromGroup": "Remover clientes…",
|
||
"removeFromGroupTitle": "Remover clientes do grupo «{name}»",
|
||
"removeFromGroupDesc": "Selecione membros para remover deste grupo. Os clientes em si são mantidos (use «Excluir clientes do grupo» para removê-los por completo).",
|
||
"removeFromGroupResult": "Removidos {count} cliente(s) de {name}."
|
||
},
|
||
"nodes": {
|
||
"title": "Nós",
|
||
"addNode": "Adicionar nó",
|
||
"editNode": "Editar nó",
|
||
"totalNodes": "Total de nós",
|
||
"onlineNodes": "Online",
|
||
"offlineNodes": "Offline",
|
||
"avgLatency": "Latência média",
|
||
"name": "Nome",
|
||
"namePlaceholder": "ex.: de-frankfurt-1",
|
||
"addressPlaceholder": "panel.example.com ou 1.2.3.4",
|
||
"remark": "Observação",
|
||
"scheme": "Esquema",
|
||
"address": "Endereço",
|
||
"port": "Porta",
|
||
"basePath": "Caminho base",
|
||
"apiToken": "Token API",
|
||
"apiTokenPlaceholder": "Token da página de Configurações do painel remoto",
|
||
"apiTokenHint": "O painel remoto exibe o token da API em Configurações → Token da API.",
|
||
"regenerate": "Regenerar token",
|
||
"regenerateConfirm": "Regenerar invalida o token atual. Qualquer painel central que o utilize perderá acesso até ser atualizado. Continuar?",
|
||
"allowPrivateAddress": "Permitir endereço privado",
|
||
"allowPrivateAddressHint": "Ativar apenas para nós em uma rede privada ou VPN.",
|
||
"enable": "Ativado",
|
||
"status": "Status",
|
||
"cpu": "CPU",
|
||
"mem": "Memória",
|
||
"uptime": "Tempo ativo",
|
||
"latency": "Latência",
|
||
"lastHeartbeat": "Último heartbeat",
|
||
"xrayVersion": "Versão do Xray",
|
||
"panelVersion": "Versão do painel",
|
||
"actions": "Ações",
|
||
"probe": "Sondar agora",
|
||
"testConnection": "Testar conexão",
|
||
"connectionOk": "Conexão OK ({ms} ms)",
|
||
"connectionFailed": "Falha na conexão",
|
||
"never": "nunca",
|
||
"justNow": "agora mesmo",
|
||
"deleteConfirmTitle": "Excluir o nó \"{name}\"?",
|
||
"deleteConfirmContent": "Isso interrompe o monitoramento do nó. O painel remoto em si não é afetado.",
|
||
"statusValues": {
|
||
"online": "Online",
|
||
"offline": "Offline",
|
||
"unknown": "Desconhecido"
|
||
},
|
||
"toasts": {
|
||
"list": "Falha ao carregar os nós",
|
||
"obtain": "Falha ao carregar o nó",
|
||
"add": "Adicionar nó",
|
||
"update": "Atualizar nó",
|
||
"delete": "Excluir nó",
|
||
"deleted": "Nó excluído",
|
||
"test": "Testar conexão",
|
||
"fillRequired": "Nome, endereço, porta e token da API são obrigatórios",
|
||
"probeFailed": "Falha na sondagem"
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Configurações do Painel",
|
||
"save": "Salvar",
|
||
"infoDesc": "Toda alteração feita aqui precisa ser salva. Reinicie o painel para aplicar as alterações.",
|
||
"restartPanel": "Reiniciar painel",
|
||
"restartPanelDesc": "Tem certeza de que deseja reiniciar o painel? Se não conseguir acessar o painel após reiniciar, consulte os logs do painel no servidor.",
|
||
"restartPanelSuccess": "O painel foi reiniciado com sucesso",
|
||
"actions": "Ações",
|
||
"resetDefaultConfig": "Redefinir para Padrão",
|
||
"panelSettings": "Geral",
|
||
"securitySettings": "Autenticação",
|
||
"securityWarnings": "Avisos de segurança",
|
||
"panelExposed": "Seu painel pode estar exposto:",
|
||
"warnHttp": "O painel é servido por HTTP simples — configure TLS para produção.",
|
||
"warnDefaultPort": "A porta padrão 2053 é bem conhecida — altere para uma porta aleatória.",
|
||
"warnDefaultBasePath": "O caminho base padrão \"/\" é bem conhecido — altere para um caminho aleatório.",
|
||
"warnDefaultSubPath": "O caminho de assinatura padrão \"/sub/\" é bem conhecido — altere-o.",
|
||
"warnDefaultJsonPath": "O caminho de assinatura JSON padrão \"/json/\" é bem conhecido — altere-o.",
|
||
"TGBotSettings": "Bot do Telegram",
|
||
"panelListeningIP": "IP de Escuta",
|
||
"panelListeningIPDesc": "O endereço IP para o painel web. (deixe em branco para escutar em todos os IPs)",
|
||
"panelListeningDomain": "Domínio de Escuta",
|
||
"panelListeningDomainDesc": "O nome de domínio para o painel web. (deixe em branco para escutar em todos os domínios e IPs)",
|
||
"panelPort": "Porta de Escuta",
|
||
"panelPortDesc": "O número da porta para o painel web. (deve ser uma porta não usada)",
|
||
"publicKeyPath": "Caminho da Chave Pública",
|
||
"publicKeyPathDesc": "O caminho do arquivo de chave pública para o painel web. (começa com ‘/‘)",
|
||
"privateKeyPath": "Caminho da Chave Privada",
|
||
"privateKeyPathDesc": "O caminho do arquivo de chave privada para o painel web. (começa com ‘/‘)",
|
||
"panelUrlPath": "Caminho URI",
|
||
"panelUrlPathDesc": "O caminho URI para o painel web. (começa com ‘/‘ e termina com ‘/‘)",
|
||
"pageSize": "Tamanho da Paginação",
|
||
"pageSizeDesc": "Definir o tamanho da página para a tabela de entradas. (0 = desativado)",
|
||
"panelProxy": "Proxy de rede do painel",
|
||
"panelProxyDesc": "Encaminha as requisições de saída do próprio painel (atualizações de geo, verificações de versão do Xray/painel, Telegram) por este proxy para contornar a filtragem de GitHub/Telegram no servidor. Aceita socks5:// ou http(s)://, ex. uma entrada SOCKS local do Xray. Deixe vazio para conexão direta.",
|
||
"remarkModel": "Modelo de Observação & Caractere de Separação",
|
||
"datepicker": "Tipo de Calendário",
|
||
"datepickerPlaceholder": "Selecionar data",
|
||
"datepickerDescription": "Tarefas agendadas serão executadas com base neste calendário.",
|
||
"sampleRemark": "Exemplo de Observação",
|
||
"oldUsername": "Nome de Usuário Atual",
|
||
"currentPassword": "Senha Atual",
|
||
"newUsername": "Novo Nome de Usuário",
|
||
"newPassword": "Nova Senha",
|
||
"telegramBotEnable": "Ativar Bot do Telegram",
|
||
"telegramBotEnableDesc": "Ativa o bot do Telegram.",
|
||
"telegramToken": "Token do Telegram",
|
||
"telegramTokenDesc": "O token do bot do Telegram obtido de '{'@'}BotFather'.",
|
||
"telegramProxy": "Proxy SOCKS",
|
||
"telegramProxyDesc": "Ativa o proxy SOCKS5 para conectar ao Telegram. (ajuste as configurações conforme o guia)",
|
||
"telegramAPIServer": "Servidor API do Telegram",
|
||
"telegramAPIServerDesc": "O servidor API do Telegram a ser usado. Deixe em branco para usar o servidor padrão.",
|
||
"telegramChatId": "ID de Chat do Administrador",
|
||
"telegramChatIdDesc": "O(s) ID(s) de Chat do Administrador no Telegram. (separado por vírgulas)(obtenha aqui {'@'}userinfobot) ou (use o comando '/id' no bot)",
|
||
"telegramNotifyTime": "Hora da Notificação",
|
||
"telegramNotifyTimeDesc": "O horário de notificação do bot do Telegram configurado para relatórios periódicos. (use o formato de tempo do crontab)",
|
||
"tgNotifyBackup": "Backup do Banco de Dados",
|
||
"tgNotifyBackupDesc": "Enviar arquivo de backup do banco de dados junto com o relatório.",
|
||
"tgNotifyLogin": "Notificação de Login",
|
||
"tgNotifyLoginDesc": "Receba notificações sobre o nome de usuário, endereço IP e horário sempre que alguém tentar fazer login no seu painel web.",
|
||
"sessionMaxAge": "Duração da Sessão",
|
||
"sessionMaxAgeDesc": "A duração pela qual você pode permanecer logado. (unidade: minuto)",
|
||
"expireTimeDiff": "Notificação de Expiração",
|
||
"expireTimeDiffDesc": "Receba notificações sobre a data de expiração ao atingir esse limite. (unidade: dia)",
|
||
"trafficDiff": "Notificação de Limite de Tráfego",
|
||
"trafficDiffDesc": "Receba notificações sobre o limite de tráfego ao atingir esse limite. (unidade: GB)",
|
||
"tgNotifyCpu": "Notificação de Carga da CPU",
|
||
"tgNotifyCpuDesc": "Receba notificações se a carga da CPU ultrapassar esse limite. (unidade: %)",
|
||
"timeZone": "Fuso Horário",
|
||
"timeZoneDesc": "As tarefas agendadas serão executadas com base nesse fuso horário.",
|
||
"subSettings": "Assinatura",
|
||
"subEnable": "Ativar Serviço de Assinatura",
|
||
"subEnableDesc": "Ativa o serviço de assinatura.",
|
||
"subJsonEnable": "Ativar/Desativar o endpoint de assinatura JSON de forma independente.",
|
||
"subJsonEnableTitle": "Assinatura JSON",
|
||
"subClashEnableTitle": "Assinatura Clash / Mihomo",
|
||
"subTitle": "Título da Assinatura",
|
||
"subTitleDesc": "Título exibido no cliente VPN",
|
||
"subSupportUrl": "URL de Suporte",
|
||
"subSupportUrlDesc": "Link de suporte técnico exibido no cliente VPN",
|
||
"subProfileUrl": "URL de Perfil",
|
||
"subProfileUrlDesc": "Um link para o seu site exibido no cliente VPN",
|
||
"subAnnounce": "Anúncio",
|
||
"subAnnounceDesc": "O texto do anúncio exibido no cliente VPN",
|
||
"subEnableRouting": "Ativar roteamento",
|
||
"subEnableRoutingDesc": "Configuração global para habilitar o roteamento no cliente VPN. (Apenas para Happ)",
|
||
"subRoutingRules": "Regras de roteamento",
|
||
"subRoutingRulesDesc": "Regras de roteamento globais para o cliente VPN. (Apenas para Happ)",
|
||
"subListen": "IP de Escuta",
|
||
"subListenDesc": "O endereço IP para o serviço de assinatura. (deixe em branco para escutar em todos os IPs)",
|
||
"subPort": "Porta de Escuta",
|
||
"subPortDesc": "O número da porta para o serviço de assinatura. (deve ser uma porta não usada)",
|
||
"subCertPath": "Caminho da Chave Pública",
|
||
"subCertPathDesc": "O caminho do arquivo de chave pública para o serviço de assinatura. (começa com ‘/‘)",
|
||
"subKeyPath": "Caminho da Chave Privada",
|
||
"subKeyPathDesc": "O caminho do arquivo de chave privada para o serviço de assinatura. (começa com ‘/‘)",
|
||
"subPath": "Caminho URI",
|
||
"subPathDesc": "O caminho URI para o serviço de assinatura. (começa com ‘/‘ e termina com ‘/‘)",
|
||
"subDomain": "Domínio de Escuta",
|
||
"subDomainDesc": "O nome de domínio para o serviço de assinatura. (deixe em branco para escutar em todos os domínios e IPs)",
|
||
"subUpdates": "Intervalos de Atualização",
|
||
"subUpdatesDesc": "Os intervalos de atualização da URL de assinatura nos aplicativos de cliente. (unidade: hora)",
|
||
"subEncrypt": "Codificar",
|
||
"subEncryptDesc": "O conteúdo retornado pelo serviço de assinatura será codificado em Base64.",
|
||
"subShowInfo": "Mostrar Informações de Uso",
|
||
"subShowInfoDesc": "O tráfego restante e a data serão exibidos nos aplicativos de cliente.",
|
||
"subEmailInRemark": "Incluir Email no nome",
|
||
"subEmailInRemarkDesc": "Incluir o email do cliente no nome do perfil de assinatura.",
|
||
"subURI": "URI de Proxy Reverso",
|
||
"subURIDesc": "O caminho URI da URL de assinatura para uso por trás de proxies.",
|
||
"externalTrafficInformEnable": "Informações de tráfego externo",
|
||
"externalTrafficInformEnableDesc": "Informar API externa a cada atualização de tráfego.",
|
||
"externalTrafficInformURI": "URI de informação de tráfego externo",
|
||
"externalTrafficInformURIDesc": "As atualizações de tráfego são enviadas para este URI.",
|
||
"restartXrayOnClientDisable": "Reiniciar Xray Após Desativação Automática",
|
||
"restartXrayOnClientDisableDesc": "Quando um cliente for desativado automaticamente por expiração ou limite de tráfego, reinicie o Xray.",
|
||
"fragment": "Fragmentação",
|
||
"fragmentDesc": "Ativa a fragmentação para o pacote TLS hello.",
|
||
"fragmentSett": "Configurações de Fragmentação",
|
||
"noisesDesc": "Ativar Noises.",
|
||
"noisesSett": "Configurações de Noises",
|
||
"trustedProxyCidrs": "CIDRs de proxy confiável",
|
||
"trustedProxyCidrsDesc": "IPs/CIDRs separados por vírgula que podem definir os cabeçalhos host, proto e IP do cliente encaminhados.",
|
||
"ldap": {
|
||
"enable": "Habilitar sincronização LDAP",
|
||
"host": "Host LDAP",
|
||
"port": "Porta LDAP",
|
||
"useTls": "Usar TLS (LDAPS)",
|
||
"bindDn": "Bind DN",
|
||
"passwordConfigured": "Configurada; deixe em branco para manter a senha atual.",
|
||
"passwordUnconfigured": "Não configurada.",
|
||
"passwordPlaceholder": "Configurada — digite um novo valor para substituir",
|
||
"baseDn": "Base DN",
|
||
"userFilter": "Filtro de usuário",
|
||
"userAttr": "Atributo de usuário (username/email)",
|
||
"vlessField": "Atributo flag VLESS",
|
||
"flagField": "Atributo flag genérico (opcional)",
|
||
"flagFieldDesc": "Se definido, sobrescreve o flag VLESS — ex. shadowInactive.",
|
||
"truthyValues": "Valores truthy",
|
||
"truthyValuesDesc": "Separados por vírgula; padrão: true,1,yes,on",
|
||
"invertFlag": "Inverter flag",
|
||
"invertFlagDesc": "Habilite quando o atributo significar «desabilitado» (ex. shadowInactive).",
|
||
"syncSchedule": "Agendamento da sincronização",
|
||
"syncScheduleDesc": "String tipo cron, ex. @every 1m",
|
||
"inboundTags": "Tags de entradas",
|
||
"inboundTagsDesc": "Entradas nas quais a sincronização LDAP pode auto-criar ou auto-excluir clientes.",
|
||
"noInbounds": "Nenhuma entrada encontrada. Crie uma em Entradas primeiro.",
|
||
"autoCreate": "Criar clientes automaticamente",
|
||
"autoDelete": "Excluir clientes automaticamente",
|
||
"defaultTotalGb": "Total padrão (GB)",
|
||
"defaultExpiryDays": "Expiração padrão (dias)",
|
||
"defaultIpLimit": "Limite de IP padrão"
|
||
},
|
||
"subFormats": {
|
||
"packets": "Pacotes",
|
||
"length": "Comprimento",
|
||
"interval": "Intervalo",
|
||
"maxSplit": "Máx. divisão",
|
||
"noises": "Ruídos",
|
||
"noiseItem": "Ruído №{n}",
|
||
"type": "Tipo",
|
||
"packet": "Pacote",
|
||
"delayMs": "Atraso (ms)",
|
||
"applyTo": "Aplicar a",
|
||
"addNoise": "+ Ruído",
|
||
"concurrency": "Concorrência",
|
||
"xudpConcurrency": "Concorrência xudp",
|
||
"xudpUdp443": "xudp UDP 443"
|
||
},
|
||
"mux": "Mux",
|
||
"muxDesc": "Transmitir múltiplos fluxos de dados independentes dentro de um fluxo de dados estabelecido.",
|
||
"muxSett": "Configurações de Mux",
|
||
"direct": "Conexão Direta",
|
||
"directDesc": "Estabelece conexões diretamente com domínios ou intervalos de IP de um país específico.",
|
||
"notifications": "Notificações",
|
||
"certs": "Certificados",
|
||
"externalTraffic": "Tráfego Externo",
|
||
"dateAndTime": "Data e Hora",
|
||
"proxyAndServer": "Proxy e Servidor",
|
||
"intervals": "Intervalos",
|
||
"information": "Informação",
|
||
"language": "Idioma",
|
||
"telegramBotLanguage": "Idioma do Bot do Telegram",
|
||
"security": {
|
||
"admin": "Credenciais de administrador",
|
||
"twoFactor": "Autenticação de dois fatores",
|
||
"twoFactorEnable": "Ativar 2FA",
|
||
"twoFactorEnableDesc": "Adiciona uma camada extra de autenticação para mais segurança.",
|
||
"twoFactorModalSetTitle": "Ativar autenticação de dois fatores",
|
||
"twoFactorModalDeleteTitle": "Desativar autenticação de dois fatores",
|
||
"twoFactorModalSteps": "Para configurar a autenticação de dois fatores, siga alguns passos:",
|
||
"twoFactorModalFirstStep": "1. Escaneie este QR code no aplicativo de autenticação ou copie o token próximo ao QR code e cole no aplicativo",
|
||
"twoFactorModalSecondStep": "2. Digite o código do aplicativo",
|
||
"twoFactorModalRemoveStep": "Digite o código do aplicativo para remover a autenticação de dois fatores.",
|
||
"twoFactorModalChangeCredentialsTitle": "Alterar credenciais",
|
||
"twoFactorModalChangeCredentialsStep": "Insira o código do aplicativo para alterar as credenciais do administrador.",
|
||
"twoFactorModalSetSuccess": "A autenticação de dois fatores foi estabelecida com sucesso",
|
||
"twoFactorModalDeleteSuccess": "A autenticação de dois fatores foi excluída com sucesso",
|
||
"twoFactorModalError": "Código incorreto",
|
||
"show": "Mostrar",
|
||
"hide": "Ocultar",
|
||
"apiTokenNew": "Novo token",
|
||
"apiTokenName": "Nome",
|
||
"apiTokenNamePlaceholder": "ex.: central-panel-a",
|
||
"apiTokenNameRequired": "O nome é obrigatório",
|
||
"apiTokenEmpty": "Nenhum token ainda — crie um para autenticar bots ou painéis remotos.",
|
||
"apiTokenDeleteWarning": "Qualquer cliente usando este token deixará de se autenticar imediatamente."
|
||
},
|
||
"toasts": {
|
||
"modifySettings": "Os parâmetros foram alterados.",
|
||
"getSettings": "Ocorreu um erro ao recuperar os parâmetros.",
|
||
"modifyUserError": "Ocorreu um erro ao alterar as credenciais do administrador.",
|
||
"modifyUser": "Você alterou com sucesso as credenciais do administrador.",
|
||
"originalUserPassIncorrect": "O nome de usuário ou senha atual é inválido",
|
||
"userPassMustBeNotEmpty": "O novo nome de usuário e senha não podem estar vazios",
|
||
"getOutboundTrafficError": "Erro ao obter tráfego de saída",
|
||
"resetOutboundTrafficError": "Erro ao redefinir tráfego de saída"
|
||
}
|
||
},
|
||
"xray": {
|
||
"title": "Configurações Xray",
|
||
"save": "Salvar",
|
||
"restart": "Reiniciar Xray",
|
||
"restartSuccess": "Xray foi reiniciado com sucesso",
|
||
"restartOutputTitle": "Saída do reinício do Xray",
|
||
"restartConfirmTitle": "Reiniciar xray?",
|
||
"restartConfirmContent": "Recarrega o serviço xray com a configuração salva.",
|
||
"stopSuccess": "Xray foi interrompido com sucesso",
|
||
"restartError": "Ocorreu um erro ao reiniciar o Xray.",
|
||
"stopError": "Ocorreu um erro ao parar o Xray.",
|
||
"basicTemplate": "Básico",
|
||
"advancedTemplate": "Avançado",
|
||
"generalConfigs": "Geral",
|
||
"generalConfigsDesc": "Essas opções determinam ajustes gerais.",
|
||
"logConfigs": "Log",
|
||
"logConfigsDesc": "Os logs podem afetar a eficiência do servidor. É recomendável habilitá-los com sabedoria apenas se necessário.",
|
||
"blockConfigsDesc": "Essas opções bloqueiam tráfego com base em protocolos e sites específicos solicitados.",
|
||
"basicRouting": "Roteamento Básico",
|
||
"blockConnectionsConfigsDesc": "Essas opções bloquearão o tráfego com base no país solicitado.",
|
||
"directConnectionsConfigsDesc": "Uma conexão direta garante que o tráfego específico não seja roteado por outro servidor.",
|
||
"blockips": "Bloquear IPs",
|
||
"blockdomains": "Bloquear Domínios",
|
||
"directips": "IPs Diretos",
|
||
"directdomains": "Domínios Diretos",
|
||
"ipv4Routing": "Roteamento IPv4",
|
||
"ipv4RoutingDesc": "Essas opções roteam o tráfego para um destino específico via IPv4.",
|
||
"warpRouting": "Roteamento WARP",
|
||
"warpRoutingDesc": "Essas opções roteam o tráfego para um destino específico via WARP.",
|
||
"nordRouting": "Roteamento NordVPN",
|
||
"nordRoutingDesc": "Essas opções roteiam o tráfego para um destino específico via NordVPN.",
|
||
"Template": "Modelo de Configuração Avançada do Xray",
|
||
"TemplateDesc": "O arquivo final de configuração do Xray será gerado com base neste modelo.",
|
||
"FreedomStrategy": "Estratégia do Protocolo Freedom",
|
||
"FreedomStrategyDesc": "Definir a estratégia de saída para a rede no Protocolo Freedom.",
|
||
"RoutingStrategy": "Estratégia Geral de Roteamento",
|
||
"RoutingStrategyDesc": "Definir a estratégia geral de roteamento de tráfego para resolver todas as solicitações.",
|
||
"outboundTestUrl": "URL de teste de outbound",
|
||
"outboundTestUrlDesc": "URL usada ao testar conectividade do outbound",
|
||
"Torrent": "Bloquear Protocolo BitTorrent",
|
||
"Inbounds": "Entradas",
|
||
"InboundsDesc": "Aceitar clientes específicos.",
|
||
"Outbounds": "Saídas",
|
||
"Balancers": "Balanceadores",
|
||
"balancerTagRequired": "A tag é obrigatória",
|
||
"balancerSelectorRequired": "Selecione pelo menos uma saída",
|
||
"OutboundsDesc": "Definir o caminho de saída do tráfego.",
|
||
"Routings": "Regras de Roteamento",
|
||
"RoutingsDesc": "A prioridade de cada regra é importante!",
|
||
"completeTemplate": "Tudo",
|
||
"logLevel": "Nível de Log",
|
||
"logLevelDesc": "O nível de log para erros, indicando a informação que precisa ser registrada.",
|
||
"accessLog": "Log de Acesso",
|
||
"accessLogDesc": "O caminho do arquivo para o log de acesso. O valor especial 'none' desativa os logs de acesso.",
|
||
"errorLog": "Log de Erros",
|
||
"errorLogDesc": "O caminho do arquivo para o log de erros. O valor especial 'none' desativa os logs de erro.",
|
||
"dnsLog": "Log DNS",
|
||
"dnsLogDesc": "Se ativar logs de consulta DNS",
|
||
"maskAddress": "Mascarar Endereço",
|
||
"maskAddressDesc": "Máscara de endereço IP, quando ativado, substitui automaticamente o endereço IP que aparece no log.",
|
||
"statistics": "Estatísticas",
|
||
"statsInboundUplink": "Estatísticas de Upload de Entrada",
|
||
"statsInboundUplinkDesc": "Habilita a coleta de estatísticas para o tráfego de upload de todos os proxies de entrada.",
|
||
"statsInboundDownlink": "Estatísticas de Download de Entrada",
|
||
"statsInboundDownlinkDesc": "Habilita a coleta de estatísticas para o tráfego de download de todos os proxies de entrada.",
|
||
"statsOutboundUplink": "Estatísticas de Upload de Saída",
|
||
"statsOutboundUplinkDesc": "Habilita a coleta de estatísticas para o tráfego de upload de todos os proxies de saída.",
|
||
"statsOutboundDownlink": "Estatísticas de Download de Saída",
|
||
"statsOutboundDownlinkDesc": "Habilita a coleta de estatísticas para o tráfego de download de todos os proxies de saída.",
|
||
"rules": {
|
||
"first": "Primeiro",
|
||
"last": "Último",
|
||
"up": "Cima",
|
||
"down": "Baixo",
|
||
"source": "Fonte",
|
||
"dest": "Destino",
|
||
"inbound": "Entrada",
|
||
"outbound": "Saída",
|
||
"balancer": "Balanceador",
|
||
"info": "Info",
|
||
"add": "Adicionar Regra",
|
||
"edit": "Editar Regra",
|
||
"useComma": "Itens separados por vírgula"
|
||
},
|
||
"routing": {
|
||
"dragToReorder": "Arraste para reordenar"
|
||
},
|
||
"ruleForm": {
|
||
"sourceIps": "IPs de origem",
|
||
"sourcePort": "Porta de origem",
|
||
"vlessRoute": "Rota VLESS",
|
||
"attributes": "Atributos",
|
||
"value": "Valor",
|
||
"user": "Usuário",
|
||
"inboundTags": "Tags de entradas",
|
||
"outboundTag": "Tag de saída",
|
||
"balancerTag": "Tag de balanceador",
|
||
"balancerTagTooltip": "Encaminha tráfego por um dos balanceadores configurados"
|
||
},
|
||
"outboundForm": {
|
||
"tagDuplicate": "Tag já usada por outra saída",
|
||
"tagRequired": "A tag é obrigatória",
|
||
"tagPlaceholder": "tag-única",
|
||
"localIpPlaceholder": "IP local",
|
||
"addressRequired": "Endereço é obrigatório",
|
||
"portRequired": "Porta é obrigatória",
|
||
"optional": "opcional",
|
||
"udpOverTcp": "UDP sobre TCP",
|
||
"uotVersion": "Versão UoT",
|
||
"inboundTag": "Tag de entrada",
|
||
"inboundTagPlaceholder": "tag de entrada usada em regras de roteamento",
|
||
"responseType": "Tipo de resposta",
|
||
"rewriteNetwork": "Reescrever rede",
|
||
"unchanged": "(inalterado)",
|
||
"unchangedAddress": "(inalterado) ex. 1.1.1.1",
|
||
"rules": "Regras",
|
||
"ruleN": "Regra {n}",
|
||
"action": "Ação",
|
||
"redirect": "Redirect",
|
||
"fragment": "Fragment",
|
||
"finalRules": "Regras finais",
|
||
"overrideXrayPrivateIp": "Sobrescrever o bloqueio de IP privado padrão do Xray",
|
||
"blockDelay": "Atraso do bloqueio (ms)",
|
||
"reverseSniffing": "Sniffing reverso",
|
||
"workers": "Workers",
|
||
"reserved": "Reservado",
|
||
"minUploadInterval": "Intervalo mín. de upload (ms)",
|
||
"maxUploadSizeBytes": "Tamanho máx. de upload (bytes)",
|
||
"uplinkChunkSize": "Tamanho do chunk Uplink",
|
||
"noGrpcHeader": "Sem cabeçalho gRPC",
|
||
"maxConcurrency": "Máx. concorrência",
|
||
"maxConnections": "Máx. conexões",
|
||
"maxReuseTimes": "Máx. reutilizações",
|
||
"maxRequestTimes": "Máx. requisições",
|
||
"maxReusableSecs": "Máx. segundos reutilizáveis",
|
||
"keepAlivePeriod": "Período keep alive",
|
||
"authPassword": "Senha de auth",
|
||
"visionTestpre": "Vision testpre",
|
||
"serverNamePlaceholder": "nome do servidor",
|
||
"verifyPeerName": "Verificar nome do peer",
|
||
"pinnedSha256": "SHA256 pinned",
|
||
"shortId": "Short ID",
|
||
"sockopts": "Sockopts",
|
||
"keepAliveInterval": "Intervalo keep alive",
|
||
"markFwmark": "Mark (fwmark)",
|
||
"interface": "Interface",
|
||
"ipv6Only": "Apenas IPv6",
|
||
"acceptProxyProtocol": "Aceitar proxy protocol",
|
||
"proxyProtocol": "Proxy protocol",
|
||
"tcpUserTimeoutMs": "TCP user timeout (ms)",
|
||
"tcpKeepAliveIdleS": "TCP keep-alive idle (s)"
|
||
},
|
||
"outbound": {
|
||
"addOutbound": "Adicionar Saída",
|
||
"addReverse": "Adicionar Reverso",
|
||
"editOutbound": "Editar Saída",
|
||
"editReverse": "Editar Reverso",
|
||
"reverseTag": "Tag de Reverso",
|
||
"reverseTagDesc": "Tag de saída do proxy reverso simples VLESS. Deixe vazio para desabilitar.",
|
||
"reverseTagPlaceholder": "tag de saída (vazio para desabilitar)",
|
||
"tag": "Tag",
|
||
"tagDesc": "Tag Única",
|
||
"address": "Endereço",
|
||
"reverse": "Reverso",
|
||
"domain": "Domínio",
|
||
"type": "Tipo",
|
||
"bridge": "Bridge",
|
||
"portal": "Portal",
|
||
"link": "Link",
|
||
"intercon": "Interconexão",
|
||
"settings": "Configurações",
|
||
"accountInfo": "Informações da Conta",
|
||
"outboundStatus": "Status de Saída",
|
||
"sendThrough": "Enviar Através de",
|
||
"test": "Testar",
|
||
"testResult": "Resultado do teste",
|
||
"testing": "Testando conexão...",
|
||
"testSuccess": "Teste bem-sucedido",
|
||
"testFailed": "Teste falhou",
|
||
"testError": "Falha ao testar saída",
|
||
"testModeTooltip": "TCP: sondagem rápida apenas de dial. HTTP: requisição completa pelo xray.",
|
||
"testAll": "Testar todos",
|
||
"nordvpn": "NordVPN",
|
||
"accessToken": "Token de Acesso",
|
||
"country": "País",
|
||
"server": "Servidor",
|
||
"city": "Cidade",
|
||
"allCities": "Todas as Cidades",
|
||
"privateKey": "Chave Privada",
|
||
"load": "Carga"
|
||
},
|
||
"balancer": {
|
||
"addBalancer": "Adicionar Balanceador",
|
||
"editBalancer": "Editar Balanceador",
|
||
"balancerStrategy": "Estratégia",
|
||
"balancerSelectors": "Seletores",
|
||
"tag": "Tag",
|
||
"tagDesc": "Tag Única",
|
||
"tagDuplicate": "Tag já usada por outro balanceador",
|
||
"tagPlaceholder": "tag única do balanceador",
|
||
"selector": "Seletor",
|
||
"fallback": "Fallback",
|
||
"expected": "Esperado",
|
||
"expectedPlaceholder": "número ótimo de nós",
|
||
"maxRtt": "Máx. RTT",
|
||
"tolerance": "Tolerância",
|
||
"baselines": "Baselines",
|
||
"costs": "Costs",
|
||
"balancerDesc": "Não é possível usar balancerTag e outboundTag ao mesmo tempo. Se usados simultaneamente, apenas outboundTag funcionará."
|
||
},
|
||
"wireguard": {
|
||
"secretKey": "Chave Secreta",
|
||
"publicKey": "Chave Pública",
|
||
"allowedIPs": "IPs Permitidos",
|
||
"endpoint": "Ponto Final",
|
||
"psk": "Chave Pré-Compartilhada",
|
||
"domainStrategy": "Estratégia de Domínio"
|
||
},
|
||
"tun": {
|
||
"nameDesc": "O nome da interface TUN. O padrão é 'xray0'",
|
||
"mtuDesc": "Unidade Máxima de Transmissão. O tamanho máximo dos pacotes de dados. O padrão é 1500",
|
||
"userLevel": "Nível do Usuário",
|
||
"userLevelDesc": "Todas as conexões feitas através deste inbound usarão este nível de usuário. O padrão é 0"
|
||
},
|
||
"nord": {
|
||
"accessToken": "Access token",
|
||
"privateKey": "Chave privada",
|
||
"noServers": "Nenhum servidor encontrado para o país selecionado",
|
||
"noPublicKey": "O servidor selecionado não anuncia uma chave pública NordLynx.",
|
||
"outboundAdded": "Saída NordVPN adicionada",
|
||
"outboundUpdated": "Saída NordVPN atualizada"
|
||
},
|
||
"warp": {
|
||
"licenseError": "Falha ao definir licença WARP.",
|
||
"fetchFirst": "Obtenha primeiro a configuração WARP.",
|
||
"createAccount": "Criar conta WARP",
|
||
"accessToken": "Access token",
|
||
"deviceId": "ID do dispositivo",
|
||
"licenseKey": "Chave de licença",
|
||
"privateKey": "Chave privada",
|
||
"deleteAccount": "Excluir conta",
|
||
"settings": "Configurações",
|
||
"licenseKeyLabel": "Chave de licença WARP / WARP+",
|
||
"key": "Chave",
|
||
"keyPlaceholder": "chave WARP+ de 26 caracteres",
|
||
"accountInfo": "Informação da conta",
|
||
"deviceName": "Nome do dispositivo",
|
||
"deviceModel": "Modelo do dispositivo",
|
||
"deviceEnabled": "Dispositivo habilitado",
|
||
"accountType": "Tipo de conta",
|
||
"role": "Função",
|
||
"warpPlusData": "Dados WARP+",
|
||
"quota": "Quota",
|
||
"usage": "Uso",
|
||
"addOutbound": "Adicionar saída"
|
||
},
|
||
"dns": {
|
||
"enable": "Ativar DNS",
|
||
"enableDesc": "Ativar o servidor DNS integrado",
|
||
"tag": "Tag de Entrada DNS",
|
||
"tagDesc": "Esta tag estará disponível como uma tag de Entrada nas regras de roteamento.",
|
||
"clientIp": "IP do Cliente",
|
||
"clientIpDesc": "Usado para notificar o servidor sobre a localização IP especificada durante consultas DNS",
|
||
"disableCache": "Desativar cache",
|
||
"disableCacheDesc": "Desativa o cache de DNS",
|
||
"disableFallback": "Desativar Fallback",
|
||
"disableFallbackDesc": "Desativa consultas DNS de fallback",
|
||
"disableFallbackIfMatch": "Desativar Fallback Se Corresponder",
|
||
"disableFallbackIfMatchDesc": "Desativa consultas DNS de fallback quando a lista de domínios correspondentes do servidor DNS é atingida",
|
||
"enableParallelQuery": "Habilitar Consulta Paralela",
|
||
"enableParallelQueryDesc": "Habilitar consultas DNS paralelas para múltiplos servidores para resolução mais rápida",
|
||
"strategy": "Estratégia de Consulta",
|
||
"strategyDesc": "Estratégia geral para resolver nomes de domínio",
|
||
"add": "Adicionar Servidor",
|
||
"edit": "Editar Servidor",
|
||
"domains": "Domínios",
|
||
"expectIPs": "IPs Esperadas",
|
||
"unexpectIPs": "IPs inesperados",
|
||
"useSystemHosts": "Usar Hosts do sistema",
|
||
"useSystemHostsDesc": "Usar o arquivo hosts de um sistema instalado",
|
||
"serveStale": "Servir Expirados",
|
||
"serveStaleDesc": "Retornar resultados expirados do cache enquanto atualiza em segundo plano",
|
||
"serveExpiredTTL": "TTL de Expirados",
|
||
"serveExpiredTTLDesc": "Validade (segundos) das entradas expiradas no cache; 0 = nunca expira",
|
||
"timeoutMs": "Tempo limite (ms)",
|
||
"skipFallback": "Ignorar Fallback",
|
||
"finalQuery": "Consulta Final",
|
||
"hosts": "Hosts",
|
||
"hostsAdd": "Adicionar Host",
|
||
"hostsEmpty": "Nenhum Host definido",
|
||
"hostsDomain": "Domínio (ex. domain:example.com)",
|
||
"hostsValues": "IP ou domínio — digite e pressione Enter",
|
||
"usePreset": "Usar modelo",
|
||
"dnsPresetTitle": "Modelos DNS",
|
||
"dnsPresetFamily": "Familiar",
|
||
"clearAll": "Remover Todos",
|
||
"clearAllTitle": "Remover todos os servidores DNS?",
|
||
"clearAllConfirm": "Isso remove todos os servidores DNS da lista. Não pode ser desfeito."
|
||
},
|
||
"fakedns": {
|
||
"add": "Adicionar Fake DNS",
|
||
"edit": "Editar Fake DNS",
|
||
"ipPool": "Sub-rede do Pool de IP",
|
||
"poolSize": "Tamanho do Pool"
|
||
}
|
||
}
|
||
},
|
||
"tgbot": {
|
||
"keyboardClosed": "❌ Teclado fechado!",
|
||
"noResult": "❗ Nenhum resultado!",
|
||
"noQuery": "❌ Consulta não encontrada! Por favor, use o comando novamente!",
|
||
"wentWrong": "❌ Algo deu errado!",
|
||
"noIpRecord": "❗ Nenhum registro de IP!",
|
||
"noInbounds": "❗ Nenhum inbound encontrado!",
|
||
"unlimited": "♾ Ilimitado (Reset)",
|
||
"add": "Adicionar",
|
||
"month": "Mês",
|
||
"months": "Meses",
|
||
"day": "Dia",
|
||
"days": "Dias",
|
||
"hours": "Horas",
|
||
"minutes": "Minutos",
|
||
"unknown": "Desconhecido",
|
||
"inbounds": "Entradas",
|
||
"clients": "Clientes",
|
||
"offline": "🔴 Offline",
|
||
"online": "🟢 Online",
|
||
"commands": {
|
||
"unknown": "❗ Comando desconhecido.",
|
||
"pleaseChoose": "👇 Escolha:\r\n",
|
||
"help": "🤖 Bem-vindo a este bot! Ele foi projetado para oferecer dados específicos do painel da web e permite que você faça as modificações necessárias.\r\n\r\n",
|
||
"start": "👋 Olá <i>{{ .Firstname }}</i>.\r\n",
|
||
"welcome": "🤖 Bem-vindo ao bot de gerenciamento do <b>{{ .Hostname }}</b>.\r\n",
|
||
"status": "✅ Bot está OK!",
|
||
"usage": "❗ Por favor, forneça um texto para pesquisar!",
|
||
"getID": "🆔 Seu ID: <code>{{ .ID }}</code>",
|
||
"helpAdminCommands": "Para reiniciar o Xray Core:\r\n<code>/restart</code>\r\n\r\nPara pesquisar por um email de cliente:\r\n<code>/usage [Email]</code>\r\n\r\nPara pesquisar por inbounds (com estatísticas do cliente):\r\n<code>/inbound [Remark]</code>\r\n\r\nTelegram Chat ID:\r\n<code>/id</code>",
|
||
"helpClientCommands": "Para pesquisar por estatísticas, use o seguinte comando:\r\n\r\n<code>/usage [Email]</code>\r\n\r\nTelegram Chat ID:\r\n<code>/id</code>",
|
||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||
"restartSuccess": "✅ Operação bem-sucedida!",
|
||
"restartFailed": "❗ Erro na operação.\r\n\r\n<code>Erro: {{ .Error }}</code>.",
|
||
"xrayNotRunning": "❗ Xray Core não está em execução.",
|
||
"startDesc": "Mostrar menu principal",
|
||
"helpDesc": "Ajuda do bot",
|
||
"statusDesc": "Verificar status do bot",
|
||
"idDesc": "Mostrar seu ID do Telegram"
|
||
},
|
||
"messages": {
|
||
"cpuThreshold": "🔴 A carga da CPU {{ .Percent }}% excede o limite de {{ .Threshold }}%",
|
||
"selectUserFailed": "❌ Erro na seleção do usuário!",
|
||
"userSaved": "✅ Usuário do Telegram salvo.",
|
||
"loginSuccess": "✅ Conectado ao painel com sucesso.\r\n",
|
||
"loginFailed": "❗️Tentativa de login no painel falhou.\r\n",
|
||
"2faFailed": "Falha no 2FA",
|
||
"report": "🕰 Relatórios agendados: {{ .RunTime }}\r\n",
|
||
"datetime": "⏰ Data&Hora: {{ .DateTime }}\r\n",
|
||
"hostname": "💻 Host: {{ .Hostname }}\r\n",
|
||
"version": "🚀 Versão 3X-UI: {{ .Version }}\r\n",
|
||
"xrayVersion": "📡 Versão Xray: {{ .XrayVersion }}\r\n",
|
||
"ipv6": "🌐 IPv6: {{ .IPv6 }}\r\n",
|
||
"ipv4": "🌐 IPv4: {{ .IPv4 }}\r\n",
|
||
"ip": "🌐 IP: {{ .IP }}\r\n",
|
||
"ips": "🔢 IPs:\r\n{{ .IPs }}\r\n",
|
||
"serverUpTime": "⏳ Tempo de atividade: {{ .UpTime }} {{ .Unit }}\r\n",
|
||
"serverLoad": "📈 Carga do sistema: {{ .Load1 }}, {{ .Load2 }}, {{ .Load3 }}\r\n",
|
||
"serverMemory": "📋 RAM: {{ .Current }}/{{ .Total }}\r\n",
|
||
"tcpCount": "🔹 TCP: {{ .Count }}\r\n",
|
||
"udpCount": "🔸 UDP: {{ .Count }}\r\n",
|
||
"traffic": "🚦 Tráfego: {{ .Total }} (↑{{ .Upload }},↓{{ .Download }})\r\n",
|
||
"xrayStatus": "ℹ️ Status: {{ .State }}\r\n",
|
||
"username": "👤 Nome de usuário: {{ .Username }}\r\n",
|
||
"reason": "❗️ Motivo: {{ .Reason }}\r\n",
|
||
"time": "⏰ Hora: {{ .Time }}\r\n",
|
||
"inbound": "📍 Entrada: {{ .Remark }}\r\n",
|
||
"port": "🔌 Porta: {{ .Port }}\r\n",
|
||
"expire": "📅 Data de expiração: {{ .Time }}\r\n",
|
||
"expireIn": "📅 Expira em: {{ .Time }}\r\n",
|
||
"active": "💡 Ativo: {{ .Enable }}\r\n",
|
||
"enabled": "🚨 Ativado: {{ .Enable }}\r\n",
|
||
"online": "🌐 Status da conexão: {{ .Status }}\r\n",
|
||
"lastOnline": "🔙 Última vez online: {{ .Time }}\r\n",
|
||
"email": "📧 Email: {{ .Email }}\r\n",
|
||
"upload": "🔼 Upload: ↑{{ .Upload }}\r\n",
|
||
"download": "🔽 Download: ↓{{ .Download }}\r\n",
|
||
"total": "📊 Total: ↑↓{{ .UpDown }} / {{ .Total }}\r\n",
|
||
"TGUser": "👤 Usuário do Telegram: {{ .TelegramID }}\r\n",
|
||
"exhaustedMsg": "🚨 {{ .Type }} esgotado:\r\n",
|
||
"exhaustedCount": "🚨 Contagem de {{ .Type }} esgotado:\r\n",
|
||
"onlinesCount": "🌐 Clientes online: {{ .Count }}\r\n",
|
||
"disabled": "🛑 Desativado: {{ .Disabled }}\r\n",
|
||
"depleteSoon": "🔜 Esgotar em breve: {{ .Deplete }}\r\n\r\n",
|
||
"backupTime": "🗄 Hora do backup: {{ .Time }}\r\n",
|
||
"refreshedOn": "\r\n📋🔄 Atualizado em: {{ .Time }}\r\n\r\n",
|
||
"yes": "✅ Sim",
|
||
"no": "❌ Não",
|
||
"received_id": "🔑📥 ID atualizado.",
|
||
"received_password": "🔑📥 Senha atualizada.",
|
||
"received_email": "📧📥 E-mail atualizado.",
|
||
"received_comment": "💬📥 Comentário atualizado.",
|
||
"id_prompt": "🔑 ID Padrão: {{ .ClientId }}\n\nDigite seu ID.",
|
||
"pass_prompt": "🔑 Senha Padrão: {{ .ClientPassword }}\n\nDigite sua senha.",
|
||
"email_prompt": "📧 E-mail Padrão: {{ .ClientEmail }}\n\nDigite seu e-mail.",
|
||
"comment_prompt": "💬 Comentário Padrão: {{ .ClientComment }}\n\nDigite seu comentário.",
|
||
"inbound_client_data_id": "🔄 Entrada: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Email: {{ .ClientEmail }}\n📊 Tráfego: {{ .ClientTraffic }}\n📅 Data de expiração: {{ .ClientExp }}\n🌐 Limite de IP: {{ .IpLimit }}\n💬 Comentário: {{ .ClientComment }}\n\nAgora você pode adicionar o cliente à entrada!",
|
||
"inbound_client_data_pass": "🔄 Entrada: {{ .InboundRemark }}\n\n🔑 Senha: {{ .ClientPass }}\n📧 Email: {{ .ClientEmail }}\n📊 Tráfego: {{ .ClientTraffic }}\n📅 Data de expiração: {{ .ClientExp }}\n🌐 Limite de IP: {{ .IpLimit }}\n💬 Comentário: {{ .ClientComment }}\n\nAgora você pode adicionar o cliente à entrada!",
|
||
"cancel": "❌ Processo Cancelado! \n\nVocê pode iniciar novamente a qualquer momento com /start. 🔄",
|
||
"error_add_client": "⚠️ Erro:\n\n {{ .error }}",
|
||
"using_default_value": "Tudo bem, vou manter o valor padrão. 😊",
|
||
"incorrect_input": "Sua entrada não é válida.\nAs frases devem ser contínuas, sem espaços.\nExemplo correto: aaaaaa\nExemplo incorreto: aaa aaa 🚫",
|
||
"AreYouSure": "Você tem certeza? 🤔",
|
||
"SuccessResetTraffic": "📧 Email: {{ .ClientEmail }}\n🏁 Resultado: ✅ Sucesso",
|
||
"FailedResetTraffic": "📧 Email: {{ .ClientEmail }}\n🏁 Resultado: ❌ Falhou \n\n🛠️ Erro: [ {{ .ErrorMessage }} ]",
|
||
"FinishProcess": "🔚 Processo de redefinição de tráfego concluído para todos os clientes."
|
||
},
|
||
"buttons": {
|
||
"closeKeyboard": "❌ Fechar teclado",
|
||
"cancel": "❌ Cancelar",
|
||
"cancelReset": "❌ Cancelar redefinição",
|
||
"cancelIpLimit": "❌ Cancelar limite de IP",
|
||
"confirmResetTraffic": "✅ Confirmar redefinição de tráfego?",
|
||
"confirmClearIps": "✅ Confirmar limpar IPs?",
|
||
"confirmRemoveTGUser": "✅ Confirmar remover usuário do Telegram?",
|
||
"confirmToggle": "✅ Confirmar ativar/desativar usuário?",
|
||
"dbBackup": "Obter backup do DB",
|
||
"serverUsage": "Uso do servidor",
|
||
"getInbounds": "Obter Inbounds",
|
||
"depleteSoon": "Esgotar em breve",
|
||
"clientUsage": "Obter uso",
|
||
"onlines": "Clientes online",
|
||
"commands": "Comandos",
|
||
"refresh": "🔄 Atualizar",
|
||
"clearIPs": "❌ Limpar IPs",
|
||
"removeTGUser": "❌ Remover usuário do Telegram",
|
||
"selectTGUser": "👤 Selecionar usuário do Telegram",
|
||
"selectOneTGUser": "👤 Selecione um usuário do Telegram:",
|
||
"resetTraffic": "📈 Redefinir tráfego",
|
||
"resetExpire": "📅 Alterar data de expiração",
|
||
"ipLog": "🔢 Log de IP",
|
||
"ipLimit": "🔢 Limite de IP",
|
||
"setTGUser": "👤 Definir usuário do Telegram",
|
||
"toggle": "🔘 Ativar / Desativar",
|
||
"custom": "🔢 Personalizado",
|
||
"confirmNumber": "✅ Confirmar: {{ .Num }}",
|
||
"confirmNumberAdd": "✅ Confirmar adicionar: {{ .Num }}",
|
||
"limitTraffic": "🚧 Limite de tráfego",
|
||
"getBanLogs": "Obter logs de banimento",
|
||
"allClients": "Todos os clientes",
|
||
"addClient": "Adicionar Cliente",
|
||
"submitDisable": "Enviar como Desativado ☑️",
|
||
"submitEnable": "Enviar como Ativado ✅",
|
||
"use_default": "🏷️ Usar padrão",
|
||
"change_id": "⚙️🔑 ID",
|
||
"change_password": "⚙️🔑 Senha",
|
||
"change_email": "⚙️📧 Email",
|
||
"change_comment": "⚙️💬 Comentário",
|
||
"change_flow": "⚙️🚦 Flow",
|
||
"ResetAllTraffics": "Redefinir Todo o Tráfego",
|
||
"SortedTrafficUsageReport": "Relatório de Uso de Tráfego Ordenado"
|
||
},
|
||
"answers": {
|
||
"successfulOperation": "✅ Operação bem-sucedida!",
|
||
"errorOperation": "❗ Erro na operação.",
|
||
"getInboundsFailed": "❌ Falha ao obter inbounds.",
|
||
"getClientsFailed": "❌ Falha ao obter clientes.",
|
||
"canceled": "❌ {{ .Email }}: Operação cancelada.",
|
||
"clientRefreshSuccess": "✅ {{ .Email }}: Cliente atualizado com sucesso.",
|
||
"IpRefreshSuccess": "✅ {{ .Email }}: IPs atualizados com sucesso.",
|
||
"TGIdRefreshSuccess": "✅ {{ .Email }}: Usuário do Telegram do cliente atualizado com sucesso.",
|
||
"resetTrafficSuccess": "✅ {{ .Email }}: Tráfego redefinido com sucesso.",
|
||
"setTrafficLimitSuccess": "✅ {{ .Email }}: Limite de tráfego salvo com sucesso.",
|
||
"expireResetSuccess": "✅ {{ .Email }}: Dias de expiração redefinidos com sucesso.",
|
||
"resetIpSuccess": "✅ {{ .Email }}: Limite de IP {{ .Count }} salvo com sucesso.",
|
||
"clearIpSuccess": "✅ {{ .Email }}: IPs limpos com sucesso.",
|
||
"getIpLog": "✅ {{ .Email }}: Obter log de IP.",
|
||
"getUserInfo": "✅ {{ .Email }}: Obter informações do usuário do Telegram.",
|
||
"removedTGUserSuccess": "✅ {{ .Email }}: Usuário do Telegram removido com sucesso.",
|
||
"enableSuccess": "✅ {{ .Email }}: Ativado com sucesso.",
|
||
"disableSuccess": "✅ {{ .Email }}: Desativado com sucesso.",
|
||
"askToAddUserId": "Sua configuração não foi encontrada!\r\nPeça ao seu administrador para usar seu Telegram ChatID em suas configurações.\r\n\r\nSeu ChatID: <code>{{ .TgUserID }}</code>",
|
||
"chooseClient": "Escolha um cliente para Inbound {{ .Inbound }}",
|
||
"chooseInbound": "Escolha um Inbound"
|
||
}
|
||
}
|
||
}
|