mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-06-28 00:24:19 +00:00
b07fad0e69
* v3.4.0 * refactor(wireguard): drop removed `workers` field (xray v26.6.22) xray-core v26.6.22 (PR #6287) removed the WireGuard `workers` (num_workers) config field; the engine now relies on wireguard-go's internal worker fallback and no longer reads it. Remove it from the panel so it stops emitting a key xray ignores. Removed from the inbound/outbound/outbound-form WireGuard schemas, both WireGuard forms, the outbound form adapter (both directions) and defaults, the two affected tests, and the `workers` label in all 13 locales. Existing configs that still carry workers are simply dropped on parse — no migration needed since the field had no runtime effect. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Update version --------- Co-authored-by: MHSanaei <ho3ein.sanaei@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2061 lines
114 KiB
JSON
2061 lines
114 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",
|
||
"copyAllConfigs": "Copiar Todas as Configurações",
|
||
"copyAllConfigsCopied": "Todas as configurações copiadas",
|
||
"email": "Email"
|
||
},
|
||
"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",
|
||
"routing": "Roteamento",
|
||
"outbounds": "Saídas",
|
||
"apiDocs": "Documentação da API",
|
||
"logout": "Sair",
|
||
"link": "Gerenciar",
|
||
"donate": "Doar",
|
||
"hosts": "Hosts"
|
||
},
|
||
"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": "Memória",
|
||
"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",
|
||
"historyTitleCpu": "Uso da CPU",
|
||
"historyTitleMem": "Uso de Memória",
|
||
"historyTitleNetwork": "Largura de Banda da Rede",
|
||
"historyTitlePackets": "Pacotes de Rede",
|
||
"historyTitleDisk": "E/S de Disco",
|
||
"historyTitleOnline": "Clientes Online",
|
||
"historyTitleLoad": "Média de Carga do Sistema (1 / 5 / 15 min)",
|
||
"historyTitleConnections": "Conexões Ativas (TCP / UDP)",
|
||
"historyTitleDiskUsage": "Uso do Espaço em Disco",
|
||
"historyTabBandwidth": "Largura de Banda",
|
||
"historyTabPackets": "Pacotes",
|
||
"historyTabDisk": "Disco I/O",
|
||
"historyTabOnline": "Online",
|
||
"historyTabLoad": "Carga",
|
||
"historyTabConnections": "Conexões",
|
||
"historyTabDiskUsage": "Uso de Disco",
|
||
"charts": "Gráficos",
|
||
"xrayMetricsTitle": "Métricas do Xray",
|
||
"xrayTitleHeap": "Memória Heap Alocada",
|
||
"xrayTitleSys": "Memória Reservada do SO",
|
||
"xrayTitleObjects": "Objetos Heap Ativos",
|
||
"xrayTitleGcCount": "Ciclos de GC Concluídos",
|
||
"xrayTitleGcPause": "Duração da Pausa do GC",
|
||
"xrayTitleObservatory": "Saúde das Conexões de Saída",
|
||
"xrayTabHeap": "Heap",
|
||
"xrayTabSys": "Sys",
|
||
"xrayTabObjects": "Objetos",
|
||
"xrayTabGcCount": "Contagem GC",
|
||
"xrayTabGcPause": "Pausa GC",
|
||
"xrayTabObservatory": "Observatório",
|
||
"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",
|
||
"geodataTitle": "Atualização automática de Geodata",
|
||
"geodataHint": "O Xray baixa esses arquivos conforme o agendamento e os recarrega sem reiniciar. As URLs devem ser HTTPS. Cada arquivo já deve existir na pasta bin para que o Xray possa atualizá-lo.",
|
||
"geodataCron": "Agendamento (cron)",
|
||
"geodataOutbound": "Baixar através de outbound (opcional)",
|
||
"geodataFile": "Nome do arquivo",
|
||
"geodataAddFile": "Adicionar arquivo",
|
||
"geodataSaveRestart": "Salvar e reiniciar o Xray",
|
||
"geodataConfirmTitle": "Salvar configurações de geodata?",
|
||
"geodataConfirmContent": "O modelo de configuração do Xray será atualizado e o Xray será reiniciado.",
|
||
"geodataInvalidUrl": "Cada arquivo precisa de uma URL HTTPS.",
|
||
"geodataInvalidFile": "O nome do arquivo deve ser simples, ex.: geosite_custom.dat (sem caminhos).",
|
||
"geodataInvalidCron": "O cron deve ter 5 campos, ex.: 0 4 * * *",
|
||
"geodataEmpty": "Nenhum arquivo configurado. Nas regras de roteamento, referencie como ext:geosite_custom.dat:category.",
|
||
"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",
|
||
"backupPostgresNote": "Este painel é executado em PostgreSQL. «Backup» baixa um arquivo pg_dump (.dump) e «Restaurar» o recarrega com pg_restore. O servidor precisa ter as ferramentas cliente do PostgreSQL (pg_dump e pg_restore) instaladas.",
|
||
"exportDatabasePgDesc": "Clique para baixar um dump do PostgreSQL (.dump) do seu banco de dados atual para o seu dispositivo.",
|
||
"importDatabasePgDesc": "Clique para selecionar e enviar um arquivo .dump para restaurar seu banco de dados PostgreSQL. Isso substitui todos os dados atuais.",
|
||
"migrationDownload": "Baixar migração",
|
||
"migrationDownloadDesc": "Clique para baixar uma exportação portátil .dump (texto SQL) do seu banco de dados SQLite.",
|
||
"migrationDownloadPgDesc": "Clique para baixar um banco de dados SQLite .db criado a partir dos seus dados do PostgreSQL, pronto para executar este painel no SQLite."
|
||
},
|
||
"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 lugar. Escolha um inbound filho abaixo para preencher automaticamente os campos de roteamento (SNI / ALPN / Path / xver) a partir do transporte dele, ou deixe o seletor vazio e defina Dest diretamente (ex.: 8080 ou 127.0.0.1:8080) para rotear para um servidor externo como o Nginx. Cada inbound 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",
|
||
"needsTls": "Os fallbacks ficam disponíveis após selecionar TLS ou Reality na aba Segurança (apenas VLESS/Trojan sobre RAW)."
|
||
},
|
||
"protocol": "Protocolo",
|
||
"port": "Porta",
|
||
"portMap": "Mapeamento de portas",
|
||
"traffic": "Tráfego",
|
||
"speed": "Velocidade",
|
||
"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.",
|
||
"selectedCount": "{count} selecionado(s)",
|
||
"selectAll": "Selecionar tudo",
|
||
"bulkDeleteConfirmTitle": "Excluir {count} inbounds?",
|
||
"bulkDeleteConfirmContent": "Isto remove os inbounds selecionados e todos os seus clientes. Não é possível desfazer.",
|
||
"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)",
|
||
"attachExistingClients": "Associar clientes existentes…",
|
||
"attachExistingTitle": "Associar clientes existentes a «{remark}»",
|
||
"attachExistingDesc": "Associa os clientes existentes ({count} disponíveis) a esta entrada — mesmo UUID/senha e tráfego compartilhado. Clientes que já estão nela são ignorados.",
|
||
"attachExistingNoClients": "Ainda não há clientes. Crie clientes primeiro e depois associe-os aqui.",
|
||
"attachExistingStatusAttached": "Já associado",
|
||
"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.",
|
||
"subSortIndex": "Ordem sub",
|
||
"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",
|
||
"bulkDeleted": "{count} inbounds excluídos",
|
||
"bulkDeletedMixed": "{ok} excluídos, {failed} com falha",
|
||
"inboundDeleteSuccess": "Entrada excluída com sucesso",
|
||
"inboundClientAddSuccess": "Cliente(s) de entrada adicionado(s)",
|
||
"inboundClientDeleteSuccess": "Cliente de entrada excluído",
|
||
"inboundClientUpdateSuccess": "Cliente de entrada atualizado",
|
||
"savedNodeOfflineWillSync": "Salvo localmente. Um nó de apoio está offline ou desativado — a alteração será sincronizada assim que reconectar.",
|
||
"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.",
|
||
"invalidClientField": "Cliente {client}: campo {field} — {reason}",
|
||
"invalidField": "{field} — {reason}",
|
||
"moreIssues": "{message} (+{count} mais)"
|
||
},
|
||
"form": {
|
||
"echSockopt": "Sockopt ECH",
|
||
"echSockoptTip": "Opções de socket para a conexão que o Xray usa ao buscar a lista de configurações ECH (por exemplo, rotear a consulta por um outbound dialerProxy). Deixe desativado para usar os padrões.",
|
||
"curvePreferences": "Preferências de curva",
|
||
"curvePreferencesTip": "Restringe as curvas de troca de chaves TLS que o servidor oferece, em ordem de preferência (por exemplo, X25519MLKEM768, X25519). Deixe vazio para usar os padrões do Xray-core.",
|
||
"masterKeyLog": "Log da chave mestra",
|
||
"masterKeyLogTip": "Caminho para gravar as chaves mestras TLS (formato SSLKEYLOGFILE) para depuração com o Wireshark. Deixe vazio em produção — isso permite que qualquer pessoa com o arquivo descriptografe o tráfego.",
|
||
"verifyPeerCertByName": "Verificar certificado do par pelo nome",
|
||
"verifyPeerCertByNameTip": "Instrui os clientes a verificar o certificado do servidor em relação a este nome em vez do SNI. Nomes separados por vírgula. Apenas do painel — incluído nos links de compartilhamento (vcn). A substituição moderna para allowInsecure, que o Xray removeu após 2026-06-01.",
|
||
"pinFromCert": "Preencher a partir do certificado desta entrada",
|
||
"pinFromRemote": "Obter o hash via ping ao SNI (xray tls ping)",
|
||
"pinFromRemoteNoSni": "Defina primeiro o SNI (serverName) para fazer o ping no certificado remoto.",
|
||
"pinFromRemoteFailed": "Não foi possível obter o hash do certificado remoto.",
|
||
"limitFallback": "Limitar fallback",
|
||
"limitFallbackUpload": "Limitar upload do fallback",
|
||
"limitFallbackDownload": "Limitar download do fallback",
|
||
"afterBytes": "Após bytes",
|
||
"afterBytesTip": "Permite que o fallback opere em velocidade máxima por esta quantidade de bytes e depois começa a limitar. 0 = limitar a partir do primeiro byte.",
|
||
"bytesPerSec": "Bytes por seg",
|
||
"bytesPerSecTip": "Limite de velocidade (bytes/seg) aplicado ao tráfego de fallback após o limiar, para que sondagens não usem seu servidor como banda gratuita até o destino. 0 = sem limite (desativa esta direção).",
|
||
"burstBytesPerSec": "Bytes por seg em rajada",
|
||
"burstBytesPerSecTip": "Margem para rajadas curtas acima da taxa estável (tamanho do token-bucket). Se for menor que Bytes por seg, é elevado para corresponder.",
|
||
"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",
|
||
"fakeTlsDomain": "Domínio FakeTLS (SNI)",
|
||
"mtprotoSecret": "Segredo",
|
||
"mtgDomainFrontingIp": "IP de domain fronting",
|
||
"mtgDomainFrontingPort": "Porta de domain fronting",
|
||
"mtgDomainFrontingProxyProtocol": "Protocolo PROXY de domain fronting",
|
||
"mtgDomainFrontingHint": "Para onde o mtg envia o tráfego que não é do Telegram — por exemplo, seu site falso NGINX. Deixe o IP vazio para usar o domínio FakeTLS via DNS; a porta padrão é 443.",
|
||
"mtgProxyProtocolListener": "Aceitar protocolo PROXY (listener)",
|
||
"mtgPreferIp": "Preferência de IP",
|
||
"mtgDebug": "Log de depuração",
|
||
"mtgRouteThroughXray": "Rotear pelo Xray",
|
||
"mtgRouteThroughXrayHint": "Envie o tráfego do Telegram deste proxy pelo Xray para que ele siga suas regras de roteamento. O sidecar mtg sai por uma ponte SOCKS loopback com a tag deste inbound; use essa tag na aba Roteamento para regras avançadas.",
|
||
"mtgRouteOutbound": "Saída",
|
||
"mtgRouteOutboundHint": "Opcional. Force o tráfego do Telegram a sair por esta saída (ou balanceador). Deixe vazio para que suas regras de roteamento decidam.",
|
||
"mtgRouteOutboundPlaceholder": "Usar regras de roteamento",
|
||
"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",
|
||
"forceTls": "Forçar TLS",
|
||
"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",
|
||
"tcpWindowClampHint": "Deixe 0 para usar o padrão do sistema. Valores diferentes de zero limitam a janela de recepção TCP anunciada; valores como 600 (do exemplo da documentação do Xray) podem derrubar a taxa de transferência em enlaces de alta latência.",
|
||
"tcpFastOpen": "TCP Fast Open",
|
||
"multipathTcp": "Multipath TCP",
|
||
"penetrate": "Penetrate",
|
||
"v6Only": "Apenas V6",
|
||
"tcpCongestion": "TCP Congestion",
|
||
"dialerProxy": "Dialer Proxy",
|
||
"trustedXForwardedFor": "X-Forwarded-For confiável",
|
||
"trustedXForwardedForHint": "Confie neste cabeçalho de requisição para obter o IP real do cliente (ex.: CF-Connecting-IP atrás do CDN da Cloudflare). Válido apenas nos transportes WebSocket, HTTPUpgrade, XHTTP e gRPC. Deixe vazio para ignorar cabeçalhos encaminhados.",
|
||
"proxyProtocolHint": "Aceite o cabeçalho PROXY protocol para obter o IP real do cliente a partir de um túnel/relay L4 upstream (HAProxy, gost, nginx-stream, Xray dokodemo-door) ou Cloudflare Spectrum. O upstream DEVE enviar PROXY protocol. Funciona em TCP, WebSocket, HTTPUpgrade e gRPC; não em mKCP.",
|
||
"realClientIp": "IP real do cliente",
|
||
"realClientIpHint": "Capture o IP real do visitante quando o tráfego chega a este inbound através de um CDN ou relay, em vez de registrar o endereço do intermediário. Escolha uma predefinição para preencher os campos sockopt correspondentes abaixo. Esses campos nunca são enviados aos clientes nas assinaturas.",
|
||
"realClientIpPresetOff": "Desligado / direto",
|
||
"realClientIpPresetCloudflare": "Cloudflare CDN",
|
||
"realClientIpPresetProxyProtocol": "Relay L4 / Spectrum (PROXY)",
|
||
"realClientIpTrustedHeaderTransportWarn": "Trusted X-Forwarded-For é válido apenas em WebSocket, HTTPUpgrade e XHTTP. No transporte atual este cabeçalho é ignorado.",
|
||
"realClientIpProxyProtocolTransportWarn": "PROXY protocol não é suportado neste transporte (mKCP). Use TCP/RAW, WebSocket, HTTPUpgrade, gRPC ou XHTTP.",
|
||
"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 do certificado do par como string hexadecimal (ex. e8e2d3…), separados por vírgula. 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) hexadecimal, separados por vírgula",
|
||
"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",
|
||
"realityTargetHint": "Obrigatório. Deve incluir uma porta (ex.: example.com:443). Sem porta, o Xray-core não inicia.",
|
||
"realityTargetRequired": "O alvo REALITY é obrigatório",
|
||
"realityTargetNeedsPort": "O alvo REALITY deve incluir uma porta (ex.: example.com:443)",
|
||
"realityTargetInvalidPort": "O alvo REALITY tem uma porta inválida",
|
||
"spiderX": "SpiderX",
|
||
"getNewCert": "Obter novo certificado",
|
||
"mldsa65Seed": "mldsa65 Seed",
|
||
"mldsa65Verify": "mldsa65 Verify",
|
||
"getNewSeed": "Obter novo Seed",
|
||
"listenHelp": "Você também pode informar um caminho de socket Unix (ex.: /run/xray/in.sock), ou um nome de socket abstrato com o prefixo @ (ex.: @xray/in.sock), para escutar em um socket em vez de uma porta TCP — nesse caso, defina a Porta como 0.",
|
||
"shareAddrStrategy": "Estratégia de endereço de compartilhamento",
|
||
"shareAddrStrategyHelp": "Controla qual endereço é gravado nos links de compartilhamento exportados, códigos QR e na saída de assinatura.",
|
||
"shareAddr": "Endereço de compartilhamento personalizado",
|
||
"shareAddrHelp": "Usado apenas quando a estratégia de endereço de compartilhamento é Personalizada. Informe um host ou IP sem esquema nem porta.",
|
||
"subSortIndex": "Ordem na assinatura",
|
||
"subSortIndexHelp": "Posição dos links desta entrada na saída da assinatura (página de assinatura e aplicativos cliente). Valores menores vêm primeiro; valores iguais mantêm a ordem de criação. Não afeta a lista de entradas do painel.",
|
||
"shareAddrStrategyOptions": {
|
||
"node": "Endereço do nó",
|
||
"listen": "Endereço de escuta do inbound",
|
||
"custom": "Personalizada"
|
||
}
|
||
},
|
||
"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": {
|
||
"tabBasics": "Básico",
|
||
"tabCredentials": "Credenciais",
|
||
"tabLinks": "Links",
|
||
"linksHint": "Adicione links de terceiros e URLs de assinatura remotas para incluir na assinatura deste cliente.",
|
||
"addExternalLink": "Adicionar link externo",
|
||
"addExternalSubscription": "Adicionar assinatura externa",
|
||
"noExternalLinks": "Ainda não há links externos.",
|
||
"noExternalSubscriptions": "Ainda não há assinaturas externas.",
|
||
"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 (dias)",
|
||
"days": "Dia(s)",
|
||
"renew": "Renovação automática",
|
||
"renewDesc": "Renovação automática após a expiração. (0 = desativar) (unidade: dia)",
|
||
"renewDays": "Renovação automática (dias)",
|
||
"searchPlaceholder": "Buscar email, comentário, sub ID, UUID, senha, auth…",
|
||
"filterTitle": "Filtrar clientes",
|
||
"clearAllFilters": "Limpar tudo",
|
||
"filters": {
|
||
"nodes": "Nós",
|
||
"localPanel": "Local (este painel)"
|
||
},
|
||
"showingCount": "Mostrando {shown} de {total}",
|
||
"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": "Limite de tráfego (GB)",
|
||
"totalGBDesc": "Cota de dados para este cliente. 0 = ilimitado.",
|
||
"expiryTime": "Expiração",
|
||
"addClients": "Adicionar clientes",
|
||
"limitIp": "Limite de IP",
|
||
"limitIpDesc": "Máximo de IPs simultâneos. 0 = ilimitado.",
|
||
"limitIpFail2banMissing": "O Fail2ban não está instalado, portanto o limite de IP não pode ser aplicado. Instale o Fail2ban pelo menu bash do x-ui para ativar esta opção.",
|
||
"limitIpFail2banWindows": "O Fail2ban não está disponível no Windows, portanto o limite de IP não pode ser aplicado.",
|
||
"limitIpDisabled": "O recurso de limite de IP está desativado neste servidor.",
|
||
"password": "Senha",
|
||
"subId": "ID da assinatura",
|
||
"online": "Online",
|
||
"email": "Email",
|
||
"emailInvalidChars": "O e-mail não pode conter espaços, '/', '\\' ou caracteres de controle",
|
||
"subIdInvalidChars": "O ID de assinatura 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",
|
||
"selectAllInbounds": "Selecionar tudo",
|
||
"clearAllInbounds": "Limpar tudo",
|
||
"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.",
|
||
"exportClients": "Exportar clientes",
|
||
"importClients": "Importar clientes",
|
||
"import": "Importar",
|
||
"delOrphans": "Excluir clientes sem inbound",
|
||
"delOrphansConfirmTitle": "Excluir clientes sem inbound?",
|
||
"delOrphansConfirmContent": "Remove todos os clientes que não estão vinculados a nenhum inbound, junto com seu registro de tráfego. 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",
|
||
"delOrphans": "{count} clientes sem inbound excluídos",
|
||
"imported": "{count} clientes importados",
|
||
"importedMixed": "{ok} importados, {failed} ignorados"
|
||
}
|
||
},
|
||
"groups": {
|
||
"title": "Grupos",
|
||
"name": "Nome",
|
||
"clientCount": "Clientes",
|
||
"totalGroups": "Total de grupos",
|
||
"totalGroupedClients": "Clientes com grupo",
|
||
"trafficUsed": "Tráfego usado",
|
||
"upload": "Envio",
|
||
"download": "Recebimento",
|
||
"totalTraffic": "Tráfego total",
|
||
"totalUpDown": "Total de envio / recebimento",
|
||
"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 Autenticação → 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.",
|
||
"outboundTag": "Outbound de conexão",
|
||
"outboundTagHint": "Roteie o tráfego da API do painel deste nó pelo outbound Xray selecionado. Um inbound de ponte loopback é adicionado automaticamente à configuração em execução e aplicado ao vivo. Deixe em branco para uma conexão direta.",
|
||
"outboundTagPlaceholder": "Conexão direta",
|
||
"inboundSyncMode": "Importação de inbounds",
|
||
"inboundSyncModeHint": "Escolha quais inbounds importar deste nó. Nós existentes importam todos por padrão.",
|
||
"allInbounds": "Todos os inbounds",
|
||
"selectedInbounds": "Inbounds selecionados",
|
||
"inboundTags": "Inbounds",
|
||
"inboundTagsHint": "A seleção é comparada pela tag do inbound. Uma seleção vazia não importa nenhum.",
|
||
"inboundTagsPlaceholder": "Carregue e selecione inbounds",
|
||
"loadInbounds": "Carregar inbounds do nó",
|
||
"inboundsLoaded": "{{count}} inbounds carregados",
|
||
"inboundsLoadFailed": "Falha ao carregar inbounds",
|
||
"enable": "Ativado",
|
||
"status": "Status",
|
||
"cpu": "CPU",
|
||
"mem": "Memória",
|
||
"netUp": "Subida de rede (KB/s)",
|
||
"netDown": "Descida de rede (KB/s)",
|
||
"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",
|
||
"updatePanel": "Atualizar painel",
|
||
"updateSelected": "Atualizar selecionados ({count})",
|
||
"updateAvailable": "Atualização disponível",
|
||
"upToDate": "Atualizado",
|
||
"updateConfirmTitle": "Atualizar {count} nó(s) para a versão mais recente?",
|
||
"updateConfirmContent": "Cada nó selecionado baixa a versão mais recente e reinicia nela. Apenas nós ativos e online são atualizados.",
|
||
"testConnection": "Testar conexão",
|
||
"connectionOk": "Conexão OK ({ms} ms)",
|
||
"connectionFailed": "Falha na conexão",
|
||
"never": "nunca",
|
||
"justNow": "agora mesmo",
|
||
"subNode": "Subnó",
|
||
"subNodeTip": "Somente leitura: um nó descendente acessado através de {parent}. Gerencie-o pelo próprio painel de {parent}.",
|
||
"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",
|
||
"xrayError": "Erro do Xray",
|
||
"xrayStopped": "Parado"
|
||
},
|
||
"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",
|
||
"updateStarted": "Atualização do painel iniciada",
|
||
"updateResult": "Atualização iniciada em {ok} nó(s), {failed} falharam",
|
||
"updateNoneEligible": "Selecione pelo menos um nó online e ativo",
|
||
"saveMtls": "Salvar mTLS do nó"
|
||
},
|
||
"tlsVerifyMode": "Verificação TLS",
|
||
"tlsVerifyModeHint": "Como o painel valida o certificado HTTPS do nó. Fixar ou Ignorar são para certificados autoassinados (apenas nós https).",
|
||
"tlsVerify": "Verificar (CA padrão)",
|
||
"tlsPin": "Fixar certificado (SHA-256)",
|
||
"tlsSkip": "Ignorar verificação",
|
||
"tlsMtls": "TLS mútuo (certificado de cliente)",
|
||
"mtlsFormHint": "Este nó autentica o painel com um certificado de cliente. Copie o CA deste painel na seção mTLS do nó para o nó, defina o CA confiável dele e reinicie-o.",
|
||
"mtls": {
|
||
"title": "mTLS do nó",
|
||
"intro": "O TLS mútuo adiciona um fator de certificado de cliente além do token de API nas chamadas entre nós. É opcional: deixe vazio para manter apenas a autenticação por token.",
|
||
"copyCa": "Copiar o CA deste painel",
|
||
"copyCaHint": "Entregue este CA aos nós gerenciados por este painel e defina a verificação TLS deles como TLS mútuo.",
|
||
"caCopied": "Certificado CA copiado para a área de transferência",
|
||
"caFailed": "Falha ao obter o certificado CA",
|
||
"trustLabel": "CA confiável (painel superior)",
|
||
"trustHint": "Quando este painel também é um nó, cole aqui o CA do painel que o gerencia para exigir seu certificado de cliente. Reinicie o painel para aplicar.",
|
||
"trustPlaceholder": "-----BEGIN CERTIFICATE-----",
|
||
"save": "Salvar CA confiável",
|
||
"saved": "CA confiável salvo — reinicie o painel para aplicar"
|
||
},
|
||
"tlsSkipWarning": "Ignorar a verificação remove a proteção contra ataques man-in-the-middle — o token de API pode ser interceptado. Prefira fixar o certificado.",
|
||
"pinnedCert": "SHA-256 do certificado fixado",
|
||
"pinnedCertHint": "SHA-256 do certificado do nó em base64 ou hex. Use Obter para lê-lo do nó agora.",
|
||
"pinnedCertPlaceholder": "SHA-256 em base64 ou hex",
|
||
"fetchPin": "Obter",
|
||
"pinFetched": "Certificado atual do nó obtido",
|
||
"pinFetchFailed": "Não foi possível obter o certificado"
|
||
},
|
||
"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)",
|
||
"panelOutbound": "Saída do tráfego do painel",
|
||
"panelOutboundDesc": "Encaminha as requisições do próprio painel — verificações de versão e downloads do painel/Xray, Telegram e a atualização normal de arquivos geo — por esta saída do Xray para contornar a filtragem de GitHub/Telegram no servidor. Uma entrada ponte local é adicionada automaticamente à configuração em execução e aplicada ao vivo. A Atualização Automática de Geodata nativa do Xray não é afetada; ela tem sua própria saída de download. Deixe vazio para conexão direta.",
|
||
"panelOutboundPh": "Conexão direta",
|
||
"datepicker": "Tipo de Calendário",
|
||
"datepickerPlaceholder": "Selecionar data",
|
||
"datepickerDescription": "Tarefas agendadas serão executadas com base neste calendário.",
|
||
"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": "Com que frequência o bot do Telegram envia relatórios periódicos. Escolha um intervalo predefinido ou selecione Personalizado para inserir uma expressão crontab.",
|
||
"notifyTime": {
|
||
"every": "@every — repetir em um intervalo",
|
||
"hourly": "@hourly — a cada hora",
|
||
"daily": "@daily — todos os dias às 00:00",
|
||
"weekly": "@weekly — toda semana",
|
||
"monthly": "@monthly — todo mês",
|
||
"custom": "Personalizado (crontab)",
|
||
"seconds": "Segundos",
|
||
"minutes": "Minutos",
|
||
"hours": "Horas"
|
||
},
|
||
"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",
|
||
"subThemeDir": "Diretório do tema de assinatura",
|
||
"subThemeDirDesc": "Caminho absoluto para uma pasta contendo um modelo personalizado (index.html/sub.html) para a página de assinatura (ex.: /etc/3x-ui/sub_templates/my-theme/). Deixe vazio para usar a página padrão.",
|
||
"subThemeDirDocs": "Guia de modelos ↗",
|
||
"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)",
|
||
"subHideSettings": "Ocultar configurações do servidor",
|
||
"subHideSettingsDesc": "Ocultar a capacidade de visualizar e editar as configurações do servidor no cliente VPN. (Apenas para Happ)",
|
||
"subClashEnableRouting": "Ativar roteamento",
|
||
"subClashEnableRoutingDesc": "Incluir regras globais de roteamento Clash/Mihomo nas assinaturas YAML geradas.",
|
||
"subClashRoutingRules": "Regras globais de roteamento",
|
||
"subClashRoutingRulesDesc": "Regras Clash/Mihomo adicionadas ao início de cada assinatura YAML antes de MATCH,PROXY.",
|
||
"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.",
|
||
"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": {
|
||
"finalMask": "Final Mask",
|
||
"finalMaskDesc": "Máscaras finalmask do xray (TCP/UDP) e ajustes QUIC injetados em cada fluxo de assinatura JSON. Requer um cliente xray recente.",
|
||
"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",
|
||
"profile": "Perfil",
|
||
"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.",
|
||
"apiTokenCreatedTitle": "Token criado",
|
||
"apiTokenCreatedNotice": "Copie este token agora. Por segurança, ele não é armazenado de forma legível e não será exibido novamente."
|
||
},
|
||
"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"
|
||
},
|
||
"smtpSettings": "Configurações SMTP",
|
||
"smtpEnable": "Ativar notificações por e-mail",
|
||
"smtpEnableDesc": "Ativar notificações por e-mail via SMTP",
|
||
"smtpHost": "Servidor SMTP",
|
||
"smtpHostDesc": "Nome do host do servidor SMTP (ex.: smtp.gmail.com)",
|
||
"smtpPort": "Porta SMTP",
|
||
"smtpPortDesc": "Porta do servidor SMTP (padrão: 587)",
|
||
"smtpUsername": "Usuário SMTP",
|
||
"smtpUsernameDesc": "Nome de usuário para autenticação SMTP",
|
||
"smtpPassword": "Senha SMTP",
|
||
"smtpPasswordDesc": "Senha para autenticação SMTP",
|
||
"smtpTo": "Destinatários",
|
||
"smtpToDesc": "Endereços de e-mail dos destinatários separados por vírgula",
|
||
"emailSettings": "E-mail",
|
||
"emailNotifications": "Notificações",
|
||
"smtpEventBusNotify": "Notificações de eventos por e-mail",
|
||
"smtpEventBusNotifyDesc": "Selecione quais eventos disparam notificações por e-mail",
|
||
"tgEventBusNotify": "Notificações de eventos no Telegram",
|
||
"tgEventBusNotifyDesc": "Selecione quais eventos disparam notificações no Telegram",
|
||
"testSmtp": "Enviar e-mail de teste",
|
||
"testTgBot": "Enviar mensagem de teste",
|
||
"eventGroupOutbound": "Outbound",
|
||
"eventGroupXray": "Núcleo Xray",
|
||
"eventGroupSystem": "Sistema",
|
||
"eventGroupSecurity": "Segurança",
|
||
"eventGroupNode": "Nós",
|
||
"eventOutboundDown": "Inativo",
|
||
"eventOutboundUp": "Ativo",
|
||
"eventXrayCrash": "Falha",
|
||
"eventNodeDown": "Inativo",
|
||
"eventNodeUp": "Ativo",
|
||
"eventCPUHigh": "CPU alta (%)",
|
||
"requestFailed": "Falha na requisição",
|
||
"smtpEncryption": "Criptografia",
|
||
"smtpEncryptionDesc": "Método de criptografia da conexão SMTP",
|
||
"smtpEncryptionNone": "Nenhuma (texto puro)",
|
||
"smtpEncryptionStartTLS": "STARTTLS",
|
||
"smtpEncryptionTLS": "TLS (implícito)",
|
||
"smtpStageConnect": "Conexão",
|
||
"smtpStageAuth": "Autenticação",
|
||
"smtpStageSend": "Envio",
|
||
"smtpTestSuccess": "E-mail de teste enviado com sucesso",
|
||
"smtpHostNotConfigured": "Servidor SMTP não configurado",
|
||
"smtpNoRecipients": "Nenhum destinatário configurado",
|
||
"eventLoginAttempt": "Tentativa de login",
|
||
"telegramTokenConfigured": "Configurado; deixe em branco para manter o token atual.",
|
||
"telegramTokenPlaceholder": "Configurado - insira um novo token para substituir",
|
||
"smtpPasswordConfigured": "Configurada; deixe em branco para manter a senha atual.",
|
||
"smtpPasswordPlaceholder": "Configurada - insira uma nova senha para substituir",
|
||
"smtpNotInitialized": "SMTP não inicializado",
|
||
"tgBotNotEnabled": "O bot do Telegram não está ativado",
|
||
"tgTestFailed": "Falha no teste do Telegram",
|
||
"tgTestSuccess": "Mensagem de teste enviada ao Telegram",
|
||
"tgBotNotRunning": "O bot do Telegram não está em execução",
|
||
"smtpErrorAuth": "Falha na autenticação — verifique o nome de usuário e a senha",
|
||
"smtpErrorStarttls": "O servidor requer STARTTLS — altere o tipo de criptografia",
|
||
"smtpErrorTls": "O servidor requer TLS — altere o tipo de criptografia",
|
||
"smtpErrorRefused": "Conexão recusada — verifique o host e a porta",
|
||
"smtpErrorTimeout": "Tempo de conexão esgotado — host inacessível",
|
||
"smtpErrorRelay": "O servidor rejeita o envio a partir deste endereço",
|
||
"smtpErrorEof": "Conexão encerrada pelo servidor",
|
||
"smtpErrorUnknown": "Erro de SMTP: {{ .Error }}",
|
||
"eventMemoryHigh": "Uso de memória alto (%)",
|
||
"remarkTemplate": "Modelo de Observação",
|
||
"remarkTemplateDesc": "Quando definido, isto substitui o modelo de observação de cada link de assinatura — escreva seu próprio formato com os tokens de variáveis (use o botão para inseri-los). Deixe vazio para usar o modelo acima."
|
||
},
|
||
"xray": {
|
||
"title": "Configurações Xray",
|
||
"importRules": "Importar regras",
|
||
"exportRules": "Exportar regras",
|
||
"importOutbounds": "Importar saídas",
|
||
"exportOutbounds": "Exportar saídas",
|
||
"importInvalidJson": "JSON inválido — esperava-se um array ou um objeto com uma chave correspondente.",
|
||
"metricsListen": "Endpoint de métricas",
|
||
"metricsListenDesc": "Expõe as métricas no estilo Prometheus do Xray neste endereço:porta (por exemplo, 127.0.0.1:11111). Deixe vazio para desativar. Vincule ao localhost e use um proxy reverso — ele não é autenticado.",
|
||
"metricsTag": "Tag de métricas",
|
||
"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.",
|
||
"FreedomHappyEyeballs": "Freedom Happy Eyeballs (IPv4/IPv6)",
|
||
"FreedomHappyEyeballsDesc": "Discagem dual-stack para a saída direta (freedom) — útil em servidores de saída com IPv4 e IPv6.",
|
||
"FreedomHappyEyeballsTryDelayDesc": "Milissegundos antes de tentar a outra família de endereços. 150–250 ms é um bom ponto de partida.",
|
||
"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",
|
||
"OutboundSubscriptions": "Assinaturas de Saída",
|
||
"OutboundSubscriptionsDesc": "Importe saídas a partir de URLs de assinatura remotas (vmess/vless/trojan/ss/...). As tags são mantidas estáveis para uso em balanceadores e regras de roteamento. As atualizações são automáticas.",
|
||
"Balancers": "Balanceadores",
|
||
"balancerTagRequired": "A tag é obrigatória",
|
||
"balancerSelectorRequired": "Selecione pelo menos uma saída",
|
||
"balancerLive": "Destino atual",
|
||
"balancerOverride": "Forçar destino",
|
||
"balancerOverridePh": "Automático (estratégia)",
|
||
"balancerLiveRefresh": "Atualizar estado do balanceador",
|
||
"balancerNotRunning": "Este balanceador não está ativo no Xray em execução — salve as alterações ou inicie o Xray primeiro",
|
||
"routeTester": "Teste de rota",
|
||
"routeTesterDesc": "Pergunte ao Xray em execução qual saída trataria uma conexão. Nenhum tráfego é enviado — a decisão vem diretamente do motor de roteamento ao vivo.",
|
||
"routeTesterDest": "Domínio ou IP",
|
||
"routeTesterPort": "Porta",
|
||
"routeTesterInbound": "Entrada",
|
||
"routeTesterProtocol": "Protocolo detectado",
|
||
"routeTesterTest": "Testar rota",
|
||
"routeTesterMatchedOutbound": "Saída correspondente",
|
||
"routeTesterViaBalancer": "via balanceador",
|
||
"routeTesterDefaultOutbound": "Nenhuma regra de roteamento correspondeu — o tráfego vai para a saída padrão (primeira).",
|
||
"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.",
|
||
"connectionLimits": "Limites de conexão",
|
||
"connectionLimitsDesc": "Políticas em nível de conexão para o nível de usuário 0. Deixe um campo vazio para usar o padrão do Xray.",
|
||
"connIdle": "Tempo limite de inatividade",
|
||
"connIdleDesc": "Fecha uma conexão depois que ela fica inativa por esta quantidade de segundos. Reduzi-lo libera memória e descritores de arquivo mais rápido em servidores ocupados (padrão do Xray: 300).",
|
||
"bufferSize": "Tamanho do buffer",
|
||
"bufferSizeDesc": "Tamanho do buffer interno por conexão em KB. Defina como 0 para minimizar o uso de memória em servidores com pouca RAM (o padrão do Xray depende da plataforma).",
|
||
"bufferSizePlaceholder": "automático",
|
||
"seconds": "segundos",
|
||
"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",
|
||
"dialerProxyPlaceholder": "Selecione uma saída para encadear",
|
||
"dialerProxyHint": "Conecte esta saída através de outra saída (por tag) para criar uma cadeia de proxy. Deixe vazio para conectar diretamente.",
|
||
"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",
|
||
"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",
|
||
"httpStatus": "Status HTTP",
|
||
"breakdownConnect": "Conexão do proxy",
|
||
"breakdownTls": "TLS via saída",
|
||
"breakdownTtfb": "Primeiro byte",
|
||
"nordvpn": "NordVPN",
|
||
"accessToken": "Token de Acesso",
|
||
"country": "País",
|
||
"server": "Servidor",
|
||
"city": "Cidade",
|
||
"allCities": "Todas as Cidades",
|
||
"privateKey": "Chave Privada",
|
||
"load": "Carga"
|
||
},
|
||
"outboundSub": {
|
||
"manage": "Assinaturas",
|
||
"title": "Assinaturas de Saída",
|
||
"remark": "Observação (opcional)",
|
||
"remarkPlaceholder": "ex.: nós de HK",
|
||
"url": "URL da assinatura",
|
||
"urlPlaceholder": "https://... (lista de links em base64)",
|
||
"tagPrefix": "Prefixo da tag",
|
||
"tagPrefixPlaceholder": "hk-",
|
||
"interval": "Intervalo de atualização",
|
||
"hours": "h",
|
||
"minutes": "min",
|
||
"intervalHint": "Padrão de 10 minutos. A tarefa em segundo plano verifica com frequência; cada assinatura só é buscada novamente quando o seu próprio intervalo é atingido.",
|
||
"enabled": "Ativado",
|
||
"allowPrivate": "Permitir endereço privado",
|
||
"allowPrivateHint": "Permite localhost / LAN / IPs privados para a URL desta assinatura. Desativado por padrão por segurança — ative apenas para uma fonte local confiável.",
|
||
"prepend": "Antes das saídas manuais",
|
||
"prependHint": "Coloca as saídas desta assinatura antes das suas saídas configuradas manualmente, para que uma delas possa se tornar a padrão.",
|
||
"preview": "Pré-visualizar",
|
||
"previewEmpty": "Nenhuma saída encontrada nesta URL.",
|
||
"refreshAll": "Atualizar todas",
|
||
"statusOk": "OK",
|
||
"toastUpdated": "Assinatura atualizada",
|
||
"addButton": "Adicionar",
|
||
"active": "Assinaturas ativas",
|
||
"empty": "Nenhuma assinatura ainda. Adicione uma acima.",
|
||
"colRemark": "Observação",
|
||
"colPrefix": "Prefixo",
|
||
"colInterval": "Intervalo",
|
||
"colLastFetch": "Última busca",
|
||
"colEnabled": "Ativado",
|
||
"auto": "auto",
|
||
"never": "nunca",
|
||
"yes": "Sim",
|
||
"no": "Não",
|
||
"refreshNow": "Atualizar agora",
|
||
"lastError": "Último erro",
|
||
"deleteConfirm": "Excluir esta assinatura?",
|
||
"restartHint": "Após adicionar ou atualizar, reinicie o Xray (ou aguarde o próximo recarregamento automático) para ativar as saídas.",
|
||
"fromSubsTitle": "De assinaturas de saída (somente leitura)",
|
||
"fromSubsDesc": "Importadas das suas assinaturas ativas. Gerencie-as no painel de Assinaturas acima.",
|
||
"toastLoadFailed": "Falha ao carregar as assinaturas",
|
||
"toastUrlRequired": "A URL da assinatura é obrigatória",
|
||
"toastAdded": "Assinatura adicionada",
|
||
"toastAddFailed": "Falha ao adicionar a assinatura",
|
||
"toastRefreshed": "Atualizado",
|
||
"toastRefreshFailed": "Falha na atualização",
|
||
"toastDeleted": "Excluído",
|
||
"toastDeleteFailed": "Falha ao excluir"
|
||
},
|
||
"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": {
|
||
"changeIp": "Alterar IP",
|
||
"changeIpSuccess": "IP do WARP alterado com sucesso!",
|
||
"autoUpdateIp": "Atualizar endereço IP automaticamente",
|
||
"intervalDays": "Intervalo (dias)",
|
||
"intervalDesc": "0 para desativar. Altera o endereço IP automaticamente.",
|
||
"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"
|
||
}
|
||
},
|
||
"hosts": {
|
||
"addHost": "Adicionar Host",
|
||
"editHost": "Editar Host",
|
||
"selectInbound": "Selecione uma entrada",
|
||
"selectedCount": "{count} selecionado(s)",
|
||
"summary": {
|
||
"total": "Total",
|
||
"enabled": "Ativados",
|
||
"disabled": "Desativados"
|
||
},
|
||
"moveUp": "Mover para cima",
|
||
"moveDown": "Mover para baixo",
|
||
"bulkEnable": "Ativar",
|
||
"bulkDisable": "Desativar",
|
||
"bulkDelete": "Excluir",
|
||
"bulkDeleteConfirm": "Excluir {count} host(s) selecionado(s)?",
|
||
"deleteConfirmTitle": "Excluir o host \"{name}\"?",
|
||
"sections": {
|
||
"basic": "Básico",
|
||
"security": "Segurança",
|
||
"advanced": "Avançado",
|
||
"general": "Geral",
|
||
"clash": "Clash (mihomo)"
|
||
},
|
||
"fields": {
|
||
"remark": "Observação",
|
||
"serverDescription": "Descrição",
|
||
"inbound": "Entrada",
|
||
"address": "Endereço",
|
||
"port": "Porta",
|
||
"endpoint": "Endpoint",
|
||
"enable": "Ativado",
|
||
"actions": "Ações",
|
||
"security": "Segurança",
|
||
"sni": "SNI",
|
||
"overrideSniFromAddress": "Usar endereço como SNI",
|
||
"keepSniBlank": "Manter SNI em branco",
|
||
"hostHeader": "Cabeçalho Host",
|
||
"path": "Caminho",
|
||
"alpn": "ALPN",
|
||
"fingerprint": "Fingerprint",
|
||
"pins": "SHA-256 do certificado fixado",
|
||
"verifyPeerCertByName": "Verificar certificado do par pelo nome",
|
||
"allowInsecure": "Permitir inseguro",
|
||
"echConfigList": "Lista de configurações ECH",
|
||
"muxParams": "Mux",
|
||
"sockoptParams": "Sockopt",
|
||
"finalMask": "Final Mask",
|
||
"vlessRoute": "Rota VLESS",
|
||
"mihomoIpVersion": "Versão de IP",
|
||
"mihomoX25519": "Mihomo X25519",
|
||
"shuffleHost": "Embaralhar host",
|
||
"tags": "Tags",
|
||
"nodeGuids": "Nós",
|
||
"excludeFromSubTypes": "Excluir dos formatos"
|
||
},
|
||
"hints": {
|
||
"address": "Deixe em branco para herdar o próprio endereço da entrada.",
|
||
"port": "0 herda a porta da entrada.",
|
||
"tags": "Não visível aos usuários finais; enviado apenas na assinatura RAW. Apenas letras maiúsculas, dígitos, _ e :.",
|
||
"nodeGuids": "Escolha os nós que foram resolvidos a partir deste host. Apenas atribuição visual.",
|
||
"serverDescription": "Nota opcional exibida abaixo da observação.",
|
||
"allowInsecure": "Ignorar a verificação do certificado TLS (allowInsecure / skip-cert-verify).",
|
||
"vlessRoute": "Portas/intervalos roteados via VLESS, ex.: 53,443,1000-2000. Deixe em branco para nenhum.",
|
||
"remark": "Um rótulo simples para este host. Mostrado como nome da configuração apenas quando a entrada não tem observação própria."
|
||
},
|
||
"remarkVars": {
|
||
"title": "Variáveis de Modelo",
|
||
"intro": "Clique em uma variável para adicioná-la. Ela é substituída por cliente quando a assinatura é gerada.",
|
||
"preview": "Pré-visualização",
|
||
"groups": {
|
||
"client": "Cliente",
|
||
"traffic": "Tráfego",
|
||
"time": "Tempo e status"
|
||
},
|
||
"descEMAIL": "Email do cliente",
|
||
"descINBOUND": "Observação da própria entrada (nome da configuração)",
|
||
"descHOST": "Observação do host",
|
||
"descID": "UUID do cliente",
|
||
"descSHORT_ID": "Primeiros 8 caracteres do UUID",
|
||
"descTELEGRAM_ID": "ID do Telegram do cliente (vazio se não definido)",
|
||
"descSUB_ID": "ID da assinatura",
|
||
"descCOMMENT": "Comentário do cliente",
|
||
"descTRAFFIC_USED": "Tráfego usado (legível por humanos)",
|
||
"descTRAFFIC_LEFT": "Tráfego restante (oculto se ilimitado)",
|
||
"descTRAFFIC_TOTAL": "Tráfego total (oculto se ilimitado)",
|
||
"descTRAFFIC_USED_BYTES": "Tráfego usado em bytes",
|
||
"descTRAFFIC_LEFT_BYTES": "Tráfego restante em bytes",
|
||
"descTRAFFIC_TOTAL_BYTES": "Tráfego total em bytes",
|
||
"descUP": "Tráfego de upload",
|
||
"descDOWN": "Tráfego de download",
|
||
"descSTATUS": "ativo / expirado / desativado / esgotado",
|
||
"descDAYS_LEFT": "Dias até a expiração (oculto se ilimitado)",
|
||
"descEXPIRE_DATE": "Data de expiração (AAAA-MM-DD)",
|
||
"descEXPIRE_UNIX": "Expiração como timestamp Unix (segundos)",
|
||
"descCREATED_UNIX": "Data de criação como timestamp Unix (segundos)",
|
||
"descRESET_DAYS": "Período de redefinição de tráfego em dias"
|
||
},
|
||
"toasts": {
|
||
"list": "Falha ao carregar os hosts",
|
||
"obtain": "Falha ao carregar o host",
|
||
"add": "Adicionar host",
|
||
"update": "Atualizar host",
|
||
"delete": "Excluir host",
|
||
"badTag": "Tag inválida",
|
||
"badVlessRoute": "Use portas/intervalos como 53,443,1000-2000"
|
||
}
|
||
}
|
||
},
|
||
"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.",
|
||
"eventOutboundDown": "O outbound {{ .Tag }} está INATIVO",
|
||
"eventOutboundUp": "O outbound {{ .Tag }} está ATIVO",
|
||
"eventErrorDetail": "Erro: {{ .Error }}",
|
||
"eventDelayDetail": "Latência: {{ .Delay }}ms",
|
||
"eventXrayCrash": "O Xray FALHOU",
|
||
"eventXrayCrashError": "Erro: {{ .Error }}",
|
||
"eventNodeDown": "O nó {{ .Name }} está INATIVO",
|
||
"eventNodeUp": "O nó {{ .Name }} está ATIVO",
|
||
"eventCPUHigh": "CPU alta",
|
||
"eventCPUHighDetail": "CPU: {{ .Detail }}",
|
||
"eventLoginFallback": "Falha de login a partir de {{ .Source }}",
|
||
"memoryThreshold": "Uso de memória {{ .Percent }}% excede o limite de {{ .Threshold }}%"
|
||
},
|
||
"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"
|
||
}
|
||
},
|
||
"email": {
|
||
"subjectOutboundDown": "O outbound {{ .Tag }} está INATIVO",
|
||
"subjectOutboundUp": "O outbound {{ .Tag }} está ATIVO",
|
||
"subjectXrayCrash": "O Xray FALHOU",
|
||
"subjectCPUHigh": "CPU alta",
|
||
"subjectLoginSuccess": "Login bem-sucedido",
|
||
"subjectLoginFailed": "Falha de login",
|
||
"titleOutboundDown": "Outbound INATIVO",
|
||
"titleOutboundUp": "Outbound ATIVO",
|
||
"titleXrayCrash": "O Xray FALHOU",
|
||
"titleCPUHigh": "CPU alta",
|
||
"titleLoginSuccess": "Login bem-sucedido",
|
||
"titleLoginFailed": "Falha de login",
|
||
"labelStatus": "Status",
|
||
"labelOutbound": "Outbound",
|
||
"labelNode": "Nó",
|
||
"labelError": "Erro",
|
||
"labelDelay": "Latência",
|
||
"labelDetail": "Detalhe",
|
||
"labelUsername": "Nome de usuário",
|
||
"labelIP": "IP",
|
||
"labelReason": "Motivo",
|
||
"labelSource": "Origem",
|
||
"labelTime": "Horário",
|
||
"statusCrashed": "FALHOU",
|
||
"statusRunning": "Em execução",
|
||
"statusHigh": "ALTA",
|
||
"statusSuccess": "SUCESSO",
|
||
"statusFailed": "FALHOU",
|
||
"statusDown": "INATIVO",
|
||
"statusUp": "ATIVO"
|
||
}
|
||
} |