Files
1Panel/frontend/src/lang/modules/pt-br.ts
2026-09-08 16:58:54 +08:00

7318 lines
445 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { getFuLocaleMessage } from '@/lang/fu';
const message = {
commons: {
true: 'Verdadeiro',
false: 'falso',
colon: ': ',
example: 'ex.: ',
fit2cloud: 'FIT2CLOUD',
lingxia: 'LXware',
button: {
run: 'Executar',
add: 'Adicionar',
select: 'Selecionar',
save: 'Salvar',
set: 'Configurações',
sync: 'Sincronizar',
delete: 'Excluir',
edit: 'Editar',
enable: 'Ativar',
disable: 'Desativar',
confirm: 'Confirmar',
check: 'Verificar',
submit: 'Enviar',
cancel: 'Cancelar',
reset: 'Redefinir',
restart: 'Reiniciar',
conn: 'Conectar',
disConn: 'Desconectar',
clean: 'Limpar',
cleanAll: 'Limpar tudo',
selectAll: 'Selecionar tudo',
login: 'Entrar',
close: 'Fechar',
stop: 'Parar',
start: 'Iniciar',
view: 'Visualizar',
watch: 'Acompanhar',
handle: 'Executar',
clone: 'Clonar',
expand: 'Expandir',
collapse: 'Recolher',
log: 'Logs',
back: 'Voltar',
backup: 'Fazer backup',
recover: 'Restaurar',
retry: 'Tentar novamente',
upload: 'Fazer upload',
download: 'Fazer download',
init: 'Inicializar',
verify: 'Verificar',
saveAndEnable: 'Salvar e ativar',
import: 'Importar',
importAll: 'Importar tudo',
export: 'Exportar',
power: 'Enviar',
search: 'Pesquisar',
refresh: 'Atualizar',
reconnect: 'Reconectar',
get: 'Obter',
upgrade: 'Fazer upgrade',
update: 'Atualizar',
ignore: 'Ignorar atualização',
install: 'Instalar',
copy: 'Copiar',
random: 'Gerar',
uninstall: 'Desinstalar',
fullscreen: 'Entrar em tela cheia',
quitFullscreen: 'Sair da tela cheia',
showAll: 'Exibir tudo',
hideSome: 'Ocultar alguns',
agree: 'Concordo',
notAgree: 'Não concordo',
preview: 'Pré-visualizar',
open: 'Abrir',
notSave: 'Não salvar',
createNewFolder: 'Criar nova pasta',
createNewFile: 'Criar novo arquivo',
helpDoc: 'Documentação',
unbind: 'Desvincular',
cover: 'Substituir',
skip: 'Pular',
fix: 'Corrigir',
down: 'Parar',
up: 'Iniciar',
sure: 'Confirmar',
show: 'Exibir',
hide: 'Ocultar',
visit: 'Abrir',
migrate: 'Migrar',
prev: 'Anterior',
next: 'Próximo',
create: 'Criar',
setDefault: 'Restaurar padrões',
bind: 'Vincular',
tip: 'Dica',
},
operate: {
start: 'Iniciar',
stop: 'Parar',
restart: 'Reiniciar',
reload: 'Recarregar',
rebuild: 'Reconstruir',
sync: 'Sincronizar',
up: 'Iniciar',
down: 'Parar',
delete: 'Excluir',
},
search: {
timeStart: 'Hora inicial',
timeEnd: 'Hora final',
timeRange: 'Até',
dateStart: 'Data inicial',
dateEnd: 'Data final',
date: 'Data',
},
table: {
all: 'Todos',
total: 'Total de {0}',
name: 'Nome',
type: 'Tipo',
card: 'Cartao',
table: 'Tabela',
status: 'Status',
statusSuccess: 'Sucesso',
statusFailed: 'Falha',
statusWaiting: 'Aguardando...',
records: 'Registros',
group: 'Grupo',
createdAt: 'Data de criação',
publishedAt: 'Data de publicação',
date: 'Data',
updatedAt: 'Data de atualização',
operate: 'Operações',
message: 'Mensagem',
description: 'Descrição',
interval: 'Intervalo',
user: 'Responsável',
title: 'Título',
port: 'Porta',
forward: 'Encaminhar',
protocol: 'Protocolo',
tableSetting: 'Configuração da tabela',
refreshRate: 'Taxa de atualização',
selectColumn: 'Selecionar coluna',
local: 'Local',
serialNumber: 'Número de série',
manageGroup: 'Gerenciar Grupos',
backToList: 'Voltar à Lista',
keepEdit: 'Continuar Editando',
pin: 'Fixar no topo',
unpin: 'Desafixar',
default: 'Padrão',
noRefresh: 'Sem atualização',
creator: 'Criador',
updater: 'Atualizador',
},
loadingText: {
Upgrading: 'Atualizando o sistema, por favor, aguarde...',
Restarting: 'Reiniciando o sistema, por favor, aguarde...',
Recovering: 'Restaurando a partir de um snapshot, por favor, aguarde...',
Rollbacking: 'Revertendo para um snapshot, por favor, aguarde...',
},
msg: {
noneData: 'Nenhum dado disponível',
delete: 'Esta operação de exclusão não pode ser desfeita. Deseja continuar?',
clean: 'Esta operação de limpeza não pode ser desfeita. Deseja continuar?',
closeDrawerHelper: 'O sistema pode não salvar as alterações que você fez. Deseja continuar?',
deleteSuccess: 'Excluído com sucesso',
loginSuccess: 'Login realizado com sucesso',
operationSuccess: 'Operação concluída com sucesso',
operationFailed: 'Falha na operação',
copySuccess: 'Copiado com sucesso',
notSupportOperation: 'Esta operação não é suportada',
requestTimeout: 'A solicitação expirou, tente novamente mais tarde',
infoTitle: 'Aviso',
notRecords: 'Nenhum registro de execução foi gerado para a tarefa atual',
sureLogOut: 'Tem certeza de que deseja sair?',
createSuccess: 'Criado com sucesso',
updateSuccess: 'Atualizado com sucesso',
uploadSuccess: 'Enviado com sucesso',
operateConfirm: 'Se você tem certeza da operação, insira-a manualmente: ',
inputOrSelect: 'Por favor, selecione ou insira',
selectOne: 'Selecione um(a) {0}',
copyFailed: 'Falha ao copiar',
operatorHelper: 'A operação "{1}" será realizada em "{0}" e não poderá ser desfeita. Deseja continuar?',
notFound: 'Desculpe, a página solicitada não existe.',
unSupportType: 'O tipo de arquivo atual não é suportado.',
unSupportSize: 'O arquivo enviado excede {0}M, por favor confirme!',
fileExist: 'O arquivo existe na pasta atual. Não é possível enviar novamente.',
fileNameErr:
'Você pode enviar apenas arquivos cujo nome contenha de 1 a 256 caracteres, incluindo letras, números ou os caracteres (. - _)',
confirmNoNull: 'Certifique-se de que o valor {0} não está vazio.',
errPort: 'Informação de porta incorreta, por favor confirme!',
remove: 'Remover',
backupHelper: 'A operação atual fará o backup de {0}. Deseja continuar?',
recoverHelper: 'Restaurando a partir do arquivo {0}. Esta operação é irreversível. Deseja continuar?',
refreshSuccess: 'Atualizado com sucesso',
rootInfoErr: ' está no diretório raiz',
resetSuccess: 'Redefinido com sucesso',
creatingInfo: 'Criando, não é necessário realizar esta operação',
offlineTips: 'A versão offline não suporta esta operação',
errImportFormat: 'Dados de importação ou formato estão anormais, verifique e tente novamente!',
importHelper:
'Ao importar dados conflitantes ou duplicados, o conteúdo importado será usado como padrão para atualizar os dados originais do banco de dados.',
errImport: 'O conteúdo do arquivo está anormal:',
backupSuccess: 'Backup concluído',
restoreSuccess: 'Restauração concluída',
installSuccess: 'Instalado com sucesso',
uninstallSuccess: 'Desinstalado com sucesso',
},
login: {
username: 'Usuário',
password: 'Senha',
passkey: 'Login com Passkey',
otherLoginMethods: 'Outras formas de login',
welcome: 'Bem-vindo de volta, insira seu usuário e senha para acessar!',
errorAuthInfo: 'O nome de usuário ou senha que você inseriu está incorreto, tente novamente!',
errorMfaInfo: 'Informações de autenticação incorretas, tente novamente!',
captchaHelper: 'Captcha',
errorCaptcha: 'Erro no código Captcha!',
codeInput: 'Por favor, insira o código de verificação de 6 dígitos do validador MFA',
mfaTitle: 'Autenticação MFA',
mfaCode: 'Código de verificação MFA',
title: 'Painel de Gerenciamento de Servidores Linux',
licenseHelper: '<Acordo de Licença Comunitária>',
errorAgree: 'Clique para concordar com o Acordo de Licença de Software Comunitário',
logout: 'Sair',
agreeTitle: 'Termo de Aceite',
agreeContent:
'Para proteger melhor seus direitos e interesses legítimos, leia e concorde com o seguinte termo &laquo; <a href="https://www.fit2cloud.com/legal/licenses.html" target="_blank">Acordo de Licença Comunitária</a> &raquo;',
passkeyFailed: 'Falha no login com Passkey, tente novamente',
passkeyNotSupported: 'O navegador ou ambiente atual não suporta passkeys',
passkeyToPassword: 'Está com problemas para usar uma passkey? Use a senha',
},
rule: {
username: 'Insira um nome de usuário',
password: 'Insira uma senha',
rePassword: 'A confirmação da senha não corresponde à senha.',
requiredInput: 'Este campo é obrigatório.',
requiredSelect: 'Selecione um item na lista',
illegalChar: 'Atualmente não suporte para injeção dos caracteres & ; $ \' ` ( ) " > < ',
illegalInput: 'Este campo não deve conter caracteres ilegais.',
duplicate: 'Este valor deve ser único.',
commonName:
'Este campo deve começar com caracteres não especiais e consistir em letras, números, ".", "-", e "_" com comprimento de 1-128.',
userName: 'Suporta não começar com caracteres especiais, inglês, chinês, números e _, comprimento 3-30',
simpleName:
'Este campo não deve começar com "_" e deve conter letras, números e "_" com comprimento de 3-30.',
simplePassword:
'Este campo não deve começar com "_" e deve conter letras, números e "_" com comprimento de 1-30.',
dbName: 'Este campo não deve começar com "_" e deve conter letras, números e "_" com comprimento de 1-64.',
imageName: 'Suporta não começar com caracteres especiais, inglês, números, :@/.-_, comprimento 1-256',
composeName:
'Deve começar com caracteres não especiais, conter letras minúsculas, números, "-" e "_" com comprimento de 1-256.',
volumeName: 'Este campo deve conter letras, números, ".", "-", e "_" com comprimento de 2-30.',
supervisorName:
'Este campo deve começar com caracteres não especiais e conter letras, números, "-" e "_" com comprimento de 1-128.',
complexityPassword:
'Suporta combinações de senha com comprimento de 8 a 30 que contenham pelo menos dois destes tipos: letras, números e caracteres especiais.',
commonPassword: 'O comprimento deste campo deve ser maior que 6.',
linuxName:
'O comprimento deste campo deve estar entre 1 e 128. Não pode conter os seguintes caracteres especiais: "{0}".',
email: 'Este campo deve ser um endereço de email válido.',
number: 'Este campo deve ser um número.',
integer: 'Este campo deve ser um número inteiro positivo.',
ip: 'Este campo deve ser um endereço IP válido.',
host: 'Este campo deve ser um endereço IP ou nome de domínio válido.',
hostHelper: 'Suporta a entrada de endereço IP ou nome de domínio',
port: 'Este campo deve ser um número de porta válido.',
selectHelper: 'Selecione o arquivo {0} correto',
domain: 'Este campo deve estar no formato: exemplo.com ou exemplo.com:8080.',
databaseName: 'Este campo deve conter letras, números e "_" com comprimento de 1-30.',
ipErr: 'Este campo deve ser um endereço IP válido.',
numberRange: 'Este campo deve ser um número entre {0} e {1}.',
paramName: 'Este campo deve conter letras, números, ".", "-", e "_" com comprimento de 2-30.',
paramComplexity:
'Este campo não deve começar ou terminar com caracteres especiais e deve conter letras, números e "{0}" com comprimento de 6-128.',
paramUrlAndPort: 'Este campo deve estar no formato "http(s)://(nome do domínio/IP):(porta)".',
nginxDoc: 'Este campo deve conter letras, números, ".", "_" e "-".',
appName:
'Este campo não deve começar ou terminar com "-" ou "_" e deve conter letras, números, "-", e "_" com comprimento de 2-30.',
containerName:
'Suporta letras, números, "-", "_" e "."; não pode começar com "-", "_" ou "."; comprimento: 2-128.',
mirror: 'O endereço de aceleração do mirror deve começar com http(s)://, suportar letras (maiúsculas e minúsculas), números, ".", "/" e "-", e não deve conter linhas em branco.',
disableFunction: 'Suporta apenas letras, underscores e,',
leechExts: 'Suporta apenas letras, números e,',
paramSimple: 'Suporta letras minúsculas e números, comprimento 1-128',
filePermission: 'Erro de permissão de arquivo',
formatErr: 'Erro de formato, verifique e tente novamente',
phpExtension: 'Suporta apenas _, letras minúsculas e números',
paramHttp: 'Deve começar com http:// ou https://',
phone: 'O formato do número de telefone está incorreto',
authBasicPassword: 'Suporta letras, números e caracteres especiais comuns, comprimento 1-72',
length128Err: 'O comprimento não pode exceder 128 caracteres',
maxLength: 'O comprimento não pode exceder {0} caracteres',
alias: 'Suporta letras, números, - e _, comprimento de 1 a 128, e não pode começar ou terminar com -_.',
vmName: 'Aceita letras, números, ".", "-" e "_"; comprimento: 1-64; deve começar com uma letra ou um número.',
vmNetwork:
'Aceita letras, números, ".", ":", "-" e "_"; comprimento: 1-64; deve começar com uma letra ou um número.',
},
res: {
paramError: 'A solicitação falhou, por favor, tente novamente mais tarde!',
forbidden: 'O usuário atual não tem permissão',
serverError: 'Exceção no serviço',
notFound: 'O recurso não existe',
commonError: 'A solicitação falhou',
},
service: {
serviceNotStarted: 'O serviço {0} não está iniciado.',
},
status: {
running: 'Em execução',
done: 'Concluído',
scanFailed: 'Incompleto',
success: 'Sucesso',
waiting: 'Aguardando',
waitForUpgrade: 'Aguardar Atualização',
failed: 'Falhou',
stopped: 'Parado',
error: 'Erro',
created: 'Criado',
restarting: 'Reiniciando',
uploading: 'Enviando',
unhealthy: 'Indisponível',
removing: 'Removendo',
paused: 'Pausado',
exited: 'Finalizado',
partial: 'Parcial',
dead: 'Morto',
installing: 'Instalando',
enabled: 'Habilitado',
disabled: 'Desabilitado',
normal: 'Normal',
building: 'Construindo',
upgrading: 'Atualizando',
pending: 'Aguardando Edição',
rebuilding: 'Reconstruindo',
deny: 'Negado',
accept: 'Aceito',
used: 'Usado',
starting: 'Iniciando',
recreating: 'Reconstruindo',
creating: 'Criando',
init: 'Aguardando aplicação',
ready: 'Normal',
applying: 'Aplicando',
uninstalling: 'Desinstalando',
lost: 'Perdido',
bound: 'Vinculado',
unbind: 'Desvinculado',
exceptional: 'Excepcional',
free: 'Livre',
enable: 'Habilitado',
disable: 'Desabilitado',
deleted: 'Excluído',
notfound: 'Não encontrado',
inactive: 'Inativo',
degraded: 'Degradado',
inaccessible: 'Inacessível',
unknown: 'Desconhecido',
downloading: 'Baixando',
packing: 'Empacotando',
sending: 'Enviando',
healthy: 'Saudável',
executing: 'Executando',
installerr: 'Falha na instalação',
applyerror: 'Falha na aplicação',
systemrestart: 'Interrompido',
starterr: 'Falha na inicialização',
uperr: 'Falha na inicialização',
new: 'Novo',
conflict: 'Conflito',
duplicate: 'Duplicado',
unexecuted: 'Não Executado',
canceled: 'Cancelado',
unused: 'Não usado',
},
units: {
second: 'segundo | segundos | segundos',
minute: 'minuto | minutos | minutos',
hour: 'hora | horas | horas',
day: 'dia | dias | dias',
week: 'semana | semanas | semanas',
month: 'mês | meses | meses',
year: 'ano | anos | anos',
time: 'rqm',
core: 'núcleo | núcleos | núcleos',
secondUnit: 's',
minuteUnit: 'min',
hourUnit: 'h',
dayUnit: 'd',
millisecond: 'Milissegundo',
semicolon: ';',
},
log: {
noLog: 'Nenhum log disponível',
},
},
menu: {
home: 'Painel',
apps: 'Loja de Aplicativos',
website: 'Site | Sites',
project: 'Projeto | Projetos',
config: 'Configuração | Configurações',
ssh: 'Configurações SSH',
firewall: 'Firewall',
ssl: 'Certificado | Certificados',
database: 'Banco de Dados | Bancos de Dados',
aiTools: 'AI',
mcp: 'MCP',
container: 'Contêineres',
cronjob: 'Tarefa Cron | Tarefas Cron',
system: 'Sistema',
security: 'Segurança',
files: 'Arquivos',
monitor: 'Monitoramento',
terminal: 'Terminal',
settings: 'Configurações',
toolbox: 'Caixa de Ferramentas',
logs: 'Log | Logs',
runtime: 'Tempo de Execução | Tempos de Execução',
processManage: 'Processo | Processos',
process: 'Processo | Processos',
network: 'Rede | Redes',
supervisor: 'Supervisor',
tamper: 'À prova de violação',
app: 'Aplicativo',
msgCenter: 'Tarefas',
disk: 'Disco',
template: 'Modelo',
filter: 'Filtro',
},
home: {
recommend: 'Recomendado',
dir: 'Diretório',
alias: 'Apelido',
quickDir: 'Acesso rápido',
minQuickJump: 'Adicione pelo menos uma entrada de acesso rápido',
maxQuickJump: 'Você pode adicionar até quatro entradas de acesso rápido',
database: 'Banco de Dados - Todos',
restart_1panel: 'Reiniciar painel',
restart_system: 'Reiniciar servidor',
operationSuccess: 'Concluído com sucesso. Reiniciando agora, atualize o navegador depois.',
entranceHelper:
'A entrada segura não está ativada. Ative em "Configurações -> Segurança" para reforçar a proteção.',
appInstalled: 'Aplicações',
systemInfo: 'Informações do sistema',
hostname: 'Nome do host',
platformVersion: 'Sistema operacional',
kernelVersion: 'Versão do Kernel',
kernelArch: 'Arquitetura',
network: 'Rede',
io: 'Leitura/Gravação de Disco',
ip: 'IP local',
proxy: 'Proxy do sistema',
baseInfo: 'Informações básicas',
totalSend: 'Total enviado',
totalRecv: 'Total recebido',
rwPerSecond: 'Operações de I/O',
ioDelay: 'Latência de I/O',
uptime: 'Tempo de atividade',
runningTime: 'Tempo de execução',
mem: 'Memória do Sistema',
swapMem: 'Partição Swap',
runSmoothly: 'Baixo carregamento',
runNormal: 'Carregamento moderado',
runSlowly: 'Carregamento alto',
runJam: 'Carregamento pesado',
core: 'Núcleo físico',
logicCore: 'Núcleo lógico',
corePercent: 'Uso do Núcleo',
cpuFrequency: 'Frequência CPU',
cpuDetailedPercent: 'Distribuição do Tempo de CPU',
cpuUser: 'Usuário',
cpuSystem: 'Sistema',
cpuIdle: 'Ocioso',
cpuIrq: 'IRQ',
cpuSoftirq: 'Soft IRQ',
cpuSteal: 'Roubado',
cpuTop: 'Top 5 Processos por Uso de CPU',
memTop: 'Top 5 Processos por Uso de Memória',
loadAverage: 'Média de carga nos últimos {0} minutos',
load: 'Carga',
mount: 'Ponto de montagem',
fileSystem: 'Sistema de arquivos',
total: 'Total',
used: 'Usado',
cache: 'Cache',
free: 'Livre',
shard: 'Fragmentado',
available: 'Disponível',
percent: 'Utilização',
goInstall: 'Ir para instalação',
networkCard: 'Placa de rede',
disk: 'Disco',
memo: 'Memo',
memoPlaceholder: 'Clique no botão de editar para habilitar a edição.',
carouselSetting: 'Configuração do carrossel',
tooltipSensitiveInfo: 'Mostrar/Ocultar informações sensíveis',
},
tabs: {
more: 'Mais',
hide: 'Esconder',
closeLeft: 'Fechar à esquerda',
closeRight: 'Fechar à direita',
closeCurrent: 'Fechar atual',
closeOther: 'Fechar outros',
closeAll: 'Fechar todos',
keepAlive: 'Manter sessão da página',
cancelKeepAlive: 'Parar de manter a sessão da página',
},
header: {
logout: 'Logout',
},
database: {
manage: 'Gerenciamento',
deleteBackupHelper: 'Excluir backups do banco de dados simultaneamente',
delete: 'A operação de exclusão não pode ser desfeita, insira "',
deleteHelper: '" para excluir este banco de dados',
deleteUserHelper: '" para excluir este usuário',
userBoundDatabases: 'tem acesso aos seguintes bancos de dados:',
noMysql: 'Serviço de banco de dados (MySQL ou MariaDB)',
noPostgresql: 'Serviço de banco de dados PostgreSQL',
goUpgrade: 'Ir para atualização',
goInstall: 'Ir para instalação',
isDelete: 'Excluído',
permission: 'Permissões',
format: 'Conjunto de Caracteres',
collation: 'Collation',
collationHelper: 'Se vazio, use a collation padrão do conjunto de caracteres {0}',
permissionForIP: 'IP',
permissionAll: 'Todos (% de)',
localhostHelper:
'Configurar permissões de banco de dados como "localhost" para implantação em contêiner impedirá o acesso externo ao contêiner. Por favor, escolha com cuidado!',
databaseConnInfo: 'Conexão',
rootPassword: 'Senha root',
serviceName: 'Nome do serviço',
serviceNameHelper: 'Acesso entre containers na mesma rede.',
backupList: 'Backup',
loadBackup: 'Importar',
localUpload: 'Upload Local',
hostSelect: 'Seleção de Servidor',
selectHelper: 'Tem certeza de que deseja importar o arquivo de backup {0}?',
remoteAccess: 'Acesso remoto',
remoteHelper: 'Vários IPs separados por vírgula, exemplo: 172.16.10.111,172.16.10.112',
remoteConnHelper:
'Conectar-se ao MySQL como usuário root pode representar riscos de segurança. Realize esta operação com cautela.',
changePassword: 'Senha',
changeConnHelper: 'Esta operação modificará o banco de dados atual {0}. Deseja continuar?',
changePasswordHelper:
'O banco de dados está associado a um aplicativo. Alterar a senha alterará a senha do banco de dados do aplicativo ao mesmo tempo. A mudança surtirá efeito após a reinicialização do aplicativo.',
recoverTimeoutHelper: '-1 significa sem limite de tempo limite',
confChange: 'Configuração',
confNotFound:
'Não foi possível encontrar o arquivo de configuração. Atualize o aplicativo para a versão mais recente na loja de aplicativos e tente novamente!',
portHelper:
'Esta porta é a porta exposta do container. Você precisa salvar a modificação separadamente e reiniciar o container!',
loadFromRemote: 'Sincronizar',
userBind: 'Vincular usuário',
userAuthorization: 'Autorização de usuário',
noUserAuthorization: 'Não autorizar',
authorizedDatabaseCount: '{0} banco(s) de dados autorizado(s)',
authorizationManagement: 'Gerenciamento de autorizações',
authorizedUsers: 'Usuários autorizados',
authorizedUserCount: '{0} usuário(s)',
addUserAuthorization: 'Adicionar autorização de usuário',
revokeAuthorization: 'Revogar autorização',
revokeAuthorizationHelper: 'Revogar o acesso do usuário {0} ao banco de dados {1}?',
supplementPassword: 'Adicionar senha',
supplementPasswordHelper: 'Apenas salva a senha existente no 1Panel; não altera a senha no MySQL.',
noUserBind: 'Sem vínculo',
pgBindHelper:
'Esta operação cria um novo usuário e o vincula ao banco de dados alvo. A seleção de usuários já existentes no banco de dados não é suportada.',
pgSuperUser: 'Superusuário',
loadFromRemoteHelper:
'Isso sincronizará bancos de dados, usuários e autorizações do servidor com o 1Panel. Deseja continuar?',
passwordHelper: 'Não é possível obter, clique para modificar',
remote: 'Remoto',
remoteDB: 'Servidor remoto | Servidores remotos',
createRemoteDB: 'Vincular @.lower:database.remoteDB',
unBindRemoteDB: 'Desvincular @.lower:database.remoteDB',
unBindForce: 'Forçar desvinculação',
unBindForceHelper:
'Ignorar todos os erros durante o processo de desvinculação para garantir que a operação final seja bem-sucedida',
unBindRemoteHelper:
'Desvincular o banco de dados remoto removerá apenas a relação de vinculação e não excluirá diretamente o banco de dados remoto',
editRemoteDB: 'Editar servidor remoto',
localDB: 'Banco de dados local',
address: 'Endereço do banco de dados',
version: 'Versão do banco de dados',
userHelper:
'O usuário root ou um usuário do banco de dados com privilégios de root pode acessar o banco de dados remoto.',
mongodbPermissionDbOwner: 'Proprietário do banco de dados',
mongodbPermissionRead: 'Ler dados',
mongodbPermissionReadWrite: 'Ler e gravar dados',
mongodbPermissionUserAdmin: 'Administrador de usuários',
pgUserHelper: 'Usuário do banco de dados com privilégios de superusuário.',
ssl: 'Usar SSL',
clientKey: 'Chave privada do cliente',
clientCert: 'Certificado do cliente',
caCert: 'Certificado CA',
hasCA: 'Possui certificado CA',
skipVerify: 'Ignorar verificação de validade do certificado',
initialDB: 'Banco de Dados Inicial',
formatHelper:
'O conjunto de caracteres atual do banco de dados é {0}, a inconsistência no conjunto de caracteres pode causar falha na recuperação',
dropHelper: 'Você pode arrastar e soltar o arquivo carregado aqui ou',
clickHelper: 'clicar para fazer upload',
supportUpType:
'Suporta apenas os formatos de arquivo sql, sql.gz, tar.gz, .zip. O arquivo compactado importado deve conter apenas um arquivo .sql ou incluir test.sql',
currentStatus: 'Estado atual',
baseParam: 'Parâmetro básico',
performanceParam: 'Parâmetro de desempenho',
runTime: 'Tempo de inicialização',
connections: 'Conexões totais',
bytesSent: 'Bytes enviados',
bytesReceived: 'Bytes recebidos',
queryPerSecond: 'Consultas por segundo',
txPerSecond: 'Tx por segundo',
connInfo: 'conexões ativas/pico',
connInfoHelper: 'Se o valor for muito grande, aumente "max_connections".',
threadCacheHit: 'Acuracidade do cache de threads',
threadCacheHitHelper: 'Se for muito baixo, aumente "thread_cache_size".',
indexHit: 'Acuracidade de índice',
indexHitHelper: 'Se for muito baixo, aumente "key_buffer_size".',
innodbIndexHit: 'Taxa de acerto de índice InnoDB',
innodbIndexHitHelper: 'Se for muito baixo, aumente "innodb_buffer_pool_size".',
cacheHit: 'Acuracidade da consulta em cache',
cacheHitHelper: 'Se for muito baixo, aumente "query_cache_size".',
tmpTableToDB: 'Tabela temporária para disco',
tmpTableToDBHelper: 'Se for muito grande, tente aumentar "tmp_table_size".',
openTables: 'Tabelas abertas',
openTablesHelper: 'O valor da configuração de "table_open_cache" deve ser maior ou igual a este valor.',
selectFullJoin: 'Join completo de seleção',
selectFullJoinHelper: 'Se o valor não for 0, verifique se o índice da tabela de dados está correto.',
selectRangeCheck: 'Número de joins sem índice',
selectRangeCheckHelper: 'Se o valor não for 0, verifique se o índice da tabela de dados está correto.',
sortMergePasses: 'Número de mesclagens ordenadas',
sortMergePassesHelper: 'Se o valor for muito grande, aumente "sort_buffer_size".',
tableLocksWaited: 'Número de bloqueios de tabela',
tableLocksWaitedHelper: 'Se o valor for muito grande, considere aumentar o desempenho do banco de dados.',
performanceTuning: 'Ajuste de desempenho',
optimizationScheme: 'Plano de otimização',
keyBufferSizeHelper: 'Tamanho do buffer para índice',
queryCacheSizeHelper: 'Cache de consulta. Se essa função estiver desativada, defina este parâmetro como 0.',
tmpTableSizeHelper: 'Tamanho do cache de tabela temporária',
innodbBufferPoolSizeHelper: 'Tamanho do buffer InnoDB',
innodbLogBufferSizeHelper: 'Tamanho do buffer de log InnoDB',
sortBufferSizeHelper: '* conexões, buffer de cada thread de ordenação',
readBufferSizeHelper: '* conexões, tamanho do buffer de leitura',
readRndBufferSizeHelper: '* conexões, tamanho do buffer de leitura aleatória',
joinBufferSizeHelper: '* conexões, tamanho do cache da tabela de associação',
threadStackelper: '* conexões, tamanho do stack por thread',
binlogCacheSizeHelper: '* conexões, tamanho do cache de log binário (múltiplos de 4096)',
threadCacheSizeHelper: 'Tamanho do pool de threads',
tableOpenCacheHelper: 'Cache de tabelas',
maxConnectionsHelper: 'Conexões máximas',
restart: 'Reiniciar',
slowLog: 'Logs lentos',
noData: 'Ainda não há logs lentos.',
isOn: 'Ligado',
longQueryTime: 'limite (segundos)',
thresholdRangeHelper: 'Por favor, insira o limite correto (1 - 600).',
timeout: 'Tempo limite(segundos)',
timeoutHelper: 'Período de timeout de conexão ociosa. 0 indica que a conexão permanece ativa continuamente.',
maxclients: 'Máximo de clientes',
requirepassHelper:
'Deixe este campo em branco para indicar que nenhuma senha foi definida. Mudanças precisam ser salvas separadamente e o container reiniciado!',
databases: 'Número de bancos de dados',
maxmemory: 'Uso máximo de memória',
maxmemoryHelper: '0 indica sem restrição.',
tcpPort: 'Porta de escuta atual.',
uptimeInDays: 'Dias de operação.',
connectedClients: 'Número de clientes conectados.',
usedMemory: 'Uso atual de memória do Redis.',
usedMemoryRss: 'Tamanho da memória solicitado ao sistema operacional.',
usedMemoryPeak: 'Pico de consumo de memória do Redis.',
memFragmentationRatio: 'Taxa de fragmentação de memória.',
totalConnectionsReceived: 'Total de clientes conectados desde a execução.',
totalCommandsProcessed: 'Número total de comandos executados desde a execução.',
instantaneousOpsPerSec: 'Número de comandos executados pelo servidor por segundo.',
keyspaceHits: 'Número de vezes que uma chave de banco de dados foi encontrada.',
keyspaceMisses: 'Número de tentativas falhas de encontrar a chave do banco de dados.',
hit: 'Taxa de acerto de chave de banco de dados.',
latestForkUsec: 'Número de microssegundos gastos na última operação fork()',
redisCliHelper: '"redis-cli" não foi detectado. Habilite o serviço primeiro.',
redisQuickCmd: 'Comandos rápidos Redis',
recoverHelper: 'Isso sobrescreverá os dados com [{0}]. Deseja continuar?',
mongodbRecoverDropAllCollections: 'Limpar o banco de dados atual antes da restauração',
mongodbRecoverDropAllCollectionsHelper:
'Por padrão, apenas as coleções existentes são sobrescritas e as coleções novas são mantidas. Quando ativado, o banco de dados atual é limpo e depois restaurado a partir do backup.',
submitIt: 'Sobrescrever os dados',
baseConf: 'Básico',
allConf: 'Todos',
restartNow: 'Reiniciar agora',
restartNowHelper1:
'Você precisa reiniciar o sistema após as mudanças na configuração entrarem em vigor. Se seus dados precisarem ser persistidos, execute primeiro a operação de salvar.',
restartNowHelper: 'Isso só terá efeito após o sistema reiniciar.',
persistence: 'Persistência',
rdbHelper1: 'segundo(s), inserir',
rdbHelper2: 'registros de dados',
rdbHelper3: 'Atender a qualquer uma das condições acionará a persistência RDB.',
rdbInfo: 'Certifique-se de que o valor na lista de regras esteja entre 1 e 100000',
containerConn: 'Conexão do contêiner',
copyConnURL: 'Copiar URL de conexão',
connAddress: 'Endereço',
containerConnHelper:
'Este endereço de conexão pode ser utilizado por aplicações que estão em execução nos ambientes do site (PHP, etc.) ou no contêiner.',
remoteConn: 'Conexão externa',
remoteConnHelper2: 'Use este endereço para ambientes não-container ou conexões externas.',
remoteConnHelper3:
'O endereço de acesso padrão é o IP do host. Para modificá-lo, acesse o item de configuração "Endereço de Acesso Padrão" na página de configurações do painel.',
localIP: 'IP local',
},
aiTools: {
agents: {
agent: 'Agente',
account: 'Conta de modelo',
batchOperation: 'Operação em lote',
operationType: 'Tipo de operação',
batchAction: '{0} em lote',
installSkillAction: 'Distribuir Skill',
batchAgentTask: '{0} agentes em lote',
dispatchAgentTask: 'Distribuir tarefas para {0} agentes',
dispatchTask: 'Distribuir tarefas de {0}',
taskSubmitted: 'Tarefa de {0} enviada',
allNodes: 'Todos os nós',
targetVersion: 'Versão de destino',
skillSource: 'Origem da Skill',
skillKeyword: 'Palavra-chave da Skill',
clawHubSkillPlaceholder: 'Pesquise e selecione uma Skill primeiro',
noAccountHint: 'Selecione uma conta de modelo existente ou adicione uma nova.',
accountCount: '{0} contas de modelo',
syncAgents: 'Sincronizar agentes vinculados',
syncAgentsHelper: 'Atualize o openclaw.json para agentes que usam esta conta de modelo',
appVersion: 'Versão do app',
webuiPort: 'Porta WebUI',
tokenOrAuth: 'Token/Autenticação',
allowedOrigins: 'Endereços de acesso',
allowedOriginsRequired: 'Informe pelo menos um endereço de acesso',
allowedOriginsInvalid: 'Use o formato http(s)://host-ou-ip[:porta]',
provider: 'Provedor de modelos',
accountModelsHelper:
'Configure os modelos que esta conta disponibiliza ao OpenClaw para seleção e configuração',
accountModelsRequired: 'Selecione pelo menos um modelo',
verifyModel: 'Modelo de verificação',
verifyModelHelper:
'Selecione um modelo acessível por esta conta. Uma solicitação mínima será enviada ao salvar para verificar a conexão.',
verifyModelRequired: 'Selecione um modelo de verificação',
discoverModels: 'Obter modelos',
automaticModelDiscovery: 'Obter automaticamente',
manualModelConfiguration: 'Configuração manual',
discoverModelsHelper:
'Obtenha os modelos pela API /v1/models do provedor e adicione todos ao catálogo de modelos',
discoverModelsFailedFallback: 'Não foi possível obter os modelos. Configure um modelo manualmente.',
discoverModelsFailedUseDefaults: 'Não foi possível obter os modelos. Os modelos padrão estão em uso.',
accountModelsDuplicate: 'Há modelos duplicados no catálogo',
modelPool: 'Catálogo de modelos',
fallbackModels: 'Modelos de fallback',
addFallbackModel: 'Adicionar modelo de fallback',
fallbackModelsEmpty: 'Nenhum modelo de fallback configurado',
modelInputTypes: 'Tipos de entrada',
reasoning: 'Modelo de raciocínio',
verified: 'Verificado',
verifySkipped: 'Sem verificação',
skillsTab: 'Habilidades',
pluginsTab: 'Plugins',
pluginsInstalled: 'Instalados',
pluginsMarket: 'Mercado de plugins',
pluginsMarketHint: 'Digite uma palavra-chave para pesquisar plugins',
pluginSearchPlaceholder: 'Pesquisar plugins...',
pluginOrigin: 'Origem',
pluginOriginAll: 'Todas as origens',
pluginOriginBundled: 'Integrado',
pluginOriginExternal: 'Externo',
pluginStatusAll: 'Todos os estados',
pluginEnabled: 'Ativado',
pluginDisabled: 'Desativado',
pluginCategory: 'Categoria',
pluginVerification: 'Verificação',
pluginOfficial: 'Oficial',
pluginCommunity: 'Comunidade',
pluginDownloads: 'Downloads',
pluginEnable: 'Ativar',
pluginDisable: 'Desativar',
pluginListEmpty: 'Nenhum plugin',
pluginSearchEmpty: 'Nenhum plugin correspondente encontrado',
pluginInstallConfirm: 'Instalar o plugin {0}?',
pluginDisableConfirm: 'Desativar o plugin {0}?',
pluginUninstallConfirm: 'Desinstalar o plugin {0}?',
securityTab: 'Segurança',
otherTab: 'Outros',
timeZone: 'Fuso horário',
browserEnabled: 'Navegador habilitado',
npmRegistry: 'Registro NPM',
npmRegistryHelper:
'Usado para a instalação de plugins do OpenClaw. Você pode escolher um registro predefinido ou informar um personalizado.',
npmRegistryInvalid: 'Digite uma URL válida de registro NPM começando com http:// ou https://',
pluginInstallNPMRegistryHelper:
'Vá em Configurações -> Outros para configurar o registro NPM e acelerar a instalação do plugin',
skillsSearchPlaceholder: 'Pesquisar habilidades...',
skillsEmpty: 'Sem habilidades',
skillsMarket: 'Mercado de habilidades',
skillsMarketHint: 'Selecione uma fonte e pesquise habilidades',
skillsMarketEmpty: 'Nenhuma habilidade correspondente encontrada',
skillsMarketSourceClawhubGlobal: 'ClawHub (Global)',
skillsMarketSourceClawhubChina: 'ClawHub (China)',
skillsMarketSourceSkillhub: 'SkillHub (Tencent)',
skillsMarketSourceLocalHub: 'Loja local de Skills',
skillsScore: 'Pontuação',
skillsMarketSourceOfficial: 'Oficial',
versionUnsupportedTitle: 'Este recurso não é compatível com a versão atual',
versionUnsupportedHelper: 'Atualize o OpenClaw para a versão {0} ou superior.',
skillsGroupBuiltIn: 'Integradas',
skillsGroupExternal: 'Externas',
skillsGroupWorkspace: 'Espaço de trabalho',
switchModelSuccess: 'Modelo alterado com sucesso',
channelsTab: 'Canais',
agentRoleTab: 'Agentes',
agentRoleUnsupported: 'O gerenciamento de funções atualmente é compatível apenas com o OpenClaw.',
workspace: 'Diretório do espaço de trabalho',
agentDir: 'Diretório do agente',
roleMarkdownDescriptions: {
'AGENTS.md': [
'Instruções operacionais para o agente e como ele deve usar a memória.',
'Carregado no início de cada sessão.',
'Bom lugar para regras, prioridades e detalhes de comportamento.',
],
'SOUL.md': ['Persona, tom e limites.', 'Carregado em toda sessão.'],
'USER.md': ['Quem é o usuário e como se dirigir a ele.', 'Carregado em toda sessão.'],
'IDENTITY.md': [
'Nome, estilo e emoji do agente.',
'Criado ou atualizado durante o ritual de bootstrap.',
],
'TOOLS.md': [
'Notas sobre ferramentas locais e convenções.',
'Não controla a disponibilidade das ferramentas; serve apenas como orientação.',
],
'HEARTBEAT.md': [
'Pequena lista opcional para execuções de heartbeat.',
'Mantenha curta para evitar gasto de tokens.',
],
'BOOT.md': [
'Lista opcional de inicialização executada no reinício do gateway quando os hooks internos estão habilitados.',
'Mantenha curta; use a ferramenta de mensagem para envios externos.',
],
'BOOTSTRAP.md': [
'Ritual único da primeira execução.',
'Só é criado para um workspace totalmente novo.',
'Exclua após o ritual ser concluído.',
],
},
duplicateBinding: 'A combinacao de canal e ID da conta deve ser unica',
accountIdOptional: 'ID da conta (opcional)',
saveAllMd: 'Salvar tudo',
roleMarkdownRestartHelper:
'Salvar todos os arquivos markdown atuais exige reiniciar o contêiner para entrar em vigor. Escolha se deseja reiniciar agora ou depois.',
configFileRestartHelper:
'Salvar o arquivo de configuração exige reiniciar imediatamente o contêiner para entrar em vigor.',
overviewSnapshot: 'Visão geral',
primaryModel: 'Modelo principal',
defaultModel: 'Modelo padrão',
channelCount: 'Canais configurados',
skillCount: 'Habilidades',
jobCount: 'Tarefas agendadas',
sessionCount: 'Sessões',
hermesChatAction: 'Conversa',
hermesChatTitle: 'Conversa do Hermes',
hermesChatDialogTitle: 'Conversa do Hermes - {0}',
hermesChatNewChat: 'Nova conversa',
hermesChatNoSessions: 'Nenhuma sessão',
hermesChatMessageCount: '{0} mensagens',
hermesChatEmptyHint: 'Selecione uma sessão à esquerda ou clique em Nova conversa',
hermesChatTitlePlaceholder: 'Digite o título da sessão',
hermesChatRenameSuccess: 'O título da sessão foi atualizado',
hermesChatDeleteConfirm: 'Excluir a sessão {0}?',
hermesChatDeleteSuccess: 'Sessão excluída',
weixin: 'Weixin',
wecom: 'WeCom',
dingtalk: 'DingTalk',
feishu: 'Feishu',
pluginNotInstalled: 'O plugin não está instalado. Instale-o primeiro.',
dmPolicy: 'Política de DM',
threadSession: 'Sessão por thread',
replyMode: 'Modo de resposta',
requireMention: 'Exigir menção',
requireMentionTrue: "Exige {'@'}",
requireMentionFalse: "Não exige {'@'}",
requireMentionOpen: 'Seguir configuração do grupo',
groupPolicy: 'Política de grupo',
policyAllowlist: 'Lista de permissões',
policyOpen: 'Aberto',
policyDisabled: 'Desativado',
bots: 'Bots',
addBot: 'Adicionar bot',
accountId: 'ID da conta',
accountIdPlaceholder: 'Um ID único para diferenciar bots e usá-los depois na configuração e no roteamento.',
setDefaultBot: 'Definir como padrão',
botDuplicateField: '{field} já existe',
botRequired: 'Adicione pelo menos um bot',
botId: 'ID do bot',
allowFrom: 'Lista de permissões de DM',
allowFromPlaceholder: 'Um ID de remetente por linha',
allowlistPolicyHelper: '{0}. Usado apenas quando {1} é Lista de permissões.',
systemPrompt: 'Prompt do sistema',
groupAllowFrom: 'Lista de permissões de grupo',
groupAllowFromPlaceholder: 'Um ID de grupo por linha',
separateSessionByConversation: 'Separar sessão por conversa',
groupSessionScope: 'Escopo da sessão em grupo',
groupSessionScopeGroup: 'Compartilhado pelo grupo',
groupSessionScopeGroupSender: 'Por remetente',
sharedMemoryAcrossConversations: 'Compartilhar memória entre conversas',
asyncMode: 'Modo assíncrono',
ackText: 'Texto de confirmação',
ackTextDefault: 'Tarefa recebida, processando...',
streaming: 'Streaming',
streamingOff: 'Desativado',
streamingPartial: 'Parcial',
streamingBlock: 'Bloqueante',
streamingProgress: 'Progresso',
allowFromRequired: 'Digite pelo menos uma entrada na lista de permissões',
pairingCode: 'Código de pareamento',
pairingCodePlaceholder: 'Digite o código de pareamento',
approvePairing: 'Aprovar pareamento',
saveSuccess: 'Salvo com sucesso',
successAndRestart: '{0}. O contêiner está sendo reiniciado automaticamente.',
pairingApproveSuccess: 'Pareamento aprovado com sucesso',
scanConnect: 'Escanear para conectar',
scanConnectHelper:
'Clique para iniciar a tarefa de login por QR. O código QR aparecerá no log da tarefa e o contêiner será reiniciado automaticamente após a leitura ser concluída.',
channelAutoRestartHelper:
'Ao salvar, o contêiner será reiniciado automaticamente para que a configuração entre em vigor.',
dashboardAuthAutoRebuildHelper:
'Ao salvar o usuário ou a senha, o contêiner será reconstruído automaticamente para que as alterações entrem em vigor.',
dashboardAuthImmediateHelper:
'Ao salvar, as credenciais do QwenPaw são atualizadas imediatamente, sem reiniciar o contêiner.',
channelDeleteConfirm: 'Excluir a configuração do canal {0}?',
apiTypeBaseURLHelper: 'Este tipo envia requisições para {0}. Base URL recomendada: {1}',
customImageURLHelper:
'Informe a URL completa do endpoint de geração de imagens para contas Custom. O caminho não é adicionado automaticamente. Exemplo: {0}',
apiTypeBaseURLMismatch:
'A Base URL atual parece um caminho {0}, mas {1} está selecionado. URL recomendada: {2}',
validateAvailability: 'Validar disponibilidade da conta',
validateAvailabilityHelper: 'Envia uma mensagem mínima antes de salvar para validar a API',
validateImageAvailabilityHelper: 'Gera uma imagem mínima antes de salvar e pode gerar custos',
},
model: {
model: 'Modelo',
localModel: 'Modelos locais',
create_helper: 'Puxar "{0}"',
ollama_doc: 'Você pode visitar o site oficial da Ollama para pesquisar e encontrar mais modelos.',
container_conn_helper: 'Use este endereço para acesso ou conexão entre contêineres',
ollama_sync:
'Ao sincronizar os modelos Ollama, os modelos a seguir não foram encontrados. Deseja excluí-los?',
from_remote: 'Este modelo não foi baixado pelo 1Panel; não há logs de download relacionados.',
no_logs: 'Os logs de download deste modelo foram excluídos e não podem ser visualizados.',
vllmVersionHelper: 'Para servidores FusionXpark GB 10, selecione a versão -cu130.',
vllmDeployProfile: 'Modelo de implantação',
vllmProfileFlash0731: 'DeepSeek V4 Flash 0731',
vllmProfileVisionExp: 'DeepSeek V4 Flash Vision Exp',
vllmCommandPortHelper:
'O comando de inicialização deve usar a porta {0}; caso contrário, o serviço ficará inacessível.',
ascendVisibleDevices: 'Dispositivos Ascend visíveis (ASCEND_RT_VISIBLE_DEVICES)',
syncModelAccount: 'Sincronizar com conta de modelo',
modelAccountAddressHelper:
'Use o endereço do contêiner para agentes; 127.0.0.1, IP do sistema ou endereço personalizado para AI Gateway ou serviços externos.',
containerAddress: 'Endereço do contêiner',
customAddress: 'Endereço personalizado',
downloader: 'Baixador',
modelDir: 'Diretório do modelo',
manualDownload: 'Download manual',
modelSource: 'Fonte do modelo',
repoID: 'ID do repositório',
endpointLabel: 'Endpoint do {0}',
acceleratedEndpointLabel: 'Endpoint de aceleração do {0}',
tokenOptionalLabel: 'Token do {0} (opcional)',
searchSource: 'Pesquisar no {0}',
hfEndpointHelper:
'Configure um endpoint de aceleração quando o acesso ao HuggingFace estiver instável. A pesquisa, os detalhes e os downloads usarão esse endereço.',
sortTrending: 'Tendências',
sortLikes: 'Mais curtidos',
sortDownloads: 'Mais baixados',
sortUpdated: 'Atualizados recentemente',
sortCreated: 'Criados recentemente',
downloadsCount: 'Downloads',
likes: 'Curtidas',
taskQueue: 'Fila de downloads',
progress: 'Progresso',
localDownloaded: 'Baixados',
modelInfo: 'Detalhes do modelo',
downloading: 'Baixando',
canceled: 'Cancelado',
downloadQueued: 'Adicionado à fila de downloads',
cancelTaskConfirm: 'Cancelar esta tarefa de download?',
deleteLocalModelConfirm: 'Excluir o modelo local {0}?',
},
proxy: {
proxy: 'Melhoria de Gateway de IA',
proxyHelper1: 'Vincule o domínio e habilite o HTTPS para aumentar a segurança na transmissão',
proxyHelper2: 'Limite o acesso por IP para evitar exposição na internet pública',
proxyHelper3: 'Habilite a transmissão em fluxo',
proxyHelper4: 'Após a criação, você pode visualizar e gerenciar no lista de sites',
proxyHelper6: 'Para desativar a configuração de proxy, você pode excluí-la da lista de sites.',
whiteListHelper: 'Restringir o acesso apenas aos IPs na lista branca',
proxyHelper5:
'Após ativar, você pode desativar o acesso externo à porta em Loja de Apps - Instalado - Ollama - Parâmetros para melhorar a segurança.',
},
aiProxy: {
title: 'Gateway de IA',
apiReference: 'Referência da API',
notInstalled: 'Não instalado',
usage: 'Uso',
accountPool: 'Pool de contas',
importModelAccount: 'Importar conta de modelo',
editModelAccount: 'Editar conta de modelo',
selectModelAccount: 'Selecionar uma conta de modelo existente',
upstreamApiAddress: 'Endereço da API upstream',
priority: 'Prioridade',
healthStatus: 'Saúde',
failureCount: 'Falhas',
lastError: 'Último erro',
modelMap: 'Mapeamento de modelos',
tokenLimit: 'Limite de tokens',
tokenUsed: 'Tokens usados',
tokenRemaining: 'Tokens restantes',
resetToken: 'Redefinir tokens',
resetTokenConfirm: 'Redefinir o uso de tokens de {0}?',
unlimited: 'Ilimitado',
unlimitedWithAuto: 'Ilimitado, inclui auto',
lastUsedAt: 'Último uso',
validityPeriod: 'Período de validade',
keepCurrentValidity: 'Manter validade atual',
neverExpires: 'Nunca expira',
validForDays: 'Válido por {0} dias',
customDays: 'Dias personalizados',
enterValidityDays: 'Informe o período de validade em dias',
currentExpiresAt: 'Expiração atual: {0}',
currentNeverExpires: 'Atualmente não expira',
expiresAt: 'Data de expiração',
expired: 'Expirado',
reactivate: 'Reativar',
settingTitle: 'Configurações do gateway de IA',
basicSetting: 'Configurações básicas',
performanceSetting: 'Configurações de desempenho',
logSetting: 'Configurações de log',
protocolConversion: 'Conversão de protocolo',
protocolConversionDesc:
'Permite conversão direta compatível entre Chat Completions, Responses e Anthropic Messages. Protocolos nativos sempre têm prioridade.',
protocolConversionRisk:
'A conversão de protocolo não é sem perdas. Campos específicos, chamadas de ferramentas, raciocínio ou conteúdo multimodal podem ser degradados ou perdidos. Use após avaliar os riscos.',
visionEnhancement: 'Aprimoramento visual',
visionEnhancementRisk:
'O aprimoramento visual pode enviar imagens a um provedor de modelo visual separado.',
visionModelGroup: 'Grupo de modelos visuais',
visionModelGroupDesc:
'Selecione neste grupo de geração de texto um modelo que compreenda imagens. Todas as imagens da solicitação usam o mesmo modelo.',
visionTargetModelGroup: 'Grupo de modelos de destino',
visionTargetModelGroupDesc:
'Ativa o aprimoramento apenas para modelos deste grupo, sem alterar o modelo final da solicitação.',
visionEnhancementDesc:
'As imagens são convertidas em evidências de texto e podem perder detalhes, aumentando latência e custo. O gateway não detecta suporte visual nativo. Salvar reinicia o gateway; use após avaliar os riscos.',
visionPreprocess: 'Pré-processamento visual',
cacheHit: 'Cache encontrado',
apiType: 'Tipo de API',
maxConcurrency: 'Concorrência máxima',
accountMaxConcurrency: 'Concorrência máxima da conta',
groupMaxConcurrency: 'Concorrência máxima do grupo de usuários',
apiKeyMaxConcurrency: 'Concorrência máxima por API Key',
gatewayConcurrency: 'Concorrência atual do gateway',
waitingQueue: 'Fila de espera atual',
currentActiveUsers: 'Usuários ativos agora',
activeStreamingRequests: 'Solicitações de streaming ativas',
modelAccountConcurrency: 'Concorrência das contas de modelo',
accountAvailability: 'Disponibilidade das contas de modelo',
capacityFull: 'Capacidade esgotada',
groupConcurrency: 'Concorrência dos grupos de usuários',
apiKeyConcurrency: 'Concorrência das API Keys',
currentLimit: 'Atual / Limite',
utilization: 'Utilização',
autoRefreshSeconds: 'Atualização automática a cada {0}s',
zeroMeansUnlimited: 'Defina como 0 para ilimitado.',
groupMaxConcurrencyDesc:
'Limita as solicitações ativas de todas as API Keys do grupo. Use 0 para ilimitado.',
apiKeyMaxConcurrencyDesc: 'Limita as solicitações ativas de cada API Key do grupo. Use 0 para ilimitado.',
schedulingReason: 'Motivo do agendamento',
schedulingAffinity: 'Afinidade',
schedulingLeastUtilized: 'Menor utilização',
schedulingPriorityFallback: 'Fallback de prioridade',
schedulingRetry: 'Nova tentativa',
queueSize: 'Tamanho da fila',
queueTimeoutSeconds: 'Timeout de espera na fila (s)',
requestTimeoutSeconds: 'Timeout de requisição sem streaming (s)',
streamIdleTimeoutSeconds: 'Timeout de inatividade do streaming (s)',
maxBodyMb: 'Tamanho máximo do corpo (MB)',
runtimeRefreshSeconds: 'Intervalo de atualização do runtime (s)',
logRetentionDays: 'Retenção de logs do gateway de IA (dias)',
clearLogs: 'Limpar logs',
clearLogsConfirm:
'Isso limpará estatísticas de uso, auditorias de conformidade de conteúdo, decisões de roteamento inteligente, logs do corpo da requisição e logs de serviço do gateway de IA. Continuar?',
usageRetentionDays: 'Retenção de estatísticas de uso (dias)',
contentAuditRetentionDays: 'Retenção de auditoria de conformidade de conteúdo (dias)',
logCleanupIntervalHours: 'Intervalo de limpeza de logs (horas)',
requestBodyLog: 'Log do corpo da requisição',
requestBodyLogDesc:
'Grava corpos de requisição e resposta do AI Gateway no Elasticsearch para pesquisa, auditoria e diagnóstico.',
requestBodyLogIndexPrefix: 'Prefixo do índice',
requestBodyLogRetentionDays: 'Retenção do log do corpo da requisição (dias)',
requestBodyLogMaxBodyKb: 'Tamanho máximo do corpo da requisição (KB)',
requestBody: 'Corpo da requisição',
requestBodySize: 'Tamanho do corpo da requisição',
requestBodyTruncated: 'Truncado',
responseBody: 'Corpo da resposta',
responseBodySize: 'Tamanho do corpo da resposta',
responseBodyTruncated: 'Corpo da resposta truncado',
readableContent: 'Conteúdo legível',
rawResponse: 'Resposta bruta',
replyContent: 'Conteúdo da resposta',
reasoningContent: 'Conteúdo de raciocínio',
statusTitle: 'Status do gateway de IA',
serviceEnabled: 'Inicialização automática do serviço',
proxyEnabled: 'Gateway habilitado',
statusMessage: 'Mensagem de status',
esLogDropped: 'Logs ES descartados',
esLogLastSuccessAt: 'Última gravação ES',
esLogCircuitOpen: 'Circuito aberto',
esLogCircuitUntil: 'Circuito ES até',
serviceOperateConfirm: 'Confirmar {0} o serviço de gateway de IA?',
deleteTargetConfirm: 'Excluir {0} {1}?',
deleteBackendTitle: 'Excluir conta de modelo',
userFallback: 'Usuário excluído (ID: {0})',
requestModel: 'Modelo solicitado',
upstreamModel: 'Modelo upstream',
upstreamDuration: 'Tempo do upstream',
requestModelPlaceholder: 'ex.: qwen2.5-coder',
upstreamModelPlaceholder: 'ex.: Qwen/Qwen2.5-Coder-32B-Instruct',
addMapping: 'Adicionar mapeamento',
overview: 'Visão geral',
distribution: 'Distribuição',
usageTrend: 'Tendência de uso',
distributionBy: 'Distribuição por {0}',
unmatched: 'Sem correspondência',
modelAccount: 'Conta de modelo',
serviceProvider: 'Provedor',
tokenUsage: 'Uso de Token',
percent: 'Percentual',
ranking: 'Ranking',
rank: 'Posição',
promptToken: 'Token de entrada',
completionToken: 'Token de saída',
totalToken: 'Total de Token',
cachedToken: 'Tokens em cache',
cacheHitRate: 'Taxa de acerto do cache',
activeUsers: 'Usuários ativos',
activeModels: 'Modelos ativos',
failedRequests: 'Requisições com falha',
averageTokenPerRequest: 'Média de Token/requisição',
callLogs: 'Logs de chamadas',
usageKeywordPlaceholder: 'Pesquisar Request ID / modelo / modelo upstream / mensagem de erro',
attemptChain: 'Cadeia de tentativas',
attemptIndex: 'Ordem de chamada',
clientProtocol: 'API do cliente',
upstreamProtocol: 'API upstream',
conversionPath: 'Caminho de conversão',
noAttemptDetails: 'Nenhum registro da cadeia de tentativas',
input: 'Entrada',
output: 'Saída',
total: 'Total',
healthHealthy: 'Saudável',
healthCooldown: 'Cooldown',
healthUnhealthy: 'Anormal',
healthDeleted: 'Excluído',
healthUnknown: 'Desconhecido',
validationModelMapEmpty: 'Os nomes no mapeamento de modelos não podem ficar vazios',
validationModelMapDuplicate: 'O modelo solicitado {0} está duplicado',
modelGroup: 'Grupo de modelos',
modelCapability: 'Capacidade do modelo',
textGeneration: 'Geração de texto',
imageGeneration: 'Geração de imagens',
textModels: 'Modelos de texto',
textToImageModels: 'Modelos de texto para imagem',
embeddingModels: 'Modelos de embedding',
unauthorized: 'Não autorizado',
imageCount: 'Quantidade de imagens',
requestExample: 'Exemplo de solicitação',
availableModels: 'Modelos disponíveis',
modelGroupModels: 'Modelos solicitados',
modelGroupModelsPlaceholder: 'Selecione ou informe nomes de modelos solicitados',
modelGroupModelsHelper:
'Informe os nomes de modelo usados pelos clientes ao chamar o gateway de IA; o roteamento inteligente tenta os modelos em ordem e não faz balanceamento entre modelos.',
modelGroupGuide:
'Grupos de modelos contêm os nomes expostos pelo gateway de IA. Configure os modelos upstream no pool de contas. O nome do modelo de roteamento é virtual e não deve ser adicionado ao grupo.',
modelGroupModelCount: '{0} modelos',
contentCompliance: 'Conformidade de Conteúdo',
contentAction: 'Ação',
actionBlock: 'Bloquear',
actionAuditOnly: 'Somente auditar',
actionDropHistory: 'Remover histórico',
severity: 'Severidade',
severityHigh: 'Alta',
severityMedium: 'Média',
severityLow: 'Baixa',
sensitiveWord: 'Palavra sensível',
sensitiveGroup: 'Grupo de palavras sensíveis',
sensitiveWordCount: 'Palavras',
normalizedWord: 'Palavra normalizada',
matchedWords: 'Palavras correspondentes',
matchedGroups: 'Grupos correspondentes',
importResult: 'Importados {0}, duplicados {1}, inválidos {2}',
auditLogs: 'Logs de Auditoria',
smartRoute: 'Roteamento inteligente',
autoModelName: 'Nome do modelo de roteamento',
autoModelNameHelper:
'Solicitações com este nome de modelo entram no roteamento inteligente. Evite nomes de modelos reais.',
smartRouteGuideTitle: 'Use model={0} no cliente para entrar no roteamento inteligente',
smartRouteGuideReady:
'model={0} escolhe o grupo de modelos simples ou complexos conforme a complexidade da solicitação. Outros modelos são encaminhados normalmente.',
smartRouteGuideNotReady:
'Ative o roteamento inteligente e configure os grupos simples/complexos primeiro. Depois use model={0} no cliente.',
copyAutoModel: 'Copiar nome do modelo',
goSmartRouteSetting: 'Ir para configurações',
smartRoutePolicy: 'Política de roteamento',
routeConfig: 'Configuração de roteamento',
embeddingConfig: 'Configurações de embedding',
embeddingConfigDesc:
'Usado para roteamento inteligente e correspondência semântica de amostras de conformidade de conteúdo. Recomendado: llama.cpp + Qwen3-Embedding-0.6B. Configure antes de reconstruir vetores.',
decisionConfig: 'Parâmetros de decisão',
simpleModelGroup: 'Grupo de modelos simples',
complexModelGroup: 'Grupo de modelos complexos',
embeddingEndpoint: 'Endpoint',
embeddingModel: 'Modelo',
embeddingApiKey: 'API Key',
routeThreshold: 'Limite de roteamento',
routeThresholdHelper:
'Para Roteamento Inteligente: use amostras apenas quando a similaridade atingir este valor.',
auditThreshold: 'Limite de auditoria',
auditThresholdHelper:
'Para Conformidade de Conteúdo: considere amostras de auditoria apenas ao atingir este valor.',
topK: 'TopK',
topKHelper: 'Número de amostras mais semelhantes comparadas a cada vez.',
members: 'Membros',
samples: 'Amostras',
routeSamplesGuide:
'Amostras são exemplos de solicitações simples/complexas para correspondência por similaridade Embedding. Use solicitações reais e depois crie ou reconstrua vetores.',
rebuildVectors: 'Reconstruir vetores',
rebuildVectorsConfirm:
'Reconstruir vetores solicitará novamente ao serviço Embedding que processe as amostras de roteamento inteligente e conformidade de conteúdo. Continuar?',
createVectorOnImport: 'Criar vetores após importar',
createVectorOnImportHelper:
'Ativado por padrão. Se o Embedding estiver configurado, uma tarefa em segundo plano cria vetores; caso contrário, apenas cria amostras.',
route: 'Rota',
audit: 'Auditoria',
auditSamples: 'Amostras de auditoria',
sampleText: 'Texto',
sampleLabel: 'Rótulo',
vectorModel: 'Modelo vetorial',
vectorDim: 'Dimensão',
threshold: 'Limite',
preview: 'Pré-visualização',
previewGuide:
'A pré-visualização testa se uma solicitação é simples ou complexa sem chamar o modelo upstream. A fonte é correspondência de amostras ou regras.',
previewPlaceholder: 'Insira o texto da solicitação',
confidence: 'Confiança',
bestSampleSimilarity: 'Maior similaridade da amostra',
source: 'Fonte',
sourceHeuristic: 'Regras',
sourceEmbedding: 'Correspondência de amostras',
sourceContext: 'Herança de contexto',
latency: 'Latência',
decisionLogs: 'Logs de decisão',
requestID: 'ID da solicitação',
simple: 'Simples',
complex: 'Complexo',
sampleLabelSafe: 'Seguro',
sampleLabelReview: 'Revisar',
sampleLabelBlock: 'Bloquear',
latencyMs: 'Latência(ms)',
smartRouteSettingGuide:
'Depois de ativado, apenas solicitações com model={0} usam o roteamento inteligente. O grupo simples é para tarefas de baixo custo; o complexo para análise de código, arquitetura e diagnóstico.',
sampleLabelPlaceholder: 'simple / complex / high',
sampleImportPlaceholder: 'Uma amostra por linha',
apiKeyCount: 'Quantidade',
},
skillsHub: {
title: 'Skills Hub',
upload: 'Enviar Skill',
importSkill: 'Importar Skill',
repositoryAddress: 'Endereço do repositório',
repositoryGithubOnly: 'Somente endereços de repositórios do GitHub são suportados',
repositoryRef: 'Branch ou Tag',
repositoryRefPlaceholder: 'Padrão main; se falhar, tentará master',
repositoryDownloadPreview: 'URL de download de destino:',
packageURL: 'URL do pacote',
packageURLPlaceholder: 'Informe o endereço do pacote .zip',
importSuccess: 'Skill importada com sucesso e agora está pendente de revisão.',
source: 'Fonte',
applicableAgent: 'Agente aplicável',
overview: 'Visão geral',
versionHistory: 'Histórico de versões',
publishedAt: 'Publicado em',
versionMarker: 'Marcador',
currentVersion: 'Atual',
latestVersion: 'Versão mais recente',
latestPublished: 'Mais recente publicada',
riskLevel: 'Nível de risco',
riskReferenceHint:
'O nível de risco é gerado automaticamente a partir do conteúdo do pacote Skill e serve apenas como referência.\nBaixo: nenhum risco evidente\nMédio: scripts, dependências, URLs externas ou variáveis de ambiente\nAlto: execução remota, informações sensíveis ou comandos perigosos',
riskCheckResult: 'Resultado da verificação de segurança',
noRiskFound: 'Nenhum risco evidente encontrado.',
riskFilePath: 'Caminho do arquivo',
riskKeyword: 'Palavra-chave ou regra correspondente',
riskDescription: 'Descrição do risco',
publishHighRiskConfirm:
'Esta Skill possui itens de alto risco e pode conter execução de scripts, downloads externos ou acesso a informações sensíveis. Publicar mesmo assim?',
approve: 'Aprovar',
reject: 'Rejeitar',
publish: 'Publicar',
disable: 'Despublicar',
customTarget: 'Diretório de Skills do agente',
installToTarget: 'Instalar no diretório de Skills do agente',
hostSkillDir: 'Diretório de Skills',
hostSkillDirHelper: 'Informe o caminho do diretório de Skills no nó.',
installMethod: 'Método de instalação',
copy: 'Copiar',
extract: 'Extrair',
postInstallCommand: 'Comando pós-instalação',
localSource: 'Upload local',
uploadDragTitle: 'Arraste o pacote Skill aqui ou clique para enviar',
uploadFormatLabel: 'Formatos:',
uploadFormatValue: '.zip, .7z, .tar, .tar.gz',
uploadSizeLabel: 'Tamanho:',
uploadSizeValue: 'Até 5 MB por arquivo',
uploadRequirementLabel: 'Requisito:',
uploadRequirementPrefix: 'O pacote Skill deve conter',
onlySupportedArchive: 'Só é possível enviar pacotes Skill .zip, .7z, .tar e .tar.gz',
uploadSizeExceeded: 'Um pacote Skill não pode exceder 5 MB',
uploadSuccess: 'Skill enviada com sucesso e agora está pendente de revisão.',
versionAutoFillPlaceholder:
'Detectado automaticamente pelo nome do arquivo quando possível. Confirme ou preencha manualmente',
metadataOverwriteConfirm: 'A versão no pacote Skill difere do valor atual. Usar o valor atual?',
metadataOverwriteConfirmWithVersions:
'A versão no pacote Skill difere do valor atual. Versão do pacote: {packageVersion}; versão informada: {inputVersion}. Usar o valor atual?',
offlineNotice: 'O ambiente atual está offline. Apenas Skills da loja local podem ser instaladas.',
publishConfirm: 'Publicar esta Skill? Depois disso, ela poderá ser instalada pela loja local de Skills.',
disableConfirm: 'Despublicar esta Skill? Skills já instaladas em agentes não serão afetadas.',
deleteConfirm:
'Excluir esta Skill? Esta ação não pode ser desfeita. Skills já instaladas em agentes não serão afetadas.',
rejectConfirm: 'Rejeitar a revisão desta Skill? Ela passará para o status rejeitado.',
downloadPublishedOnly: 'Somente pacotes Skill publicados podem ser baixados.',
deleteTargetConfirm:
'Excluir esta configuração do diretório de Skills do agente? Os usuários não poderão mais selecionar este diretório de instalação.',
noInstallTarget: 'Nenhum diretório de Skills do agente disponível. Adicione um primeiro.',
postInstallConfirm:
'Este destino tem um comando pós-instalação. Confirme que o comando é confiável antes de executá-lo.',
status: {
pending: 'Pendente',
approved: 'Aprovado',
published: 'Publicado',
disabled: 'Despublicado',
rejected: 'Rejeitado',
deleted: 'Excluído',
},
agent: {
common: 'Comum',
},
risk: {
low: 'Baixo',
medium: 'Médio',
high: 'Alto',
},
riskType: {
script_file: 'Arquivo de script',
dependency_manifest: 'Manifesto de dependências',
external_url: 'URL externa',
environment_variable: 'Variável de ambiente',
dockerfile: 'Dockerfile',
command_execution: 'Execução de comando',
remote_script_execution: 'Execução de script remoto',
eval_execution: 'Execução dinâmica',
base64_execution: 'Execução após decodificação Base64',
privileged_command: 'Comando privilegiado',
dangerous_delete: 'Exclusão perigosa',
world_writable_permission: 'Permissão de alto risco',
credential: 'Credencial suspeita',
sensitive_path: 'Caminho sensível',
suspicious_download_execute: 'Download e execução suspeitos',
binary_content: 'Conteúdo binário',
scan_truncated: 'Verificação truncada',
},
riskDescriptionText: {
script_file: 'Contém arquivos de script que podem executar comandos locais.',
dependency_manifest:
'Contém manifestos de dependências que podem baixar dependências externas durante a instalação.',
external_url: 'Contém URLs externas. Verifique se os endereços de saída são confiáveis.',
environment_variable: 'Declara variáveis de ambiente. Verifique sua finalidade e valores padrão.',
dockerfile: 'Contém um Dockerfile que pode definir build de imagem ou lógica de execução.',
command_execution:
'Contém chamadas relacionadas à execução de comandos. Verifique se a lógica é confiável.',
remote_script_execution: 'Contém lógica que baixa e executa diretamente um script remoto.',
eval_execution: 'Contém execução dinâmica por eval.',
base64_execution: 'Contém lógica que executa conteúdo após decodificação Base64.',
privileged_command: 'Contém comandos sudo de elevação de privilégio.',
dangerous_delete: 'Contém comandos de exclusão perigosos.',
world_writable_permission: 'Contém alterações de permissão chmod 777.',
credential: 'Contém possível API Key, Token, Secret ou Password.',
sensitive_path: 'Contém acesso a diretórios ou arquivos sensíveis.',
suspicious_download_execute: 'Contém lógica suspeita de download externo ou download e execução.',
binary_content: 'O arquivo contém bytes NUL e pode ocultar conteúdo executável ou binário.',
scan_truncated:
'O arquivo excede o limite de verificação. O conteúdo não verificado ainda requer revisão manual.',
},
},
benchmark: {
title: 'Benchmark',
launchCommand: 'Comando de inicialização',
retest: 'Testar novamente',
statusRunning: 'Executando',
statusWaiting: 'Aguardando',
base: 'Informações básicas',
backend: 'Backend',
baseUrl: 'URL base',
endpoint: 'Endpoint',
tokenizer: 'Tokenizer',
tokenizerPlaceholder:
'Selecione ou informe um diretório local de tokenizer, ex.: /opt/1panel/tokenizers/DeepSeek-V3',
runConfig: 'Configuração de execução',
rawResult: 'Resultado bruto',
resultMetrics: 'Métricas de resultado',
contextTokens: 'Comprimento de contexto',
contextTokensHelper: 'Limite de tokens de entrada mais limite de tokens de saída para este benchmark.',
outputThroughput: 'Throughput de saída',
outputThroughputHelper: 'Tokens de saída gerados por segundo. Quanto maior, mais rápida a geração.',
totalThroughput: 'Throughput total',
totalThroughputHelper:
'Tokens de entrada e saída processados por segundo. Usado para medir a capacidade geral.',
firstTokenLatency: 'Latência do primeiro token',
firstTokenLatencyHelper:
'Tempo entre enviar a requisição e receber o primeiro token. Quanto menor, mais rápida a resposta.',
tokenValueHelper: 'Informe um inteiro positivo ou valor com k, ex.: 512, 1k, 32k',
numPrompts: 'Prompts',
concurrency: 'Concorrência',
mean: 'Média',
median: 'Mediana',
requestRate: 'Taxa de requisições',
requestRateUnlimited: 'Ilimitado (throughput máximo)',
requestRateCustom: 'QPS personalizado',
requestRateCustomPlaceholder: 'Requisições por segundo, ex.: 2.5',
successfulRequests: 'Requisições bem-sucedidas',
requestThroughput: 'Throughput de requisições',
timeout: 'Timeout (segundos)',
image: 'Imagem vLLM',
ignoreEos: 'Ignorar EOS',
extraHeaders: 'Cabeçalhos extras',
},
gpu: {
gpu: 'Monitoramento de GPU',
gpuHelper:
'Nenhum comando de gerenciamento de GPU/XPU/NPU compatível foi detectado. Verifique e tente novamente!',
process: 'Informações do Processo',
type: 'Tipo',
typeG: 'Gráficos',
typeC: 'Computação',
typeCG: 'Computação+Gráficos',
processName: 'Nome do Processo',
shr: 'Memória Compartilhada',
temperatureHelper: 'Alta temperatura da GPU pode causar redução na frequência da GPU',
gpuUtil: 'Utilização da GPU',
temperature: 'Temperatura',
performanceState: 'Estado de Desempenho',
powerUsage: 'Consumo de Energia',
memoryUsage: 'Utilização de Memória',
fanSpeed: 'Velocidade do Ventilador',
power: 'Energia',
powerCurrent: 'Energia Atual',
powerLimit: 'Limite de Energia',
memory: 'Memória',
memoryUsed: 'Memória Usada',
memoryTotal: 'Memória Total',
frequency: 'Frequência',
freeMemory: 'Memória livre',
percent: 'Utilização',
base: 'Informações Básicas',
driverVersion: 'Versão do Driver',
cudaVersion: 'Versão do CUDA',
processMemoryUsage: 'Uso de Memória',
performanceStateHelper: 'De P0 (desempenho máximo) a P12 (desempenho mínimo)',
busID: 'Endereço do Barramento',
runtimeInfo: 'Informações de execução',
deviceInfo: 'Informações do dispositivo',
persistenceMode: 'Modo de Persistência',
enabled: 'Habilitado',
disabled: 'Desabilitado',
persistenceModeHelper:
'O modo de persistência responde às tarefas mais rapidamente, mas o consumo de energia em espera aumentará correspondentemente',
displayActive: 'Inicialização da GPU',
displayActiveT: 'Sim',
displayActiveF: 'Não',
ecc: 'Tecnologia de Verificação e Correção de Erros',
computeMode: 'Modo de Computação',
default: 'Padrão',
exclusiveProcess: 'Processo Exclusivo',
exclusiveThread: 'Thread Exclusiva',
prohibited: 'Proibido',
defaultHelper: 'Padrão: Os processos podem executar simultaneamente',
exclusiveProcessHelper:
'Processo Exclusivo: Apenas um contexto CUDA pode usar a GPU, mas pode ser compartilhado por múltiplas threads',
exclusiveThreadHelper: 'Thread Exclusiva: Apenas uma thread em um contexto CUDA pode usar a GPU',
prohibitedHelper: 'Proibido: A execução simultânea de processos não é permitida',
migModeHelper:
'Usado para criar instâncias MIG, implementando isolamento físico da GPU na camada do usuário.',
migModeNA: 'Não Suportado',
current: 'Monitoramento em Tempo Real',
history: 'Registros Históricos',
notSupport: 'A versão atual ou o driver não suportam exibir este parâmetro.',
processCount: 'Qtd. de processos',
},
mcp: {
server: 'Servidor MCP',
baseUrl: 'Caminho de Acesso Externo',
baseUrlHelper: 'Por exemplo: http://192.168.1.2:8000',
ssePath: 'Caminho SSE',
ssePathHelper: 'Por exemplo: /sse, tome cuidado para não duplicar com outros servidores',
environment: 'Variáveis de Ambiente',
envKey: 'Nome da Variável',
envValue: 'Valor da Variável',
externalUrl: 'Endereço de Conexão Externo',
operatorHelper: 'Será realizada a operação {1} no {0}, continuar?',
domain: 'Endereço de Acesso Padrão',
domainHelper: 'Por exemplo: 192.168.1.1 ou example.com',
bindDomain: 'Vincular Site',
commandPlaceHolder: 'Atualmente, apenas comandos de inicialização npx e binários são suportados',
importMcpJson: 'Importar Configuração do Servidor MCP',
importMcpJsonError: 'A estrutura mcpServers está incorreta',
bindDomainHelper:
'Após vincular o site, ele modificará o endereço de acesso de todos os servidores MCP instalados e fechará o acesso externo às portas',
outputTransport: 'Tipo de Saída',
streamableHttpPath: 'Caminho de Streaming',
streamableHttpPathHelper: 'Por exemplo: /mcp, certifique-se de que não se sobreponha a outros Servidores',
npxHelper: 'Adequado para mcp iniciado com npx ou binário',
uvxHelper: 'Adequado para mcp iniciado com uvx',
protocolVersion: 'Versão do Protocolo',
protocolVersionHelper:
'Usado apenas pelo Streamable HTTP sem estado para inicializar automaticamente o MCP Server stdio a jusante',
gatewayArgsHelper:
'Os argumentos são adicionados ao comando supergateway. Os parâmetros de transporte, porta, caminho e protocolo gerenciados pelo 1Panel não podem ser alterados',
testConnection: 'Testar Conexão',
connectionSuccess: 'Conexão bem-sucedida',
connectionFailed: 'Falha na conexão',
},
tensorRT: {
llm: 'TensorRT LLM',
modelDir: 'Diretório do Modelo',
commandHelper:
'Se for necessário acesso externo, defina a porta no comando para ser a mesma que a porta do aplicativo',
imageAlert:
'Devido ao grande tamanho da imagem, recomenda-se baixar manualmente a imagem para o servidor antes da instalação',
modelSpeedup: 'Ativar aceleração de modelo',
modelType: 'Tipo de modelo',
},
},
container: {
createByCommand: 'Criar por comando',
importContainerBackupTip: 'Importar arquivo de backup de contêiner, apenas .tar.gz é suportado',
importComposeBackupTip: 'Importar arquivo de backup de compose, apenas .tar.gz é suportado',
stopContainerBeforeBackup: 'Parar contêiner antes do backup',
stopComposeBeforeBackup: 'Parar compose antes do backup',
stopBeforeBackupHelper:
'Quando habilitado, o contêiner ou serviço compose será interrompido antes do backup e restaurado automaticamente após a conclusão para garantir consistência dos dados.',
commandInput: 'Entrada de comando',
commandRule: 'Insira um comando docker run válido para criar o contêiner.',
commandHelper: 'Este comando será executado no servidor para criar o contêiner. Continuar?',
updateHelper1: 'Detectamos que este contêiner vem da loja de aplicativos. Observe os seguintes dois pontos:',
updateHelper2:
'1. As modificações atuais não serão sincronizadas com os aplicativos instalados na loja de aplicativos.',
updateHelper3:
'2. Se você modificar o aplicativo na página de instalados, o conteúdo atualmente editado se tornará inválido.',
updateHelper4:
'Editar o contêiner requer reconstrução, e qualquer dado não persistente será perdido. Deseja continuar?',
containerList: 'Lista de contêineres',
operatorHelper: '{0} será realizado no seguinte contêiner. Deseja continuar?',
operatorAppHelper:
'A operação "{0}" será realizada no(s) seguinte(s) contêiner(es) e pode afetar os serviços em execução. Deseja continuar?',
containerDeleteHelper:
"Detectado que o contêiner é da App Store. Excluir o contêiner não o removerá completamente do 1Panel. Para excluí-lo completamente, vá para a App Store -> menus 'Instalado' ou 'Ambiente de Execução'. Continuar?",
start: 'Iniciar',
stop: 'Parar',
restart: 'Reiniciar',
kill: 'Finalizar',
pause: 'Pausar',
unpause: 'Retomar',
rename: 'Renomear',
remove: 'Remover',
removeAll: 'Remover todos',
containerPrune: 'Limpar',
containerPruneHelper1: 'Isso excluirá todos os contêineres que estão no estado parado.',
containerPruneHelper2:
'Se os contêineres forem da loja de aplicativos, você precisará ir para "Loja de Aplicativos -> Instalados" e clicar no botão "Reconstruir" para reinstalá-los após a limpeza.',
containerPruneHelper3: 'Esta operação não pode ser desfeita. Deseja continuar?',
imagePrune: 'Limpar',
imagePruneSome: 'Limpar sem rótulo',
imagePruneSomeEmpty: 'Não há imagens com a tag "none" para limpar.',
imagePruneSomeHelper: 'Limpar as imagens com a tag "none" que não são usadas por nenhum contêiner.',
imagePruneAll: 'Limpar não utilizadas',
imagePruneAllEmpty: 'Não há imagens não utilizadas para limpar.',
imagePruneAllHelper: 'Limpar as imagens que não são usadas por nenhum contêiner.',
networkPrune: 'Limpar',
networkPruneHelper: 'Isso removerá todas as redes não utilizadas. Deseja continuar?',
volumePrune: 'Limpar',
volumePruneHelper: 'Isso removerá todos os volumes locais não utilizados. Deseja continuar?',
cleanSuccess: 'A operação foi bem-sucedida, o número desta limpeza: {0}!',
cleanSuccessWithSpace:
'A operação foi bem-sucedida. O número de discos limpos desta vez é {0}. O espaço em disco liberado foi {1}!',
unExposedPort: 'O endereço atual de mapeamento de porta é 127.0.0.1, o que não permite o acesso externo.',
upTime: 'Tempo de atividade',
fetch: 'Buscar',
lines: 'Linhas',
linesHelper: 'Por favor, insira o número correto de logs a serem recuperados!',
downloadLinesHelper: 'Selecione ou insira o número de linhas de log para download.',
lastDay: 'Último dia',
last4Hour: 'Últimas 4 horas',
lastHour: 'Última hora',
last10Min: 'Últimos 10 minutos',
cleanLog: 'Limpar log',
cleanLogscope: 'Tipo de limpeza',
downLogHelper1: 'Isso fará o download de todos os logs do contêiner {0}. Deseja continuar?',
downLogHelper2: 'Isso baixará os {1} logs mais recentes do contêiner {0}. Deseja continuar?',
cleanLogHelper: 'Isso exigirá a reinicialização do contêiner e não poderá ser desfeito. Deseja continuar?',
newName: 'Novo nome',
source: 'Uso de recursos',
cpuUsage: 'Uso de CPU',
cpuTotal: 'CPU total',
core: 'Núcleo',
memUsage: 'Uso de memória',
memTotal: 'Limite de memória',
memCache: 'Cache de memória',
loadSize: 'Obter Tamanho do Contêiner',
ip: 'Endereço IP',
cpuShare: 'Atribuição de CPU',
cpuShareHelper:
'O mecanismo de contêiner usa um valor base de 1024 para a atribuição de CPU. Você pode aumentá-lo para dar mais tempo de CPU ao contêiner.',
inputIpv4: 'Exemplo: 192.168.1.1',
inputIpv6: 'Exemplo: 2001:0db8:85a3:0000:0000:8a2e:0370:7334',
diskUsage: 'Uso do Disco',
localVolume: 'Volume de Armazenamento Local',
buildCache: 'Cache de Build',
usage: 'Usado: {0}, Liberável: {1}',
clean: 'Liberar',
imageClean:
'Limpar imagens excluirá todas as imagens não utilizadas. Esta operação não pode ser desfeita. Continuar?',
containerClean:
'Limpar contêineres excluirá todos os contêineres parados (incluindo aplicativos parados da Loja de Aplicativos). Esta operação não pode ser desfeita. Continuar?',
sizeRw: 'Tamanho da Camada do Contêiner',
sizeRwHelper: 'Tamanho da camada gravável exclusiva do contêiner',
sizeRootFs: 'Tamanho Virtual',
sizeRootFsHelper:
'Tamanho total de todas as camadas de imagem das quais o contêiner depende + camada do contêiner',
containerFromAppHelper:
'Detectamos que este contêiner vem da loja de aplicativos. As operações no aplicativo podem fazer com que as edições atuais sejam invalidadas.',
containerFromAppHelper1:
'Clique no botão [Param] na lista de aplicativos instalados para acessar a página de edição e modificar o nome do contêiner.',
command: 'Comando',
console: 'Interação com o contêiner',
tty: 'Atribuir pseudo-TTY (-t)',
openStdin: 'Manter STDIN aberto mesmo que não esteja anexado (-i)',
custom: 'Personalizado',
emptyUser: 'Se estiver vazio, você fará login com o padrão',
privileged: 'Privilegiado',
privilegedHelper:
'Permite que o contêiner execute determinadas operações privilegiadas no host, o que pode aumentar os riscos do contêiner. Use com cautela!',
upgradeHelper: 'Nome do Repositório/Nome da Imagem: Versão da Imagem',
upgradeWarning2:
'A operação de upgrade requer a reconstrução do contêiner, e qualquer dado não persistente será perdido. Deseja continuar?',
oldImage: 'Imagem atual',
sameImageContainer: 'Contêineres com mesma imagem',
sameImageHelper: 'Contêineres usando a mesma imagem podem ser atualizados em lote após seleção',
targetImage: 'Imagem alvo',
imageLoadErr: 'Nenhum nome de imagem detectado para o contêiner',
imageUpdateTagEmpty: 'Nenhuma tag de imagem atualizável foi detectada',
appHelper: 'O contêiner vem da loja de aplicativos, e o upgrade pode tornar o serviço indisponível.',
input: 'Entrada manual',
forcePull: 'Sempre puxar imagem',
forcePullHelper:
'Isso ignorará as imagens existentes no servidor e puxará a imagem mais recente do repositório.',
imageUpdateHelper:
'Verificar a mesma tag no registry e, se houver atualização, fazer pull e atualizar a imagem local.',
server: 'Host',
serverExample: '80, 80-88, ip:80 ou ip:80-88',
containerExample: '80 ou 80-88',
exposePort: 'Expor porta',
exposeAll: 'Expor todas',
cmdHelper: 'Exemplo: nginx -g "daemon off;"',
entrypointHelper: 'Exemplo: docker-entrypoint.sh',
autoRemove: 'Remover automaticamente',
cpuQuota: 'Número de núcleos de CPU',
memoryLimit: 'Memória',
limitHelper: 'Se definido como 0, significa que não há limitação. O valor máximo é {0}',
mount: 'Montagem',
volumeOption: 'Volume',
hostOption: 'Host',
serverPath: 'Caminho do servidor',
containerDir: 'Caminho do contêiner',
networkEmptyHelper: 'Por favor confirme que a seleção de rede do contêiner está correta',
modeRW: 'RW',
modeR: 'R',
sharedLabel: 'Modo de Propagação',
private: 'Privado',
privateHelper: 'As alterações de montagem no container e no host não se afetam mutuamente',
rprivate: 'Privado Recursivo',
rprivateHelper: 'Todas as montagens no container estão completamente isoladas do host',
shared: 'Compartilhado',
sharedHelper: 'As alterações de montagem no host e no container são visíveis entre si',
rshared: 'Compartilhado Recursivo',
rsharedHelper: 'Todas as alterações de montagem no host e no container são visíveis entre sí',
slave: 'Escravo',
slaveHelper:
'O container pode ver as alterações de montagem do host, mas suas próprias alterações não afetam o host',
rslave: 'Escravo Recursivo',
rslaveHelper: 'Todas as montagens no container podem ver as alterações do host, mas não afetam o host',
mode: 'Modo',
env: 'Ambientes',
restartPolicy: 'Política de reinício',
always: 'sempre',
unlessStopped: 'a menos que parado',
onFailure: 'em falha (cinco vezes por padrão)',
no: 'nunca',
refreshTime: 'Intervalo de atualização',
cache: 'Cache',
image: 'Imagem | Imagens',
imagePull: 'Puxar',
imagePullHelper:
'Suporta selecionar múltiplas imagens para puxar, pressione Enter após inserir cada imagem para continuar',
imagePush: 'Enviar',
imagePushHelper:
'Detectado que esta imagem possui múltiplas tags. Por favor, confirme que o nome da imagem usada para push é: {0}',
imageDelete: 'Excluir imagem',
repoName: 'Registro de contêiner',
imageName: 'Nome da imagem',
pull: 'Puxar',
path: 'Caminho',
importImage: 'Importar',
buildArgs: 'Argumentos de Build',
imageBuild: 'Construção de imagem',
pathSelect: 'Caminho',
label: 'Etiqueta',
imageTag: 'Tag de imagem',
imageTagHelper:
'Suporta definir múltiplas tags de imagem, pressione Enter após inserir cada tag para continuar',
push: 'Enviar',
fileName: 'Nome do arquivo',
export: 'Exportar',
exportImage: 'Exportar imagem',
size: 'Tamanho',
tag: 'Tags',
tagHelper: 'Uma por linha. Por exemplo,\nchave1=valor1\nchave2=valor2',
imageNameHelper: 'Nome da imagem e tag, por exemplo: nginx:latest',
cleanBuildCache: 'Limpar cache de construção',
delBuildCacheHelper:
'Isso excluirá todos os artefatos em cache gerados durante as construções e não poderá ser desfeito. Deseja continuar?',
urlWarning: 'O prefixo da URL não precisa incluir http:// ou https://. Por favor, modifique.',
network: 'Rede | Redes',
networkHelper:
'Isso pode fazer com que alguns aplicativos e ambientes de execução não funcionem corretamente. Deseja continuar?',
networkName: 'Nome',
driver: 'Driver',
option: 'Opção',
attachable: 'Anexável',
parentNetworkCard: 'Placa de Rede Principal',
subnet: 'Sub-rede',
scope: 'Escopo IP',
gateway: 'Gateway',
auxAddress: 'Excluir IP',
volume: 'Volumes',
volumeDir: 'Diretório do volume',
nfsEnable: 'Habilitar armazenamento NFS',
nfsAddress: 'Endereço',
mountpoint: 'Ponto de montagem',
mountpointNFSHelper: 'Exemplo: /nfs, /nfs-share',
options: 'Opções',
repo: 'Registries',
httpRepoHelper: 'Operar um repositório do tipo HTTP requer reinicialização do serviço Docker.',
httpRepo:
'Escolher o protocolo HTTP requer reiniciar o serviço Docker para adicioná-lo a registries inseguros.',
delInsecure: 'Remover da lista de segurança',
delInsecureHelper:
'Isso reiniciará o serviço Docker para removê-lo dos registries inseguros. Deseja continuar?',
downloadUrl: 'Servidor',
imageRepo: 'Repositório de imagens',
repoHelper: 'Inclui repositório espelho/organização/projeto?',
auth: 'Exigir autenticação',
mirrorHelper:
'Se houver múltiplos espelhos, devem ser exibidos em novas linhas, por exemplo:\nhttp://xxxxxx.m.daocloud.io \nhttps://xxxxxx.mirror.aliyuncs.com',
registrieHelper:
'Se houver múltiplos repositórios privados, eles devem ser exibidos em novas linhas, por exemplo:\n172.16.10.111:8081 \n172.16.10.112:8081',
compose: 'Compose | Composições',
composeFile: 'Arquivo de Orquestração',
fromChangeHelper: 'Trocar a origem limpará o conteúdo editado atual. Deseja continuar?',
composePathHelper:
'Caminho de salvamento do arquivo Compose: {0}; se um nome de projeto for definido no Docker Compose, ele terá prioridade; caso contrário, será usado {1}.',
composeNamePriorityHelper:
'Prioridade do nome do projeto: nome definido na configuração do Docker Compose > diretório pai do arquivo > nome informado aqui.',
composeHelper:
'A composição criada através do editor ou template do 1Panel será salva no diretório {0}/docker/compose.',
deleteFile: 'Excluir arquivo',
deleteComposeHelper:
'Excluir todos os arquivos relacionados à composição do container, incluindo arquivos de configuração e arquivos persistentes. Prossiga com cautela!',
deleteCompose: 'Excluir esta composição.',
composeDirectory: 'Diretório',
template: 'Template',
composeTemplate: 'Template de composição | Templates de composição',
content: 'Conteúdo',
contentEmpty: 'O conteúdo da composição não pode estar vazio, por favor, insira algo e tente novamente!',
containerNumber: 'Número de containers',
containerStatus: 'Status do container',
exited: 'Finalizado',
running: 'Em execução ( {0} / {1} )',
composeDetailHelper:
'A composição foi criada externamente ao 1Panel. As operações de iniciar e parar não são suportadas.',
composeOperatorHelper: 'A operação {1} será realizada no {0}. Deseja continuar?',
composeDownHelper:
'Isso irá parar e remover todos os containers e redes sob a composição {0}. Deseja continuar?',
composeEnvHelper2:
'Esta orquestração foi criada pela Loja de Aplicativos 1Panel. Modifique as variáveis de ambiente nos aplicativos instalados.',
composeContentPlaceholder: 'Escreva ou cole aqui o conteúdo do seu arquivo docker-compose',
setting: 'Configuração | Configurações',
restartHelper: 'As alterações de configuração exigem reiniciar o serviço Docker para entrarem em vigor',
operatorStatusHelper: 'Isso irá "{0}" o serviço Docker. Deseja continuar?',
dockerStatus: 'Serviço Docker',
daemonJsonPathHelper:
'Certifique-se de que o caminho de configuração seja o mesmo especificado no docker.service.',
mirrors: 'Espelhos de registro',
mirrorsHelper:
'Use primeiro as URLs de espelho do registro nas operações de imagem. Deixe vazio para desativar os espelhos do registro.',
mirrorsHelper2: 'Para mais detalhes, consulte a documentação oficial.',
registries: 'Registries inseguros',
ipv6Helper:
'Ao habilitar o IPv6, é necessário adicionar uma rede de containers IPv6. Consulte a documentação oficial para etapas específicas de configuração.',
ipv6CidrHelper: 'Faixa de endereços IPv6 para containers',
ipv6TablesHelper: 'Configuração automática do Docker IPv6 para regras do iptables.',
experimentalHelper:
'Habilitar ip6tables requer que esta configuração esteja ativada; caso contrário, ip6tables será ignorado',
cutLog: 'Opção de log',
cutLogHelper1: 'A configuração atual afetará apenas containers recém-criados.',
cutLogHelper2: 'Containers existentes precisam ser recriados para que a configuração tenha efeito.',
cutLogHelper3:
'Observe que recriar containers pode resultar em perda de dados. Se seus containers contiverem dados importantes, faça backup antes de realizar a operação de reconstrução.',
maxSize: 'Tamanho máximo',
maxFile: 'Arquivo máximo',
liveHelper:
'Por padrão, quando o daemon Docker termina, ele desliga os containers em execução. Você pode configurar o daemon para que os containers permaneçam em execução se o daemon ficar indisponível. Essa funcionalidade é chamada de "restauração ao vivo". A opção de restauração ao vivo ajuda a reduzir o tempo de inatividade dos containers devido a falhas do daemon, interrupções planejadas ou atualizações.',
liveWithSwarmHelper: 'A configuração de restauração ao vivo é incompatível com o modo swarm.',
iptablesDisable: 'Desabilitar iptables',
iptablesHelper1: 'Configuração automática das regras do iptables para Docker.',
iptablesHelper2:
'Desabilitar iptables fará com que os containers não consigam se comunicar com redes externas.',
daemonJsonPath: 'Caminho de configuração',
serviceUnavailable: 'O serviço Docker não foi iniciado no momento.',
startIn: 'para iniciar',
sockPath: 'Caminho do socket Unix',
sockPathHelper: 'Canal de comunicação entre o daemon Docker e o cliente.',
sockPathHelper1: 'Caminho padrão: /var/run/docker-x.sock',
sockPathMsg:
'Salvar a configuração do Caminho do Socket pode tornar o serviço Docker indisponível. Deseja continuar?',
sockPathErr: 'Por favor, selecione ou insira o caminho correto do arquivo do Docker sock',
related: 'Relacionado',
includeAppstore: 'Exibir containers da loja de aplicativos',
excludeAppstore: 'Ocultar Contêiner da Loja de Aplicativos',
cleanDockerDiskZone: 'Limpar o espaço em disco usado pelo Docker',
cleanImagesHelper: '(Limpar todas as imagens que não são usadas por nenhum container)',
cleanContainersHelper: '(Limpar todos os containers parados)',
cleanVolumesHelper: '(Limpar todos os volumes locais não usados)',
makeImage: 'Criar imagem',
newImageName: 'Novo nome da imagem',
commitMessage: 'Mensagem de commit',
author: 'Autor',
ifPause: 'Pausar container durante a criação',
ifMakeImageWithContainer: 'Criar nova imagem a partir deste container?',
finishTime: 'Horário da última parada',
workingDir: 'Diretório de trabalho',
composeFileMissing: 'Arquivo Compose nao detectado',
resource: 'Recurso',
macAddr: 'Endereço MAC',
volumeHelper: 'Garanta que o conteúdo do volume esteja correto',
exportHelper: 'Exporte as imagens selecionadas em um único arquivo tar.',
goSetting: 'Ir para configurações',
},
cronjob: {
importHelper:
'Tarefas agendadas duplicadas serão automaticamente ignoradas durante a importação. As tarefas serão definidas como status 【Desativado】 por padrão, e como status 【Aguardando Edição】 quando a associação de dados for anormal.',
changeStatus: 'Alterar status',
disableMsg: 'Isso irá parar a execução automática da tarefa agendada. Você deseja continuar?',
enableMsg: 'Isso permitirá que a tarefa agendada seja executada automaticamente. Você deseja continuar?',
taskType: 'Tipo',
record: 'Registros',
viewRecords: 'Visualizar registros',
shell: 'Shell',
stop: 'Parada Manual',
stopHelper: 'Esta operação forçará a parada da execução da tarefa atual. Continuar?',
log: 'Logs de backup',
logHelper: 'Backup do log do sistema',
logHelper2: '2. Log de login SSH do servidor',
logHelper3: '3. Todos os logs do site',
containerCheckBox: 'No container (não é necessário inserir o comando do container)',
containerName: 'Nome do container',
ntp: 'Sincronização de tempo',
ntp_helper: 'Você pode configurar o servidor NTP na página de Configuração Rápida da Caixa de Ferramentas.',
app: 'Backup de app',
website: 'Backup de site',
rulesHelper: 'Suporta múltiplas regras de exclusão, separadas por vírgulas inglesas , ex.: *.log,*.sql',
lastRecordTime: 'Última execução',
all: 'Todos',
failedRecord: 'Registros de falha',
successRecord: 'Registros de sucesso',
database: 'Backup de banco de dados',
backupArgs: 'Argumentos de Backup',
backupArgsHelper:
'Argumentos de backup não listados podem ser inseridos e selecionados manualmente. Por exemplo: Digite --no-data e selecione a primeira opção da lista suspensa.',
singleTransaction:
'Faz backup de tabelas InnoDB usando uma única transação, adequado para backups de dados de grande volume',
quick: 'Lê dados linha por linha em vez de carregar toda a tabela na memória, adequado para backups de dados de grande volume e máquinas com pouca memória',
skipLockTables: 'Backup sem bloquear todas as tabelas, adequado para bancos de dados altamente concorrentes',
setGtidPurgedOff:
'Não exportar informações de GTID, adequado para restaurar bancos de dados em ambientes de Group Replication',
missBackupAccount: 'A conta de backup não foi encontrada',
syncDate: 'Data de sincronização',
clean: 'Limpeza de cache',
curl: 'URL de acesso',
taskName: 'Nome',
cronSpec: 'Ciclo de execução',
cronSpecHelper: 'Digite o período correto de execução',
cleanHelper:
'Esta operação registra todos os registros de execução de tarefas, arquivos de backup e logs. Você deseja continuar?',
directory: 'Diretório de backup',
sourceDir: 'Diretório de backup',
snapshot: 'Snapshot do sistema',
allOptionHelper:
'O plano de tarefa atual é fazer backup de todos os [{0}]. O download direto não é suportado no momento. Você pode verificar a lista de backups no menu [{0}].',
exclusionRules: 'Regras de exclusão',
exclusionRulesHelper:
'Selecione ou insira regras de exclusão, pressione Enter após cada conjunto para continuar. As regras de exclusão se aplicarão a todas as operações de compactação neste backup',
default_download_path: 'Link de download padrão',
saveLocal: 'Manter backups locais (o mesmo número de cópias na nuvem)',
url: 'Endereço URL',
urlHelper: 'Por favor insira um endereço URL válido',
targetHelper: 'As contas de backup são mantidas nas configurações do painel.',
withImageHelper:
'Fazer backup das imagens da loja de aplicativos, mas isso aumentará o tamanho do arquivo de snapshot.',
ignoreApp: 'Excluir aplicativos',
withImage: 'Backup da Imagem do Aplicativo',
retainCopies: 'Manter cópias',
retryTimes: 'Tentativas de Repetição',
timeout: 'Tempo Limite',
ignoreErr: 'Ignorar erros',
ignoreErrHelper: 'Ignorar erros durante o backup para garantir a execução de todas as tarefas de backup',
retryTimesHelper: '0 significa não repetir após falha',
retainCopiesHelper: 'Número de cópias a serem mantidas para registros de execução e logs',
retainCopiesHelper1: 'Número de cópias a serem mantidas para arquivos de backup',
retainCopiesUnit: ' cópias (Visualizar)',
cronSpecRule: 'O formato do período de execução na linha {0} está incorreto. Verifique e tente novamente!',
perMonth: 'Todo mês',
perWeek: 'Toda semana',
perHour: 'Toda hora',
perNDay: 'A cada N dia(s)',
perDay: 'Todo dia',
perNHour: 'A cada N hora(s)',
perNMinute: 'A cada N minuto(s)',
perNSecond: 'A cada N segundo(s)',
day: 'dia(s)',
monday: 'Segunda-feira',
tuesday: 'Terça-feira',
wednesday: 'Quarta-feira',
thursday: 'Quinta-feira',
friday: 'Sexta-feira',
saturday: 'Sábado',
sunday: 'Domingo',
shellContent: 'Script',
errRecord: 'Registro incorreto',
errHandle: 'Falha na execução do Cronjob',
noRecord: 'Acione a tarefa Cron e você verá os registros aqui.',
cleanData: 'Limpar dados',
cleanRemoteData: 'Excluir dados remotos',
cleanDataHelper: 'Excluir o arquivo de backup gerado durante esta tarefa.',
noLogs: 'Ainda não há saída de tarefa...',
errPath: 'Caminho de backup [{0}] com erro, não é possível fazer o download!',
cutWebsiteLog: 'Rotação de log do site',
cutWebsiteLogHelper: 'Os arquivos de log rotacionados serão salvos no diretório de backup do 1Panel.',
syncIpGroup: 'Sincronizar grupos de IP do WAF',
syncIpGroupHelper: 'Sincroniza grupos de IP remotos usados nas listas negra/branca do WAF',
requestExpirationTime: 'Tempo de expiração da solicitação de upload (Horas)',
unitHours: 'Unidade: Horas',
alertTitle: 'Tarefa Planejada - {0} 「{1}」 Alerta de Falha na Tarefa',
library: {
script: 'Script',
syncNow: 'Sincronizar Agora',
turnOnSync: 'Ativar Sincronização Automática',
turnOnSyncHelper:
'Ativar a sincronização automática realizará sincronizações automáticas durante as primeiras horas da manhã diariamente',
turnOffSync: 'Desativar Sincronização Automática',
turnOffSyncHelper:
'Desativar a sincronização automática pode causar atrasos na sincronização de scripts, confirmar?',
isInteractive: 'Interativo',
interactive: 'Script interativo',
interactiveHelper:
'Requer entrada do usuário durante a execução e não pode ser usado em tarefas agendadas.',
library: 'Biblioteca de Scripts',
remoteLibrary: 'Biblioteca de Scripts Remota',
create: 'Adicionar Script',
edit: 'Editar Script',
groupHelper:
'Defina grupos diferentes com base nas características do script, o que permite operações de filtragem de scripts mais rápidas.',
handleHelper: 'Executar o script {1} em {0}, continuar?',
noSuchApp:
'O serviço {0} não foi detectado. Por favor, instale-o rapidamente usando a biblioteca de scripts primeiro!',
syncHelper:
'Preparando para sincronizar a biblioteca de scripts do sistema. Esta operação afeta apenas scripts do sistema. Continuar?',
},
nextTime: 'Próximas 5 execuções',
logHelper1: '1. Log do sistema 1Panel',
cronSpecDoc:
'Ciclos personalizados suportam apenas o formato [minuto hora dia mês semana], ex.: 0 0 * * *. Veja a documentação oficial.',
backupContent: 'Conteúdo do backup',
cronSpecRule2: 'Formato do período de execução inválido, verifique e tente novamente!',
perMonthHelper: 'Executar no dia {0} de cada mês às {1}:{2}',
perWeekHelper: 'Executar toda semana em {0} às {1}:{2}',
perDayHelper: 'Executar todos os dias às {0}:{1}',
perHourHelper: 'Executar a cada hora no minuto {0}',
perNDayHelper: 'Executar a cada {0} dias às {1}:{2}',
perNHourHelper: 'Executar a cada {0} horas em {1}',
perNMinuteHelper: 'Executar a cada {0} minutos',
perNSecondHelper: 'Executar a cada {0} segundos',
executor: 'Executor',
cleanLog: 'Limpeza automática de logs',
cleanLogscope: 'Retenção de logs',
},
monitor: {
globalFilter: 'Filtro Global',
enableMonitor: 'Status de Monitoramento',
storeDays: 'Dias de Retenção',
defaultNetwork: 'Placa de Rede Padrão',
defaultNetworkHelper: 'Opção de placa de rede padrão exibida nas interfaces de monitoramento e visão geral',
defaultIO: 'Disco Padrão',
defaultIOHelper: 'Opção de disco padrão exibida nas interfaces de monitoramento e visão geral',
cleanMonitor: 'Limpar Registros de Monitoramento',
cleanHelper: 'Esta operação limpará todos os registros de monitoramento, incluindo GPU. Continuar?',
avgLoad: 'Média de carga',
loadDetail: 'Detalhes da carga',
resourceUsage: 'Utilização',
networkCard: 'Interface de rede',
read: 'Leitura',
write: 'Gravação',
readWriteCount: 'Operações de I/O',
readWriteTime: 'Latência de I/O',
today: 'Hoje',
yesterday: 'Ontem',
lastNDay: 'Últimos {0} dias',
lastNMonth: 'Últimos {0} meses',
lastHalfYear: 'Último semestre',
memory: 'Memória',
percent: 'Percentual',
cache: 'Cache',
disk: 'Disco',
network: 'Rede',
up: 'Para cima',
down: 'Para baixo',
interval: 'Intervalo de Coleta',
intervalHelper: 'Insira um intervalo de coleta de monitoramento apropriado (10 segundos - 12 horas)',
runtimeDiagnostics: 'Diagnóstico de execução',
runtimeRSS: 'Memória do processo (RSS)',
runtimeHeapAlloc: 'Memória do heap',
runtimeHeapObjects: 'Objetos do heap',
runtimeGoroutines: 'Goroutines',
goroutineSnapshot: 'Instantâneo de Goroutines',
goroutineSummary: '{0} goroutines agrupadas em {1} pilhas de chamadas',
goroutineTruncated: 'O instantâneo é muito grande. Apenas parte das pilhas de chamadas é exibida.',
captureSnapshot: 'Atualizar instantâneo',
count: 'Quantidade',
topFunction: 'Função principal',
manualCapture: 'Captura manual',
startCapture: 'Iniciar captura',
capturing: 'Capturando',
captureSuccess: 'Arquivo de diagnóstico gerado; download iniciado',
profileCPU: 'CPU',
profileHeap: 'Heap',
profileGoroutine: 'Goroutine',
profileMutex: 'Mutex',
profileBlock: 'Bloqueio',
runtimeRSSDesc:
'Memória física ocupada pelo processo, incluindo heap do Go, pilhas de threads e memória nativa.',
runtimeHeapAllocDesc:
'Memória alocada no heap do Go que ainda não foi liberada. Crescimento contínuo pode indicar objetos retidos.',
runtimeHeapObjectsDesc:
'Número de objetos vivos no heap do Go. Crescimento contínuo pode indicar objetos retidos.',
runtimeGoroutineDesc:
'Tarefas concorrentes leves atuais. Crescimento contínuo geralmente indica possível vazamento de goroutines.',
profileCPUDesc:
'Amostra pilhas de CPU pelo período selecionado para localizar funções que realmente consomem CPU.',
profileHeapDesc:
'Registra objetos do heap ainda em uso e suas pilhas de alocação para investigar crescimento de memória.',
profileGoroutineDesc: 'Salva o estado e a pilha de cada goroutine e agrupa caminhos de chamada idênticos.',
profileMutexDesc: 'Mede o tempo de espera causado por contenção de mutex para localizar pontos de disputa.',
profileBlockDesc: 'Mede bloqueios em canais, select e primitivas de sincronização.',
},
terminal: {
local: 'Local',
defaultConn: 'Conexão Padrão',
defaultConnHelper:
'Esta operação conectará automaticamente ao terminal do nó após abrir o terminal para 【{0}】. Continuar?',
withReset: 'Redefinir Informações de Conexão',
localConnJump:
'As informações de conexão padrão são mantidas em [Terminal - Configurações]. Se a conexão falhar, edite lá!',
nodeAdminLocalOnly: 'Administradores de nó só podem usar o terminal local.',
localHelper: 'O nome local é usado apenas para identificação local do sistema.',
connLocalErr:
'Não foi possível autenticar automaticamente. Preencha as informações de login do servidor local.',
testConn: 'Testar conexão',
saveAndConn: 'Salvar e conectar',
connTestOk: 'Informações de conexão disponíveis',
connTestFailed: 'Conexão indisponível, por favor, verifique as informações de conexão.',
host: 'Hosts',
createConn: 'Nova conexão',
noHost: 'Nenhum host',
groupChange: 'Alterar grupo',
expand: 'Expandir todos',
fold: 'Contrair tudo',
batchInput: 'Processamento em lote',
quickCommand: 'Comando rápido | Comandos rápidos',
noSuchCommand:
'Nenhum dado de comando rápido encontrado no arquivo CSV importado, verifique e tente novamente!',
quickCommandHelper: 'Você pode usar os comandos rápidos na parte inferior de "Terminais -> Terminais".',
groupDeleteHelper:
'Após o grupo ser removido, todas as conexões no grupo serão migradas para o grupo padrão. Você deseja continuar?',
quickCommandBatchHelper:
'Um comando rápido por linha, usando o formato Nome---Comando, por exemplo: Ver disco---df -h',
command: 'Comando',
quickCmd: 'Comando rápido',
addHost: 'Adicionar',
localhost: 'Localhost',
ip: 'Endereço',
authMode: 'Autenticação',
passwordMode: 'Senha',
rememberPassword: 'Lembrar informações de autenticação',
keyMode: 'Chave privada',
key: 'Chave privada',
keyPassword: 'Senha da chave privada',
emptyTerminal: 'Nenhum terminal está conectado no momento.',
sessionReconnecting: 'Conexão perdida, reconectando...',
sessionExpired:
'A sessão não está mais disponível, pressione Enter ou clique em reconectar para abrir uma nova',
sessionKicked: 'Esta sessão foi aberta em outra janela',
sessionCount: '{0} sessões',
sessionRules: 'Regras da sessão de terminal',
sessionRuleClose: 'Fechar o terminal encerra a sessão imediatamente.',
sessionRuleDisconnect: 'Recupere em até 30 minutos após atualizar, fechar o navegador ou perder a conexão.',
sessionRuleRevalidate: 'A sessão termina se o login for inválido ou a verificação exceder o tempo limite.',
sessionRuleResources: 'Mais terminais consomem mais recursos. Feche os que não estiver usando.',
minimize: 'Minimizar',
closeAllSessions: 'Fechar todas as sessões',
closeAllConfirm: 'Todas as sessões de terminal serão desconectadas e não poderão ser recuperadas. Continuar?',
lineHeight: 'Altura da linha',
letterSpacing: 'Espaçamento entre letras',
fontSize: 'Tamanho da fonte',
fontFamily: 'Conjunto de fontes',
fontFamilySupportHelper:
'Selecione ou digite fontes. O efeito depende de a fonte estar instalada no sistema do navegador; se não estiver, haverá fallback automático. Se estiver vazio, a fonte padrão será usada.',
backgroundColor: 'Cor de fundo',
foregroundColor: 'Cor do texto',
cursorBlink: 'Piscar do cursor',
cursorStyle: 'Estilo do cursor',
cursorUnderline: 'Sublinhado',
cursorBlock: 'Bloco',
cursorBar: 'Barra',
scrollback: 'Scrollback',
scrollSensitivity: 'Sensibilidade de rolagem',
aiAssistant: 'Assistente de IA',
aiAccountHelper:
'Use a conta de modelo selecionada para gerar e preencher comandos. Para modelos locais como Ollama e vLLM, use uma conta de modelo personalizada.',
aiPrefix: 'Prefixo de disparo',
aiPrefixHelper:
'Digite "prefixo + espaço" e pressione Enter para acionar a geração de comandos por IA, por exemplo: {0} me ajude a consultar as informações do disco.',
aiRiskCommands: 'Intercepção de comandos de risco',
aiRiskCommandsHelper:
'Configure os comandos de risco que devem ser interceptados, um por linha. Quando houver correspondência, a geração será bloqueada e preenchida de volta como comentário.',
aiSummary:
'Quando uma linha começa com o prefixo {0} e você pressiona Enter, a geração de comandos por IA é acionada.',
aiPrefixAsciiVisible:
'Apenas caracteres ASCII visíveis são suportados. Espaços, caracteres CJK e símbolos de largura total não são permitidos.',
saveHelper: 'Tem certeza de que deseja salvar a configuração atual do terminal?',
},
toolbox: {
common: {
toolboxHelper: 'Para alguns problemas de instalação e uso, consulte',
},
swap: {
swap: 'Partição Swap',
swapHelper1:
'O tamanho do swap deve ser de 1 a 2 vezes a memória física, ajustável conforme os requisitos específicos;',
swapHelper2:
'Antes de criar um arquivo swap, verifique se o disco do sistema tem espaço disponível suficiente, pois o tamanho do arquivo swap ocupará o espaço correspondente no disco;',
swapHelper3:
'Swap pode ajudar a aliviar a pressão de memória, mas é apenas uma alternativa. A dependência excessiva de swap pode levar a uma diminuição no desempenho do sistema. É recomendável priorizar o aumento de memória ou otimizar o uso de memória do aplicativo;',
swapHelper4:
'É aconselhável monitorar regularmente o uso de swap para garantir o funcionamento normal do sistema.',
swapDeleteHelper:
'Esta operação removerá a partição Swap {0}. Por motivos de segurança do sistema, o arquivo correspondente não será excluído automaticamente. Se a exclusão for necessária, por favor, faça manualmente!',
saveHelper: 'Por favor, salve as configurações atuais primeiro!',
saveSwap:
'Salvar a configuração atual ajustará o tamanho da partição Swap {0} para {1}. Você deseja continuar?',
swapMin: 'O tamanho mínimo da partição é 40 KB. Por favor, modifique e tente novamente!',
swapMax: 'O valor máximo para o tamanho da partição é {0}. Por favor, modifique e tente novamente!',
swapOff: 'O tamanho mínimo da partição é 40 KB. Definir como 0 desabilitará a partição Swap.',
},
device: {
dnsHelper: 'Servidor DNS',
dnsAlert: 'Atenção! Alterar /etc/resolv.conf fará o arquivo voltar ao padrão após reiniciar o sistema.',
dnsHelper1:
'Quando houver múltiplos DNS, coloque cada um em uma nova linha. Ex.:\n114.114.114.114\n8.8.8.8',
hostsHelper: 'Resolução de hostname',
hosts: 'Domínio',
hostAlert:
'Os registros comentados estão ocultos. Clique em "Todas as configurações" para visualizá-los ou configurá-los.',
toolbox: 'Configurações rápidas',
hostname: 'Hostname',
passwd: 'Senha do sistema',
passwdHelper: 'Os caracteres de entrada não podem incluir $ e &',
timeZone: 'Fuso horário do sistema',
localTime: 'Hora do servidor',
timeZoneChangeHelper: 'Alterar o fuso horário do sistema exige reiniciar o serviço. Continuar?',
timeZoneHelper:
'Se o comando "timedatectl" não estiver instalado, talvez não seja possível alterar o fuso horário.',
timeZoneCN: 'Pequim',
timeZoneAM: 'Los Angeles',
timeZoneNY: 'Nova York',
ntpALi: 'Alibaba',
ntpGoogle: 'Google',
syncSite: 'Servidor NTP',
syncSiteHelper: 'Sincronizar hora do sistema com {0}?',
hostnameHelper:
'A alteração do hostname depende do comando "hostnamectl". Se não estiver instalado, a alteração pode falhar.',
userHelper:
'O nome de usuário depende do comando "whoami". Se não estiver instalado, a leitura pode falhar.',
passwordHelper:
'A alteração de senha depende do comando "chpasswd". Se não estiver instalado, a alteração pode falhar.',
hostHelper: 'Há valor vazio no conteúdo fornecido. Verifique e tente novamente após ajustar!',
dnsCheck: 'Testar disponibilidade',
dnsOK: 'Configuração DNS disponível!',
dnsTestFailed: 'Configuração DNS indisponível.',
},
fail2ban: {
sshPort: 'Monitorar porta SSH',
sshPortHelper: 'O Fail2ban atual monitora a porta SSH de conexão do host',
unActive: 'O serviço Fail2ban não está habilitado no momento.',
operation: 'Você executará a operação "{0}" no serviço Fail2ban. Continuar?',
fail2banChange: 'Modificar configuração do Fail2ban',
ignoreHelper: 'Os IPs da lista de permissão serão ignorados no bloqueio. Continuar?',
bannedHelper: 'Os IPs da lista de bloqueio serão bloqueados pelo servidor. Continuar?',
maxRetry: 'Máximo de tentativas',
banTime: 'Tempo de bloqueio',
banTimeHelper: 'Tempo padrão de bloqueio é 10 minutos; -1 indica bloqueio permanente',
banTimeRule: 'Digite um tempo de bloqueio válido ou -1',
banAllTime: 'Bloqueio permanente',
findTime: 'Período de detecção',
banAction: 'Ação de bloqueio',
banActionOption: 'Bloquear IPs especificados usando {0}',
allPorts: ' (Todas as portas)',
ignoreIP: 'Lista de permissão de IP',
bannedIP: 'Lista de bloqueio de IP',
logPath: 'Caminho do log',
logPathHelper: 'Padrão: /var/log/secure ou /var/log/auth.log',
},
ftp: {
ftp: 'Conta FTP | Contas FTP',
notStart: 'O serviço FTP não está em execução. Inicie-o primeiro!',
initHelper:
'A identidade do usuário FTP não foi inicializada. Clique em Inicializar na barra de status superior.',
operation: 'Isto executará a operação "{0}" no serviço FTP. Continuar?',
noPasswdMsg: 'Não foi possível obter a senha atual da conta FTP. Defina a senha e tente novamente.',
enableHelper: 'Ativar a conta FTP selecionada restaurará suas permissões de acesso. Continuar?',
disableHelper: 'Desativar a conta FTP selecionada revogará suas permissões de acesso. Continuar?',
syncHelper: 'Sincronizar dados de conta FTP entre servidor e banco de dados. Continuar?',
dirSystem:
'Este diretório é reservado pelo sistema. Alterar pode causar falha do sistema; ajuste e tente novamente!',
dirHelper: 'Ativar FTP exige alteração de permissões de diretório; escolha com cuidado',
dirMsg: 'Ativar FTP modificará permissões de todo o diretório {0}. Continuar?',
},
clam: {
clam: 'Varredura de vírus',
cron: 'Varredura agendada',
cronHelper: 'A edição comercial oferece suporte a varreduras agendadas',
specErr: 'Formato do agendamento inválido, verifique e tente novamente!',
disableMsg: 'Parar a execução agendada impedirá a execução automática desta tarefa. Continuar?',
enableMsg:
'Ativar a execução agendada fará esta tarefa executar automaticamente em intervalos regulares. Continuar?',
showFresh: 'Mostrar serviço de atualização de assinaturas',
hideFresh: 'Ocultar serviço de atualização de assinaturas',
clamHelper:
'Configuração mínima recomendada para ClamAV: 3 GiB de RAM ou mais, CPU de 1 núcleo com 2.0 GHz+ e ao menos 5 GiB de disco livre.',
notStart: 'O serviço ClamAV não está em execução. Inicie-o primeiro!',
removeRecord: 'Excluir arquivos de relatório',
noRecords: 'Clique no botão "Executar" para iniciar a varredura e ver os registros aqui.',
removeInfected: 'Excluir arquivos de vírus',
removeInfectedHelper:
'Excluir arquivos infectados detectados na tarefa para garantir segurança e operação normal do servidor.',
clamCreate: 'Criar regra de varredura',
infectedStrategy: 'Estratégia para infectados',
removeHelper: 'Excluir arquivos de vírus, escolha com cuidado!',
move: 'Mover',
moveHelper: 'Mover arquivos de vírus para o diretório especificado',
copyHelper: 'Copiar arquivos de vírus para o diretório especificado',
none: 'Não fazer nada',
noneHelper: 'Não executar ação em arquivos de vírus',
scanDir: 'Diretório da varredura',
infectedDir: 'Diretório infectado',
scanDate: 'Data da varredura',
scanResult: 'Final do log de varredura',
tail: 'Linhas',
infectedFiles: 'Arquivos infectados',
log: 'Detalhes',
clamConf: 'Daemon Clam AV',
clamLog: 'Logs de @:toolbox.clam.clamConf',
freshClam: 'FreshClam',
freshClamLog: 'Logs de @:toolbox.clam.freshClam',
alertHelper: 'A edição comercial oferece suporte a varreduras agendadas e alertas por SMS',
alertTitle: 'Tarefa de varredura de vírus "{0}" detectou arquivo infectado',
},
},
logs: {
core: 'Serviço de Painel',
agent: 'Monitoramento de Nós',
panelLog: 'Logs do painel',
operation: 'Logs de operação',
login: 'Logs de login',
loginIP: 'IP de login',
loginAddress: 'Endereço de login',
loginAgent: 'Agente de login',
loginStatus: 'Status',
system: 'Logs do sistema',
hostSystem: 'Logs do host',
previousPage: 'Página anterior',
nextPage: 'Próxima página',
filter: 'Filtrar mensagens',
service: 'Serviço',
priority: 'Prioridade',
priorityEmergency: 'Emergência',
priorityAlert: 'Alerta',
priorityCritical: 'Crítico',
priorityError: 'Erro',
priorityWarning: 'Aviso',
priorityNotice: 'Notificação',
priorityInfo: 'Informação',
priorityDebug: 'Depuração',
message: 'Mensagem',
deleteLogs: 'Limpar logs',
resource: 'Recurso',
detail: {
dashboard: 'Visão Geral',
ai: 'AI',
skills_hub: 'Skills Hub',
ai_proxy: 'Proxy de IA',
ai_benchmark: 'Benchmark',
groups: 'Grupos',
hosts: 'Hosts',
apps: 'Aplicativos',
openresty: 'OpenResty',
websites: 'Sites',
monitor: 'Monitoramento de Sites',
containers: 'Contêineres',
files: 'Gerenciamento de Arquivos',
runtimes: 'Ambientes de Execução',
process: 'Gerenciamento de Processos',
toolbox: 'Caixa de Ferramentas',
backups: 'Backup / Restauração',
tampers: 'Proteção contra Alterações',
xsetting: 'Configurações da Interface',
logs: 'Auditoria de Logs',
settings: 'Configurações do Painel',
cronjobs: 'Tarefas Agendadas',
waf: 'WAF',
databases: 'Bancos de Dados',
licenses: 'licenças',
nodes: 'nós',
commands: 'Comandos Rápidos',
opsReport: 'Relatório de Operações',
ops_report: 'Relatório de Operações',
users: 'Gerenciamento de usuários',
roles: 'Função',
auth: 'Autenticação de login',
auth_sources: 'Configurações de autenticação',
alert: 'Notificações de alerta',
sync: 'Sincronização de Recursos',
exchange: 'Sincronização de Recursos',
xapp: 'App',
vms: 'Gerenciamento de Máquinas Virtuais',
},
websiteLog: 'Logs do website',
runLog: 'Logs de execução',
errLog: 'Logs de erro',
task: 'Log de tarefas',
taskName: 'Nome da tarefa',
taskRunning: 'Em execução',
},
file: {
fileDirNum: '{0} diretórios, {1} arquivos,',
currentDir: 'Diretório atual',
dir: 'Pasta',
fileName: 'Nome do arquivo',
search: 'Pesquisar',
mode: 'Permissões',
editPermissions: 'Editar permissões',
owner: 'Proprietário',
file: 'Arquivo',
remoteFile: 'Baixar de remoto',
share: 'Compartilhar',
sync: 'Sincronização de dados',
size: 'Tamanho',
updateTime: 'Modificado',
rename: 'Renomear',
role: 'Permissões',
info: 'Atributos',
linkFile: 'Link simbólico',
shareList: 'Lista de compartilhamento',
fileTools: 'Ferramentas de arquivo',
aiSearchHitLines: 'Linhas correspondentes',
aiSearch: 'Pesquisa de IA',
aiSearchTitle: 'Pesquisa de IA',
aiSearchHint:
'Pesquise o conteúdo do arquivo linha por linha. Use os botões à direita da barra de busca e as "Condições avançadas" abaixo. Quando a conta de IA estiver ativada e salva, também será possível gerar um resumo em Markdown.',
aiSearchAccountTitle: 'Conta de IA',
aiSearchAccountIntro: 'Escolha uma conta de modelo para gerar resumos e clique em salvar após as alterações.',
aiSearchAccountEnable: 'Ativar pesquisa de IA em arquivos',
aiSearchSaveAccount: 'Salvar configuração da conta',
aiSearchSectionQuery: 'Pesquisa',
aiSearchSectionConditions: 'Condições de busca',
aiSearchResultsSection: 'Resultados da análise',
aiSearchContentLabel: 'Conteúdo da busca',
aiSearchDirLabel: 'Diretório',
aiSearchExtLabel: 'Extensão do arquivo',
aiSearchModifiedPreset: 'Data de modificação',
aiSearchSizePresetLabel: 'Tamanho do arquivo',
aiSearchTimeAny: 'Qualquer período',
aiSearchTime3h: 'Últimas 3 horas',
aiSearchTime1d: 'Último 1 dia',
aiSearchTime7d: 'Últimos 7 dias',
aiSearchTime30d: 'Últimos 30 dias',
aiSearchTimeCustom: 'Personalizado',
aiSearchSizeAny: 'Qualquer tamanho',
aiSearchSize0_10mb: '0 ~ 10 MB',
aiSearchSize10_100mb: '10 MB ~ 100 MB',
aiSearchSize100_1gb: '100 MB ~ 1 GB',
aiSearchSizeGte1gb: '≥ 1 GB',
aiSearchSizeCustom: 'Personalizado (bytes)',
aiSearchPlaceholder: 'Digite o conteúdo da busca',
aiSearchContainSub: 'Subpastas',
aiSearchMaxItems: 'Limite de caminhos/arquivos incluídos na busca (enumeração de diretório, 12000)',
aiSearchRun: 'Iniciar análise',
aiSearchTruncated: 'Há muitos itens no diretório; apenas parte da lista foi incluída.',
aiSearchPreFiltered: 'Os caminhos relativos foram pré-filtrados por palavra-chave.',
aiSearchMeta: 'Itens para análise: {0} | Duração {1} | Tokens {2}',
aiSearchQueryRequired: 'Digite uma descrição da busca ou palavras-chave',
aiSearchContentHits: 'Correspondências no conteúdo',
aiSearchContentScanMeta: 'Varredura de conteúdo: {0} arquivos de texto lidos.',
aiSearchNoLineHits: 'Nenhuma linha correspondeu nos arquivos de texto analisados.',
aiSearchHitsTruncated: 'Alguns arquivos não foram analisados ou a lista foi truncada pelos limites.',
aiSearchHitFiles: 'Arquivos com correspondências',
aiSearchOpenFile: 'Abrir no editor',
aiSearchOpenAtLine: 'Abrir e ir para esta linha',
aiSearchGrepOnlyHint:
'A IA de arquivos está desativada: apenas a busca determinística de conteúdo é executada, sem chamar o modelo. Ative e salve a conta de IA acima para obter resumos. A linha de busca e as opções abaixo continuam válidas.',
aiSearchMatchCase: 'Diferenciar maiúsculas e minúsculas',
aiSearchWholeWord: 'Palavra inteira (limites de palavra em inglês \\b)',
aiSearchUseRegex: 'Expressão regular (sintaxe Go RE2)',
aiSearchExtensions: 'Extensões de arquivo (separadas por vírgula, ex.: go,ts,md)',
aiSearchMinSize: 'Tamanho mínimo do arquivo (bytes, 0 = sem limite)',
aiSearchMaxSize: 'Tamanho máximo do arquivo (bytes, 0 = sem limite)',
aiSearchSectionAdvanced: 'Condições avançadas',
aiSearchLimitMaxItems: 'Total de arquivos na busca',
aiSearchLimitMaxScan: 'Arquivos para varredura de conteúdo',
aiSearchLimitMaxBytes: 'Limite de leitura por arquivo',
aiSearchLimitHitsPerFile: 'Linhas correspondentes por arquivo',
aiSearchLimitTotalHits: 'Total de linhas correspondentes',
aiSearchLimitUnitEntries: 'itens',
aiSearchLimitUnitFiles: 'arquivos',
aiSearchLimitUnitBytes: 'B',
aiSearchLimitUnitLines: 'linhas',
aiSearchMaxScanFiles: 'Máximo de arquivos para varredura de conteúdo',
aiSearchMaxFileBytes:
'Máximo de bytes lidos de cada arquivo durante a varredura de conteúdo. Diferente do filtro de tamanho acima (o tamanho em disco define se entra na lista), este limite controla quanto é lido para a correspondência.',
aiSearchMaxHitsPerFile: 'Máximo de linhas correspondentes por arquivo',
aiSearchMaxTotalHits: 'Limite total de linhas correspondentes',
aiSearchGrepMetaContent:
'Varredura de conteúdo: {0} itens totais, {1} arquivos de texto lidos (pelas condições atuais; limites de tamanho/quantidade se aplicam). Duração {2}',
aiSearchAdvancedResetDefaults: 'Restaurar limites padrão',
zip: 'Compactado',
group: 'Grupo',
path: 'Caminho',
public: 'Outros',
setRole: 'Configurar permissões',
link: 'Link do arquivo',
rRole: 'Leitura',
wRole: 'Escrita',
xRole: 'Executável',
name: 'Nome',
compress: 'Compactar',
deCompress: 'Descompactar',
compressType: 'Formato de compactação',
compressDst: 'Caminho de compactação',
replace: 'Substituir arquivos existentes',
compressSuccess: 'Compactado com sucesso',
deCompressSuccess: 'Descompactado com sucesso',
deCompressDst: 'Caminho de descompactação',
linkType: 'Tipo de link',
softLink: 'Link simbólico',
hardLink: 'Link físico',
linkPath: 'Caminho do link',
selectFile: 'Selecionar arquivo',
downloadUrl: 'URL remota',
downloadStart: 'Download iniciado',
wgetUrlInvalid: 'Informe um URL de download http(s) válido',
moveSuccess: 'Movido com sucesso',
copySuccess: 'Copiado com sucesso',
pasteMsg: 'Clique no botão "Colar" no canto superior direito do diretório de destino',
move: 'Mover',
calculate: 'Calcular',
remark: 'Observação',
setRemark: 'Definir observação',
remarkPrompt: 'Digite uma observação',
remarkPlaceholder: 'Observação',
remarkToggle: 'Observações',
remarkToggleTip: 'Carregar observações do arquivo',
canNotDeCompress: 'Não é possível descompactar este arquivo',
uploadSuccess: 'Upload bem-sucedido',
downloadProcess: 'Progresso do download',
downloading: 'Baixando...',
infoDetail: 'Propriedades do arquivo',
root: 'Diretório raiz',
list: 'Lista de arquivos',
sub: 'Subpastas',
downloadSuccess: 'Baixado com sucesso',
theme: 'Tema',
language: 'Idioma',
eol: 'Fim de linha',
history: 'Histórico de versões',
historyTitle: 'Histórico de versões',
historyHint:
'Registra a versão anterior a cada alteração do arquivo, permitindo revisar o histórico de mudanças do ' +
'conteúdo e reverter versões.',
historySettingTitle: 'Política de versões',
historyEnable: 'Ativar histórico de versões',
historyMaxPerPath: 'Manter por arquivo',
historyDiskQuota: 'Cota total de disco (MB)',
historyCurrentScope: 'Arquivo atual',
historyAllScope: 'Todos os arquivos',
historyDeleteConfirm: 'Tem certeza de que deseja excluir os registros selecionados?',
historyNeedFile: 'Abra um arquivo primeiro',
historyRestore: 'Restaurar esta versão',
historyOperationOnlyHint: 'O item selecionado é uma operação de arquivo e não suporta restauração de versão.',
historyCurrentFile: 'Arquivo atual',
historyLatestVersion:
'O lado esquerdo mostra o conteúdo da versão do histórico e o lado direito mostra a versão mais recente do arquivo selecionado',
historyCompareTarget: 'Destino da comparação',
historyCompareTargetPath: 'Caminho da comparação',
historyRestoreConfirm: 'Restaurar esta versão para o arquivo atual?',
historyRestoreDirtyConfirm:
'O arquivo atual possui alterações não salvas. Restaurar irá sobrescrever essas alterações. Continuar?',
historyRestoreSuccess: 'Versão restaurada com sucesso',
historyDirtyHint:
'O editor atual possui alterações não salvas. Restaurar uma versão irá sobrescrever essas alterações.',
historyDiffHintCurrent:
'O lado esquerdo mostra a versão do histórico e o lado direito mostra o conteúdo do arquivo atual',
historyDiffHintAll:
'O lado esquerdo mostra a versão do histórico e o lado direito mostra a versão mais recente do arquivo selecionado',
copyDir: 'Copiar',
shareFile: 'Compartilhar arquivo',
shareExpire: 'Expira em',
shareExpire1h: '1 hora',
shareExpire6h: '6 horas',
shareExpire24h: '24 horas',
shareExpire3d: '3 dias',
shareExpire7d: '7 dias',
sharePassword: 'Senha',
sharePasswordPlaceholder: 'Deixe vazio para não usar senha',
shareMaxDownloads: 'Máximo de downloads',
shareMaxDownloadsHint: '0 significa ilimitado',
shareGenerate: 'Criar link',
shareRegenerate: 'Compartilhar novamente',
shareClose: 'Fechar',
shareCancel: 'Cancelar compartilhamento',
shareCancelConfirm: 'Tem certeza de que deseja cancelar este compartilhamento de arquivo?',
shareDetail: 'Detalhes',
shareCopyLink: 'Copiar link',
shareLinkLabel: 'Link de compartilhamento',
shareQrCode: 'Código QR',
shareQrDialogTitle: 'Código QR do link de compartilhamento',
shareQrDialogHelper: 'Leia este código QR com seu dispositivo móvel',
shareSaveImage: 'Salvar imagem',
shareOpenImage: 'Abrir imagem',
shareExtractFile: 'Obter arquivo',
shareDownloadingHint: 'Preparando o arquivo. O download começará em breve.',
shareInvalid: 'Link de compartilhamento inválido ou expirado',
shareDownloadFailed: 'Falha no download. Tente novamente mais tarde',
sharePasswordRequired: 'Senha de acesso',
sharePasswordRequiredInput: 'Digite a senha de compartilhamento',
sharePasswordLengthHint: 'A senha de compartilhamento deve ter de 4 a 256 caracteres',
shareDownloadPasswordTip: 'Este link é protegido por senha. Digite a senha antes de fazer o download.',
shareRiskAlert:
'Links compartilhados podem apresentar riscos de segurança. Compartilhe apenas com pessoas confiáveis e evite expor informações confidenciais.',
sharePasswordSeparate:
'Uma senha foi definida. Compartilhe-a com segurança. Os destinatários devem adicionar &password=... à URL ou usar um cliente que envie o parâmetro de consulta da senha.',
shareExpiresAt: 'Expira em',
paste: 'Colar',
changeOwner: 'Modificar usuário e grupo de usuários',
containSub: 'Aplicar mudança de permissões recursivamente',
ownerHelper:
'O usuário padrão do ambiente PHP: o grupo de usuários é 1000:1000, é normal que os usuários dentro e fora do container mostrem inconsistências',
searchHelper: 'Suporte a curingas como *',
uploadFailed: '[{0}] Falha no upload do arquivo',
fileUploadStart: 'Carregando [{0}]...',
uploadOverallProgress: 'Progresso geral',
uploadCurrentFileProgress: 'Arquivo atual',
currentSelect: 'Seleção atual: ',
unsupportedType: 'Tipo de arquivo não suportado',
deleteHelper:
'Tem certeza de que deseja excluir os seguintes arquivos? Por padrão, eles irão para a lixeira após a exclusão',
fileHelper:
'Nota:\n1. Os resultados da pesquisa não podem ser ordenados.\n2. Pastas não podem ser ordenadas por tamanho.',
forceDeleteHelper: 'Excluir permanentemente o arquivo (sem entrar na lixeira, excluí-lo diretamente)',
recycleBin: 'Lixeira',
sourcePath: 'Caminho original',
deleteTime: 'Hora da exclusão',
confirmReduce: 'Tem certeza de que deseja restaurar os seguintes arquivos?',
reduceSuccess: 'Restaurado com sucesso',
reduce: 'Restaurar',
reduceHelper:
'Se um arquivo ou diretório com o mesmo nome existir no caminho original, ele será substituído. Deseja continuar?',
clearRecycleBin: 'Limpar',
clearRecycleBinHelper: 'Você deseja limpar a lixeira?',
favorite: 'Favoritos',
removeFavorite: 'Remover dos favoritos?',
addFavorite: 'Adicionar/Remover aos favoritos',
addFavoriteAction: 'Adicionar aos favoritos',
removeFavoriteAction: 'Remover dos favoritos',
clearList: 'Limpar lista',
deleteRecycleHelper: 'Tem certeza de que deseja excluir permanentemente os seguintes arquivos?',
typeErrOrEmpty: '[{0}] tipo de arquivo errado ou pasta vazia',
dropHelper: 'Arraste os arquivos que deseja carregar aqui',
fileRecycleBin: 'Habilitar lixeira',
fileRecycleBinMsg: '{0} lixeira',
wordWrap: 'Quebra automática de linha',
deleteHelper2:
'Tem certeza de que deseja excluir o arquivo selecionado? A operação de exclusão não pode ser desfeita',
ignoreCertificate: 'Permitir conexões inseguras com o servidor',
ignoreCertificateHelper:
'Permitir conexões inseguras com o servidor pode levar a vazamento ou adulteração de dados. Use esta opção apenas quando confiar na fonte de download.',
useProxy: 'Baixar via proxy',
useProxyHelper: 'Usar o servidor proxy configurado no painel para acessar a URL remota',
uploadOverLimit: 'O número de arquivos excede 1000! Por favor, compacte e envie novamente',
clashDidNotSupport: 'Os nomes de arquivos são proibidos de conter .1panel_clash',
clashDeleteAlert: 'A pasta "Lixeira" não pode ser excluída',
clashOpenAlert: 'Clique no botão "Lixeira" para abrir o diretório da lixeira',
right: 'Avançar',
back: 'Voltar',
top: 'Voltar ao topo',
up: 'Voltar',
openWithVscode: 'Abrir com VS Code',
vscodeHelper:
'Confirme o modo de autenticação, host, porta e usuário. A autenticação por chave exige configurar o SSH no computador que executa o VS Code antes do uso.',
vscodeCopyConfig: 'Copiar script de configuração',
vscodeKeyHelper:
'O nome do download da chave privada é derivado do caminho configurado. Salve o arquivo nesse caminho; o script de configuração verificará o arquivo e aplicará permissões.',
vscodeKeyPath: 'Caminho da chave privada SSH',
vscodeKeyPathPlaceholder: 'Por exemplo: ~/.ssh/id_ed25519',
vscodeSelectKey: 'Chave privada SSH',
vscodeScriptPreview: 'Script de configuração SSH',
vscodePasswordHelper:
'A autenticação por senha não grava na configuração SSH local. Informe a senha no VS Code ao conectar ao host remoto.',
vscodePasswordHint:
'A autenticação por senha conecta usando host, porta e usuário configurados. Não exige script de configuração nem arquivo de chave privada.',
vscodeScriptPreviewHint:
'Execute o script de configuração no computador que executa o VS Code para registrar o alias SSH de conexão remota. Execute-o novamente se alterar host, porta, usuário, chave privada ou caminho da chave.',
vscodePasswordModeTitle: 'Autenticação por senha',
vscodePasswordModeHint:
'A autenticação por senha conecta usando host, porta e usuário configurados. Não exige script de configuração nem arquivo de chave privada.',
vscodePasswordStep1: 'Confirme host, porta e usuário.',
vscodePasswordStep2: 'Abra o VS Code e informe a senha quando solicitado.',
vscodePasswordStep3: 'Não é necessário baixar a chave privada.',
saveContentAndClose: 'O arquivo foi modificado, deseja salvar e fechar?',
saveAndOpenNewFile: 'O arquivo foi modificado, deseja salvar e abrir o novo arquivo?',
noEdit: 'O arquivo não foi modificado, não é necessário fazer isso!',
noNameFolder: 'Pasta sem nome',
noNameFile: 'Arquivo sem nome',
minimap: 'Mini mapa de código',
fileCanNotRead: 'O arquivo não pode ser lido',
previewTruncated: 'O arquivo é muito grande, mostrando apenas a última parte',
previewEmpty: 'O arquivo está vazio ou não é um arquivo de texto',
previewLargeFile: 'Visualizar',
panelInstallDir: 'O diretório de instalação do 1Panel não pode ser excluído',
wgetTask: 'Tarefa de Download',
stopWgetConfirm: 'Tem certeza de que deseja parar esta tarefa de download?',
existFileTitle: 'Aviso de arquivo com o mesmo nome',
existFileHelper: 'O arquivo enviado contém um arquivo com o mesmo nome. Deseja substituí-lo?',
existFileSize: 'Tamanho do arquivo (novo -> antigo)',
existFileDirHelper: 'O arquivo/pasta selecionado tem um nome duplicado. Por favor, prossiga com cautela!\n',
coverDirHelper: 'As pastas selecionadas para substituição serão copiadas para o caminho de destino!',
noSuchFile: 'O arquivo ou diretório não foi encontrado. Por favor, verifique e tente novamente.',
setting: 'configuração',
showHide: 'Mostrar arquivos ocultos',
noShowHide: 'Não mostrar arquivos ocultos',
cancelUpload: 'Cancelar Upload',
cancelUploadHelper: 'Deseja cancelar o upload, após o cancelamento, a lista de upload será limpa.',
keepOneTab: 'Mantenha pelo menos uma aba',
notCanTab: 'Não é possível adicionar mais abas',
convert: 'Converter Formato',
converting: 'Convertendo Para',
fileCanNotConvert: 'Este arquivo não suporta conversão de formato',
formatType: 'Tipo de Formato',
sourceFormat: 'Formato de Origem',
sourceFile: 'Arquivo de Origem',
saveDir: 'Diretório de Salvamento',
deleteSourceFile: 'Excluir Arquivo de Origem',
convertHelper: 'Converter os arquivos selecionados para outro formato',
convertHelper1: 'Por favor, selecione os arquivos a serem convertidos',
execConvert: 'Iniciar conversão. Você pode visualizar os logs de conversão no Centro de Tarefas',
convertLogs: 'Logs de Conversão',
formatConvert: 'Conversão de Formato',
},
ssh: {
autoStart: 'Início automático',
enable: 'Habilitar início automático',
disable: 'Desabilitar início automático',
sshAlert:
'Os dados da lista são classificados com base na data de login. Alterar o fuso horário ou realizar outras operações pode causar desvios na data dos logs de login.',
sshAlert2:
'Você pode usar o "Fail2ban" na "Caixa de ferramentas" para bloquear endereços IP que tentam ataques de força bruta, o que aumentará a segurança do host.',
sshOperate: 'A operação "{0}" no serviço SSH será realizada. Você deseja continuar?',
sshChange: 'Configuração SSH',
sshChangeHelper: 'Esta ação alterou "{0}" para "{1}". Você deseja continuar?',
sshFileChangeHelper:
'Modificar o arquivo de configuração pode afetar a disponibilidade do serviço. Tenha cautela ao realizar esta operação. Você deseja continuar?',
port: 'Porta',
portHelper: 'Especifique a porta na qual o serviço SSH escutará.',
listenAddress: 'Endereço de escuta',
allV4V6: '0.0.0.0:{0}(IPv4) e :::{0}(IPv6)',
listenHelper:
'Deixar os campos de IPv4 e IPv6 em branco fará com que o serviço escute em "0.0.0.0:{0}(IPv4)" e ":::{0}(IPv6)"',
addressHelper: 'Especifique o endereço em que o serviço SSH irá escutar.',
permitRootLogin: 'Permitir login de usuário root',
rootSettingHelper: 'O método de login padrão para o usuário root é "Permitir login SSH".',
rootHelper1: 'Permitir login SSH',
rootHelper2: 'Desabilitar login SSH',
rootHelper3: 'Somente login com chave é permitido',
rootHelper4: 'Somente comandos pré-definidos podem ser executados. Nenhuma outra operação pode ser realizada.',
passwordAuthentication: 'Autenticação por senha',
pwdAuthHelper: 'Se deve ou não habilitar a autenticação por senha. Esse parâmetro está habilitado por padrão.',
pubkeyAuthentication: 'Autenticação por chave',
privateKey: 'Chave Privada',
publicKey: 'Chave Pública',
password: 'Senha',
createMode: 'Método de Criação',
generate: 'Gerar Automaticamente',
unSyncPass: 'Senha da chave não pode ser sincronizada',
syncHelper:
'A operação de sincronização limpará chaves inválidas e sincronizará novos pares de chaves completos. Continuar?',
input: 'Entrada Manual',
import: 'Upload de Arquivo',
authKeys: 'Chaves de Autorização',
authKeysHelper: 'Salvar informações atuais da chave pública?',
pubkey: 'Informações da chave',
pubKeyHelper: 'A informação da chave atual só tem efeito para o usuário {0}',
encryptionMode: 'Modo de criptografia',
passwordHelper: 'Pode conter de 6 a 10 dígitos e letras maiúsculas e minúsculas',
reGenerate: 'Regenerar chave',
keyAuthHelper: 'Se deve ou não habilitar a autenticação por chave.',
useDNS: 'Usar DNS',
dnsHelper:
'Controla se a função de resolução DNS está habilitada no servidor SSH para verificar a identidade da conexão.',
confFileOrderHelper:
'Use o menu para alternar o arquivo de configuração e editar/salvar diretamente; aplica por ordem de carregamento, e o valor carregado primeiro prevalece.',
confFileOrderLabel: '{0} (Ordem de carregamento #{1})',
analysis: 'Informações estatísticas',
denyHelper:
"Realizando uma operação de 'negar' nos seguintes endereços. Após a configuração, o IP será proibido de acessar o servidor. Você deseja continuar?",
acceptHelper:
"Realizando uma operação de 'aceitar' nos seguintes endereços. Após a configuração, o IP recuperará o acesso normal. Você deseja continuar?",
noAddrWarning: 'Nenhum endereço [{0}] foi selecionado atualmente. Por favor, verifique e tente novamente!',
loginLogs: 'Logs de SSH',
loginMode: 'Modo',
authenticating: 'Chave',
publickey: 'Chave',
belong: 'Pertence',
local: 'Local',
session: 'Sessão | Sessões',
loginTime: 'Hora do login',
loginIP: 'IP de login',
stopSSHWarn: 'Deseja desconectar esta conexão SSH?',
remote: 'SSH remoto',
},
setting: {
panel: 'Painel',
user: 'Usuário do painel',
userChange: 'Alterar usuário do painel',
userChangeHelper: 'Alterar o usuário do painel irá desconectá-lo. Continuar?',
passwd: 'Senha do painel',
emailHelper: 'Para recuperação de senha',
watermark: 'Configurações de Marca d Água',
watermarkContent: 'Conteúdo da Marca d Água',
contentHelper:
'{0} representa o nome do nó, {1} representa o endereço do nó. Você pode usar variáveis ou preencher nomes personalizados.',
watermarkColor: 'Cor da Marca d Água',
watermarkFont: 'Tamanho da Fonte da Marca d Água',
watermarkHeight: 'Altura da Marca d Água',
watermarkWidth: 'Largura da Marca d Água',
watermarkRotate: 'Ângulo de Rotação',
watermarkGap: 'Espaçamento',
watermarkCloseHelper: 'Tem certeza de que deseja desativar as configurações de marca d água do sistema?',
watermarkOpenHelper: 'Tem certeza de que deseja salvar as configurações atuais de marca d água do sistema?',
title: 'Alias do painel',
panelPort: 'Porta do painel',
titleHelper:
'Suporta nomes com comprimento de 3 a 30 caracteres, incluindo letras, caracteres chineses, números, espaços e caracteres especiais comuns',
portHelper:
'O intervalo recomendado de portas é de 8888 a 65535. Nota: Se o servidor tiver um grupo de segurança, permita a nova porta do grupo de segurança antecipadamente',
portChange: 'Alteração de porta',
portChangeHelper: 'Modificar a porta do serviço e reiniciar o serviço. Deseja continuar?',
theme: 'Tema',
menuTabs: 'Guias do menu',
menuTabsHelper: 'Após habilitar, clique no botão de cadeado da guia para manter a sessão da página.',
menuAccordion: 'Expansão múltipla de menus',
menuAccordionHelper:
'Após ativar, vários grupos de menus da barra lateral podem permanecer expandidos ao mesmo tempo.',
dark: 'Escuro',
darkGold: 'Ouro escuro',
light: 'Claro',
auto: 'Seguir o sistema',
language: 'Idioma',
runtimeEnv: 'Ambiente de execução',
docSource: 'Fonte da documentação',
withByRegion: 'Seguir região de operação (Padrão)',
withByLang: 'Seguir idioma do sistema',
region: 'Região de operação',
cn: 'China continental',
intl: 'Global',
regionHelper: 'Ao alterar a região, as seguintes fontes de recursos serão ajustadas:',
regionHelper1: 'Pacotes de instalação do sistema',
regionHelper2: 'Loja de aplicativos e biblioteca de scripts',
regionHelper3: 'Manual do usuário e documentação relacionada',
regionHelper4: 'Isso pode afetar downloads e acessos futuros. Prossiga com cautela.',
regionTip:
'A região de operação afeta a fonte de atualização do sistema e o endereço de download dos pacotes de instalação.',
docSourceTip:
'A fonte da documentação determina o idioma de redirecionamento da documentação e do registro de atualizações.',
languageHelper: 'Por padrão, segue o idioma do navegador. Este parâmetro tem efeito apenas no navegador atual',
sessionTimeout: 'Tempo limite de sessão',
sessionTimeoutError: 'O tempo mínimo de sessão é de 300 segundos',
sessionTimeoutHelper: 'O painel será desconectado automaticamente após {0} segundo(s) de inatividade.',
systemIP: 'Endereço de acesso padrão',
systemIPHelper:
'Redirecionamentos de aplicativos, acesso a containers e outras funcionalidades usarão este endereço para roteamento. Cada nó pode ser configurado com um endereço diferente.',
proxy: 'Proxy do servidor',
proxyHelper: 'Será eficaz nos seguintes cenários após configurar o servidor proxy:',
proxyHelper1:
'Download de pacotes de instalação e sincronização da loja de aplicativos (somente edição comercial)',
proxyHelper2: 'Atualizações do sistema e verificação de atualizações (somente edição comercial)',
proxyHelper4:
'Solicitações de rede, como pull de imagens Docker, serão feitas pelo servidor proxy (somente edição comercial)',
proxyHelper3: 'Verificação e sincronização da licença do sistema',
proxyHelper5:
'Download e sincronização unificados para bibliotecas de scripts do sistema (recurso da edição comercial)',
proxyHelper6: 'Solicitar certificado (funcionalidade da versão comercial)',
proxyType: 'Tipo de proxy',
proxyUrl: 'Endereço do proxy',
proxyPort: 'Porta do proxy',
proxyPasswdKeep: 'Lembrar senha',
proxyDocker: 'Proxy Docker',
proxyDockerHelper:
'Sincronize a configuração do servidor proxy com o Docker, suportando operações de puxar imagens de servidor offline e outras',
syncToNode: 'Sincronizar para o nó filho',
syncToNodeHelper: 'Sincronizar de alerta para outros nós',
nodes: 'Nós',
selectNode: 'Selecionar nó',
selectNodeError: 'Por favor, selecione um nó',
apiInterface: 'Habilitar API',
apiInterfaceClose: 'Uma vez fechado, as interfaces da API não poderão ser acessadas. Deseja continuar?',
apiInterfaceHelper: 'Permitir que aplicativos de terceiros acessem a API.',
apiInterfaceAlert1:
'Não habilite em ambientes de produção, pois pode aumentar os riscos de segurança do servidor.',
apiInterfaceAlert2:
'Não use aplicativos de terceiros para chamar a API, para evitar potenciais ameaças à segurança.',
apiInterfaceAlert3: 'Documentação da API',
apiInterfaceAlert4: 'Guia de uso',
apiKey: 'Chave API',
apiKeyHelper: 'A chave da API é usada para aplicativos de terceiros acessarem a API.',
ipWhiteList: 'Lista de IPs permitidos',
ipWhiteListEgs: 'Um por linha. Exemplo: \n172.161.10.111\n172.161.10.0/24',
ipWhiteListHelper:
'IPs na lista de permitidos podem acessar a API, 0.0.0.0/0 (todos os IPv4), ::/0 (todos os IPv6)',
apiTrustedProxies: 'Proxies confiáveis da API',
apiTrustedProxiesEgs: 'Um IP ou CIDR do servidor proxy por linha. Exemplo:\n172.16.10.111\n172.16.10.0/24',
apiTrustedProxiesHelper:
'Ao usar um proxy reverso, informe seu IP ou rede. Quando vazio, nenhum proxy é confiável e o IP de origem direta é usado. 0.0.0.0/0 e ::/0 não são suportados.',
apiKeyReset: 'Redefinir chave da interface',
apiKeyResetHelper:
'O serviço associado à chave se tornará inválido. Por favor, adicione uma nova chave ao serviço',
confDockerProxy: 'Configurar proxy do Docker',
restartNowHelper: 'Configurar o proxy do Docker exige reiniciar o serviço Docker.',
restartNow: 'Reiniciar imediatamente',
restartLater: 'Reiniciar manualmente mais tarde',
systemIPWarning:
'O nó atual não tem um endereço de acesso padrão configurado. Por favor, vá para as configurações do painel para configurá-lo!',
systemIPWarning1:
'O endereço atual do servidor está configurado como {0}, e o redirecionamento rápido não é possível!',
syncTime: 'Hora do servidor',
timeZone: 'Fuso horário',
timeZoneChangeHelper: 'Alterar o fuso horário exige reiniciar o serviço. Deseja continuar?',
timeZoneHelper:
'A modificação de fuso horário depende do serviço timedatectl do sistema. Entrará em vigor após reiniciar o serviço 1Panel.',
timeZoneCN: 'Pequim',
timeZoneAM: 'Los Angeles',
timeZoneNY: 'Nova York',
ntpALi: 'Alibaba',
ntpGoogle: 'Google',
syncSite: 'Servidor NTP',
syncSiteHelper:
'Esta operação usará {0} como fonte para a sincronização do horário do sistema. Deseja continuar?',
changePassword: 'Alterar senha',
oldPassword: 'Senha original',
newPassword: 'Nova senha',
retryPassword: 'Confirmar senha',
passwordEmptyTip: 'Deixe em branco para não alterar a senha atual',
noSpace: 'As informações inseridas não podem conter caracteres de espaço',
duplicatePassword: 'A nova senha não pode ser igual à senha original, por favor, insira novamente!',
diskClean: 'Limpeza de cache',
developerMode: 'Modo de desenvolvimento',
developerModeHelper:
'Você terá a oportunidade de testar novos recursos e correções antes de serem amplamente lançados e fornecer feedback precoce.',
thirdParty: 'Contas de terceiros',
noTypeForCreate: 'Nenhum tipo de backup foi criado até o momento',
LOCAL: 'Disco do servidor',
OSS: 'Ali OSS',
S3: 'Amazon S3',
mode: 'Modo',
MINIO: 'MinIO',
SFTP: 'SFTP',
WebDAV: 'WebDAV',
WebDAVAlist: 'Conectar WebDAV Alist pode referir-se à documentação oficial',
OneDrive: 'Microsoft OneDrive',
isCN: 'Internet da China',
isNotCN: 'Versão internacional',
client_id: 'ID do cliente',
client_secret: 'Segredo do cliente',
redirect_uri: 'URL de redirecionamento',
onedrive_helper: 'A configuração personalizada pode ser referida na documentação oficial',
refreshTime: 'Tempo de atualização do token',
refreshStatus: 'Status da atualização do token',
backupDir: 'Diretório de backup',
codeWarning: 'O formato atual do código de autorização está incorreto, por favor, verifique novamente!',
code: 'Código de autorização',
codeHelper:
'Clique no botão "Adquirir", faça login em {0} e copie o conteúdo após "code" no link redirecionado. Cole-o neste campo. Para instruções específicas, consulte a documentação oficial.',
googleHelper:
'Por favor, primeiro crie um aplicativo Google e obtenha as informações do cliente, preencha o formulário e clique no botão obter. Para operações específicas, consulte a documentação oficial.',
loadCode: 'Obter',
COS: 'Tencent COS',
ap_beijing_1: 'Beijing Zona 1',
ap_beijing: 'Pequim',
ap_nanjing: 'Nanjing',
ap_shanghai: 'Xangai',
ap_guangzhou: 'Cantão',
ap_chengdu: 'Chengdu',
ap_chongqing: 'Chongqing',
ap_shenzhen_fsi: 'Shenzhen Financeiro',
ap_shanghai_fsi: 'Xangai Financeiro',
ap_beijing_fsi: 'Pequim Financeiro',
ap_hongkong: 'Hong Kong, China',
ap_singapore: 'Cingapura',
ap_mumbai: 'Bombaim',
ap_jakarta: 'Jacarta',
ap_seoul: 'Seul',
ap_bangkok: 'Bangkok',
ap_tokyo: 'Tóquio',
na_siliconvalley: 'Silicon Valley (EUA Oeste)',
na_ashburn: 'Ashburn (EUA Leste)',
na_toronto: 'Toronto',
sa_saopaulo: 'São Paulo',
eu_frankfurt: 'Frankfurt',
KODO: 'Qiniu Kodo',
scType: 'Tipo de armazenamento',
typeStandard: 'Padrão',
typeStandard_IA: 'Padrão_IA',
typeArchive: 'Arquivo',
typeDeep_Archive: 'Arquivo Profundo',
scLighthouse: 'Padrão, O armazenamento de objetos leve só suporta este tipo de armazenamento',
scStandard:
'O armazenamento padrão é adequado para cenários de negócios com grande volume de arquivos quentes que exigem acesso em tempo real, interação frequente de dados, etc.',
scStandard_IA:
'O armazenamento de baixa frequência é adequado para cenários de negócios com frequência de acesso relativamente baixa, e armazena dados por pelo menos 30 dias.',
scArchive:
'Armazenamento para arquivos é adequado para cenários de negócios com frequência de acesso extremamente baixa.',
scDeep_Archive:
'Armazenamento frio durável é adequado para cenários de negócios com frequência de acesso extremamente baixa.',
archiveHelper:
'Arquivos de armazenamento arquivado não podem ser baixados diretamente e devem ser restaurados primeiro através do site do provedor de serviços de nuvem correspondente. Use com cautela!',
backupAlert:
'Se um provedor de nuvem for compatível com o protocolo S3, você pode usar diretamente o Amazon S3 para backup.',
domain: 'Domínio de aceleração',
backupAccount: 'Conta de backup | Contas de backup',
loadBucket: 'Obter bucket',
accountName: 'Nome da conta',
accountKey: 'Chave da conta',
address: 'Endereço',
path: 'Caminho',
safe: 'Segurança',
passkey: 'Passkey',
passkeyManage: 'Gerenciar',
passkeyKeyManagement: 'Gerenciamento de chaves',
passkeyHelper: 'Para login rápido, é possível vincular até 5 passkeys',
passkeyRequireSSL: 'Passkeys exigem domínio vinculado e acesso via HTTPS',
passkeyTrustedProxies: 'Proxies confiáveis',
passkeyTrustedProxiesHelper:
'Somente requisições originadas nesses IP/CIDR confiarão em Forwarded e X-Forwarded-Proto para detectar HTTPS',
passkeyNotSupported: 'O navegador ou ambiente atual não suporta passkeys',
passkeyPrereqTitle: 'Os seguintes pré-requisitos são necessários para Passkey',
passkeyPrereqBindDomain: 'Vinculação de domínio do 1Panel configurada',
passkeyPrereqHttps: 'Acesso seguro via HTTPS',
passkeyPrereqBrowser: 'O ambiente suporta Passkey (WebAuthn + autenticador de plataforma)',
passkeyPrereqBrowserDetailWebAuthnUnavailable:
'Use um navegador do sistema e confirme que o painel está aberto em HTTPS com domínio vinculado.',
passkeyPrereqBrowserDetailPlatformCapabilityUnavailable:
'Este ambiente não pode usar autenticação do dispositivo. Tente um navegador do sistema em uma versão mais nova do SO.',
passkeyPrereqBrowserDetailNoPlatformAuthenticator:
'Ative bloqueio de tela / impressão digital / reconhecimento facial / Windows Hello e tente novamente.',
passkeyPrereqBrowserDetailDetectFailed:
'Falha na detecção. Atualize a página e tente novamente, ou troque para um navegador do sistema.',
passkeyPrereqGoSetup: 'Configurar',
passkeyCount: 'Vinculadas {0}/{1}',
passkeyName: 'Nome',
passkeyNameHelper: 'Digite um nome para distinguir dispositivos',
passkeyAdd: 'Adicionar Passkey',
passkeyCreatedAt: 'Criado em',
passkeyLastUsedAt: 'Último uso',
passkeyDeleteConfirm: 'Após excluir, esta passkey não poderá ser usada para login. Continuar?',
passkeyLimit: 'É possível vincular até 5 passkeys',
passkeyFailed:
'Falha no cadastro da passkey, por favor, certifique-se de que o certificado SSL do painel é confiável',
bindInfo: 'Informações de Vinculação',
bindAll: 'Ouvir Todos',
bindInfoHelper:
'Alterar o endereço de escuta ou protocolo do serviço pode resultar em indisponibilidade do serviço. Você deseja continuar?',
ipv6: 'Ouvir IPv6',
bindAddress: 'Endereço de escuta',
entrance: 'Entrada',
showEntrance: 'Mostrar alerta desativado na página "Visão Geral"',
entranceHelper:
'Habilitar a entrada de segurança permitirá o login no painel apenas através do ponto de entrada de segurança especificado.',
entranceError:
'Por favor, insira um ponto de entrada seguro de 5-116 caracteres, somente números ou letras são suportados.',
entranceInputHelper: 'Deixe em branco para desativar a entrada de segurança.',
randomGenerate: 'Aleatório',
expirationTime: 'Data de Expiração',
unSetting: 'Não definido',
noneSetting:
'Defina o tempo de expiração da senha do painel. Após a expiração, será necessário redefinir a senha.',
expirationHelper:
'Se o tempo de expiração da senha for 0 dias, a função de expiração da senha estará desativada.',
days: 'Dias de expiração da senha',
expiredHelper: 'A senha atual expirou. Por favor, altere a senha novamente.',
timeoutHelper: 'A senha do painel expirará em {0} dias. Após a expiração, será necessário redefinir a senha.',
complexity: 'Validação de Complexidade',
complexityHelper:
'Após ativar, a senha deve ter de 8 a 30 caracteres e conter pelo menos dois destes tipos: letras, números e caracteres especiais.',
bindDomain: 'Vincular domínio',
unBindDomain: 'Desvincular domínio',
panelSSL: 'SSL do Painel',
unBindDomainHelper:
'A ação de desvincular um domínio pode causar insegurança no sistema. Você deseja continuar?',
bindDomainHelper: 'Após vincular o domínio, somente esse domínio poderá acessar o serviço 1Panel.',
bindDomainHelper1: 'Deixe em branco para desabilitar o vínculo de domínio.',
bindDomainWarning:
'Após vincular o domínio, você será desconectado e poderá acessar o serviço 1Panel apenas através do domínio especificado nas configurações. Você deseja continuar?',
allowIPs: 'IP Autorizado',
unAllowIPs: 'IP Não Autorizado',
unAllowIPsWarning:
'Autorizar um IP vazio permitirá que todos os IPs acessem o sistema, o que pode causar insegurança. Você deseja continuar?',
allowIPsHelper:
'Após definir a lista de IPs autorizados, apenas os IPs da lista poderão acessar o serviço do painel.',
allowIPsWarning:
'Após definir a lista de IPs autorizados, somente os IPs da lista poderão acessar o serviço do painel. Você deseja continuar?',
allowIPsHelper1: 'Deixe em branco para desabilitar a restrição de IP.',
allowIPsPrivateHelper:
'Endereços de rede privada também são restritos. Para acesso local, adicione 127.0.0.1 ou ::1; para proxy reverso, configure proxies confiáveis.',
allowIPEgs: 'Um por linha. Por exemplo,\n172.16.10.111\n172.16.10.0/24',
mfa: 'Autenticação em Dois Fatores',
mfaClose: 'Desabilitar MFA reduzirá a segurança do serviço. Você deseja continuar?',
secret: 'Segredo',
mfaInterval: 'Intervalo de atualização (s)',
mfaTitleHelper:
'O título é usado para distinguir diferentes hosts do 1Panel. Escaneie novamente ou adicione manualmente a chave secreta após modificar o título.',
mfaIntervalHelper:
'Após alterar o intervalo de atualização, escaneie novamente ou adicione a chave secreta manualmente.\nAlguns aplicativos autenticadores suportam apenas intervalo de 30 segundos (por exemplo, Google/Microsoft Authenticator).',
mfaAlert:
'O token de uso único é um número dinâmico de 6 dígitos e baseado no tempo atual. Certifique-se de que o horário do servidor esteja sincronizado.',
mfaHelper: 'Após ativá-lo, o token de uso único precisará ser verificado.',
mfaHelper1: 'Baixe um aplicativo autenticador, por exemplo,',
mfaHelper2:
'Para obter o token de uso único, escaneie o código QR abaixo usando seu aplicativo autenticador ou copie a chave secreta para o aplicativo de autenticação.',
mfaHelper3: 'Digite os seis dígitos do aplicativo',
mfaCode: 'Token de uso único',
sslChangeHelper: 'Modificar a configuração de https e reiniciar o serviço. Você deseja continuar?',
sslDisable: 'Desabilitar',
sslDisableHelper:
'Se o serviço https for desabilitado, será necessário reiniciar o painel para que a alteração tenha efeito. Você deseja continuar?',
noAuthSetting: 'Configuração não autorizada',
noAuthSettingHelper:
'Quando os usuários não fizerem login com a entrada de segurança especificada, ou não acessarem o painel a partir de IP ou domínio especificado, essa resposta pode ocultar características do painel.',
responseSetting: 'Configuração de resposta',
help200: 'Página de ajuda',
error400: 'Requisição inválida',
error401: 'Não autorizado',
error403: 'Proibido',
error404: 'Não encontrado',
error408: 'Tempo de solicitação expirado',
error416: 'Faixa não satisfatória',
error444: 'Conexão fechada',
error500: 'Erro no servidor',
https: 'Configurar HTTPS para o painel melhora a segurança de acesso',
strictHelper: 'Tráfego não HTTPS não pode se conectar ao painel',
muxHelper:
'O painel ouvirá nas protocolos HTTP e HTTPS e redirecionará HTTP para HTTPS, mas isso pode reduzir a segurança do painel',
certType: 'Tipo de certificado',
selfSigned: 'Autoassinado',
selfSignedHelper:
'Os navegadores podem não confiar em certificados autoassinados e podem exibir avisos de segurança.',
select: 'Selecionar',
domainOrIP: 'Domínio ou IP:',
timeOut: 'Tempo limite',
rootCrtDownload: 'Download do certificado raiz',
primaryKey: 'Chave primária',
certificate: 'Certificado',
backupJump:
'Arquivos de backup não estão na lista de backup atual, tente fazer o download do diretório de arquivos e importar para o backup.',
snapshot: 'Snapshot | Snapshots',
noAppData: 'Nenhum aplicativo do sistema disponível para seleção',
noBackupData: 'Nenhum dado de backup disponível para seleção',
stepBaseData: 'Dados Básicos',
stepAppData: 'Aplicativos do Sistema',
stepPanelData: 'Dados do Sistema',
stepBackupData: 'Dados de Backup',
stepOtherData: 'Outros Dados',
operationLog: 'Manter logs de operações',
loginLog: 'Manter logs de acesso',
systemLog: 'Manter logs do sistema',
taskLog: 'Manter logs de tarefas',
monitorData: 'Manter dados de monitoramento',
dockerConf: 'Manter Configuração do Docker',
selectAllImage: 'Fazer backup de todas as imagens de aplicativos',
logLabel: 'Log',
agentLabel: 'Configuração do Nó',
appDataLabel: 'Dados de Aplicativos',
appImage: 'Imagem do Aplicativo',
appBackup: 'Backup de Aplicativo',
backupLabel: 'Diretório de Backup',
confLabel: 'Arquivos de Configuração',
dockerLabel: 'Contêineres',
taskLabel: 'Tarefas Agendadas',
resourceLabel: 'Diretório de Recursos do Aplicativo',
runtimeLabel: 'Ambiente de Execução',
appLabel: 'Aplicativo',
databaseLabel: 'Banco de Dados',
snapshotLabel: 'Arquivos de Snapshot',
websiteLabel: 'Site',
directoryLabel: 'Diretório',
appStoreLabel: 'Loja de Aplicativos',
shellLabel: 'Script',
tmpLabel: 'Diretório Temporário',
sslLabel: 'Diretório de Certificados',
reCreate: 'Falha ao criar snapshot',
reRollback: 'Falha ao reverter snapshot',
deleteHelper:
'Todos os arquivos de snapshot, incluindo os da conta de backup de terceiros, serão excluídos. Você deseja continuar?',
status: 'Status do snapshot',
ignoreRule: 'Ignorar regra',
editIgnoreRule: '@:commons.button.edit @.lower:setting.ignoreRule',
ignoreHelper:
'Esta regra será usada para comprimir e fazer backup do diretório de dados do 1Panel durante a criação do snapshot. Por padrão, arquivos de socket são ignorados.',
ignoreHelper1: 'Um por linha. Exemplo,\n*.log\n/opt/1panel/cache',
panelInfo: 'Escrever informações básicas do 1Panel',
panelBin: 'Fazer backup dos arquivos do sistema 1Panel',
daemonJson: 'Fazer backup do arquivo de configuração do Docker',
appData: 'Fazer backup dos aplicativos instalados do 1Panel',
panelData: 'Fazer backup do diretório de dados do 1Panel',
backupData: 'Fazer backup do diretório de backup local do 1Panel',
compress: 'Criar arquivo de snapshot',
upload: 'Fazer upload do arquivo de snapshot',
recoverDetail: 'Detalhes da recuperação',
importHelper: 'Diretório do snapshot: ',
lastRecoverAt: 'Última recuperação realizada',
lastRollbackAt: 'Último rollback realizado',
reDownload: 'Baixar o arquivo de backup novamente',
recoverErrArch: 'A recuperação de snapshot entre diferentes arquiteturas de servidor não é suportada!',
recoverErrSize:
'Espaço em disco insuficiente detectado, por favor, verifique ou libere espaço e tente novamente!',
recoverHelper:
'Iniciando a recuperação do snapshot {0}, por favor, confirme as seguintes informações antes de prosseguir:',
recoverHelper1: 'A recuperação requer reiniciar os serviços Docker e 1Panel',
recoverHelper2:
'Por favor, assegure-se de que há espaço suficiente em disco no servidor (Tamanho do arquivo de snapshot: {0}, Espaço disponível: {1})',
recoverHelper3:
'Por favor, assegure-se de que a arquitetura do servidor corresponda à arquitetura do servidor onde o snapshot foi criado (Arquitetura do servidor atual: {0})',
recoverHelper4:
'Esta operação faz rollback apenas do nó principal. Se houver nós secundários atualizados, faça o rollback deles primeiro antes de continuar.',
rollback: 'Rollback',
rollbackHelper:
'Reverter essa recuperação substituirá todos os arquivos dessa recuperação e pode exigir reiniciar os serviços Docker e 1Panel. Você deseja continuar?',
upgradeHelper: 'A atualização requer reiniciar o serviço 1Panel. Você deseja continuar?',
rollbackLocalHelper:
'O nó principal não suporta rollback direto. Por favor, execute manualmente o comando [1pctl restore] para fazer o rollback!',
noUpgrade: 'Esta é a versão mais recente',
upgradeNotes: 'Notas de versão',
upgradeNow: 'Atualizar agora',
source: 'Fonte para download',
versionNotSame:
'A versão do nó não corresponde à do nó principal. Atualize na Gestão de Nós antes de tentar novamente.',
currentNodeVersionNotSame:
'A versão do nó atual não corresponde à do nó principal. Entre em contato com o administrador para atualizar o nó atual.',
versionCompare:
'Detectado que o nó {0} já está na última versão atualizável. Por favor, verifique a versão do nó principal e tente novamente!',
about: 'Sobre',
versionItem: 'Versão Atual',
backupCopies: 'Cópias de Backup',
backupCopiesHelper:
'Defina o número de cópias de backup de atualização para manter para reversão de versão. 0 significa manter todas.',
backupCopiesRule: 'Mantenha pelo menos 3 registros de backup de atualização',
release: 'Registro de Atualizações de Versão',
releaseHelper:
'Falha ao obter o registro de atualizações para o ambiente atual. Você pode verificar a documentação oficial manualmente.',
project: 'GitHub',
issue: 'Problema',
doc: 'Documentação oficial',
star: 'Estrela',
description: 'Painel de Servidor Linux',
forum: 'Discussões',
doc2: 'Documentação',
currentVersion: 'Versão',
license: 'Licença',
bindNode: 'Vincular Nó',
menuSetting: 'Configurações do Menu',
menuHide: 'Ocultar menu',
menuSettingHelper: 'Quando apenas 1 submenu existir, a barra de menus exibirá apenas esse submenu',
showAll: 'Mostrar Tudo',
hideALL: 'Ocultar Tudo',
ifShow: 'Exibir?',
menu: 'Menu',
confirmMessage: 'A página será atualizada para atualizar a lista de menus avançados. Continuar?',
recoverMessage:
'A página será atualizada e a lista de menus será restaurada ao estado inicial. Deseja continuar?',
compressPassword: 'Senha de compressão',
backupRecoverMessage:
'Por favor, insira a senha de compressão ou descompressão (deixe em branco para não definir)',
componentSize: 'Tamanho do componente',
apiKeyValidityTime: 'Período de validade da chave da API',
apiKeyValidityTimeEgs: 'Período de validade da chave da API (em minutos)',
apiKeyValidityTimeHelper:
'O timestamp da interface é válido se a diferença para o timestamp atual (em minutos) estiver no intervalo permitido. Valor 0 desativa a verificação.',
scope: 'Escopo',
public: 'Público',
publicHelper: 'Contas de backup públicas serão sincronizadas para cada subnó e podem ser usadas em conjunto',
private: 'Privado',
privateHelper: 'Contas de backup privadas são criadas apenas no nó atual e usadas somente por ele',
UPYUN: 'UPYUN',
ALIYUN: 'Aliyun Drive',
ALIYUNHelper: 'O limite atual para download sem cliente no Aliyun Drive é 100 MB. Acima disso, use o cliente.',
ALIYUNRecover:
'O limite atual para download sem cliente no Aliyun Drive é 100 MB. Acima disso, baixe localmente via cliente e depois sincronize o snapshot para restaurar.',
GoogleDrive: 'Google Drive',
analysis: 'Análise',
analysisHelper:
'Cole todo o conteúdo do token para analisar automaticamente as partes necessárias. Para detalhes, veja a documentação oficial.',
serviceName: 'Nome do serviço',
operator: 'Operador',
clickToRefresh: 'Clique para atualizar',
recoverFailed: 'Falha na restauração do snapshot',
upgradeRecord: 'Histórico de atualização',
upgrading: 'Atualizando, aguarde...',
versionHelper:
'Regras de nome: [versão principal].[versão funcional].[versão de correção], como no exemplo abaixo:',
upgradeCheck: 'Verificar atualizações',
},
license: {
offLine: 'Versão Offline',
community: 'Gratuito',
oss: 'Open Source Software',
ee: 'Edição Enterprise',
pro: 'Pro',
trial: 'Teste',
add: 'Adicionar Edição Comunitária',
licenseBindHelper: 'As cotas de nó gratuitas só podem ser usadas quando a licença está vinculada a um nó',
licenseAlert:
'Nós da Edição Comunitária só podem ser adicionados quando a licença está devidamente vinculada a um nó. Apenas nós devidamente vinculados à licença suportam troca.',
licenseUnbindHelper:
'Nós da Edição Comunitária detectados para esta licença. Por favor, desvincule e tente novamente!',
subscription: 'Assinatura',
perpetual: 'Licença Perpétua',
product: 'Produto',
versionConstraint: '{0} Compra do versão',
forceUnbind: 'Forçar Desvinculação',
forceUnbindHelper:
'Forçar a desvinculação ignorará quaisquer erros que ocorram durante o processo de desvinculação e, em última análise, liberará a vinculação da licença.',
updateForce:
'Atualização forçada (ignora todos os erros durante o desvinculamento para garantir o sucesso da operação final)',
trialInfo: 'Versão',
authorizationId: 'ID da Assinatura',
authorizedUser: 'Usuário autorizado',
lostHelper:
'A licença atingiu o limite de tentativas. Execute a sincronização manualmente para garantir que os recursos da edição comercial continuem funcionando. detalhes: ',
quickUpdate: 'Atualização rápida',
import: 'Importar',
power: 'Autorizar',
unbindHelper:
'Todas as configurações relacionadas à edição comercial serão limpas após a desvinculação. Você deseja continuar?',
importLicense: 'Licença',
securityWarningTitle: 'Não use licenças crackeadas ou de fontes desconhecidas.',
securityWarningContent:
'O 1Panel precisa ser executado por um usuário com privilégios de administração do sistema. Licenças não oficiais ou versões adulteradas podem causar perda de controle do servidor, vazamento de dados e outros riscos graves de segurança. Obtenha licenças e instaladores apenas pelos canais oficiais da FIT2CLOUD.',
importHelper: 'Clique ou arraste o arquivo de licença aqui',
licenseRequiredTip:
'A licença ainda não foi importada. Copie o ID do dispositivo, obtenha a licença e importe-a antes de fazer login.',
licenseRequiredShortTip:
'Copie primeiro o ID do dispositivo para obter a licença. Você poderá entrar depois de importá-la.',
licenseRequiredUserTip:
'A licença Enterprise Edition não está vinculada. Entre em contato com o superadministrador para importar a licença.',
restoreCommunity: 'Restaurar Community Edition',
restoreCommunityOnline: 'Restauração online',
restoreCommunityOffline: 'Restauração offline',
restoreCommunityPackageFound: 'O pacote está pronto',
restoreCommunityPackageMissing: 'Aguardando o pacote',
restoreCommunityPackageChecking: 'Verificando o pacote',
restoreCommunityPackageReadyHelper: 'Você pode prosseguir com a restauração offline.',
restoreCommunityOnlineHelper:
'O pacote Community Edition da versão atual será baixado automaticamente e os dados exclusivos da Enterprise serão limpos.',
restoreCommunityOfflineHelper:
'Coloque em {path} um pacote oficial cuja versão não seja anterior à versão Enterprise atual. A troca será habilitada quando um pacote utilizável for detectado.',
restoreCommunityCopyDownloadLink: 'Copiar link de download',
restoreCommunityConfirm:
'Após trocar de versão, você poderá entrar na Community Edition com a conta atual de superadministrador da Enterprise. Os dados exclusivos da Enterprise serão removidos durante a troca. Prossiga com cuidado.',
restoreCommunityStarting:
'Preparando a Community Edition. O painel será reiniciado automaticamente quando estiver pronto.',
technicalAdvice: 'Consultoria técnica',
advice: 'Consultoria',
levelUpPro: 'Fazer upgrade para a edição comercial',
licenseSync: 'Sincronização de Licença',
knowMorePro: 'Saiba mais',
closeAlert: 'A página atual pode ser fechada nas configurações do painel',
introduce: 'Introdução de recursos',
deviceID: 'ID do dispositivo',
corporation: 'Empresa licenciada',
expired: 'Horário de expiração',
edition: 'Edição',
standard: 'Padrão',
enterprise: 'Enterprise',
count: 'Quantidade licenciada',
serialNo: 'Número de série',
remark: 'Observação',
waf: 'Faça upgrade para a edição comercial para usar mapa de bloqueios, logs, registros de bloqueio, bloqueio geográfico, regras personalizadas, páginas de bloqueio personalizadas e mais.',
tamper: 'Faça upgrade para a edição comercial para proteger sites contra alterações ou adulterações não autorizadas.',
setting:
'Faça upgrade para a edição comercial para personalizar o logo do painel, a mensagem de boas-vindas e mais.',
monitor:
'Faça upgrade para a edição comercial para acompanhar o status do site em tempo real, tendências de visitantes, origens de tráfego, logs de requisições e mais.',
alert: 'Faça upgrade para a edição comercial para receber alertas por SMS e consultar os logs de alertas.',
node: 'Atualize para a edição comercial para gerenciar vários servidores Linux com o 1Panel.',
nodeApp:
'Atualize para a edição comercial para atualizar versões de aplicativos multi-nó sem alternar manualmente entre os nós.',
nodeDashboard:
'Atualize para a edição comercial para gerenciar aplicativos, sites, bancos de dados e tarefas agendadas multi-nó de forma centralizada.',
fileExchange: 'Atualize para a edição comercial para transferir arquivos rapidamente entre vários servidores.',
app: 'Faça upgrade para a edição comercial para visualizar informações do serviço e monitoramento de anomalias no aplicativo móvel.',
cluster: 'Atualize para a edição comercial para gerenciar clusters primário-réplica de MySQL/Postgres/Redis.',
vllm: 'Atualize para a edição comercial para gerenciar serviços vLLM de forma centralizada no 1Panel, incluindo implantação, configuração, operações de ciclo de vida e acompanhamento de tarefas.',
'model-downloader':
'Atualize para a edição comercial para pesquisar, baixar e gerenciar arquivos de modelos locais do HuggingFace, ModelScope ou mirrors compatíveis, com diretórios de modelos e tarefas de download centralizados.',
exceptionalHelper:
'A verificação da sincronização da licença está anormal. Clique em sincronizar manualmente para garantir o funcionamento da edição comercial. detalhe: ',
tamperHelper:
'Falha na operação, o arquivo ou pasta tem proteção contra alteração habilitada. Verifique e tente novamente!',
},
clean: {
scan: 'Iniciar escaneamento',
scanHelper: 'Limpeza fácil de arquivos inúteis gerados durante a execução do 1Panel',
clean: 'Limpar agora',
reScan: 'Repetir escaneamento',
cleanHelper: 'Arquivos e diretórios selecionados não podem ser revertidos após a limpeza. Continuar?',
statusSuggest: '(Limpeza recomendada)',
statusClean: '(Muito limpo)',
statusEmpty: 'Muito limpo, nenhuma limpeza necessária!',
statusWarning: '(Prossiga com cautela)',
lastCleanTime: 'Última limpeza: {0}',
lastCleanHelper: 'Arquivos e diretórios limpos: {0}, total limpo: {1}',
cleanSuccessful: 'Limpeza realizada com sucesso',
currentCleanHelper: 'Arquivos e diretórios limpos nesta sessão: {0}, total limpo: {1}',
suggest: '(Recomendado)',
totalScan: 'Total de arquivos inúteis a serem limpos: ',
selectScan: 'Total de arquivos inúteis selecionados: ',
system: 'Arquivos inúteis do sistema',
systemHelper: 'Arquivos temporários gerados durante processos como snapshots e atualizações.',
panelOriginal: 'Arquivos de backup antes da restauração do snapshot do sistema.',
upgrade: 'Arquivos de backup de atualização do sistema.',
agentPackages: 'Pacotes de atualização/instalação de nós filhos de versões históricas.',
upgradeHelper: '(Recomenda-se manter o backup de atualização mais recente para rollback do sistema)',
rollback: 'Arquivos de backup antes da recuperação',
backup: 'Backup do Sistema',
backupHelper: 'Arquivos de backup não associados a contas de backup locais',
unknownBackup: 'Backup do Sistema',
tmpBackup: 'Backup Temporário',
unknownApp: 'Backup de Aplicativo não Associado',
unknownDatabase: 'Backup de Banco de Dados não Associado',
unknownWebsite: 'Backup de Site não Associado',
unknownSnapshot: 'Backup de Instantâneo não Associado',
upload: 'Arquivos temporários de upload',
uploadHelper: 'Arquivos temporários enviados da lista de backup do sistema',
download: 'Arquivos temporários de download',
downloadHelper: 'Arquivos temporários baixados de contas de backup de terceiros pelo sistema',
directory: 'Diretório',
systemLog: 'Arquivo de log',
systemLogHelper: 'Logs do sistema, logs de tarefas, arquivos de log do site',
dockerLog: 'Arquivos de log de operação de contêineres',
taskLog: 'Arquivos de log de execução de tarefas agendadas',
shell: 'Tarefas agendadas de script de shell',
containerShell: 'Tarefas agendadas de script de shell executadas dentro de contêineres',
curl: 'Tarefas agendadas de CURL',
docker: 'Lixo de contêineres',
dockerHelper: 'Arquivos como contêineres, imagens, volumes, cache de compilação, etc.',
volumes: 'Volumes',
buildCache: 'Cache de construção do container',
appTmpDownload: 'Arquivo de download temporário do aplicativo',
unknownWebsiteLog: 'Arquivo de backup de log de site não vinculado',
snapshot: 'Arquivos temporários de snapshot do sistema',
},
app: {
app: 'Aplicativo | Aplicativos',
installName: 'Nome',
installed: 'Instalado',
all: 'Todos',
version: 'Versão',
detail: 'Detalhes',
params: 'Editar',
author: 'Autor',
source: 'Fonte',
appName: 'Nome do Aplicativo',
deleteWarn:
'A operação de exclusão excluirá todos os dados e backups juntos. Esta operação não pode ser desfeita. Deseja continuar?',
syncSuccess: 'Sincronizado com sucesso',
canUpgrade: 'Atualizações',
backupName: 'Nome do Arquivo',
backupPath: 'Caminho do Arquivo',
backupdate: 'Hora do Backup',
versionSelect: 'Por favor, selecione uma versão',
operatorHelper: 'A operação {0} será realizada no aplicativo selecionado. Deseja continuar?',
startOperatorHelper: 'O aplicativo será iniciado. Deseja continuar?',
stopOperatorHelper: 'O aplicativo será parado. Deseja continuar?',
restartOperatorHelper: 'O aplicativo será reiniciado. Deseja continuar?',
reloadOperatorHelper: 'O aplicativo será recarregado. Deseja continuar?',
checkInstalledWarn: '"{0}" não foi detectado. Vá para "Loja de Aplicativos" para instalar.',
limitHelper: 'O aplicativo já foi instalado.',
deleteHelper: '"{0}" foi associado aos seguintes recursos. Por favor, verifique e tente novamente!',
checkTitle: 'Dica',
defaultConfig: 'Configuração padrão',
defaultConfigHelper: 'Foi restaurado para a configuração padrão, ela entrará em vigor após salvar',
forceDelete: 'Excluir forçadamente',
forceDeleteHelper: 'A exclusão forçada ignorará erros durante o processo de exclusão e eliminará os metadados.',
deleteBackup: 'Excluir backup',
deleteBackupHelper: 'Excluir também o backup do aplicativo',
deleteDB: 'Excluir banco de dados',
deleteDBHelper: 'Excluir também o banco de dados',
noService: 'Sem {0}',
toInstall: 'Ir para instalar',
param: 'Parâmetros',
alreadyRun: 'Instalado',
syncAppList: 'Sincronizar',
less1Minute: 'Menos de 1 minuto',
appOfficeWebsite: 'Site oficial',
github: 'GitHub',
document: 'Documentação',
updatePrompt: 'Nenhuma atualização disponível',
installPrompt: 'Nenhum aplicativo instalado ainda',
updateHelper: 'Editar parâmetros pode causar falha no início do aplicativo. Por favor, proceda com cautela.',
updateWarn: 'Os parâmetros de atualização precisam reconstruir o aplicativo. Deseja continuar?',
busPort: 'Porta',
syncStart: 'Iniciando a sincronização! Por favor, atualize a loja de aplicativos mais tarde',
advanced: 'Configurações avançadas',
cpuCore: 'núcleo(s)',
containerName: 'Nome do container',
containerNameHelper: 'O nome do container será gerado automaticamente quando não definido',
allowPort: 'Acesso externo',
allowPortHelper: 'Permitir o acesso externo irá liberar a porta do firewall',
appInstallWarn:
'O aplicativo não expõe a porta de acesso externo por padrão. Clique em "Configurações Avançadas" para expô-la.',
upgradeStart: 'Iniciando a atualização! Por favor, atualize a página mais tarde',
toFolder: 'Abrir o diretório de instalação',
editCompose: 'Editar arquivo compose',
editComposeHelper: 'Editar o arquivo compose pode resultar em falha na instalação do software',
composeNullErr: 'O compose não pode estar vazio',
takeDown: 'Descontinuado',
allReadyInstalled: 'Instalado',
installHelper: 'Se houver problemas ao puxar a imagem, configure a aceleração da imagem.',
sortMode: 'Ordenar',
installWarn:
'O acesso externo não foi habilitado, o que impede que o aplicativo seja acessado via redes externas. Deseja continuar?',
showIgnore: 'Exibir aplicativos ignorados',
cancelIgnore: 'Cancelar ignorar',
ignoreList: 'Aplicativos ignorados',
appHelper:
'Vá para a página de detalhes do aplicativo para aprender as instruções de instalação para alguns aplicativos especiais.',
backupApp: 'Fazer backup do aplicativo antes de atualizar',
backupAppHelper:
'Se a atualização falhar, o backup será automaticamente revertido. Verifique a razão da falha no log de auditoria-sistema. O backup manterá as últimas 3 cópias por padrão',
openrestyDeleteHelper: 'Excluir forçadamente o OpenResty excluirá todos os sites. Deseja continuar?',
downloadLogHelper1: 'Todos os logs do aplicativo {0} estão prestes a ser baixados. Deseja continuar?',
downloadLogHelper2: 'Os últimos {1} logs do aplicativo {0} estão prestes a ser baixados. Deseja continuar?',
syncAllAppHelper: 'Todos os aplicativos serão sincronizados. Deseja continuar?',
hostModeHelper:
'O modo de rede atual do aplicativo é o modo host. Se precisar abrir a porta, abra-a manualmente na página do firewall.',
showLocal: 'Exibir aplicativos locais',
reload: 'Recarregar',
upgradeWarn:
'Atualizar o aplicativo substituirá o arquivo docker-compose.yml. Se houver alterações, você pode clicar para visualizar a comparação do arquivo',
openclawHttpsUpgradeNoticeTitle:
'Nota: As instruções a seguir se aplicam apenas a quem estiver atualizando o OpenClaw das versões 2026.3.13 a 2026.3.22 para a versão 2026.3.23 ou posterior:',
openclawHttpsUpgradeNoticeItem1:
'Após a atualização, o acesso do agente volta a usar HTTP. Vá para Configuração -> Ajustes -> Segurança e verifique o endereço de acesso.',
openclawHttpsUpgradeNoticeItem2:
'Se antes você usava um site com proxy reverso, altere o destino do proxy para http://IP:Port.',
newVersion: 'Nova versão',
oldVersion: 'Versão atual',
composeDiff: 'Comparação de arquivo',
showDiff: 'Exibir comparação',
useNew: 'Usar versão personalizada',
useDefault: 'Usar versão padrão',
useCustom: 'Personalizar docker-compose.yml',
useCustomHelper:
'Usar um arquivo docker-compose.yml personalizado pode causar falha na atualização do aplicativo. Se não for necessário, não marque esta opção.',
diffHelper:
'O lado esquerdo é a versão antiga, o lado direito é a nova versão. Após editar, clique para salvar a versão personalizada',
pullImage: 'Puxar Imagem',
pullImageHelper: 'Execute o comando docker pull para puxar a imagem antes de iniciar o aplicativo',
deleteImage: 'Excluir Imagem',
deleteImageHelper:
'Exclua a imagem relacionada ao aplicativo. A tarefa não será encerrada se a exclusão falhar.',
requireMemory: 'Requisito de Memória',
supportedArchitectures: 'Arquiteturas Suportadas',
link: 'Link',
showCurrentArch: 'Aplicações da arquitetura atual do servidor',
syncLocalApp: 'Sincronizar Aplicativo Local',
memoryRequiredHelper: 'O aplicativo atual requer {0} de memória',
gpuConfig: 'Ativar Suporte a GPU',
gpuConfigHelper:
'Certifique-se de que a máquina possui uma GPU NVIDIA e tenha os drivers NVIDIA e NVIDIA Docker Container Toolkit instalados',
webUI: 'Endereço de Acesso Web',
webUIPlaceholder: 'Exemplo: example.com:8080/login',
defaultWebDomain: 'Endereço de Acesso Padrão',
defaultWebDomainHepler: 'Se a porta do aplicativo for 8080, o endereço será http(s)://endereço padrão:8080',
webUIConfig:
'O nó atual não tem um endereço de acesso padrão configurado. Por favor, defina-o nos parâmetros do aplicativo ou vá para as configurações do painel para configurar!',
toLink: 'Ir para',
customAppHelper:
'Antes de instalar um pacote de loja de aplicativos personalizado, certifique-se de que não há aplicativos instalados.',
forceUninstall: 'Desinstalação Forçada',
syncCustomApp: 'Sincronizar Aplicativo Personalizado',
ignoreAll: 'Ignorar todas as versões subsequentes',
ignoreVersion: 'Ignorar versão especificada',
specifyIP: 'Vincular IP do Host',
specifyIPHelper:
'Defina o endereço do host/interface de rede para vincular a porta (se você não tiver certeza sobre isso, por favor, não preencha)',
uninstallDeleteBackup: 'Desinstalar Aplicativo - Excluir Backup',
uninstallDeleteImage: 'Desinstalar Aplicativo - Excluir Imagem',
upgradeBackup: 'Fazer Backup do Aplicativo Antes de Atualizar',
upgradeDeleteImage: 'Atualizar Aplicativo - Excluir Imagem Antiga',
installAllowPort: 'Abrir acesso externo à porta por padrão ao instalar aplicativos',
noAppHelper:
'Nenhuma aplicação detectada, por favor vá ao centro de tarefas para visualizar o log de sincronização da loja de aplicativos',
isEdirWarn: 'Foram detectadas alterações no arquivo docker-compose.yml. Revise a comparação.',
},
website: {
primaryDomain: 'Domínio principal',
otherDomains: 'Outros domínios',
static: 'Estático',
deployment: 'Implantação',
supportUpType:
'Apenas o formato de arquivo .tar.gz é suportado, e o pacote compactado deve conter o arquivo {0}.json',
proxy: 'Proxy reverso',
alias: 'Alias',
ftpUser: 'Conta FTP',
ftpPassword: 'Senha FTP',
ftpHelper:
'Após criar um site, uma conta FTP correspondente será criada e o diretório FTP será vinculado ao diretório do site.',
remark: 'Observação',
groupSetting: 'Gerenciamento de grupos',
createGroup: 'Criar grupo',
appNew: 'Novo Aplicativo',
appInstalled: 'Aplicativo instalado',
delete: 'Excluir site',
deleteApp: 'Excluir Aplicativo',
deleteBackup: 'Excluir Backup',
domain: 'Domínio',
domainHelper: 'Um domínio por linha.\nSuporta curinga "*" e endereço IP.\nSuporta adição de porta.',
addDomain: 'Adicionar',
domainConfig: 'Domínios',
defaultDoc: 'Documento padrão',
perserver: 'Concorrência',
perserverHelper: 'Limitar a concorrência máxima do site atual',
perip: 'IP único',
peripHelper: 'Limitar o número máximo de acessos simultâneos a um único IP',
rate: 'Limites de tráfego',
rateLimit: 'Limite de taxa por requisição',
rateHelper: 'Limitar o fluxo de cada requisição (unidade: KB)',
rateLimitHelper: 'Limita a taxa de transferência por requisição (unidade: KB/s)',
limitHelper: 'Habilitar controle de fluxo',
other: 'Outro',
currentSSL: 'Certificado atual',
dnsAccount: 'Conta DNS',
applySSL: 'Solicitação de certificado',
SSLList: 'Lista de certificados',
createDnsAccount: 'Conta DNS',
aliyun: 'Aliyun',
aliEsa: 'Aliyun ESA',
awsRoute53: 'Amazon Route 53',
manual: 'Análise manual',
key: 'Chave',
check: 'Ver',
acmeAccountManage: 'Contas ACME',
email: 'Email',
acmeAccount: 'Conta ACME',
provider: 'Método de verificação',
dnsManual: 'Resolução manual',
expireDate: 'Data de expiração',
brand: 'Organização',
deploySSL: 'Implantação',
deploySSLHelper: 'Tem certeza de que deseja implantar o certificado?',
ssl: 'Certificado | Certificados',
dnsAccountManage: 'Provedores DNS',
renewSSL: 'Renovar',
renewHelper: 'Tem certeza de que deseja renovar o certificado?',
renewSuccess: 'Certificado renovado',
enableHTTPS: 'Habilitar',
aliasHelper: 'Alias é o nome do diretório do site',
lastBackupAt: 'Último backup realizado em',
null: 'nenhum',
nginxConfig: 'Configuração Nginx',
websiteConfig: 'Configurações do site',
proxySettings: 'Configurações de Proxy',
advancedSettings: 'Configurações Avançadas',
cacheSettings: 'Configurações de Cache',
sniSettings: 'Configurações de SNI',
basic: 'Básico',
source: 'Configuração',
security: 'Segurança',
nginxPer: 'Ajuste de desempenho',
neverExpire: 'Nunca',
setDefault: 'Definir como padrão',
deleteHelper: 'O status do aplicativo relacionado está anômalo, por favor verifique',
toApp: 'Ir para a lista de aplicativos instalados',
cycle: 'Ciclo',
frequency: 'Frequência',
ccHelper:
'Solicitar cumulativamente a mesma URL mais de {1} vezes em {0} segundos, aciona a defesa CC, bloqueia este IP',
mustSave: 'A modificação precisa ser salva para ter efeito',
fileExt: 'Extensão de arquivo',
fileExtBlock: 'Lista negra de extensões de arquivo',
value: 'valor',
enable: 'Habilitar',
proxyAddress: 'Endereço Proxy',
proxyHelper: 'Exemplo: 127.0.0.1:8080',
forceDelete: 'Excluir forçadamente',
forceDeleteHelper: 'A exclusão forçada ignorará erros durante o processo de exclusão e excluirá os metadados.',
deleteAppHelper: 'Excluir aplicativos associados e backups de aplicativos ao mesmo tempo',
deleteBackupHelper: 'Excluir também backups do site.',
deleteDatabaseHelper: 'Também excluir o banco de dados associado ao site',
deleteConfirmHelper:
'A operação de exclusão não pode ser desfeita. Digite <span style="color:red"> "{0}" </span> para confirmar a exclusão.',
staticPath: 'O diretório principal correspondente é ',
limit: 'Plano',
blog: 'Fórum/Blog',
imageSite: 'Site de Imagens',
downloadSite: 'Site de Download',
shopSite: 'Loja',
doorSite: 'Portal',
qiteSite: 'Empresarial',
videoSite: 'Site de Vídeo',
errLog: 'Erro de log',
stopHelper:
'Após parar o site, ele não poderá ser acessado normalmente, e o usuário verá a página de parada do site atual ao visitar. Deseja continuar?',
startHelper: 'Após ativar o site, os usuários podem acessar o conteúdo do site normalmente, deseja continuar?',
sitePath: 'Diretório',
siteAlias: 'Alias do site',
primaryPath: 'Diretório raiz',
folderTitle: 'O site contém principalmente as seguintes pastas',
wafFolder: 'Regras de firewall',
indexFolder: 'Diretório raiz do site',
sslFolder: 'Certificado do site',
enableOrNot: 'Habilitar',
oldSSL: 'Certificado existente',
manualSSL: 'Importar certificado',
select: 'Selecionar',
selectSSL: 'Selecionar certificado',
privateKey: 'Chave (KEY)',
certificate: 'Certificado (formato PEM)',
HTTPConfig: 'Opções HTTP',
HTTPSOnly: 'Bloquear requisições HTTP',
HTTPToHTTPS: 'Redirecionar para HTTPS',
HTTPAlso: 'Permitir requisições HTTP diretas',
sslConfig: 'Opções SSL',
disableHTTPS: 'Desabilitar HTTPS',
disableHTTPSHelper: 'Desabilitar HTTPS removerá a configuração do certificado relacionada, deseja continuar?',
SSLHelper:
'Nota: Não use certificados SSL para sites ilegais.\nSe o acesso HTTPS não funcionar após a ativação, verifique se o grupo de segurança liberou corretamente a porta 443.',
SSLConfig: 'Configurações do certificado',
SSLProConfig: 'Configurações do protocolo',
supportProtocol: 'Versão do protocolo',
encryptionAlgorithm: 'Algoritmo de criptografia',
notSecurity: '(não seguro)',
encryptHelper:
"O Let's Encrypt tem um limite de frequência para a emissão de certificados, mas é suficiente para atender necessidades normais. Operações muito frequentes podem causar falha na emissão. Para restrições específicas, consulte <a target='_blank' href='https://letsencrypt.org/zh-cn/docs/rate-limits/'>documentação oficial</a>",
ipValue: 'Valor',
ext: 'Extensão de arquivo',
wafInputHelper: 'Digite os dados por linha, uma linha por vez',
data: 'dados',
ever: 'permanente',
nextYear: 'Um ano depois',
noLog: 'Nenhum log encontrado',
defaultServer: 'Site padrão',
noDefaultServer: 'Não definido',
defaultServerHelper:
'Após definir o site padrão, todos os nomes de domínio e IPs desvinculados serão redirecionados para o site padrão\nIsso pode evitar eficazmente a resolução maliciosa\nNo entanto, isso também pode causar falha na interceptação de nomes de domínio não autorizados pelo WAF',
restoreHelper: 'Tem certeza de que deseja restaurar com este backup?',
websiteDeploymentHelper: 'Use um aplicativo instalado ou crie um novo aplicativo para criar um site.',
websiteStatictHelper: 'Crie um diretório de site no host.',
websiteProxyHelper:
'Use proxy reverso para redirecionar um serviço existente. Por exemplo, se um serviço estiver instalado e rodando na porta 8080, o endereço do proxy será "http://127.0.0.1:8080".',
runtimeProxyHelper: 'Use o ambiente de execução do site para criar um site.',
runtime: 'Ambiente de execução',
deleteRuntimeHelper:
'O aplicativo de Runtime precisa ser excluído junto com o site, por favor, manuseie com cuidado',
proxyType: 'Tipo de rede',
unix: 'Rede Unix',
tcp: 'Rede TCP/IP',
phpFPM: 'Configuração FPM',
phpConfig: 'Configuração PHP',
updateConfig: 'Atualizar configurações',
isOn: 'Ligado',
isOff: 'Desligado',
rewrite: 'Pseudo-estático',
rewriteMode: 'Plano',
current: 'Atual',
rewriteHelper:
'Se configurar pseudo-estático e o site se tornar inacessível, tente reverter para as configurações padrão.',
runDir: 'Diretório de execução',
runUserHelper:
'Para sites implantados através do ambiente de execução PHP, você deve definir o proprietário e o grupo dos arquivos e pastas de índice e subdiretórios para 1000. Para o ambiente PHP local, consulte as configurações de usuário e grupo do PHP-FPM local',
userGroup: 'Usuário/Grupo',
uGroup: 'Grupo',
proxyPath: 'Caminho do proxy',
proxyPass: 'URL de destino',
cache: 'Cache',
cacheTime: 'Duração do cache',
enableCache: 'Habilitar cache',
proxyHost: 'Host do proxy',
disabled: 'Parado',
startProxy: 'Isso iniciará o proxy reverso. Deseja continuar?',
stopProxy: 'Isso interromperá o proxy reverso. Deseja continuar?',
sourceFile: 'Fonte',
proxyHelper1: 'Ao acessar este diretório, o conteúdo da URL de destino será retornado e exibido.',
proxyPassHelper: 'A URL de destino deve ser válida e acessível.',
proxyHostHelper: 'Passe o nome de domínio no cabeçalho da requisição para o servidor proxy.',
modifier: 'Regras de correspondência',
modifierHelper:
'Exemplo: "=" é correspondência exata, "~" é correspondência regular, "^~" corresponde ao início do caminho, etc.',
replace: 'Substituições de texto',
replaceHelper:
'O recurso de substituição de texto do nginx permite a substituição de strings no conteúdo da resposta durante o proxy reverso. É comumente usado para modificar links, endereços de API, etc., em arquivos HTML, CSS, JavaScript e outros retornados pelo backend. Suporta correspondência de expressão regular para necessidades complexas de substituição de conteúdo.',
addReplace: 'Adicionar',
replaced: 'String de busca (não pode estar vazia)',
replaceText: 'Substituir por string',
replacedErr: 'A string de busca não pode estar vazia',
replacedErr2: 'A string de busca não pode ser repetida',
replacedListEmpty: 'Nenhuma regra de substituição de texto',
proxySslName: 'Nome SNI do Proxy',
basicAuth: 'Autenticação básica',
editBasicAuthHelper:
'A senha é criptografada de forma assimétrica e não pode ser exibida. A edição requer a redefinição da senha',
antiLeech: 'Anti-leech',
extends: 'Extensão',
browserCache: 'Cache',
noModify: 'Não Modificar',
serverCache: 'Cache do servidor',
leechLog: 'Registrar log anti-leech',
accessDomain: 'Domínios permitidos',
leechReturn: 'Recurso de resposta',
noneRef: 'Permitir referrer vazio',
disable: 'não habilitado',
disableLeechHelper: 'Se deseja desabilitar o anti-leech',
disableLeech: 'Desabilitar anti-leech',
ipv6: 'Ouvir IPv6',
leechReturnError: 'Por favor, preencha o código de status HTTP',
blockedRef: 'Permitir Referer não padrão',
accessControl: 'Controle anti-leech',
leechcacheControl: 'Controle de cache',
logEnableControl: 'Registrar solicitações de ativos estáticos',
leechSpecialValidHelper:
"Quando 'Permitir Referer vazio' estiver ativado, as solicitações sem Referer (acesso direto etc.) não serão bloqueadas; ao ativar 'Permitir Referer não padrão', qualquer Referer que não comece com http/https será permitido (solicitações de cliente etc.).",
leechInvalidReturnHelper: 'Código de status HTTP retornado após bloquear solicitações de hotlink',
leechlogControlHelper:
'Registra solicitações de ativos estáticos; geralmente desativado em produção para evitar logs excessivos e ruidosos',
selectAcme: 'Selecionar conta Acme',
imported: 'Criado manualmente',
importType: 'Tipo de importação',
pasteSSL: 'Colar código',
localSSL: 'Selecionar arquivo do servidor',
privateKeyPath: 'Caminho do arquivo da chave privada',
certificatePath: 'Caminho do arquivo do certificado',
ipWhiteListHelper:
'O papel da lista de permissões de IP: todas as regras são inválidas para a lista de permissões de IP',
redirect: 'Redirecionar',
sourceDomain: 'Domínio de origem',
targetURL: 'Endereço da URL de destino',
keepPath: 'Parâmetros URI',
path: 'caminho',
redirectType: 'Tipo de redirecionamento',
redirectWay: 'Modo',
keep: 'manter',
notKeep: 'Não manter',
redirectRoot: 'Redirecionar para a página inicial',
redirectHelper: 'Redirecionamento permanente 301, redirecionamento temporário 302',
changePHPVersionWarn:
'Trocar a versão do PHP vai excluir o contêiner PHP original (o código do site montado não será perdido), continuar?',
changeVersion: 'Trocar versão',
retainConfig: 'Deseja manter os arquivos php-fpm.conf e php.ini?',
runDirHelper2:
'Por favor, certifique-se de que o diretório de execução secundário esteja no diretório do índice',
openrestyHelper:
'Porta HTTP padrão do OpenResty: {0} Porta HTTPS: {1}, o que pode afetar o acesso ao domínio do site e o redirecionamento forçado para HTTPS',
primaryDomainHelper: 'Exemplo: exemplo.com ou exemplo.com:8080',
acmeAccountType: 'Tipo de conta',
keyType: 'Algoritmo de chave',
tencentCloud: 'Tencent Cloud',
containWarn: 'O nome de domínio contém o domínio principal, por favor, reentre',
rewriteHelper2:
'Aplicações como o WordPress instaladas a partir da loja de aplicativos geralmente vêm com configuração de pseudo-estática predefinida. Reconfigurá-las pode causar erros.',
websiteBackupWarn:
'Somente suporta importar backups locais, importar backups de outras máquinas pode causar falha na recuperação',
ipWebsiteWarn:
'Sites com IP como nomes de domínio precisam ser configurados como site padrão para serem acessados normalmente',
hstsHelper: 'Ativar HSTS pode aumentar a segurança do site',
includeSubDomains: 'SubDomains',
hstsIncludeSubDomainsHelper:
'Quando ativado, a política HSTS será aplicada a todos os subdomínios do domínio atual.',
defaultHtml: 'Página padrão',
website404: 'Página de erro 404 do site',
domain404: 'O domínio do site não existe',
indexHtml: 'Índice para site estático',
stopHtml: 'Site parado',
indexPHP: 'Índice para site PHP',
sslExpireDate: 'Data de expiração do certificado',
website404Helper:
'A página de erro 404 do site suporta apenas sites com ambiente de execução PHP e sites estáticos',
sni: 'SNI de origem',
sniHelper:
'Quando o proxy reverso de backend for HTTPS, você pode precisar configurar o SNI de origem. Consulte a documentação do provedor de serviços CDN para mais detalhes.',
proxySslVerify: 'Verificar certificado SSL do backend',
proxySslVerifyHelper:
'Quando ativado, o proxy verificará estritamente o certificado SSL do servidor de origem (desativado por padrão).',
huaweicloud: 'Huawei Cloud',
createDb: 'Criar Banco de Dados',
enableSSLHelper: 'A falha ao ativar o SSL não afetará a criação do site.',
batchAdd: 'Adicionar Domínios em Lote',
batchInput: 'Entrada em Lote',
domainNotFQDN: 'Este domínio pode não estar acessível na rede pública',
domainInvalid: 'Formato de domínio inválido',
domainBatchHelper:
'Um domínio por linha, formato: domínio:porta@ssl\nExemplo: example.com:443@ssl ou example.com',
generateDomain: 'Gerar',
global: 'Global',
subsite: 'Subsite',
subsiteHelper:
'Um subsite pode selecionar o diretório de um site PHP ou estático existente como seu diretório raiz.',
deleteSubsite: 'Para excluir o site atual, você deve primeiro excluir o subsite {0}.',
loadBalance: 'Balanceamento de Carga',
server: 'Nó',
algorithm: 'Algoritmo',
ipHash: 'Hash de IP',
ipHashHelper:
'Distribui as solicitações para um servidor específico com base no endereço IP do cliente, garantindo que um cliente específico seja sempre roteado para o mesmo servidor.',
leastConn: 'Menos Conexões',
leastConnHelper: 'Envia solicitações para o servidor com o menor número de conexões ativas.',
leastTime: 'Menor Tempo',
leastTimeHelper: 'Envia solicitações para o servidor com o menor tempo de conexão ativa.',
defaultHelper:
'Método padrão, as solicitações são distribuídas uniformemente para cada servidor. Se o servidor tiver configuração de peso, as solicitações são distribuídas de acordo com o peso especificado. Servidores com pesos mais altos recebem mais solicitações.',
weight: 'Peso',
maxFails: 'Máximo de Falhas',
maxConns: 'Máximo de Conexões',
strategy: 'Estratégia',
strategyDown: 'Desativar',
strategyBackup: 'Backup',
ipHashBackupErr: 'Hash IP não suporta nós de backup',
failTimeout: 'Tempo limite de falha',
failTimeoutHelper:
'O comprimento da janela de tempo para verificações de integridade do servidor. Quando o número acumulado de falhas atinge o limite dentro deste período, o servidor será removido temporariamente e repetido após a mesma duração. Padrão 10 segundos',
staticChangePHPHelper: 'Atualmente um site estático, pode ser alterado para um site PHP.',
proxyCache: 'Cache de Proxy Reverso',
cacheLimit: 'Limite de Espaço de Cache',
shareCache: 'Tamanho da Memória de Contagem de Cache',
cacheExpire: 'Tempo de Expiração do Cache',
shareCacheHelper: '1M de memória pode armazenar aproximadamente 8000 objetos de cache.',
cacheLimitHelper: 'Exceder o limite excluirá automaticamente os caches antigos.',
realIP: 'IP Real',
ipFrom: 'Fonte do IP',
ipFromHelper:
'Ao configurar fontes de IP confiáveis, o OpenResty analisará as informações de IP no cabeçalho HTTP para identificar e registrar com precisão o endereço IP real do visitante, incluindo nos logs de acesso.',
ipFromExample1:
'Se o frontend for uma ferramenta como o Frp, você pode preencher o endereço IP do Frp, como 127.0.0.1.',
ipFromExample2: 'Se o frontend for um CDN, você pode preencher o intervalo de IPs do CDN.',
ipFromExample3:
'Se não tiver certeza, você pode preencher 0.0.0.0/0 (IPv4) ou ::/0 (IPv6). [Nota: Permitir qualquer fonte de IP não é seguro.]',
http3Helper:
'O HTTP/3 é uma versão atualizada do HTTP/2, fornecendo velocidades de conexão mais rápidas e melhor desempenho. No entanto, nem todos os navegadores suportam HTTP/3, e ativá-lo pode fazer com que alguns navegadores não consigam acessar o site.',
cors: 'Compartilhamento de Recursos de Origem Cruzada (CORS)',
enableCors: 'Habilitar CORS',
allowOrigins: 'Domínios permitidos',
allowMethods: 'Métodos de solicitação permitidos',
allowHeaders: 'Cabeçalhos de solicitação permitidos',
allowCredentials: 'Permitir envio de cookies',
preflight: 'Resposta rápida a solicitação de preflight',
preflightHleper:
'Quando habilitado, quando o navegador envia uma solicitação de preflight de origem cruzada (solicitação OPTIONS), o sistema retornará automaticamente um código de status 204 e definirá os cabeçalhos de resposta de origem cruzada necessários',
changeDatabase: 'Alterar Banco de Dados',
changeDatabaseHelper1: 'A associação do banco de dados é usada para backup e restauração do site.',
changeDatabaseHelper2: 'Alternar para outro banco de dados pode tornar backups anteriores irrecuperáveis.',
saveCustom: 'Salvar como Modelo',
rainyun: 'Rainyun',
volcengine: 'Volcengine',
runtimePortHelper: 'O ambiente de runtime atual possui várias portas. Por favor, selecione uma porta de proxy.',
runtimePortWarn: 'O ambiente de execução atual não possui portos, não é possível proxiar',
cacheWarn: 'Por favor, desligue o interruptor de cache no proxy reverso primeiro',
loadBalanceHelper:
'Após criar o balanceamento de carga, vá para "Proxy Reverso", adicione um proxy e configure o endereço de backend para: http://<nome do balanceamento de carga>.',
useProxy: 'Usar Proxy',
useProxyHelper: 'Usar o endereço do servidor proxy nas configurações do painel',
westCN: 'West Digital',
openBaseDir: 'Prevenir Ataques entre Sites',
openBaseDirHelper:
'open_basedir é usado para restringir o caminho de acesso a arquivos PHP, ajudando a prevenir acesso entre sites e aumentar a segurança',
serverCacheTime: 'Tempo de Cache do Servidor',
serverCacheTimeHelper:
'O tempo que uma requisição é armazenada em cache no servidor. Durante este período, requisições idênticas retornarão o resultado em cache diretamente, sem pedir ao servidor de origem.',
browserCacheTime: 'Tempo de Cache do Navegador',
browserCacheTimeHelper:
'O tempo que os recursos estáticos são armazenados em cache localmente no navegador, reduzindo requisições redundantes. Os usuários usarão o cache local diretamente antes de expirar ao atualizar a página.',
donotLinkeDB: 'Não Vincular Banco de Dados',
toWebsiteDir: 'Entrar no Diretório do Site',
execParameters: 'Parâmetros de Execução',
extCommand: 'Comando Suplementar',
mirror: 'Fonte de Espelho',
execUser: 'Usuário Executando',
execDir: 'Diretório de Execução',
packagist: 'Espelho Completo da China',
batchOperate: 'Operação em Lote',
batchOperateHelper: 'Lote {0} sites, continuar operação?',
stream: 'Proxy TCP/UDP',
streamPorts: 'Portas de escuta',
streamPortsHelper:
'Defina o número da porta de escuta externa, os clientes acessarão o serviço através desta porta, separados por vírgulas, por exemplo: 5222,5223',
streamHelper: 'Encaminhamento de Portas e Balanceamento de Carga TCP/UDP',
udp: 'Habilitar UDP',
syncHtmlHelper: 'Sincronizar com PHP e sites estáticos',
wafValueHelper: 'Valor',
parentWbeiste: 'Site pai',
cacheExpireJHelper: 'O cache será excluído se não houver acesso após o tempo de expiração',
},
php: {
short_open_tag: 'Suporte para short tags',
max_execution_time: 'Tempo máximo de execução do script',
max_input_time: 'Tempo máximo de entrada de dados',
memory_limit: 'Limite de memória para scripts',
post_max_size: 'Tamanho máximo para dados enviados via POST',
file_uploads: 'Permitir upload de arquivos',
upload_max_filesize: 'Tamanho máximo permitido para upload de arquivos',
max_file_uploads: 'Número máximo de arquivos permitidos para upload simultâneo',
default_socket_timeout: 'Tempo limite do socket',
error_reporting: 'Nível de relatório de erros',
display_errors: 'Exibir informações detalhadas de erro',
cgi_fix_pathinfo: 'Ativar suporte a pathinfo',
date_timezone: 'Fuso horário',
disableFunction: 'Desabilitar função',
disableFunctionHelper:
'Informe a função a ser desabilitada, como exec. Para múltiplas funções, separe com vírgulas',
uploadMaxSize: 'Limite de upload',
indexHelper:
'Para garantir o funcionamento normal do site em PHP, coloque o código no diretório de índice e evite renomeações',
extensions: 'Modelos de extensão',
extension: 'Extensão',
extensionHelper: 'Para múltiplas extensões, separe com vírgulas',
toExtensionsList: 'Ver lista de extensões',
containerConfig: 'Configuração do Contêiner',
containerConfigHelper:
'Variáveis de ambiente e outras informações podem ser modificadas em Configuração - Configuração do Contêiner após a criação',
dateTimezoneHelper: 'Exemplo: TZ=Asia/Shanghai (Adicione conforme necessário)',
extensionsHelper: 'Para várias extensões, separe por vírgulas',
},
nginx: {
serverNamesHashBucketSizeHelper: 'Tamanho da tabela hash dos nomes de servidor',
clientHeaderBufferSizeHelper: 'Tamanho do buffer de cabeçalho solicitado pelo cliente',
clientMaxBodySizeHelper: 'Tamanho máximo de upload',
keepaliveTimeoutHelper: 'Tempo limite da conexão',
gzipMinLengthHelper: 'Tamanho mínimo para compressão',
gzipCompLevelHelper: 'Nível de compressão',
gzipHelper: 'Ativar compressão na transmissão',
brotliHelper: 'Ativar compressão brotli, geralmente menor que gzip',
brotliCompLevelHelper: 'Taxa de compressão brotli, de 0 a 11',
brotliManagedExternallyHelper:
'O brotli está configurado manualmente no nginx.conf; o painel mostra os valores em vigor e não os sobrescreve.',
brotliManagedUnavailableHelper:
'O painel não conseguiu adicionar automaticamente a configuração brotli gerenciada ao nginx.conf; os valores abaixo não terão efeito.',
brotliMinLengthHelper: 'Tamanho mínimo da resposta para compressão brotli',
brotliSaveFailed: 'Falha ao salvar as configurações brotli; as configurações gzip acima foram aplicadas',
connections: 'Conexões ativas',
accepts: 'Accepts',
handled: 'Handled',
requests: 'Requests',
reading: 'Reading',
writing: 'Writing',
waiting: 'Waiting',
status: 'Status atual',
configResource: 'Configuração',
saveAndReload: 'Salvar e recarregar',
clearProxyCache: 'Limpar cache do proxy reverso',
clearProxyCacheWarn:
'Todos os sites com cache configurado serão afetados e o "OpenResty" será reiniciado. Deseja continuar?',
create: 'Criar Módulo',
update: 'Editar Módulo',
params: 'Parâmetros',
packages: 'Pacotes',
script: 'Script',
module: 'Módulo',
build: 'Construir',
buildWarn:
'A compilação local de módulos consome CPU e memória. Módulos estáticos também recompilam e reiniciam o OpenResty. Continuar?',
buildPurposeHint:
'Os módulos dinâmicos entram em vigor via hot reload após a compilação (sem reiniciar o contêiner); se houver módulos estáticos, a imagem será totalmente reconstruída e o contêiner recriado',
buildMode: 'Modo de compilação',
buildModeDynamic: 'Dinâmico',
buildModeStatic: 'Estático',
buildStatus: 'Status da compilação',
loadOrder: 'Ordem de carregamento',
modulesToBuild: 'Módulos dinâmicos (hot reload após a compilação, sem reiniciar o contêiner)',
staticModules: 'Módulos estáticos',
staticModulesHelper: 'A compilação reconstruirá todos os módulos e reiniciará o OpenResty',
forceBuild: 'Recompilar sem cache',
buildFailed: 'A última compilação falhou',
pending: 'Pendente',
ready: 'Pronto',
failed: 'Falhou',
dynamicUnsupported: 'A compilação dinâmica não é suportada na versão atual do OpenResty',
moduleDynamicUnsupported: 'Os parâmetros deste módulo não suportam compilação dinâmica',
mirrorUrl: 'Fonte de Software',
paramsHelper: 'Por exemplo: --add-module=/tmp/ngx_brotli; o modo dinâmico converte automaticamente',
packagesHelper: 'Por exemplo: git,curl separados por vírgulas',
scriptHelper:
'Script a ser executado antes da compilação, geralmente para baixar o código-fonte do módulo, instalar dependências, etc.',
buildHelper:
'Módulos dinâmicos são carregados pela configuração após a compilação; módulos estáticos ainda recompilam o OpenResty.',
defaultHttps: 'Proteção contra adulteração HTTPS',
defaultHttpsHelper1: 'A ativação desta opção pode resolver problemas de adulteração HTTPS.',
sslRejectHandshake: 'Rejeitar handshake SSL padrão',
sslRejectHandshakeHelper:
'Ativar isso pode evitar vazamento de certificados, definir um site padrão invalidará esta configuração',
},
ssl: {
create: 'Solicitar',
provider: 'Tipo',
manualCreate: 'Criado manualmente',
acmeAccount: 'Conta ACME',
resolveDomain: 'Resolver nome de domínio',
err: 'Erro',
value: 'Valor do registro',
dnsResolveHelper: 'Vá ao provedor de serviço de DNS para adicionar os seguintes registros de resolução:',
detail: 'Detalhes',
msg: 'Informação',
ssl: 'Certificado',
key: 'Chave privada',
startDate: 'Data de início',
organization: 'Organização emissora',
renewConfirm: 'Isso renovará um novo certificado para o domínio {0}. Deseja continuar?',
autoRenew: 'Renovação automática',
autoRenewHelper: 'Renova automaticamente 30 dias antes da expiração',
renewSuccess: 'Renovação bem-sucedida',
renewWebsite: 'Este certificado está associado aos seguintes sites e será aplicado a eles simultaneamente',
createAcme: 'Criar conta',
acmeHelper: 'A conta ACME é usada para solicitar certificados gratuitos',
upload: 'Importar',
applyType: 'Tipo',
apply: 'Renovar',
applyStart: 'Início da solicitação do certificado',
getDnsResolve: 'Obtendo o valor de resolução DNS, por favor, aguarde...',
selfSigned: 'CA autoassinado',
ca: 'Autoridade certificadora',
commonName: 'Nome comum',
caName: 'Nome da autoridade certificadora',
company: 'Nome da organização',
department: 'Nome da unidade organizacional',
city: 'Nome da localidade',
province: 'Estado ou província',
country: 'Nome do país (código de 2 letras)',
commonNameHelper: 'Por exemplo, ',
selfSign: 'Emitir certificado',
days: 'Período de validade',
domainHelper: 'Um domínio por linha, suporta * e endereços IP',
pushDir: 'Enviar o certificado para o diretório local',
dir: 'Diretório',
pushDirHelper:
'O arquivo do certificado "fullchain.pem" e o arquivo de chave "privkey.pem" serão gerados neste diretório.',
organizationDetail: 'Detalhes da organização',
fromWebsite: 'Do site',
dnsMauanlHelper:
'No modo de resolução manual, você precisa clicar no botão de solicitação após a criação para obter o valor de resolução DNS',
httpHelper:
'O uso do modo HTTP requer a instalação do OpenResty e não suporta a solicitação de certificados de domínio curinga.',
buypassHelper: 'O Buypass não está acessível na China continental',
googleHelper: 'Como obter EAB HmacKey e EAB kid',
googleCloudHelper: 'A API do Google Cloud não está acessível na maior parte da China continental',
skipDNSCheck: 'Pular verificação DNS',
skipDNSCheckHelper:
'Marque esta opção apenas se enfrentar problemas de timeout durante a solicitação de certificação.',
cfHelper: 'Não use a Global API Key',
deprecated: 'será descontinuado',
deprecatedHelper:
'A manutenção foi interrompida e pode ser abandonada em uma versão futura. Use o método Tencent Cloud para análise',
dnsPodRemoved: 'removido',
dnsPodRemovedTip:
'O DnsPod foi removido no lego v5; esta conta não pode ser usada para emissão/renovação de certificados. Por favor, mude para uma conta DNS do TencentCloud.',
dnsPodRemovedSSLTip:
'A conta DnsPod vinculada a este certificado não é mais válida no lego v5; a renovação automática falhará. Por favor, troque a conta DNS para TencentCloud.',
disableCNAME: 'Desativar CNAME',
disableCNAMEHelper: 'Marque esta opção se o domínio tiver um registro CNAME e a solicitação falhar.',
nameserver: 'Servidor DNS',
nameserverHelper: 'Use um servidor DNS personalizado para verificar os nomes de domínio.',
edit: 'Editar certificado',
execShell: 'Executar o script após a solicitação de certificação.',
shell: 'Conteúdo do script',
shellHelper:
'O diretório padrão de execução do script é o diretório de instalação do 1Panel. Se um certificado for enviado para o diretório local, o diretório de execução será o diretório de envio do certificado. O tempo limite padrão de execução é de 30 minutos.',
customAcme: 'Serviço ACME Personalizado',
customAcmeURL: 'URL do Serviço ACME',
baiduCloud: 'Baidu Cloud',
pushNode: 'Sincronizar com Outros Nós',
pushNodeHelper: 'Enviar para os nós selecionados após a aplicação/renovação',
fromMaster: 'Envio do Nó Mestre',
hostedZoneID: 'Hosted Zone ID',
isIP: 'Certificado de IP',
useEAB: 'Usar autenticação EAB',
},
firewall: {
create: 'Criar regra',
edit: 'Editar regra',
quickJump: 'Acesso rápido',
used: 'Usado',
unUsed: 'Não usado',
managed: 'Criada pelo painel',
managedHelper: 'Criada e mantida pelo 1Panel. Pode ser editada ou excluída.',
adopted: 'Externa gerenciada',
adoptedHelper: 'Uma regra existente do sistema que agora é mantida pelo 1Panel.',
external: 'Regra externa',
externalHelper:
'Regra existente do sistema que ainda não é gerenciada pelo 1Panel. Pode ser adotada quando necessário.',
protected: 'Protegida pelo sistema',
protectedHelper:
'Regra crítica do sistema que não pode ser editada ou excluída para evitar interrupções de acesso.',
stateShort: {
managed: 'Painel',
adopted: 'Gerenciada',
external: 'Externa',
protected: 'Protegida',
drifted: 'Divergente',
},
ruleTargetRequired: 'Informe pelo menos um endereço IP ou uma porta',
batchRuleLimit: 'É possível criar no máximo {0} regras por vez',
resolution_adopt: 'Assumir gerenciamento',
adoptRuleConfirm: 'Depois disso, o 1Panel poderá manter e excluir esta regra existente. Continuar?',
plan_equivalent_external_rule:
'Já existe uma regra externa idêntica. Assuma seu gerenciamento sem criar uma duplicata.',
plan_multiple_equivalent_external_rules:
'Existem várias regras externas idênticas. Selecione uma para gerenciar.',
plan_equivalent_managed_rule: 'Uma regra idêntica já é gerenciada pelo 1Panel. Não é necessário duplicá-la.',
allRulesAlreadyExist: 'Todas as {0} regras verificadas já existem. Não há novas regras para criar.',
ruleCheckResult: 'Resultados da verificação de regras',
ruleCheckStatus_creatable: 'Pode ser criada',
ruleCheckStatus_existing: 'Já existe',
ruleCheckStatus_error: 'Erro',
ruleCheckExistingHelper: 'Uma regra idêntica já existe e será ignorada.',
ruleCheckReadyHelper: 'A verificação foi aprovada. Esta regra pode ser criada.',
ruleCheckExternalExists: 'Uma regra externa idêntica já existe e será ignorada automaticamente.',
ruleCheckBlockedHelper: 'Regras com erros não podem ser enviadas. Volte, edite-as e verifique novamente.',
plan_managed_rule_drifted:
'A regra gerenciada não corresponde ao firewall ativo. Resolva a divergência primeiro.',
plan_opaque_rule_in_target_scope:
'O escopo contém uma regra que não pode ser analisada com segurança. A operação foi interrompida.',
plan_runtime_permanent_mismatch: 'As configurações ativa e permanente são diferentes. Sincronize-as primeiro.',
plan_protected_rule: 'Esta regra está protegida e não pode ser assumida, alterada ou excluída.',
plan_blocked: 'A regra não pode ser aplicada com segurança. Atualize a lista e tente novamente.',
scopeDefaultMismatch: 'A zona padrão do sistema é {0}; esta página gerencia apenas a zona public.',
scopeInactive: 'O escopo gerenciado está inativo. Novas regras podem não afetar o tráfego atual.',
scopeMissing: 'O escopo gerenciado {0} não existe e será criado com segurança ao aplicar a primeira regra.',
scopeUnmanagedActive: 'Outros escopos ativos foram detectados: {0}. O 1Panel não modificará suas regras.',
scopeRuntimeMismatch: 'As configurações ativa e permanente do firewalld não coincidem. Reinicie o firewall.',
dockerRestart: 'Operações de firewall exigem reinicialização do serviço Docker',
firewallHelper: 'Firewall do sistema {0}',
firewallNotStart: 'O firewall do sistema não está habilitado atualmente. Habilite-o primeiro.',
restartFirewallHelper: 'Esta operação reiniciará o firewall atual. Deseja continuar?',
stopFirewallHelper: 'Isso fará com que o servidor perca a proteção de segurança. Deseja continuar?',
startFirewallHelper:
'Depois que o firewall for habilitado, a segurança do servidor será melhor protegida. Deseja continuar?',
noPing: 'Desativar ping',
enableBanPing: 'Bloquear Ping',
disableBanPing: 'Desbloquear Ping',
stop: 'Parar',
portFormatError: 'Este campo deve ser uma porta válida.',
accept: 'Aceitar',
drop: 'Bloquear',
anyWhere: 'Qualquer',
allow: 'Permitir',
deny: 'Negar',
addressFormatError: 'Este campo deve ser um endereço IP válido.',
forwardRule: 'Regra de redirecionamento de porta | Regras de redirecionamento de porta',
dockerGuard: 'Proteção de portas de contêineres',
systemFirewall: 'Firewall do host',
systemFirewallHelper: 'Controla o acesso às portas do host e as regras de entrada.',
forwardingHelper: 'Gerencia regras de encaminhamento de portas.',
dockerFirewallHelper: 'Seleciona como o 1Panel gerencia a proteção de portas de contêineres.',
dockerNftablesRequirement: 'Docker ≥ 29.0.0, experimental',
backendRecommendation: 'Recomenda-se usar iptables ou nftables.',
configuredRules: '{0} regras configuradas',
addressFamily: 'Versão do IP',
portOrRange: 'Porta / intervalo',
importBackendHelper:
'As regras importadas são convertidas para o backend atual {0}. As regras de origem não são alteradas.',
ruleSyncTitle: 'Sincronizar regras',
ruleSyncAction: 'Sincronizar regras',
ruleSyncDatabase: 'Banco de dados do 1Panel',
ruleSyncDatabaseHelper:
'Sincroniza e ajusta as regras gerenciadas no firewall atual com base nas regras do banco de dados do 1Panel. As regras ausentes serão adicionadas e as excedentes serão removidas.',
ruleSyncDatabaseTotal: 'Regras do banco de dados',
ruleSyncDatabaseConfirm:
'Sincronizar {1} para corresponder exatamente às {0} regras do banco de dados? {2} regras do destino serão removidas e as ausentes serão adicionadas.',
ruleSyncSource: 'Fonte da configuração',
ruleSyncTarget: 'Backend atual',
ruleSyncReady: 'Prontas',
ruleSyncExisting: 'Existentes',
ruleSyncRemove: 'A remover',
ruleSyncBlocked: 'Indisponíveis',
ruleSyncReason: 'Resultado da verificação',
ruleSyncReasonDetail: {
matchesDatabasePolicy: 'A regra já corresponde à política do banco de dados.',
managedOrderDiffers: 'A ordem das regras gerenciadas difere da sequência do banco de dados.',
managedOnlyInTarget: 'A regra gerenciada existe apenas no firewall de destino.',
managedRuntimeCannotRemove: 'A regra ativa gerenciada não pode ser removida com segurança.',
managedOrderBlocked:
'As regras gerenciadas não podem ser reordenadas através de regras externas, não reconhecidas ou protegidas.',
mayBlockManagement: 'A regra pode bloquear a conexão de gerenciamento atual.',
missingFromTarget: 'A regra não existe no firewall de destino.',
targetDiffers: 'A regra de destino difere da política do banco de dados.',
alreadyExistsInTarget: 'A regra já existe no firewall de destino.',
onlyInTarget: 'A regra existe apenas no firewall de destino.',
stale: 'O estado da regra está desatualizado. Atualize e tente novamente.',
lockoutRisk: 'Esta alteração pode bloquear o acesso de gerenciamento.',
protectedRule: 'Esta regra protegida do firewall não pode ser modificada.',
dockerAcceptReadOnly:
'Esta regra ACCEPT é somente leitura e será preservada durante a sincronização das outras regras. Para removê-la, exclua-a manualmente no host.',
cannotReconcile: 'Não foi possível sincronizar a regra de destino: {0}',
},
ruleSyncPartial: 'Sincronização concluída: {0} com sucesso, {1} já existiam e {2} falharam.',
ruleSyncSuccess: 'Sincronização concluída: {0} com sucesso, {1} já existiam e {2} removidas.',
ruleSyncStatus: {
ready: 'Pronta',
existing: 'Existente',
remove: 'A remover',
blocked: 'Indisponível',
},
resetDirectRulesHelper:
'Exclua de {0} as cadeias, regras em execução e arquivos persistentes do firewall do 1Panel; as políticas salvas no banco são mantidas',
resetWhitelistRulesHelper:
'Redefina a configuração personalizada ativa em {0}, restaure os padrões de instalação e desative {0}; as políticas do banco são mantidas e podem ser sincronizadas novamente.',
cleanupForwardingBackendHelper:
'Redefina as regras de execução de encaminhamento de portas do 1Panel em {0}: exclua todas as regras e cadeias relacionadas e mantenha os dados do banco de dados',
cleanupDockerBackendHelper:
'Redefina as regras de execução de proteção de portas Docker do 1Panel em {0}: exclua todas as regras e cadeias relacionadas e mantenha os dados do banco de dados',
cleanupBeforeBackendSwitch:
'O backend atual {0} ainda contém regras de execução do 1Panel. Redefina-o antes de mudar para {1}. A redefinição remove apenas as regras de execução; as políticas do banco são mantidas e podem ser inicializadas ou sincronizadas após a troca.',
cleanupAction: 'Redefinir',
backendSwitchNotice:
'Recomenda-se habilitar apenas uma forma de gerenciamento de firewall. Executar vários firewalls ao mesmo tempo pode causar conflitos de regras, estados inconsistentes ou falhas de acesso às portas dos contêineres.',
switchBackendHelper: 'Mudar para {0}?',
switchDockerBackendHelper: 'Mudar para {0}? Isso atualizará a configuração e reiniciará o Docker.',
uninstalledStatus: 'Não instalado',
selectedBackendNotInstalled:
'O serviço {backend} não foi detectado. Instale-o manualmente pela {library} ou altere o backend do firewall em {settings}.',
initializedStatus: 'Inicializado',
partiallyInitialized: 'Parcialmente inicializado',
dockerGuardHelper:
'Configure restrições de acesso para as portas publicadas pelos contêineres Docker no host. Portas sem proteção mantêm o acesso padrão do Docker.',
dockerTrafficPathMixed:
'As portas selecionadas usam caminhos de acesso diferentes. Configure-as separadamente.',
dockerTrafficPathUnknown:
'Não foi possível determinar o caminho de acesso desta porta. Verifique a rede do Docker e tente novamente.',
dockerTrafficPathReason: {
nat_inspect_failed:
'Não foi possível ler as regras NAT do Docker. Verifique os comandos e as permissões do firewall e atualize a página.',
proxy_inspect_failed:
'Não foi possível inspecionar os processos docker-proxy. Verifique o acesso às informações dos processos e atualize a página.',
nat_chain_unreachable:
'Existe uma regra de encaminhamento do Docker para esta porta, mas a cadeia de entrada NAT não está ativa. Verifique as regras do firewall do Docker ou reinicie o Docker e atualize a página.',
no_matching_path:
'Nenhuma regra de encaminhamento do Docker ativa ou processo proxy foi encontrado para esta porta. Inicie ou reinicie o contêiner e atualize a página. Se o problema continuar, verifique a rede do Docker.',
},
dockerTrafficPathPending: 'Caminho de acesso pendente',
dockerInputPolicyNotEffective:
'O host recebe esta porta diretamente, portanto a regra de proteção da porta do contêiner não se aplica. Configure-a no firewall do host.',
dockerInputUseHostFirewall: 'Configure o acesso a esta porta no firewall do host.',
dockerInputNotProtected:
'As regras INPUT do host não protegem diretamente esta porta publicada pelo Docker. Clique para abrir a proteção de portas de contêineres.',
notInitialized: 'Não inicializado',
familyUnsupported: 'O sistema não oferece suporte a {0}',
familyChainIssue: '{0} · cadeia {1} · {2}',
dockerGuardUnbindConfirm:
'Após desvincular, todas as portas de contêineres retornarão temporariamente ao acesso padrão do Docker. As configurações de proteção existentes serão mantidas. Continuar?',
deleteDockerGuardPolicyConfirm: 'Este endpoint retornará ao acesso padrão do Docker. Continuar?',
clearDockerGuardPoliciesConfirm: 'Os endpoints selecionados retornarão ao acesso padrão do Docker. Continuar?',
protection: 'Proteção',
portDetails: 'Detalhes da porta',
orphanEndpoints: 'Endpoints não associados',
orphanPolicies: 'Regras não associadas',
orphanPoliciesHelper:
'As {0} regra(s) a seguir não estão vinculadas a uma porta Docker. Elas serão vinculadas automaticamente quando uma porta correspondente for detectada.',
composeOrApp: 'Compose / Aplicativo',
sources: 'Origens',
deniedSources: 'Origens negadas',
allowedSources: 'Origens permitidas',
dockerGuardPolicy: 'Política de proteção de portas de contêineres',
protectionMode: 'Modo de proteção',
denySources: 'Negar origens especificadas',
allowSources: 'Permitir somente origens especificadas',
denyAll: 'Negar todo o acesso',
dockerGuardMixedFamilyHelper:
'IPv4 e IPv6 estão selecionados. Configure as políticas baseadas em origem separadamente; bloquear tudo pode ser aplicado diretamente.',
dockerGuardInconsistentConfigHelper:
'As regras selecionadas têm configurações diferentes. Configure-as novamente para substituir todas; uma descrição vazia limpará todas as descrições.',
effective: 'Em vigor',
forwardUnsynced: 'Não sincronizado',
notEffective: 'Sem efeito',
dockerGuardStatusReason: {
command_missing:
'O componente de firewall {0} não está disponível e a proteção correspondente não pode ser habilitada. Verifique o firewall do sistema',
docker_chain_missing:
'A rede de contêineres Docker para {0} não está habilitada, portanto nenhuma proteção é necessária. Se necessário, habilite primeiro {0} no Docker',
guard_chain_missing: 'A proteção de portas {0} não foi totalmente inicializada. Inicialize-a novamente',
jump_missing: 'A proteção de portas {0} não está vinculada e está inativa. Vincule-a novamente',
jump_not_first:
'A proteção de portas {0} está configurada incorretamente e pode não funcionar por completo. Desvincule-a e vincule-a novamente',
jump_duplicate: 'A proteção de portas {0} tem configuração duplicada. Desvincule-a e vincule-a novamente',
inspect_failed:
'Não foi possível obter o estado da proteção de portas {0}. Atualize ou verifique o firewall do sistema',
},
dockerGuardUnprotected: 'Sem proteção',
sourcePort: 'Porta de origem',
targetIP: 'IP de destino',
targetPort: 'Porta de destino',
forwardHelper1:
'Se você deseja redirecionar para a porta local, o IP de destino deve ser definido como "127.0.0.1".',
forwardHelper2: 'Deixe o IP de destino em branco para redirecionar para a porta local.',
forwardPortHelper: 'Suporta intervalos de portas, ex. 8080-8089',
forwardInboundInterface: 'Interface de Rede de Entrada para Encaminhamento',
exportHelper: 'Prestes a exportar {0} regras de firewall. Continuar?',
importSuccess: '{0} regras importadas com sucesso',
importPartialSuccess: 'Importação concluída: {0} sucesso, {1} falha',
basicStatus: 'O firewall atual não está vinculado. Vincule-o primeiro.',
initMsg: 'Prestes a inicializar {0}, continuar?',
initDirectBackendConflictMsg:
'{1} ainda está vinculado. Se {0} for inicializado, os dois conjuntos de regras ficarão ativos e poderão bloquear o acesso inesperadamente. Continuar?',
directBackendConflictWarning:
'{0} e {1} estão vinculados, portanto os dois conjuntos de regras estão ativos. Verifique se não bloqueiam um ao outro e desvincule manualmente o firewall que não será mais usado.',
initHelper:
'Detectado que {0} não está inicializado. Clique no botão de inicialização na barra de status superior para configurar!',
bindHelper:
'Vincular - As regras de firewall só entrarão em vigor quando o status estiver vinculado. Confirmar?',
unbindHelper:
'Desvincular - Quando desvinculado, todas as regras de firewall adicionadas se tornarão inválidas. Prossiga com cautela. Confirmar?',
portWhiteList: 'Lista branca de portas',
portWhiteListAlter:
'Salvar não altera imediatamente as regras atuais do firewall. Novas portas serão abertas na próxima inicialização ou ativação. Para fechar uma porta removida, exclua manualmente a regra existente na lista de regras.',
portWhiteListHelper: 'Suporta IPv4/IPv6, TCP/UDP, portas únicas e intervalos como 8000-8100.',
chain: 'Cadeia',
sourceIP: 'IP de Origem',
destIP: 'IP de Destino',
destPort: 'Porta de Destino',
action: 'Ação',
priority: 'Prioridade',
reject: 'Rejeitar',
allPorts: 'Todas as Portas',
allProtocolHelper: 'Todos os protocolos e portas',
sourceAddressPlaceholder: 'por exemplo: 172.16.10.11, 172.16.0.0/24, 2001:db8::1 ou 2001:db8::/64',
destinationPortPlaceholder: 'por exemplo: 80, 80,443 ou 8080-8089',
deleteRuleConfirm: 'Excluirá {0} regras. Continuar?',
deleteUsedRuleConfirm:
'Esta regra abrange serviços em escuta fornecidos por {0}. Excluí-la pode tornar esses serviços inacessíveis. Continuar?',
deleteWildcardRuleConfirm:
'Esta regra permite que {0} acesse {1}. Excluí-la pode afetar o acesso a vários serviços. Continuar?',
deleteRiskRulesConfirm:
'Excluirá {0} regras. {1} regras de liberação podem afetar o acesso aos serviços. Continuar?',
editRuleConfirm:
'Os seguintes campos serão alterados: {0}. A regra será aplicada e verificada imediatamente. Continuar?',
},
runtime: {
importEnv: 'Importar variáveis de ambiente',
envImportError: 'Linha {0}: {1}',
envInvalidAssignment: 'Era esperada uma atribuição NOME=valor válida',
envUnclosedQuote: 'Aspas não fechadas',
envUnexpectedText: 'Texto inesperado após as aspas de fechamento',
runtime: 'Runtime',
workDir: 'Diretório de trabalho',
localHelper: 'Para problemas de instalação em ambiente local e uso em ambiente offline, consulte ',
versionHelper: 'Versão do PHP, por exemplo, v8.0',
buildHelper:
'Quanto mais extensões, maior será o uso de CPU durante a criação da imagem. As extensões podem ser instaladas após a criação do ambiente.',
openrestyWarn: 'É necessário atualizar o PHP para OpenResty versão 1.21.4.1 ou superior para usar',
toupgrade: 'Atualizar',
edit: 'Editar runtime',
extendHelper:
'Extensões não listadas podem ser inseridas e selecionadas manualmente. Por exemplo, digite "sockets" e escolha a primeira opção da lista suspensa para visualizar a lista de extensões.',
rebuildHelper: 'Após editar as extensões, é necessário recriar a aplicação PHP para aplicar as alterações',
rebuild: 'Recriar Aplicação PHP',
source: 'Fonte de extensões PHP',
ustc: 'Universidade de Ciência e Tecnologia da China',
netease: 'Netease',
aliyun: 'Alibaba Cloud',
default: 'Padrão',
tsinghua: 'Universidade Tsinghua',
xtomhk: 'Estação de Espelhos XTOM (Hong Kong)',
xtom: 'Estação de Espelhos XTOM (Global)',
phpsourceHelper: 'Escolha uma fonte adequada de acordo com o ambiente de rede.',
appPort: 'Porta da aplicação',
externalPort: 'Porta externa',
packageManager: 'Gerenciador de pacotes',
codeDir: 'Diretório do código',
appPortHelper: 'A porta usada pela aplicação.',
externalPortHelper: 'A porta exposta para o ambiente externo.',
runScript: 'Executar script',
runScriptHelper:
'A lista de comandos de inicialização é gerada a partir do arquivo package.json no diretório de origem.',
open: 'Abrir',
operatorHelper: 'A operação {0} será realizada no ambiente selecionado. Deseja continuar?',
taobao: 'Taobao',
tencent: 'Tencent',
imageSource: 'Fonte da imagem',
moduleManager: 'Gerenciamento de Módulos',
module: 'Módulo',
nodeOperatorHelper:
'Deseja {0} o módulo {1}? Esta operação pode causar instabilidade no ambiente, confirme antes de prosseguir.',
customScript: 'Comando de inicialização personalizado',
customScriptHelper:
'Por favor, insira o comando de inicialização completo, por exemplo: npm run start. Para comandos de inicialização do PM2, substitua por pm2-runtime, caso contrário irá falhar ao iniciar.',
portError: 'Evite repetir a mesma porta.',
systemRestartHelper:
'Descrição do status: Interrupção - falha ao adquirir status devido à reinicialização do sistema.',
javaScriptHelper:
'Forneça um comando completo de inicialização. Por exemplo, "java -jar halo.jar -Xmx1024M -Xms256M".',
javaDirHelper: 'O diretório deve conter arquivos jar, subdiretórios também são aceitos.',
goHelper: 'Forneça um comando completo de inicialização. Por exemplo, "go run main.go" ou "./main".',
goDirHelper: 'O diretório ou subdiretório deve conter arquivos Go ou binários.',
pythonHelper:
'Forneça um comando completo de inicialização. Por exemplo, "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:5000".',
dotnetHelper: 'Por favor, preencha o comando completo de inicialização, por exemplo, dotnet MyWebApp.dll',
dirHelper: 'Nota: Preencha o caminho do diretório dentro do contêiner',
concurrency: 'Esquema de Concorrência',
loadStatus: 'Status de Carga',
extraHosts: 'Mapeamento de host',
extension: 'Extensão',
installExtension: 'Confirma instalar a extensão {0}',
loadedExtension: 'Extensão carregada',
popularExtension: 'Extensão popular',
uninstallExtension: 'Tem certeza de que deseja desinstalar a extensão {0}',
phpConfigHelper: 'Alterar a configuração exige reiniciar o ambiente. Deseja continuar',
operateMode: 'modo de operação',
dynamic: 'dinâmico',
static: 'estático',
ondemand: 'sob demanda',
dynamicHelper:
'Ajusta dinamicamente o número de processos; alta flexibilidade para tráfego variável ou baixa memória',
staticHelper:
'Número fixo de processos, adequado para tráfego estável e alta concorrência, com maior consumo de recursos',
ondemandHelper:
'Processos iniciam e encerram sob demanda; melhor uso de recursos, mas resposta inicial pode ser lenta',
max_children: 'número máximo de processos permitidos',
start_servers: 'número de processos ao iniciar',
min_spare_servers: 'número mínimo de processos ociosos',
max_spare_servers: 'número máximo de processos ociosos',
envKey: 'Nome',
envValue: 'Valor',
environment: 'Variável de ambiente',
},
process: {
pid: 'ID do Processo',
ppid: 'ID do Processo Pai',
numThreads: 'Threads',
memory: 'Memória',
diskRead: 'Leitura de Disco',
diskWrite: 'Escrita de Disco',
netSent: 'Envio (uplink)',
netRecv: 'Recebimento (downlink)',
numConnections: 'Conexões',
startTime: 'Hora de Início',
running: 'Executando',
sleep: 'Dormindo',
stop: 'Parado',
idle: 'Ocioso',
zombie: 'Processo zumbi',
wait: 'Aguardando',
lock: 'Travado',
blocked: 'Bloqueado',
cmdLine: 'Comando de Inicialização',
basic: 'Básico',
mem: 'Memória',
openFiles: 'Arquivos Abertos',
env: 'Ambientes',
noenv: 'Nenhum',
net: 'Conexões de Rede',
laddr: 'Endereço/porta de origem',
raddr: 'Endereço/porta de destino',
stopProcess: 'Encerrar',
viewDetails: 'Detalhes',
stopProcessWarn: 'Tem certeza de que deseja encerrar este processo (PID:{0})?',
kill: 'Encerrar Processo',
killNow: 'Encerrar Agora',
killHelper: 'Encerrar o processo {0} pode fazer com que alguns programas funcionem incorretamente. Continuar?',
processName: 'Nome do Processo',
},
tool: {
supervisor: {
loadStatusErr: 'Falha ao recuperar o status do processo, verifique o status do serviço do supervisor.',
notSupport:
'Serviço Supervisor não detectado. Vá para a página da biblioteca de scripts para instalar manualmente',
list: 'Processo daemon | Processos daemon',
config: 'Configuração do Supervisor',
primaryConfig: 'Localização do arquivo de configuração principal',
notSupportCtl:
'O supervisorctl não foi detectado. Vá para a página da biblioteca de scripts para instalar manualmente.',
user: 'Usuário',
command: 'Comando',
dir: 'Diretório',
numprocs: 'Nº de processos',
initWarn:
'Isso irá modificar o valor "files" na seção "[include"] do arquivo de configuração principal. O diretório de outros arquivos de configuração será: "{diretório de instalação do 1Panel}/1panel/tools/supervisord/supervisor.d/".',
operatorHelper: 'A operação {1} será realizada em {0}, deseja continuar? ',
uptime: 'Tempo de execução',
notStartWarn: 'O Supervisor não foi iniciado. Inicie-o primeiro.',
serviceName: 'Nome do serviço',
initHelper:
'O serviço Supervisor foi detectado, mas não está inicializado. Clique no botão de inicialização na barra de status superior para configurá-lo.',
serviceNameHelper:
'Nome do serviço do Supervisor gerenciado pelo systemctl, geralmente supervisor ou supervisord',
restartHelper:
'Isso reiniciará o serviço após a inicialização, o que fará com que todos os processos daemon existentes sejam interrompidos.',
RUNNING: 'Executando',
STOPPED: 'Parado',
STOPPING: 'Parando',
STARTING: 'Iniciando',
FATAL: 'Falha ao iniciar',
BACKOFF: 'Exceção ao iniciar',
ERROR: 'Erro',
statusCode: 'Código de status',
manage: 'Gerenciamento',
autoRestart: 'Reinicialização Automática',
EXITED: 'Saiu',
autoRestartHelper: 'Se o programa falhar, reiniciar automaticamente',
autoStart: 'Início Automático',
autoStartHelper: 'Se o serviço deve ser iniciado automaticamente após o Supervisor iniciar',
},
},
disk: {
management: 'Gerenciamento de Disco',
partition: 'Partição',
unmount: 'Desmontar',
unmountHelper: 'Deseja desmontar a partição {0}?',
mount: 'Montar',
partitionAlert:
'O particionamento de disco requer formatação do disco, e os dados existentes serão excluídos. Salve ou tire snapshots dos dados com antecedência.',
mountPoint: 'Diretório de Montagem',
systemDisk: 'Disco do Sistema',
unpartitionedDisk: 'Disco Não Particionado',
handlePartition: 'Particionar Agora',
filesystem: 'Sistema de Arquivos',
unmounted: 'Desmontado',
cannotOperate: 'Não Pode Operar',
systemDiskHelper: 'Dica: O disco atual é o disco do sistema, não pode ser operado.',
autoMount: 'Montagem Automática',
model: 'Modelo do Dispositivo',
diskType: 'Tipo de Disco',
serial: 'Número de Série',
noFail: 'Falha na montagem não afeta a inicialização do sistema',
},
xpack: {
ldap: {
source: 'Origem',
directoryMissing: 'Não encontrado no LDAP',
localCredentialsManaged:
'O nome de usuário e a senha são gerenciados pelo LDAP e não podem ser alterados localmente.',
sources: {
local: 'Local',
ldap: 'LDAP',
},
importUsers: 'Importar usuários AD/LDAP',
searchUsersPlaceholder: 'Pesquisar nome de usuário',
readFromLDAP: 'Leia de LDAP',
selectedUsers: '{0} selecionado',
queriedAt: 'Lido em',
cachedResult: 'Resultado armazenado em cache',
roleForNewUsers: 'Função para novos usuários',
selectRole: 'Selecione uma função',
roleOnlyForNewUsers: 'Uma função é necessária somente quando a importação cria usuários.',
roleRequiredForNewUsers: 'Selecione uma função para novos usuários LDAP.',
changedFields: 'Campos alterados',
importSelected: 'Importação selecionada',
importAll: 'Importar tudo',
importPreview: 'Pré-visualização da importação AD/LDAP',
importCompleted: 'Importação AD/LDAP concluída',
incompletePreview: 'A leitura do diretório LDAP estava incompleta. Leia LDAP novamente.',
missingUsersWarning: 'Os usuários ausentes de LDAP serão desabilitados pela sincronização estrita.',
missingUsersWarningDetail: '{0} usuários LDAP locais não poderão mais fazer login.',
action: 'Ação',
reason: 'Razão',
noImportChanges: 'Nenhuma alteração de importação',
confirmImport: 'Confirmar importação',
created: 'Criar',
updated: 'Atualizar',
reactivated: 'Reativar',
unchanged: 'Inalterado',
conflicts: 'Conflitos',
missing: 'Desaparecido',
missingUsersConfirm: 'Usuários {0} ausentes em LDAP serão desabilitados e desconectados. Continuar?',
strictSyncConfirm: 'Confirme a sincronização estrita',
status: {
importable: 'Novo usuário',
update_available: 'Atualização disponível',
up_to_date: 'Atualizado',
conflict: 'Conflito',
},
fields: {
name: 'Nome de usuário',
externalDN: 'Diretório DN',
externalID: 'ID externo',
authSourceStatus: 'Status de autenticação',
},
actions: {
created: 'Criar',
updated: 'Atualizar',
reactivated: 'Reativar',
unchanged: 'Inalterado',
skipped: 'Ignorado',
conflicts: 'Conflito',
conflict: 'Conflito',
missing: 'Desativar',
errors: 'Erro',
error: 'Erro',
},
},
expiresEnterpriseAlert:
'Lembrete: Sua licença da Enterprise Edition expira em {0} dias. Depois disso, todos os recursos da Enterprise Edition deixarão de ficar disponíveis. Renove a licença para manter o uso contínuo.',
expiresProAlert:
'Lembrete: Sua licença da Pro Edition expira em {0} dias. Depois disso, todos os recursos da Pro Edition deixarão de ficar disponíveis. Renove a licença para manter o uso contínuo.',
menu: 'Pro',
upage: 'Construtor de Sites com IA',
proAlert: 'Atualize para comercial para usar este recurso',
opsReport: {
name: 'Relatório de Operações',
overview: 'Visão geral',
system: 'Execução do host',
login: 'Login e segurança',
website: 'Proteção de sites',
resource: 'Recursos de execução',
cronjob: 'Tarefas agendadas',
alert: 'Notificações de alerta',
history: 'Histórico de exportação',
setting: 'Configurações',
page: {
enterprise: 'Edição Empresarial',
reportNode: 'Nó do relatório',
selectReportNode: 'Selecionar nó do relatório',
currentNode: 'Nó atual',
scoreMeta: '{0} pontos deduzidos · {1} riscos',
hostAddress: 'Endereço do host',
panelVersion: 'Versão do painel',
cpuCores: 'Núcleos físicos',
coreUnit: '{0} núcleos',
memoryTotal: 'Memória total',
reportDate: 'Data do relatório',
serverSecurityOverview: 'Visão geral de segurança do servidor',
securityScore: 'Pontuação de segurança',
overviewSummary:
'Nível de segurança atual: {0}. {1} pontos deduzidos, {2} itens de risco encontrados, {3} objetos verificados.',
riskDistribution: 'Distribuição de riscos',
totalDeducted: 'Total deduzido',
noRiskDeducted: 'Sem deduções',
scoreTrend: 'Tendência da pontuação',
scoreLevelSafe: 'Seguro',
scoreLevelAttention: 'Atenção necessária',
scoreLevelMediumRisk: 'Risco médio',
scoreLevelHighRisk: 'Alto risco',
scoreCategoryHost: 'Recursos do host',
scoreCategoryLogin: 'Segurança de login',
scoreCategoryWebsite: 'Sites e certificados',
scoreCategoryCronjob: 'Tarefas agendadas',
scoreCategoryResource: 'Recursos de execução',
scoreDiskHigh: 'Disco {0} uso em {1}%',
scoreDiskMedium: 'Disco {0} uso em {1}%',
scoreResourceHigh: '{0} uso atual em {1}%',
scoreResourceMedium: '{0} uso atual em {1}%',
scoreLoadMedium: 'Carga atual é {0}',
scoreMonitorDisabled: 'Monitoramento do host desativado',
scorePanelLoginFailedHigh: 'Falha no login do painel {0} vezes',
scorePanelLoginFailedMedium: 'Falha no login do painel {0} vezes',
scoreSSHLoginFailedHigh: 'Falha no login SSH {0} vezes',
scoreSSHLoginFailedMedium: 'Falha no login SSH {0} vezes',
scoreMFADisabled: 'MFA desativado',
scoreAllowIPsOpen: 'IPs autorizados e domínio vinculado não configurados ou acesso irrestrito',
scorePanelHTTPSDisabled: 'HTTPS do painel desativado',
scoreSSHRootLogin: 'Login SSH como Root permitido',
scoreSSHPasswordAuth: 'Autenticação por senha SSH ativada sem autenticação por chave',
scoreSSLExpired: 'O certificado {0} expirou',
scoreSSLHigh: 'Certificado {0} expira em {1} dias',
scoreSSLMedium: 'Certificado {0} expira em {1} dias',
scoreWebsiteExpired: 'O site {0} expirou',
scoreWebsiteExpire: 'Site {0} expira em {1} dias',
scoreWebsiteHTTP: '{0} não utiliza HTTPS',
scoreWebsiteStopped: 'Status de {0} anormal',
scoreWebsiteMonitorUnavailable: 'Monitoramento de sites detectou um site indisponível',
scoreWebsiteMonitorAvailability:
'Disponibilidade das solicitações do monitoramento de sites {0}% está abaixo do limite',
scoreWebsiteMonitorStatusAbnormal:
'O monitoramento de sites está ativado, mas não foi inicializado ou está em um estado anormal',
scoreWafDisabled: 'WAF desativado e sites não estão protegidos',
scoreWafHighRiskHit: 'WAF encontrou {0} regras de risco no período do relatório',
scoreCronjobFailed: '{0} registros de falha de tarefas agendadas nos últimos 7 dias',
scoreAppFailed: 'Aplicação {0} está anormal',
scoreAppStopped: 'Aplicação {0} foi parada',
scoreContainerHigh: 'Contêiner {0} com status anormal',
scoreContainerExited: 'Contêiner {0} foi parado',
scoreContainerResource: 'Uso de recursos do contêiner {0} está alto',
scoreContainerPublicPort: 'Contêiner {0} possui portas expostas publicamente',
attentionItems: 'Itens de atenção',
attentionAssets: 'Ativos em atenção',
riskItems: 'Itens de risco',
object: 'Objeto',
description: 'Descrição',
itemUnit: 'itens',
recordUnit: 'registros',
certUnit: 'certificados',
containerUnit: 'contêineres',
loginFailed: 'Falhas de login',
sslExpire: 'Vencimento de certificado',
abnormalContainer: 'Contêineres anormais',
statAttentionDesc: '{0} pontos deduzidos',
statLoginDesc: 'Painel {0} · SSH {1}',
statSslDesc: '{0} certificados verificados',
statContainerDesc: '{0} contêineres verificados',
assetHostDesc: 'Uso máximo de disco {0}%',
assetWebsiteDesc: '{0} certificados prestes a vencer, {1} sites anormais',
assetResourceDesc: '{0} aplicações anormais, {1} contêineres anormais',
assetCronjobDesc: '{0} registros de falha nos últimos 7 dias, {1} tarefas desativadas',
app: 'Aplicações',
website: 'Sites',
websiteSsl: 'Sites / Certificados',
cronjob: 'Tarefas agendadas',
container: 'Contêineres',
sslCertificate: 'Certificados SSL',
loginSecurity: 'Segurança de login',
panelLogin: 'Login do painel',
sshLogin: 'Login SSH',
failedRecord: 'Registros com falha',
expired: 'Expirado',
expiredDays: 'Expirado há {0} dias',
remainingDays: '{0} · {1} dias restantes',
enabled: 'Ativado',
disabled: 'Desativado',
exportRecordFailed: 'Falha ao salvar registro de exportação',
hostInfo: 'Informações do host',
hostname: 'Nome do host',
osVersion: 'Versão do sistema',
kernelVersion: 'Versão do kernel',
arch: 'Arquitetura',
uptime: 'Tempo de atividade',
diskUsage: 'Uso de disco',
mountPoint: 'Ponto de montagem',
device: 'Dispositivo',
capacity: 'Capacidade',
used: 'Usado',
usageRate: 'Uso',
memory: 'Memória',
load: 'Carga',
maxDiskUsage: 'Uso máximo de disco',
panelLoginSecurity: 'Segurança de login do painel',
sshSecurity: 'Segurança SSH do servidor Linux',
panelFailedRecords: 'Registros de falha de login do painel',
sshFailedRecords: 'Registros de falha de login SSH',
location: 'Localização',
configItem: 'Item de configuração',
currentValue: 'Valor atual',
securityEntrance: 'Entrada de segurança',
configured: 'Configurado',
notConfigured: 'Não configurado',
normal: 'Normal',
needAttention: 'Atenção necessária',
allowIPs: 'IPs autorizados',
restricted: 'Restrito',
unrestricted: 'Sem restrição',
bindDomain: 'Domínio vinculado',
accessRestriction: 'Restrição de acesso',
panelHTTPS: 'HTTPS do painel',
passwordComplexity: 'Complexidade da senha',
sshService: 'Serviço SSH',
running: 'Em execução',
notRunning: 'Não está em execução',
listenPort: 'Porta de escuta',
read: 'Lido',
rootLogin: 'Login como Root',
passwordAuth: 'Autenticação por senha',
keyAuth: 'Autenticação por chave',
panelLoginFailed: 'Falhas de login do painel',
sshLoginFailed: 'Falhas de login SSH',
panelSecurityItems: 'Itens de segurança do painel',
sshSecurityItems: 'Itens de segurança SSH',
loginSecurityHealthStatus: 'Saúde da segurança de login',
adjustSSHSecurity: 'Ajustar segurança SSH',
viewLoginLogs: 'Ver registros de login',
riskLevel: 'Nível de risco',
goConfig: 'Configurar',
viewMore: 'Ver mais',
involvedIPs: '{0} IPs envolvidos',
sessionTimeout: 'Tempo limite da sessão',
countUnit: 'vezes',
recent24Hours: 'Últimas 24 horas',
currentService: 'Serviço atual',
riskItemsExist: '{0} itens de risco',
loginHealthRiskDesc:
'{0} configurações de risco detectadas. Fortaleça a segurança de login para reduzir o risco de invasão.',
loginHealthNormalDesc: 'As configurações atuais de login e segurança SSH estão normais',
loginHealthNormalReason: 'Segurança de login está normal',
securityEntranceConfiguredDesc:
'Entrada de segurança configurada para reduzir a exposição da entrada padrão',
securityEntranceRiskDesc: 'Entrada de segurança desativada. Oculte a entrada de login padrão',
allowIPsRestrictedDesc: 'IPs autorizados estão restritos para acesso ao painel',
allowIPsRiskDesc: 'IPs de acesso sem restrição. Configure IPs autorizados para ambientes públicos',
bindDomainRestrictedDesc: 'Domínio de acesso vinculado',
bindDomainRiskDesc: 'Domínio de acesso não vinculado. Restrinja o acesso a um domínio fixo',
accessRestrictionValue: 'IPs autorizados: {0} / Domínio vinculado: {1}',
accessRestrictionNormalDesc:
'IPs autorizados ou domínio vinculado configurado para restringir origens de acesso ao painel',
accessRestrictionRiskDesc:
'IPs autorizados e domínio vinculado não configurados ou acesso irrestrito. Configure pelo menos um',
panelHTTPSNormalDesc: 'HTTPS do painel está ativado',
panelHTTPSRiskDesc: 'HTTPS do painel desativado. O tráfego de login pode estar exposto',
passwordComplexityNormalDesc: 'Verificação de complexidade de senha está ativada',
passwordComplexityRiskDesc:
'Verificação de complexidade de senha desativada, aumentando o risco de senha fraca',
sessionTimeoutNormalDesc: 'Tempo limite da sessão está dentro de um intervalo seguro',
sessionTimeoutRiskDesc: 'Tempo limite da sessão é longo. Limite a duração de sessões inativas',
sshServiceNormalDesc: 'Serviço SSH está em execução normal',
sshServiceRiskDesc: 'Serviço SSH não está em execução ou está anormal',
sshPortNormalDesc: 'Porta SSH alterada da porta padrão',
sshPortRiskDesc: 'SSH ainda usa a porta padrão 22. Altere quando necessário',
rootLoginNormalDesc: 'Usuário Root não pode fazer login direto',
rootLoginRiskDesc: 'Usuário Root pode fazer login direto. Desative esta opção',
passwordAuthNormalDesc: 'Login por senha SSH está desativado',
passwordAuthRiskDesc: 'Login por senha está permitido, aumentando o risco de força bruta',
keyAuthNormalDesc: 'Autenticação por chave SSH está ativada',
keyAuthRiskDesc: 'Autenticação por chave desativada. Use login por chave',
websiteOverview: 'Visão geral dos sites',
primaryDomain: 'Domínio principal',
expireTime: 'Data de vencimento',
domain: 'Domínio',
issuer: 'Emissor',
autoRenew: 'Renovação automática',
websiteCount: 'Sites',
httpsWebsite: 'Sites HTTPS',
certCount: 'Certificados',
websiteExpire: 'Vencimento do site',
database: 'Bancos de dados',
remoteDatabase: 'Bancos de dados remotos',
address: 'Endereço',
containerResourceUsage: 'Uso de recursos dos contêineres',
spaceUsage: 'Uso de espaço',
reclaimable: 'Recuperável',
containerReclaimable: 'Contêineres recuperáveis',
image: 'Imagens',
volume: 'Volumes',
buildCache: 'Cache de build',
alert: 'Alerta',
alertConfigured: 'Alertas configurados',
alertOperations: 'Notificações de alerta',
alertTaskCount: 'Tarefas de alerta',
enabledAlertTask: 'Tarefas ativadas',
disabledAlertTask: 'Tarefas desativadas',
alertChannels: 'Canais de notificação',
alertLogCount: 'Registros de alerta',
alertSuccessRate: 'Taxa de sucesso dos alertas',
alertFailedLogs: 'Registros de alerta com falha',
alertPendingLogs: 'Registros pendentes de sincronização',
alertPending: 'Pendente de sincronização',
alertTaskStats: 'Estatísticas de tarefas de alerta',
alertTaskType: 'Tipo de alerta',
alertLogStatusStats: 'Status de execução do alerta',
alertHealthNormal: 'Normal',
alertHealthAttention: 'Atenção necessária',
alertHealthRisk: 'Alto risco',
alertHealthSummary: 'Saúde do alerta',
alertHealthNormalReason:
'Tarefas de alerta, canais de notificação e registros de execução estão saudáveis',
alertNoChannelReason: 'Nenhum canal de notificação está ativado',
alertFailedLogReason: '{0} registros de alerta com falha encontrados',
alertPendingReason: '{0} registros de alerta pendentes de sincronização',
alertDisabledTaskReason: '{0} tarefas de alerta estão desativadas',
alertNoTaskReason: 'Nenhuma tarefa de alerta configurada',
goAlertConfig: 'Configuração de alertas',
goAlertLogs: 'Registros de alertas',
configureAlertChannel: 'Configurar canais',
createAlertTask: 'Criar tarefa de alerta',
viewAlertTasks: 'Ver tarefas de alerta',
viewFailedAlertLogs: 'Ver registros com falha',
viewAlertLogs: 'Ver registros de alerta',
alertChannelSummary: '{0} / {1} canais ativados',
alertTaskEnabledDesc: '{0} tarefas ativadas',
alertTaskSummary: '{0} ativadas, {1} desativadas',
alertLogSummary: '{0} bem-sucedidos, {1} com falha',
alertPendingDesc: '{0} registros pendentes de sincronização',
alertLogSuccessDesc: 'Notificação concluída',
alertLogFailedDesc: 'Verifique a configuração do canal ou o caminho de entrega',
alertLogPendingDesc: 'Offline ou caminho de sincronização pendente',
failedAlertLogs: 'Registros de alerta com falha',
disabledAlertTasks: 'Tarefas de alerta desativadas',
alertTableDisplayDesc: 'Exibindo {0} de {1}',
alertMsg: 'Conteúdo do alerta',
alertMethod: 'Método de alerta',
alertRule: 'Regra de alerta',
noAlertTask: 'Nenhuma tarefa de alerta',
noFailedAlertLog: 'Nenhum registro de alerta com falha',
noDisabledAlertTask: 'Nenhuma tarefa de alerta desativada',
alertCronjobType: 'Tarefa agendada: {0}',
alertAllTargets: 'Todos os alvos',
alertAllDisks: 'Todos os discos',
alertAllCertificates: 'Todos os certificados',
alertAllWebsites: 'Todos os sites',
alertDiskRuleShort: '{0} excede {1}{2}, {3} vezes por dia',
alertAverageRuleShort: 'Média de {0} min excede {1}%, {2} vezes por dia',
alertTimeRuleShort: 'Acionamento em {0} dias, enviar {1} vezes',
alertSendCountRuleShort: 'Enviar {0} vezes por dia',
alertConfigInvalid: 'Configuração inválida',
scoreCategoryAlert: 'Notificações de alerta',
scoreAlertNoTask: 'Nenhuma tarefa de alerta configurada',
scoreAlertNoEnabledTask: 'Todas as tarefas de alerta estão desativadas',
scoreAlertDisabledTask: '{0} tarefas de alerta estão desativadas',
scoreAlertNoChannel: 'Nenhum canal de notificação de alerta está ativado',
scoreAlertFailedHigh: '{0} registros de falha de alerta encontrados',
scoreAlertFailedMedium: '{0} registros de falha de alerta encontrados',
scoreAlertPending: '{0} registros de alerta pendentes de sincronização',
statAlertDesc: '{0} tarefas ativadas · {1} canais',
assetAlertDesc: '{0} registros com falha, {1} registros pendentes de sincronização',
failedExecutionRecords: 'Registros de execução com falha',
taskID: 'ID da tarefa',
executeTime: 'Tempo de execução',
backupTasks: 'Tarefas de backup',
systemMetrics: 'Métricas de execução',
cpu: 'CPU',
thresholdPercent: 'Limite {0}%',
recent24HourPeakPercent: 'Pico nas últimas 24h: {0}',
loadAverage: 'Carga 1 / 5 / 15 min: {0} / {1} / {2}',
sourceMount: 'Ponto de montagem {0}',
storageUsage: 'Uso de armazenamento',
localDisk: 'Disco local',
highUsagePeriods: 'Períodos de alto uso',
timeRange: 'Intervalo de tempo',
threshold: 'Limite',
duration: 'Duração',
peak: 'Pico',
scoring: 'Pontuação',
counted: 'Contabilizado',
notCounted: 'Não contabilizado',
dataSource: 'Fonte de dados',
noHighUsagePeriod: 'Nenhum período de alto uso',
monitorDisabledOrNoData: 'Monitoramento do host desativado ou sem dados disponíveis',
systemHealthStatus: 'Risco de execução do host nas últimas 24h',
mainReasons: 'Principais motivos',
viewHostMonitor: 'Ver monitor do host',
systemHealthAttentionDesc:
'{0} itens de risco detectados nas últimas 24 horas. Priorize picos de recursos e uso de disco.',
systemHealthNormalDesc: 'Métricas de execução do host estiveram normais nas últimas 24 horas',
monitorEnabled: 'Monitoramento ativado',
cpuCoreUsage: '{0} / {1} núcleos',
load1Minute: 'Carga de 1 min',
diskSpaceUsage: 'Uso de espaço em disco',
usedCapacity: 'Usado / Total',
fileSystem: 'Sistema de arquivos',
resourceTrendSummary: 'Resumo de tendência de recursos',
last24Hours: 'Últimas 24 horas',
granularityHour: 'Granularidade: 1 hora',
current: 'Atual',
average: 'Média',
totalItems: '{0} itens',
to: 'até',
hoursShort: '{0} h',
minutesShort: '{0} min',
websiteStatus: 'Status do site',
websiteHealthStatus: 'Saúde da proteção do site',
websiteHealthNormalReason: 'Sites, certificados, WAF e monitoramento de sites estão saudáveis',
websiteHealthAttentionDesc:
'{0} itens de risco detectados. Trate-os em breve para proteger a segurança e disponibilidade do site.',
websiteHealthNormalDesc: 'Métricas atuais de proteção do site estão normais',
handleSslRisk: 'Tratar riscos de certificado',
viewWaf: 'Ver WAF',
priority: 'Prioridade',
riskDescription: 'Descrição do risco',
deductScore: 'Pontuação deduzida',
remaining: 'Restante',
wafSourceIpTop: 'IPs de origem WAF TOP5',
wafAffectedSiteTop: 'Sites afetados TOP5',
sslRisk: 'Riscos de certificado',
sslExpiring: 'Certificados a vencer',
includedInReport: 'Incluído no relatório',
needRenewal: 'Renovação recomendada',
fromExpireInfo: 'Das informações de vencimento',
runningWebsite: 'Sites em execução',
fromWebsiteStatus: 'Do status da lista de sites',
stoppedWebsite: 'Sites parados',
confirmStoppedWebsite: 'Confirme se isso é esperado',
expiringWebsite: 'Sites a vencer',
expiringSoon: 'Vencendo em breve',
none: 'Nenhum',
noSslRisk: 'Nenhum certificado precisa de tratamento',
websiteProtection: 'WAF e monitoramento de sites',
websiteMonitor: 'Monitoramento de sites',
waf: 'WAF',
siteAvailability: 'Disponibilidade das solicitações',
monitoredSites: 'Sites monitorados',
requestCount: 'Requisições',
abnormalSites: 'Sites anormais',
count5xxSource: 'Contagem por requisições 5xx',
wafIntercept: 'Bloqueios WAF',
websiteMonitorDisabledOrNoData: 'Monitoramento de sites desativado ou sem dados disponíveis',
wafDisabledOrNoData: 'WAF desativado ou sem dados de bloqueio disponíveis',
serviceEnabledButAbnormal: 'Ativado, mas em estado anormal',
noWafData: 'Nenhum dado de bloqueio WAF',
sourceIP: 'IP de origem',
hitCount: 'Detecções',
level: 'Nível',
attackType: 'Tipo de ataque',
requestRatio: 'Proporção de requisições',
installed: 'Instalado',
normalRunning: 'Execução normal',
failedStart: 'Falha na inicialização',
manualStopped: 'Parado manualmente',
failed: 'Falha',
success: 'Sucesso',
canUpdate: 'Atualizável',
listSeparator: ', ',
containerCount: 'Contêineres',
stopped: 'Parado',
abnormal: 'Anormal',
abnormalContainers: 'Contêineres anormais',
resourceUsage: 'Uso de recursos',
exposedContainerPorts: 'Portas expostas',
portMapping: 'Mapeamento de portas',
risk: 'Risco',
noAbnormalContainer: 'Nenhum contêiner anormal',
noExposedContainer: 'Nenhuma porta exposta detectada',
publicExpose: 'Exposição pública',
privateExpose: 'Mapeamento privado',
resourceHealth: 'Saúde dos recursos em execução',
checkTime: 'Hora da verificação',
resourceHealthNormalDesc: 'Aplicações, bancos de dados e contêineres estão saudáveis',
resourceHealthAttentionDesc:
'{0} itens de atenção detectados. Priorize recursos parados e portas públicas.',
resourceHealthRiskDesc:
'{0} itens de alto risco detectados. Priorize contêineres anormais ou aplicações com falha.',
resourceThresholdContainers: 'Contêineres com CPU / memória acima do limite',
noThresholdExceededContainer: 'Nenhum contêiner ultrapassou o limite',
triggerMetric: 'Métrica acionada',
resourceReasonAppFailed: '{0} aplicações falharam ao iniciar',
resourceReasonAppStopped: '{0} aplicações paradas',
resourceReasonContainerAbnormal: '{0} contêineres anormais',
resourceReasonContainerStopped: '{0} contêineres parados',
resourceReasonPublicPorts: '{0} portas expostas publicamente',
resourceReasonNormal: 'Aplicações, bancos de dados e contêineres estão saudáveis',
viewAbnormalContainers: 'Ver contêineres anormais',
viewExposedPorts: 'Ver portas expostas',
viewAppResources: 'Ver recursos de apps',
viewRuntimeResources: 'Ver recursos em execução',
viewContainerResources: 'Ver recursos de contêineres',
configuredServices: 'Serviços configurados',
publicPrivatePorts: '{0} públicos / {1} mapeamentos privados',
currentDisplayTotal: 'Exibindo {0} de {1}',
reclaimableSpace: 'Espaço recuperável',
estimatedReclaimable: 'Recuperável estimado',
unusedImageSpace: 'Espaço de imagens não usadas',
stoppedContainerSpace: 'Espaço de contêineres parados',
unusedVolumeSpace: 'Espaço de volumes não usados',
buildCacheSpace: 'Cache de build do Docker',
executionRecords: 'Registros de execução',
successRate: 'Taxa de sucesso',
failedJobs: 'Tarefas com falha',
recentRecoveryPoint: 'Último ponto de recuperação',
disabledCronjobTasks: 'Tarefas agendadas desativadas',
remoteCoverage: 'Cobertura remota',
recent7Days: 'Últimos 7 dias',
taskTypeStats: 'Estatísticas por tipo de tarefa',
total: 'Total',
taskTypeDesc: '{0} ativadas, {1} desativadas',
failedOrAttentionTasks: 'Tarefas com falha ou em atenção',
execution: 'Execução',
latestExecution: 'Última execução',
remoteBackup: 'Backup remoto',
localOnly: 'Apenas local',
covered: 'Coberto',
noAttentionCronjob: 'Nenhuma tarefa agendada com falha ou em atenção',
cronjobHealth: 'Saúde das tarefas agendadas',
cronjobHealthNormalDesc: 'A execução das tarefas e a cobertura de backup estão saudáveis',
cronjobHealthAttentionDesc:
'{0} itens de risco detectados. Priorize tarefas desativadas e cobertura de backup.',
cronjobHealthRiskDesc: '{0} itens de risco detectados. Priorize tarefas com falha e desativadas.',
cronjobReasonFailed: '{0} registros com falha',
cronjobReasonDisabled: '{0} tarefas desativadas',
cronjobReasonLocalOnlyBackup: '{0} backups somente locais',
cronjobReasonNormal: 'A execução das tarefas e a cobertura de backup estão normais',
riskLow: 'Baixo risco',
viewFailedRecords: 'Ver tarefas com falha',
viewCronjobTasks: 'Ver tarefas agendadas',
checkBackupTasks: 'Verificar tarefas de backup',
generationRule: 'Regras de geração',
scheduleDaily: 'Diário',
scheduleDailyDesc: 'Gerar um relatório das últimas 24 horas às 09:00 todos os dias',
scheduleWeekly: 'Semanal',
scheduleWeeklyDesc: 'Gerar um relatório dos últimos 7 dias às 09:00 toda segunda-feira',
scheduleMonthly: 'Mensal',
scheduleMonthlyDesc: 'Gerar um relatório do mês anterior às 09:00 no dia 1',
scheduleCurrentDaily: 'Todos os dias às 09:00, gerar relatório das últimas 24 horas · Próximo {0}',
scheduleCurrentWeekly: 'Toda segunda-feira às 09:00, gerar relatório dos últimos 7 dias · Próximo {0}',
scheduleCurrentMonthly: 'No dia 1 às 09:00, gerar relatório do mês anterior · Próximo {0}',
notificationMethod: 'Métodos de notificação',
channel: 'Canal',
receiver: 'Destinatário',
systemThreshold: 'Limite do sistema',
metric: 'Métrica',
currentRule: 'Regra atual',
hostMonitor: 'Monitor do host',
monitorInterval: 'Intervalo de monitoramento',
exportSettings: 'Configurações de exportação',
lastExportReport: 'Último resultado gerado',
noLastExportReport: 'Nenhum registro de relatório exportado',
lastExportStatus: 'Último status de exportação',
exportFile: 'Arquivo exportado',
generateTime: 'Gerado em',
fileSize: 'Tamanho do arquivo',
viewExportHistory: 'Ver histórico de exportação',
defaultFormat: 'Formato padrão',
savePath: 'Diretório de salvamento',
savePathRequired: 'Configure o diretório de salvamento do relatório',
autoExport: 'Ativar exportação automática',
autoExportDesc: 'Gerar um relatório de operações automaticamente todos os dias às 09:00 quando ativado',
autoExportEnabled: 'Exportação automática ativada',
autoExportDisabled: 'Exportação automática desativada',
readOnlyPermissionTip:
'A conta atual só pode visualizar as configurações do relatório de operações. Entre em contato com um administrador para fazer alterações.',
refreshing: 'Atualizando',
exporting: 'Exportando',
exportFailed: 'Falha ao exportar relatório',
generating: 'Gerando',
saved: 'Salvo',
saveFailed: 'Falha ao salvar configurações',
generateNow: 'Gerar agora',
generateSuccess: 'Arquivo de relatório gerado: {0}',
generateFailed: 'Falha ao gerar relatório',
enabledStatus: 'Ativado',
disabledStatus: 'Desativado',
thresholdRule: 'Limite {0}, acionamento após {1} vezes consecutivas',
hours: '{0} horas',
minutes: '{0} minutos',
seconds: '{0} segundos',
totalExports: 'Total de exportações',
successExports: 'Exportações bem-sucedidas',
failedExports: 'Exportações com falha',
reportName: 'Nome do relatório',
exportFormat: 'Formato de exportação',
operator: 'Operador',
triggerType: 'Tipo de acionamento',
filePath: 'Caminho do arquivo',
manualExport: 'Manual',
scheduledExport: 'Agendado',
exportResult: 'Resultado da exportação',
exportDetail: 'Detalhes da exportação',
mfa: 'MFA',
mfaNormalDesc: 'MFA ativado',
mfaRiskDesc: 'MFA não ativado. Recomendamos ativá-lo para aumentar a segurança da conta',
},
},
user: {
user: 'Usuário',
userInfo: 'Informações do Usuário',
userManage: 'Gerenciamento de Usuários',
superAdmin: 'Super Administrador',
superAdminDesc:
'Possui permissões completas de gerenciamento do sistema e pode gerenciar todos os recursos e configurações.',
nodeAdmin: 'Administrador de Nó',
nodeAdminDesc:
'Possui permissões de gerenciamento para nós especificados e pode gerenciar recursos e configurações dentro desses nós.',
readOnly: 'Somente leitura',
readOnlyDesc: 'Tem acesso somente de leitura a todos os recursos e configurações do sistema.',
bindNode: 'Vincular Nó',
boundUsers: 'Usuários vinculados',
role: 'Função',
roleName: 'Nome',
permission: 'Permissões',
permissionDuplicate: 'Apenas uma função pode ser atribuída a cada nó',
nodeAdminMasterConfirm:
'As permissões de Administrador de Nó no nó principal são elevadas. Atribua-as com cuidado conforme as necessidades reais de administração.',
permissionLinkageTip:
'Permissões relacionadas serão selecionadas automaticamente quando houver dependências; após removê-las manualmente, alguns recursos podem mostrar "O usuário atual não tem permissão".',
allViewPermissionHelper: 'Concede todas as permissões de visualização do AI Gateway.',
apiKeyViewPermissionHelper: 'Permite visualizar apenas as API Keys do AI Gateway.',
masterOnlyPermission: 'Permissão do nó principal',
masterOnlyPermissionHelper: 'Esta permissão só tem efeito no nó principal.',
view: 'Visualizar',
manage: 'Gerenciar',
authManage: 'Gerenciamento de autenticação',
auth: {
providerNavigation: 'Provedores de autenticação',
defaultNode: 'Nó padrão',
defaultNodePlaceholder: 'Selecione um nó',
defaultNodeHelper: 'Somente para novos usuários.',
defaultNodeRequired: 'Selecione um nó padrão válido.',
nodesLoadFailed: 'Falha ao carregar os nós. Tente novamente antes de selecionar o nó padrão.',
nodeHandling: 'Tratamento do nó',
assignDefaultNode: 'Atribuir nó padrão: {node}',
keepExistingNode: 'Manter as permissões de nó existentes',
providers: {
ldap: 'AD/LDAP',
passkey: 'Passkey',
radius: 'Radius',
oidc: 'OIDC',
saml2: 'SAML2',
cas: 'CAS',
oauth2: 'OAuth2',
dingtalk: 'DingTalk',
feishu: 'Feishu',
wecom: 'WeCom',
},
providerDescriptions: {
ldap: 'Compatível com Active Directory, OpenLDAP e outros serviços LDAP',
passkey: 'Use credenciais do dispositivo para login sem senha',
radius: 'Autenticar o acesso à rede através de um serviço Radius',
oidc: 'Conecte o logon único empresarial com OpenID Connect',
saml2: 'Use SAML2 para federação de identidade corporativa',
cas: 'Conecte um serviço de autenticação centralizado para logon único',
oauth2: 'Conecte um serviço de identidade OAuth2 compatível',
dingtalk: 'Use a identidade da organização DingTalk e login QR',
feishu: 'Use a identidade da organização Feishu e a sincronização de contas',
wecom: 'Autenticar com identidade de membro WeCom',
},
planned: 'Planejado',
plannedTitle: 'Configurações de autenticação {0}',
plannedDesc: 'Este provedor de autenticação está planejado e ainda não está disponível.',
oidc: {
accessMode: 'Modo de conexão',
accessModeDesc: 'Use o Discovery padrão sempre que o provedor de identidade oferecer suporte.',
actionCreate: 'Criar usuário',
actionKeepName: 'Mantenha o nome de usuário atual',
actionPending: 'Aguardando resultado',
actionReject: 'Rejeitar login',
actionUpdate: 'Atualizar informações de identidade',
advanced: 'Configurações avançadas',
advancedDesc:
'Mantenha os padrões seguros, a menos que o provedor exija uma opção de compatibilidade.',
assignDefaultRole: 'Atribuir função padrão: {role}',
authorizationEndpoint: 'Authorization Endpoint',
authorizationEndpointInvalid: 'Insira um Authorization Endpoint válido.',
authorizationFlow: 'Fluxo de autorização',
automatic: 'Automático',
automaticPolicy: 'Política de tratamento automático',
automaticPolicyDesc: 'Essas regras são aplicadas pelo back-end e não são opções de administrador.',
basic: 'Configurações básicas',
basicDesc: 'Selecione o modo do provedor e configure o cliente e o retorno de chamada.',
browserTest: 'Teste de login no navegador',
browserTestConflict: 'Identidade verificada, mas o nome de usuário está em conflito',
browserTestConflictHelper:
'O nome de usuário mapeado pertence a outra identidade e não será reivindicado.',
browserTestExpired: 'O teste do navegador expirou',
browserTestExpiredHelper:
'Inicie um novo teste do navegador e conclua a autorização antes que ela expire.',
browserTestFailed: 'Falha no teste do navegador',
browserTestFailedHelper:
'A visualização da identidade não pôde ser concluída. Revise o erro de back-end localizado.',
browserTestIsolation:
'Isso executa um fluxo real de autorização de ida e volta, mas não cria nem atualiza usuários, não atribui funções e não cria uma sessão autenticada do painel.',
browserTestPopupBlocked: 'Permita pop-ups para este site e reinicie o teste do navegador.',
browserTestPopupClosed: 'A janela de autorização foi fechada antes da conclusão do teste.',
browserTestSuccess: 'Verificação Provider bem-sucedida',
browserTestSuccessHelper:
'O mapeamento de identidade foi visualizado sem alterar usuários ou sessões.',
browserTestTitle: 'Login de teste do navegador OIDC',
browserTestWaiting: 'Aguardando autorização Provider',
browserTestWaitingHelper:
'Conclua o login na nova janela do navegador. Esta página será atualizada automaticamente.',
callbackCopied: 'Retorno de chamada OIDC URL copiado.',
callbackURL: 'Retorno de chamada URL',
callbackURLHelper:
'Adicione esta URL às URLs de retorno permitidas do cliente no provedor de identidade.',
cancelClearSecret: 'Cancelar limpeza',
clearSecret: 'Limpar segredo',
clearSecretConfirm: 'O Client Secret será removido somente após você salvar. Continuar?',
clientAuthMethod: 'Método de autenticação do cliente',
clientAuthMethodHelper:
'Selecione o método de autenticação configurado para este cliente no provedor de identidade.',
clientAuthMethodRequired: 'Selecione um método de autenticação do cliente.',
clientID: 'Client ID',
clientIDRequired: 'Insira o Client ID.',
clientSecret: 'Client Secret',
clockSkew: 'Tolerância de tempo do token',
clockSkewHelper:
'Permite uma pequena diferença de horário entre o provedor de identidade e o 1Panel. Mantenha o padrão de 60 segundos.',
clockSkewRequired: 'Insira a tolerância de tempo do token.',
compatibilityMode: 'Modo de compatibilidade',
compatibilityModeHelper:
'Use apenas para Discovery incompletos ou endpoints reescritos. A validação do núcleo OIDC permanece habilitada.',
configurationFailedHelper: 'O teste falhou. A página exibe apenas o erro de back-end localizado.',
configurationFailedTag: 'Falha no teste',
configurationHighRiskPassed:
'A configuração foi aprovada, mas contém opções de compatibilidade de alto risco.',
configurationHighRiskTag: 'Configuração de alto risco aprovada',
configurationNotTested: 'A configuração atual não foi testada.',
configurationNotTestedTag: 'Não testado',
configurationPassed: 'A configuração atual passou nas verificações de segurança e capacidade.',
configurationPassedTag: 'Teste aprovado',
configurationStaleHelper: 'A configuração foi alterada. Teste-a novamente antes de salvar.',
configurationStaleTag: 'Resultado expirou',
configurationTestMeta:
'Testado em {time}; concluído em {duration} ms. As respostas Provider brutas não são armazenadas.',
configurationTestResult: 'Resultado do teste de configuração',
configurationTestResultDesc:
'Isso verifica apenas Discovery e recursos; não troca código de autorização nem comprova o Client Secret. Use o login de teste do navegador para verificação ponta a ponta.',
configurationTestSuccess: 'O teste de configuração do OIDC foi bem-sucedido.',
configurationTesting: 'Testando a configuração atual do OIDC…',
configurationTestingTag: 'Teste',
configureSecret: 'Configurar segredo',
conflictExistingRename: 'Um subject vinculado retorna um novo name que está ocupado',
conflictExistingRenameResult:
'Mantenha o User.Name existente e permita que o usuário vinculado faça login',
conflictLDAP: 'Usuário LDAP',
conflictLocal: 'Usuário local',
conflictNewAvailable: 'O novo subject e o name mapeado estão disponíveis',
conflictNewAvailableResult: 'Crie um usuário corporativo e atribua a função padrão',
conflictNone: 'Sem conflito',
conflictOIDC: 'Outra identidade OIDC',
conflictOccupied: 'O name mapeado pertence a uma identidade local, LDAP ou outra identidade OIDC',
conflictOccupiedResult: 'Rejeite a nova identidade; nunca vincule ou mescle automaticamente',
conflictType: 'Tipo de conflito',
connectionSecurity: 'Segurança de conexão',
connectionSecurityDesc:
'A política TLS se aplica às solicitações Discovery, Token, JWKS e UserInfo.',
connectionTest: 'Teste de conexão e configuração',
connectionTestCompatibilityDesc:
'Valide os endpoints personalizados e a política de segurança do protocolo.',
connectionTestStandardDesc: 'Endpoints e recursos são descobertos automaticamente no Issuer.',
connectionTestTab: 'Teste de conexão',
customCA: 'CA personalizado',
customCAHelper: 'Aplica-se somente a esta fonte de autenticação e nunca é gravado em logs.',
customCARequired: 'Forneça o certificado CA personalizado.',
defaultRole: 'Função padrão',
defaultRoleHelper:
'Atribuída somente na primeira criação do usuário; logins posteriores não alteram a função.',
defaultRolePlaceholder: 'Selecione uma função',
defaultRoleRequired: 'Selecione uma função padrão válida.',
disableAfterSave: 'OIDC será desativado após salvar.',
disableConfirm:
'Desativar OIDC invalida imediatamente o acesso dos usuários desta fonte. Continuar?',
disableDiscardConfirm:
'Desabilitar o OIDC é uma ação emergencial: apenas fecha a entrada de login e invalida imediatamente o acesso dos usuários desta fonte. Outras alterações não salvas nesta página, incluindo alterações no Client Secret, serão descartadas. Continuar?',
disableTitle: 'Desativar OIDC',
disabled: 'Desativado',
discoveryAllowlist: 'Discovery ∩ lista de permissões de segurança',
enable: 'Ativar',
enableAfterSave: 'OIDC será habilitado após um salvamento bem-sucedido.',
enabled: 'Ativado',
endSessionEndpoint: 'End Session Endpoint',
endSessionEndpointHelper:
'Salvo para uso futuro; O logout iniciado pelo Provider não está incluído nesta versão.',
endSessionEndpointInvalid: 'Insira um End Session Endpoint válido.',
endpointDiscoveryPlaceholder: 'Exibido após o teste de conexão',
firstLogin: 'Primeiro login',
firstLoginPolicy: 'Crie um usuário corporativo local e atribua a função padrão configurada.',
fixedAuthorizationCode: 'Authorization Code Flow',
fixedNoTokenPersistence: 'Tokens, Claims e verifier nunca são persistidos',
fixedSecurityPolicy: 'Sempre aplicado; nenhuma configuração necessária',
fixedStateNonce: 'state e nonce únicos',
fixedTokenValidation: 'Assinatura ID Token e validação Claims',
highRiskSaveConfirm:
'Esta configuração habilitada contém opções de compatibilidade de alto risco. Confirme se o ambiente isolado os exige.',
highRiskTitle: 'Configuração OIDC de alto risco',
hs256Compatibility: 'HS256 (compatibilidade)',
hs256KeyHelper:
'HS256 sempre usa o Client Secret desta fonte e não aceita uma chave de assinatura separada.',
hs256Warning:
'HS256 usa um segredo simétrico compartilhado para assinaturas ID Token. Use-o somente quando o Provider não puder usar um algoritmo assimétrico.',
identityBindingPolicy:
'A identidade é fixada por AuthSourceID + issuer + subject. Uma coincidência de nome de usuário nunca vincula outra conta.',
identityMissing: 'Identidade inativa',
issuer: 'Issuer URL',
issuerHelper:
'O valor iss de ID Token e Discovery issuer devem corresponder exatamente a esse valor.',
issuerInvalid: 'Insira um HTTP ou HTTPS Issuer URL válido sem consulta ou fragmento.',
issuerRequired: 'Insira o Issuer URL.',
jwksRotation: 'Rotação automática JWKS',
jwksURI: 'JWKS URI',
jwksURIHelper: 'Necessário para assinatura assimétrica quando a origem da chave é JWKS.',
jwksURIInvalid: 'Insira um JWKS URI válido para a fonte de chave de assinatura selecionada.',
keepExistingRole: 'Mantenha as funções e permissões locais existentes',
localSecurityData: 'Dados de segurança local',
localSecurityDataPolicy: 'Nunca substitua funções, MFA, API Keys, Passkeys ou permissões locais.',
localCredentialsManaged:
'O nome de usuário e a senha local são gerenciados pelo OIDC e não podem ser editados aqui. Funções, permissões, MFA, API Keys e Passkeys permanecem locais.',
localUserFields: 'Campos de usuário local',
localUserFieldsDesc:
'A primeira versão mapeia apenas User.Name e não usa uma expressão de mapeamento JSON.',
loginWith: 'Entrar com {provider}',
manualEndpoints: 'Endpoints personalizados',
manualEndpointsDesc:
'Use somente quando Discovery estiver incompleto ou um gateway upstream reescrever endpoints.',
mappingResult: 'Resultado do mapeamento',
mode: 'Modo de conexão',
modeRequired: 'Selecione um modo de conexão.',
nameClaim: 'Claim de nome de usuário',
nameClaimHelper: 'Informe o campo que contém o nome de usuário, como preferred_username.',
nameClaimRequired: 'Insira o Claim de nome de usuário.',
nameConflict: 'Política de conflito de nomes',
panelURL: '1Panel público URL',
panelURLHTTPWarning:
'HTTP não protege a resposta de autorização. Use-o apenas em um ambiente privado isolado aceito pelo Provider.',
panelURLHelper:
'Informe o endereço usado para acessar o 1Panel. Ele será usado para gerar a URL de retorno.',
panelURLInvalid: 'Insira uma origem contendo apenas esquema, host e porta opcional.',
panelURLRequired: 'Insira o 1Panel público URL.',
pkceDisabled: 'Desativado (somente compatibilidade)',
pkceDisabledWarning:
'A desativação do PKCE reduz a proteção contra interceptação de código de autorização.',
pkceHelper: 'Prefira S256. O método de desafio plain nunca é oferecido.',
pkceS256: 'S256 (recomendado)',
plannedHandling: 'Manuseio planejado',
privateNetworkIdP: 'IdP de rede privada',
privateNetworkIdPHelper:
'Permite explicitamente endereços privados; metadados, loopback, link local, redirecionamentos e religação DNS permanecem bloqueados.',
privateNetworkWarning: 'O acesso à rede privada está habilitado para esta fonte de autenticação.',
protocolCompatibility: 'Compatibilidade de protocolo',
protocolCompatibilityDesc: 'A validação da assinatura ID Token nunca pode ser desativada.',
providerAndClient: 'Provider e cliente',
providerAndClientDesc:
'O Client Secret só pode ser substituído ou apagado e nunca é devolvido pela página.',
providerCapabilities: 'Capacidades do Provider',
recentTestSuccess: 'Último teste bem-sucedido: {0}',
recommended: 'Recomendado',
rejectPlain: 'plain rejeitado',
replaceSecret: 'Substituir segredo',
requestAndClaims: 'Solicitações e atributos',
requestAndClaimsDesc:
'Configure os escopos de autorização, o complemento de informações do usuário e os parâmetros da solicitação.',
requestTimeout: 'Tempo limite da solicitação',
requestTimeoutRequired: 'Insira o tempo limite da solicitação.',
restore: 'Restaurar',
restored: 'As últimas configurações salvas do OIDC foram restauradas.',
result: 'Resultado',
rolesLoadFailed:
'Não foi possível carregar as funções. Tente novamente antes de selecionar a função padrão.',
roleHandling: 'Manipulação de funções',
scenario: 'Cenário',
scopes: 'Escopos de autorização',
scopesHelper: 'Deve incluir openid. Separe vários escopos com espaços.',
scopesRequired: 'Scopes deve incluir openid.',
seconds: 'segundos',
secretClearHelper:
'Após a limpeza, um novo Client Secret é necessário antes que o OIDC possa ser ativado novamente.',
secretConfigured: 'Configurado',
secretNotConfigured: 'Não configurado',
secretPlaceholder: 'Insira um novo Client Secret',
secretReplaceHelper:
'O novo segredo substituirá o valor salvo ao salvar. Atualize também o Client Secret no Provider OIDC.',
secretRequiredHelper: 'Configure um Client Secret antes de ativar o OIDC.',
secretRequiredToEnable: 'Configure um Client Secret antes de ativar o OIDC.',
secretSavedHelper:
'Armazenado de forma criptografada. Deixe em branco para manter o segredo atual.',
secretWaiting: 'Aguardando entrada',
secretWillClear: 'Será limpo',
secretWillReplace: 'Será substituído',
signingAlgorithm: 'Algoritmo de assinatura ID Token',
signingAlgorithmHelper:
'Somente algoritmos na lista de permissões de segurança de back-end estão disponíveis.',
signingKey: 'Chave de assinatura',
signingKeyClientSecret: 'Client Secret (somente HS256)',
signingKeyJWKS: 'JWKS URI com rotação automática',
signingKeySource: 'Fonte de chave de assinatura',
signingKeySourceHelper:
'Prefira JWKS. Uma chave pública estática não pode ser rotacionada automaticamente.',
signingKeyStatic: 'Chave pública estática JWK ou PEM',
standardDiscovery: 'Padrão OIDC Discovery',
standardDiscoveryDesc: '1Panel descobre endpoints e recursos e não armazena o documento bruto.',
standardMode: 'Modo padrão',
standardModeHelper: 'Descubra endpoints, recursos de assinatura e suporte PKCE do Issuer.',
standardProtocolPolicy: 'Política de protocolo padrão',
standardProtocolPolicyDesc:
'Os recursos de assinatura são negociados automaticamente; nenhuma chave de assinatura é inserida aqui.',
staticSigningKey: 'Chave pública de assinatura estática',
staticSigningKeyHelper:
'Somente material de chave pública é aceito. Gire-o manualmente quando a chave Provider mudar.',
staticSigningKeyPlaceholder: 'Cole uma chave pública JWK, JWKS JSON ou PEM',
staticSigningKeyRequired: 'Forneça a chave pública de assinatura estática.',
staticSigningKeyWarning:
'Uma chave de assinatura estática não pode ser rotacionada automaticamente; atualize-a antes que o Provider gire as chaves.',
settingLoadFailed: 'As configurações do OIDC não puderam ser carregadas',
settingLoadFailedHelper:
'O formulário é bloqueado para evitar salvar uma configuração padrão vazia sobre as configurações atuais. Tente novamente depois que a conexão for recuperada.',
subsequentLogin: 'Login subsequente',
subsequentLoginPolicy:
'Encontre a ligação por subject e atualize apenas User.Name quando o novo nome estiver disponível.',
testBeforeBrowserTest:
'Teste a configuração atual antes de iniciar um teste de login do navegador.',
testBeforeEnable: 'Teste a configuração atual antes de salvar as alterações de configuração.',
testConfiguration: 'Testar configuração',
testDiscovery: 'Testar Discovery',
tlsCustomCA: 'HTTPS · Certificado CA personalizado',
tlsPrivateHTTP: 'HTTP · Somente rede privada (perigoso)',
tlsPrivateHTTPWarning:
'HTTP não fornece criptografia de transporte e é restrito a alvos privados explicitamente permitidos.',
tlsSkipVerify: 'HTTPS · Ignorar verificação de certificado (perigoso)',
tlsSystem: 'HTTPS · Verificação do certificado do sistema (recomendado)',
tokenEndpoint: 'Token Endpoint',
tokenEndpointInvalid: 'Insira um Token Endpoint válido.',
transportSecurity: 'Segurança de transporte',
transportSecurityHelper:
'Prefira HTTPS. O HTTP privado também requer acesso explícito ao private-network.',
unsavedChanges: 'Há alterações de OIDC não salvas.',
usedClaim: 'Claim usado',
userInfoEndpoint: 'UserInfo Endpoint',
userInfoEndpointHelper:
'Quando o campo de nome de usuário estiver ausente, o sistema o preencherá a partir deste endpoint. Deixe em branco para não preencher.',
userInfoEndpointInvalid: 'Insira um UserInfo Endpoint válido.',
userMapping: 'Configurações do usuário',
userMappingDesc:
'Configure o mapeamento do nome de usuário OIDC e o nó e a função padrão usados ao criar um usuário no primeiro acesso.',
},
saml2: {
actionCreate: 'Criar usuário',
actionPending: 'Aguardando resultado',
actionReject: 'Rejeitar login',
actionReuse: 'Usar usuário vinculado',
assignDefaultRole: 'Atribuir função padrão: {role}',
basic: 'Configurações básicas',
basicDesc: 'Configure as opções comuns exigidas pela maioria dos provedores SAML2.',
browserTest: 'Testar login',
browserTestConflict: 'Identidade verificada, mas o nome de usuário está em conflito',
browserTestConflictHelper:
'O nome de usuário mapeado pertence a outra identidade e não será reivindicado.',
browserTestExpired: 'O teste do navegador expirou',
browserTestExpiredHelper:
'Inicie um novo teste do navegador e conclua a autorização antes que ela expire.',
browserTestFailed: 'Falha no teste do navegador',
browserTestFailedHelper:
'A visualização da identidade não pôde ser concluída. Revise o erro de back-end localizado.',
browserTestIsolation:
'Isso executa um fluxo real de autorização de ida e volta, mas não cria nem atualiza usuários, não atribui funções e não cria uma sessão autenticada do painel.',
browserTestPopupBlocked: 'Permita pop-ups para este site e reinicie o teste do navegador.',
browserTestPopupClosed: 'A janela de autorização foi fechada antes da conclusão do teste.',
browserTestSuccess: 'Verificação Provider bem-sucedida',
browserTestSuccessHelper:
'O mapeamento de identidade foi visualizado sem alterar usuários ou sessões.',
browserTestTitle: 'Login de teste do navegador SAML2',
browserTestWaiting: 'Aguardando autorização Provider',
browserTestWaitingHelper:
'Conclua o login na nova janela do navegador. Esta página será atualizada automaticamente.',
certificateFileInvalid: 'Selecione um arquivo de certificado PEM, CRT ou CER válido.',
configured: 'Configurado',
configurationFailedHelper: 'O teste falhou. A página exibe apenas o erro de back-end localizado.',
configurationNotTested: 'A configuração atual não foi testada.',
configurationPassed: 'A configuração atual passou nas verificações de segurança e capacidade.',
configurationStaleHelper:
'Configurações sensíveis à autenticação alteradas. Teste o rascunho atual novamente.',
configurationTestSuccess: 'O teste de configuração do SAML2 foi bem-sucedido.',
configurationTesting: 'Testando a configuração atual do SAML2…',
conflictLDAP: 'Usuário LDAP',
conflictLocal: 'Usuário local',
conflictNone: 'Sem conflito',
conflictOIDC: 'Outra identidade OIDC',
conflictSAML2: 'Outra identidade SAML2',
conflictType: 'Tipo de conflito',
credentialFileReadFailed: 'Não foi possível ler o arquivo de credenciais.',
credentialFileTooLarge: 'Os arquivos de credenciais não devem exceder 256 KiB.',
credentialsRequired: 'Configure a chave privada e o certificado do SP.',
defaultRole: 'Função do novo usuário',
defaultRoleHelper:
'Atribuída apenas na primeira criação; logins posteriores preservam funções, MFA e permissões locais.',
defaultRolePlaceholder: 'Selecione uma função',
defaultRoleRequired: 'Selecione uma função padrão válida.',
disableConfirm:
'Desativar o SAML2 rejeita imediatamente novos logins e invalida suas sessões de usuário. Continuar?',
disableDiscardConfirm:
'Desativar o SAML2 descarta outras alterações não salvas nesta página e invalida imediatamente suas sessões de usuário. Continuar?',
disableTitle: 'Desativar SAML2',
disabled: 'Desativado',
enable: 'Ativar',
enabled: 'Ativado',
idpMetadata: 'Metadados do IdP',
idpMetadataDesc: 'Informe uma URL ou cole o XML. Se ambos existirem, a URL terá prioridade.',
keepExistingRole: 'Mantenha as funções e permissões locais existentes',
loginWith: 'Entrar com {provider}',
mappingResult: 'Resultado do mapeamento',
metadataRequired: 'Informe a URL ou o XML dos metadados do IdP.',
metadataURLHelper: 'O backend baixa e valida os metadados durante o teste e o salvamento.',
metadataURLInvalid: 'Insira uma URL HTTPS de metadados válida, sem credenciais nem fragmento.',
metadataURLRecommended: 'URL de metadados (recomendada)',
metadataXML: 'XML de metadados',
metadataXMLHelper: 'Use quando o IdP não expuser uma URL de metadados acessível.',
metadataXMLInvalid: 'Insira um XML de metadados EntityDescriptor válido.',
metadataXMLPlaceholder: 'Cole <EntityDescriptor>...</EntityDescriptor>',
nameAttribute: 'Atributo de nome de usuário',
nameAttributeHelper:
'Lê este atributo da asserção SAML verificada e o mapeia para o nome de usuário do 1Panel.',
nameAttributePlaceholder: 'Por exemplo: uid, username ou account',
nameAttributeRequired: 'Insira o atributo de nome de usuário.',
notConfigured: 'Não configurado',
or: 'ou',
pageDesc: 'Conecte o SSO corporativo por metadados do IdP com as opções comuns em uma página.',
plannedHandling: 'Manuseio planejado',
privateKeyFileInvalid: 'Selecione um arquivo de chave privada PEM válido.',
recentTestSuccess: 'Último teste bem-sucedido: {0}',
restore: 'Restaurar',
restored: 'As últimas configurações salvas do SAML2 foram restauradas.',
roleHandling: 'Manipulação de funções',
rolesLoadFailed:
'Não foi possível carregar as funções. Tente novamente antes de selecionar a função padrão.',
selectFile: 'Selecionar arquivo',
serviceStatus: 'Status do serviço',
serviceStatusDesc: 'A configuração atual deve passar no teste antes de ativar o SAML2.',
settingLoadFailed: 'As configurações do SAML2 não puderam ser carregadas',
settingLoadFailedHelper:
'O formulário é bloqueado para evitar salvar uma configuração padrão vazia sobre as configurações atuais. Tente novamente depois que a conexão for recuperada.',
spCertificate: 'Certificado do SP',
spCertificateHelper:
'Publicado nos metadados do SP para que o IdP possa verificar solicitações de login e logout.',
spCredentials: 'Chave privada e certificado do SP',
spCredentialsDesc:
'Usados para assinar mensagens de login e logout. A política de assinatura e validação é definida pelo backend.',
spEntityID: 'SP Entity ID',
spEntityIDHelper:
'Identificador único do SP. Deve corresponder ao ID da entidade ou ao público-alvo configurado no IdP; também é a URL de metadados do SP.',
acsURL: 'ACS URL',
sloURL: 'SLO URL',
spPrivateKey: 'Chave privada do SP',
spPrivateKeyHelper:
'Usada para assinar AuthnRequest e mensagens de logout. É criptografada em repouso e nunca exibida.',
syncLogout: 'Logout sincronizado',
syncLogoutHelper:
'Sair do 1Panel ou do provedor de identidade também encerra a sessão do outro lado.',
testBeforeBrowserTest:
'Teste a configuração atual antes de iniciar um teste de login do navegador.',
testBeforeEnable: 'Teste a configuração atual antes de ativar ou salvar alterações confidenciais.',
testConfiguration: 'Testar configuração',
unsavedChanges: 'Há alterações de SAML2 não salvas.',
usedAttribute: 'Mapeamento de nome de usuário',
usersAndRoles: 'Usuários e funções',
usersAndRolesDesc:
'Configure o mapeamento do nome de usuário do painel e o nó e a função padrão usados ao criar um usuário no primeiro acesso.',
},
ldap: {
basic: 'Configurações básicas',
loginTitle: 'Login LDAP',
loginWith: 'Entrar com LDAP',
backToLocalLogin: 'Voltar ao login do painel',
enable: 'Habilitar',
enabled: 'Habilitado',
disabled: 'Desativado',
connection: 'Conexão básica',
connectionDesc:
'Configure o serviço de diretório e a conta de ligação usada para procurar usuários.',
serverURL: 'URL do servidor',
serverURLHelper: 'Suporta URLs ldap:// e ldaps://.',
userBaseDN: 'Base DN do usuário',
userBaseDNHelper:
'DN inicial para pesquisas de usuários LDAP; pode ser uma OU, um CN ou o DN raiz do domínio.',
bindDN: 'DN de vínculo',
bindPassword: 'Senha',
passwordSaved: 'Deixe em branco para manter a senha salva',
userSearch: 'Pesquisa de usuário',
userSearchDesc:
'Configure a base e o filtro de pesquisa e mapeie o atributo LDAP para o campo name do 1Panel.',
userFilter: 'Filtro de usuário',
userFilterTooltip:
'Substitua %(user)s pelo nome de usuário com escape ou por * para uma leitura completa do diretório.',
userFilterHelper: 'Os nomes de usuário têm escape antes de serem inseridos no filtro LDAP.',
attributeMap: 'Mapeamento de atributos',
attributeMapTooltip: 'Mapeamento JSON do campo name do 1Panel para um atributo LDAP.',
attributeMapHelper: 'Configure o atributo LDAP mapeado para o campo name do 1Panel.',
advanced: 'Configurações avançadas',
advancedDesc: 'Configure a paginação de consulta TLS e LDAP.',
strictSync: 'Sincronização estrita',
strictSyncTooltip:
'Após um processamento completo, o status de autenticação dos usuários ausentes nesta origem LDAP é marcado como Não encontrado no LDAP, mas os usuários não são excluídos.',
strictSyncHelper:
'Aplica-se apenas a um processamento completo bem-sucedido. A importação de usuários selecionados não altera o status de autenticação de outros usuários.',
skipTLSVerify: 'Ignorar verificação TLS',
skipTLSVerifyTooltip: 'Desative a verificação de certificado para conexões LDAPS.',
connectTimeout: 'Tempo limite de conexão (segundos)',
searchPageSize: 'Tamanho da página de consulta LDAP',
restore: 'Restaurar',
testConnection: 'Testar conexão',
testLogin: 'Testar login',
userImport: 'Importar usuários',
saveBeforeImport: 'Salve as configurações AD/LDAP atuais antes de importar usuários.',
format: 'Formato',
restoreExample: 'Exemplo de restauração',
mappingValid: 'JSON válido; name está configurado.',
mappingInvalid: 'Insira JSON válido.',
mappingObject: 'O mapeamento de atributos deve ser um objeto JSON.',
mappingOnlyName: 'Somente o mapeamento name é suportado.',
mappingStringValues: 'Cada atributo mapeado deve ser uma string.',
mappingNameRequired: 'name deve ser uma sequência não vazia.',
restored: 'As últimas configurações salvas foram restauradas.',
connectionTestSuccess: 'O teste de conexão LDAP foi bem-sucedido.',
recentTestSuccess: 'Último teste bem-sucedido: {0}',
recentTestFailed: 'Último teste falhou: {0}',
serverURLRequired: 'Insira a URL do servidor LDAP.',
serverURLInvalid: 'Use um URL ldap:// ou ldaps:// válido.',
userBaseDNRequired: 'Informe a Base DN do usuário.',
bindDNRequired: 'Insira a ligação DN.',
passwordRequired: 'Digite a senha.',
userFilterRequired: 'Insira o filtro do usuário.',
connectTimeoutRequired: 'Insira o tempo limite de conexão.',
searchPageSizeRequired: 'Insira o tamanho da página de consulta LDAP.',
sync: {
title: 'Sincronização agendada',
description:
'Leia o diretório LDAP completo de acordo com uma programação e mantenha os usuários LDAP importados em 1Panel.',
enable: 'Ativar agendamento',
enableHelper:
'Quando desativado, a execução automática é interrompida; a sincronização manual permanece disponível.',
schedule: 'Cronograma',
daily: 'Diariamente',
weekly: 'Semanalmente',
customCron: 'Cron personalizado',
preview: 'Visualização',
previewTitle: 'Próximas 5 execuções',
previewEmpty: 'Não há tempo de execução disponível',
cronHelper:
'Use uma expressão Cron padrão de cinco campos: minuto, hora, dia, mês, dia da semana.',
autoImport: 'Importar novos usuários',
autoImportHelper:
'Quando desativado, apenas os identificadores e o status do diretório são mantidos para usuários LDAP importados; nenhum novo usuário é criado.',
defaultRole: 'Nova função de usuário',
defaultRolePlaceholder: 'Selecione uma função',
defaultRoleHelper: 'Aplica-se apenas a usuários criados por sincronização agendada.',
defaultRoleRequired: 'Selecione uma função para novos usuários LDAP.',
strictSyncHelper:
'Após uma sincronização completa, usuários ausentes no LDAP são marcados como Não encontrado no LDAP e suas sessões são encerradas sem excluir usuários, funções ou permissões.',
runNow: 'Sincronize agora',
lastRunSuccess: 'Última sincronização bem-sucedida: {0}',
lastRunFailed: 'Falha na última sincronização: {0}',
lastRunRunning: 'Sincronização iniciada: {0}',
sourceDisabled: 'Habilite e salve AD/LDAP antes de executar a sincronização.',
cronRequired: 'Insira uma expressão Cron.',
saveBeforeRun: 'Salve as configurações de sincronização antes de executar a tarefa.',
runConfirmTitle: 'Execute a sincronização estrita',
runConfirmDescription:
'O status de autenticação dos usuários ausentes em uma consulta LDAP completa será marcado como Não encontrado no LDAP e suas sessões ativas serão apagadas. Continuar?',
runSuccess: 'Sincronização LDAP concluída.',
weekdays: {
0: 'Domingo',
1: 'Segunda-feira',
2: 'Terça-feira',
3: 'Quarta-feira',
4: 'Quinta-feira',
5: 'Sexta-feira',
6: 'Sábado',
},
},
syncLogs: {
title: 'Sincronizar registros',
description: 'Revise os resultados da sincronização LDAP programada e manual.',
startedAt: 'Hora de início',
trigger: 'Tipo de execução',
manual: 'Manual',
scheduled: 'Agendado',
success: 'Sucesso',
failed: 'Falha',
running: 'Em execução',
result: 'Resultado',
resultSummary: 'Criados {0}, atualizados {1}, ausentes {2}',
duration: 'Duração',
action: 'Ação',
},
testLoginTitle: 'Testar login AD/LDAP',
testLoginDesc:
'Vincule com uma credencial de usuário AD/LDAP apenas para testar a autenticação. Nenhuma sessão 1Panel é criada.',
ldapUsername: 'Nome de usuário LDAP',
usernameRequired: 'Digite o nome de usuário LDAP.',
startTest: 'Iniciar teste',
testLoginSuccess: 'Autenticação bem-sucedida.',
testLoginSuccessWithDN: 'Autenticação bem-sucedida. Usuário DN: {0}',
import: {
title: 'Importar usuários AD/LDAP',
source: 'Fonte de dados: diretório AD/LDAP',
lastRead: 'Última leitura: {0}',
cacheHit: 'Resultado armazenado em cache',
keywordPlaceholder: 'Pesquisar nome de usuário',
search: 'Pesquisar',
refresh: 'Leia de LDAP',
refreshTip: 'Ignore o cache de curto prazo e leia o diretório LDAP novamente.',
loadFailed: 'Falha ao ler o diretório LDAP.',
retry: 'Tentar novamente',
noData: 'Nenhum usuário do diretório encontrado.',
username: 'Nome de usuário',
status: 'Estado',
changes: 'Mudanças',
noChanges: 'Sem alterações',
importable: 'Pronto para importar',
updateAvailable: 'Atualização disponível',
upToDate: 'Atualizado',
conflict: 'Conflito de nome',
selectedCount: '{0} selecionado',
totalCount: '{0} usuários',
newUserRole: 'Nova função de usuário',
newUserRoleRequired: 'Selecione uma função para novos usuários.',
noNewUsers: 'Não há novos usuários nesta operação.',
roleOnlyForNewUsers: 'A função selecionada é aplicada somente aos usuários recém-criados.',
strictOff:
'A sincronização estrita está desativada. Uma importação completa não desativará os usuários.',
importSelected: 'Importação/atualização selecionada ({0})',
importAll: 'Importar/atualizar tudo ({0})',
previewTitle: 'Confirme a importação completa',
previewDesc:
'O diretório LDAP completo foi lido. A palavra-chave de pesquisa não limita esta operação.',
created: 'Criar',
updated: 'Atualizar',
unchanged: 'Inalterado',
conflicts: 'Conflitos',
missing: 'Desativar',
reactivated: 'Reativar',
strictWarning:
'A sincronização estrita está habilitada. Os usuários ausentes de LDAP não podem fazer login, mas seus registros, funções e permissões são mantidos.',
missingUsers: 'Usuários ausentes em LDAP',
missingScope: 'Somente esta fonte LDAP é afetada.',
willDisable: 'Será desativado',
confirmAll: 'Confirmar importação',
confirmAllWithMissing: 'Confirmar importação e desabilitar {0} usuários',
executeSuccess: 'Os usuários LDAP foram processados com sucesso.',
queryExpired: 'O resultado do diretório expirou. Leia LDAP novamente.',
planIncomplete: 'A leitura completa do diretório está incompleta e não pode ser executada.',
},
},
},
},
app: {
app: 'APP',
title: 'Apelido do Painel',
titleHelper: 'O alias do painel é usado para exibição no APP (alias do painel padrão)',
qrCode: 'QR Code',
apiStatusHelper: 'O APP do Painel precisa habilitar a funcionalidade da interface API',
apiInterfaceHelper:
'Suporta acesso à interface de API do painel (essa funcionalidade precisa ser ativada no aplicativo do painel)',
apiInterfaceHelper1:
'O acesso ao aplicativo do painel requer que o visitante seja adicionado à lista de permissões; para IPs não fixos, recomenda-se adicionar 0.0.0.0/0(todos os IPv4), ::/0 (todos os IPv6)',
qrCodeExpired: 'Tempo de atualização',
apiLeakageHelper: 'Não revele o QR code. Garanta que ele seja usado apenas em ambientes confiáveis.',
},
logExport: {
title: 'Exportar logs',
records: 'Registros de exportação',
retentionDays: 'Retenção dos registros de exportação',
timeRange: 'Período',
timeRequired: 'Selecione o período da exportação',
websiteRequired: 'Selecione um site',
blackStatus: 'Status da lista de bloqueio',
black: 'Bloqueado',
notBlack: 'Não bloqueado',
fuzzy: 'Correspondência aproximada',
regex: 'Expressão regular',
invalidRegex: 'Insira uma expressão RE2 válida com no máximo 256 caracteres',
created: 'Tarefa de exportação criada',
fileName: 'Nome do arquivo',
fileSize: 'Tamanho do arquivo',
expiresAt: 'Expira em',
cancelConfirm: 'Cancelar esta tarefa de exportação?',
deleteConfirm: 'Excluir este registro e arquivo de exportação?',
},
waf: {
WAF: 'WAF',
name: 'WAF',
blackWhite: 'Lista negra e branca',
globalSetting: 'Configurações globais',
websiteSetting: 'Configurações do site',
blockRecords: 'Registros de bloqueio',
world: 'Mundo',
china: 'China',
intercept: 'Interceptar',
request: 'Requisição',
count4xx: 'Quantidade de 4xx',
count5xx: 'Quantidade de 5xx',
todayStatus: 'Status de hoje',
reqMap: 'Mapa de interceptação (30 dias)',
resource: 'Origem',
count: 'Quantidade',
hight: 'Alto',
low: 'Baixo',
reqCount: 'Requisições',
interceptCount: 'Número de interceptações',
requestTrends: 'Tendências de requisições (últimos 7 dias)',
interceptTrends: 'Tendências de interceptação (últimos 7 dias)',
whiteList: 'Lista branca',
blackList: 'Lista negra',
ipBlackListHelper: 'Endereços IP na lista negra estão bloqueados de acessar o site',
ipWhiteListHelper: 'Endereços IP na lista branca contornam todas as restrições',
uaBlackListHelper: 'Requisições com valores de User-Agent na lista negra serão bloqueadas',
uaWhiteListHelper: 'Requisições com valores de User-Agent na lista branca contornam todas as restrições',
urlBlackListHelper: 'Requisições para URLs na lista negra serão bloqueadas',
urlWhiteListHelper: 'Requisições para URLs na lista branca contornam todas as restrições',
ccHelper:
'Se um site receber mais de {1} requisições do mesmo IP dentro de {0} segundos, o IP será bloqueado por {2}',
blockTime: 'Duração do bloqueio',
attackHelper:
'Se as interceptações acumuladas excederem {1} dentro de {0} segundos, o IP será bloqueado por {2}',
notFoundHelper:
'Se requisições acumuladas retornarem erros 404 mais de {1} vezes dentro de {0} segundos, o IP será bloqueado por {2}',
frequencyLimit: 'Limite de frequência',
regionLimit: 'Limite de região',
defaultRule: 'Regras padrão',
accessFrequencyLimit: 'Limite de frequência de acesso',
attackLimit: 'Limite de frequência de ataque',
notFoundLimit: 'Limite de frequência de 404',
urlLimit: 'Limite de frequência de URL',
urlLimitHelper: 'Defina a frequência de acesso para uma única URL',
sqliDefense: 'Proteção contra injeção SQL',
sqliHelper: 'Detectar injeção SQL em requisições e bloqueá-las',
xssHelper: 'Detectar XSS em requisições e bloqueá-las',
xssDefense: 'Proteção contra XSS',
uaDefense: 'Regras de User-Agent maliciosos',
uaHelper: 'Inclui regras para identificar bots maliciosos comuns',
argsDefense: 'Regras de parâmetros maliciosos',
argsHelper: 'Bloqueia requisições que contenham parâmetros maliciosos',
cookieDefense: 'Regras de cookies maliciosos',
cookieHelper: 'Proíbe cookies maliciosos de serem carregados nas requisições',
headerDefense: 'Regras de cabeçalhos maliciosos',
headerHelper: 'Proíbe requisições que contenham cabeçalhos maliciosos',
httpRule: 'Regras de método de requisição HTTP',
httpHelper:
'Defina os tipos de métodos permitidos para acessar. Se você deseja restringir certos tipos de acesso, desative esse tipo de botão. Por exemplo: se apenas o acesso do tipo GET for permitido, desative todos os outros botões, exceto o GET',
geoRule: 'Restrições de acesso regional',
geoHelper:
'Combine políticas de região e província em um único controle. As regras de região são avaliadas antes das regras de província',
regionPolicy: 'Política regional',
provincePolicy: 'Política de província',
provinceRuleLabel: 'Província',
openRestyFeatureVersionAlert: 'A versão do OpenResty deve ser superior a 1.31.1.1-0 para que {0} funcione.',
ipLocation: 'Localização do IP',
ipLocationSearchHelper: 'Insira a localização do IP; pesquisa aproximada é suportada',
action: 'Ação',
ruleType: 'Tipo de ataque',
ipHelper: 'Digite o endereço IP',
attackLog: 'Log de ataques',
rule: 'Regra',
ipArr: 'Intervalo IPV4',
ipStart: 'IP de início',
ipEnd: 'IP de fim',
ipv4: 'IPv4',
ipv6: 'IPv6',
urlDefense: 'Regras de URL',
urlHelper: 'URL proibida',
dirFilter: 'Filtro de diretório',
sqlInject: 'Injeção de SQL',
xss: 'XSS',
webshell: 'WebShell',
phpExec: 'Execução de script PHP',
oneWordTrojan: 'Cavalo de Troia de uma palavra',
appFilter: 'Filtragem de diretórios perigosos',
webShell: 'Webshell',
args: 'Parâmetros maliciosos',
protocolFilter: 'Filtro de protocolo',
javaFilter: 'Filtragem de arquivos Java perigosos',
scannerFilter: 'Filtro de scanner',
escapeFilter: 'Filtro de escape',
customRule: 'Regras personalizadas',
httpMethod: 'Filtro de método HTTP',
fileExt: 'Limite de extensão de arquivo',
fileExtHelper: 'Extensões de arquivos proibidas para upload',
deny: 'Proibido',
allow: 'Permitir',
allowOnly: 'Permitir apenas',
field: 'Objeto',
pattern: 'Condição',
ruleContent: 'Conteúdo',
contain: 'incluir',
equal: 'igual',
regex: 'expressão regular',
notEqual: 'Diferente de',
customRuleHelper: 'Realize ações com base nas condições especificadas',
actionAllow: 'Permitir',
blockIP: 'Bloquear IP',
code: 'Código de status retornado',
noRes: 'Desconectar (444)',
badReq: 'Parâmetros inválidos (400)',
forbidden: 'Acesso proibido (403)',
serverErr: 'Erro no servidor (500)',
resHtml: 'Página de resposta',
allowHelper: 'Permitir acesso pulará as regras subsequentes do WAF, use com cautela',
captcha: 'verificação humano-máquina',
fiveSeconds: 'Verificação de 5 segundos',
location: 'Região',
redisConfig: 'Configuração do Redis',
redisHelper: 'Ativar o Redis para persistir IPs temporariamente bloqueados',
wafHelper: 'Todos os sites perderão proteção após o fechamento',
websiteWafHelper: 'Este site perderá a proteção após o fechamento',
attackIP: 'IP atacante',
attackParam: 'Detalhes do ataque',
execRule: 'Regra atingida',
acl: 'ACL',
sql: 'Injeção de SQL',
cc: 'Limite de frequência de acesso',
isBlocking: 'Bloqueado',
isFree: 'Desbloqueado',
unLock: 'Desbloquear',
unLockHelper: 'Você quer desbloquear o IP: {0}?',
saveDefault: 'Salvar padrão',
saveToWebsite: 'Aplicar ao site',
saveToWebsiteHelper: 'Aplicar as configurações atuais a todos os sites?',
websiteHelper:
'Aqui estão as configurações padrão para criar um site. As modificações precisam ser aplicadas ao site para terem efeito',
websiteHelper2:
'Aqui estão as configurações padrão para criar um site. Por favor, modifique a configuração específica no site',
ipGroup: 'Grupo de IP',
ipGroupHelper:
'Um IP ou segmento de IP por linha, suporta IPv4 e IPv6, por exemplo: 192.168.1.1 ou 192.168.1.0/24',
ipBlack: 'Lista negra de IP',
openRestyAlert: 'A versão do OpenResty precisa ser superior a {0}',
initAlert:
'A inicialização é necessária para o primeiro uso, o arquivo de configuração do site será modificado e a configuração original do WAF será perdida. Por favor, faça backup do OpenResty com antecedência',
initHelper:
'A operação de inicialização apagará a configuração WAF existente. Tem certeza de que deseja inicializar?',
mainSwitch: 'Interruptor principal',
websiteSwitch: 'Interruptor',
websiteAlert: 'Por favor, crie um site primeiro',
defaultUrlBlack: 'Regras de URL',
htmlRes: 'Página de interceptação',
urlSearchHelper: 'Por favor, insira a URL para suportar a pesquisa difusa',
hostSearchHelper: 'Insira o Host para pesquisa aproximada',
toCreate: 'Criar',
closeWaf: 'Fechar WAF',
closeWafHelper: 'Fechar o WAF fará com que o site perca a proteção, você deseja continuar?',
addblack: 'Negro',
addwhite: 'Adicionar branco',
addblackHelper: 'Adicionar IP:{0} à lista negra padrão?',
addwhiteHelper: 'Adicionar IP:{0} à lista branca padrão?',
defaultUaBlack: 'Regra do User-Agent',
defaultIpBlack: 'Grupo de IPs Maliciosos',
cookie: 'Regras de Cookies',
urlBlack: 'Lista negra de URLs',
uaBlack: 'Lista negra de User-Agent',
attackCount: 'Limite de frequência de ataques',
fileExtCheck: 'Limite de upload de arquivos',
geoRestrict: 'Restrição de acesso regional',
originProtect: 'Proteção da origem CDN',
attacklog: 'Registro de Interceptação',
unknownWebsite: 'Acesso a nome de domínio não autorizado',
geoRuleEmpty: 'Selecione pelo menos uma região ou província',
unknown: 'Site não existe',
geo: 'Restrição Regional',
revertHtml: 'Você deseja restaurar {0} como a página padrão?',
five_seconds: 'Verificação de 5 segundos',
header: 'Regras de cabeçalho',
methodWhite: 'Regras HTTP',
expiryDate: 'Data de expiração',
expiryDateHelper: 'Após passar na verificação, não será mais verificado dentro do período de validade',
defaultIpBlackHelper: 'Alguns IPs maliciosos coletados da Internet para impedir o acesso',
notFoundCount: 'Limite de Frequência 404',
matchValue: 'Valor de correspondência',
headerName: 'Suporta inglês, números, -, comprimento de 3-30',
cdnHelper: 'Sites que usam CDN podem abrir aqui para obter o IP de origem correto',
clearLogWarn: 'Limpar o log não será possível, você deseja continuar?',
commonRuleHelper: 'A regra é correspondência difusa',
blockIPHelper:
'IPs bloqueados são armazenados temporariamente no OpenResty e serão desbloqueados quando você reiniciar o OpenResty. Eles podem ser bloqueados permanentemente através da função de bloqueio',
addWhiteUrlHelper: 'Adicionar URL {0} à lista branca?',
dashHelper:
'A versão comunitária também pode usar as funções nas configurações globais e configurações de site',
wafStatusHelper:
'O firewall não está ativado. A proteção de segurança do site está pausada. Ative-o assim que possível.',
enableProtection: 'Ativar Proteção',
ccMode: 'Modo',
global: 'Modo Global',
uriMode: 'Modo URL',
globalHelper:
'Modo Global: Ativado quando o número total de solicitações para qualquer URL dentro de uma unidade de tempo excede o limite',
uriModeHelper:
'Modo URL: Ativado quando o número de solicitações para uma única URL dentro de uma unidade de tempo excede o limite',
ip: 'Lista negra de IPs',
globalSettingHelper:
'Configurações com a tag [Website] precisam ser ativadas em [Configurações do Website], e as configurações globais são apenas as configurações padrão para sites recém-criados',
globalSettingHelper2:
'As configurações precisam ser ativadas tanto em [Configurações Globais] quanto em [Configurações do Website] ao mesmo tempo',
urlCCHelper: 'Mais de {1} solicitações para este URL dentro de {0} segundos, bloqueando este IP {2}',
urlCCHelper2: 'O URL não pode conter parâmetros',
notContain: 'Não contém',
urlcc: 'Limitação de frequência de URL',
method: 'Tipo de solicitação',
addIpsToBlock: 'Bloquear IPs em massa',
addIpSegmentToBlock: 'Bloquear segmento de IP',
addIpSegmentsToBlock: 'Bloquear segmentos de IP em massa',
addUrlsToWhite: 'Adicionar URLs à lista branca em massa',
noBlackIp: 'O IP já está bloqueado, não é necessário bloquear novamente',
noWhiteUrl: 'O URL já está na lista branca, não é necessário adicionar novamente',
spiderIpHelper:
'Quando ativado, apenas os spiders selecionados são permitidos; quando desativado, todos são bloqueados.',
spiderIp: 'Pool de IPs de spiders',
spider: 'Spider',
spiderAllowlist: 'Spiders permitidos',
spiderAllowlistEmpty: 'Nenhum spider selecionado. Ao salvar, todos os spiders serão bloqueados.',
geoIp: 'Biblioteca de endereços IP',
geoIpHelper: 'Usado para determinar a localização geográfica do IP',
stat: 'Relatório de ataques',
statTitle: 'Relatório',
attackIp: 'IP de ataque',
attackCountNum: 'Número de ataques',
percent: 'Porcentagem',
addblackUrlHelper: 'Adicionar URL: {0} à lista negra padrão?',
rce: 'Execução remota de código',
software: 'Software',
cveHelper: 'Contém vulnerabilidades comuns de software e frameworks',
vulnCheck: 'Regras complementares',
ssrf: 'Vulnerabilidade SSRF',
afr: 'Leitura arbitrária de arquivos',
ua: 'Acesso não autorizado',
id: 'Dicas de informações',
aa: 'Desvio de autenticação',
dr: 'Trasversal de diretórios',
xxe: 'Vulnerabilidade XXE',
suid: 'Vulnerabilidade de serialização',
dos: 'Vulnerabilidade de negação de serviço',
afd: 'Download arbitrário de arquivos',
sqlInjection: 'Injeção de SQL',
afw: 'Escrita arbitrária de arquivos',
il: 'Dicas de informações',
clearAllLog: 'Limpar todos os logs',
exportLog: 'Exportar logs',
appRule: 'Regras de aplicação',
appRuleHelper:
'Regras comuns de aplicações, habilitar pode reduzir falsos positivos, um site pode usar apenas uma regra',
logExternal: 'Excluir tipos de registro',
ipWhite: 'Lista branca de IPs',
urlWhite: 'Lista branca de URLs',
uaWhite: 'Lista branca de User-Agent',
logExternalHelper:
'Tipos de registro excluídos não serão registrados nos logs, listas negras/brancas, restrições de acesso de região e regras personalizadas geram muitos logs, recomenda-se excluir',
ssti: 'Ataque SSTI',
crlf: 'Injeção CRLF',
strict: 'Modo estrito',
strictHelper: 'Usa regras mais rigorosas para validar solicitações',
executionStrategy: 'Estratégia de execução',
detectionStrength: 'Nível de detecção',
protectionMode: 'Modo de proteção',
observationMode: 'Modo de observação',
standardMode: 'Modo padrão',
observationModeHelper: 'Detecta e registra solicitações sem bloqueá-las',
observationModeConfirm:
'No modo de observação, todas as correspondências do WAF são registradas sem bloquear solicitações. Continuar?',
globalStrictRequired: 'Primeiro habilite o modo estrito nas configurações globais',
websiteSearchHelper: 'Digite o domínio, alias ou observação do site',
configReadFailed: 'Falha ao carregar a configuração',
detailSetting: 'Configurações detalhadas',
observe: 'Observar',
saveLog: 'Salvar log',
remoteURLHelper: 'O URL remoto precisa garantir um IP por linha e nenhum outro caractere',
notFound: 'Not Found (404)',
serviceUnavailable: 'Serviço Indisponível (503)',
gatewayTimeout: 'Tempo Limite da Porta de Entrada (504)',
belongToIpGroup: 'Pertence ao Grupo de IP',
notBelongToIpGroup: 'Não pertence ao Grupo de IP',
unknownWebsiteKey: 'Domínio Desconhecido',
special: 'Domínio Especial',
fileToLarge: 'O arquivo excede 1MB e não pode ser enviado',
uploadOverLimit: 'O arquivo enviado excede o limite de quantidade, máximo 1 arquivo',
importRuleHelper: 'Uma regra por linha',
},
monitor: {
'360': 'Busca 360',
name: 'Monitoramento de Websites',
pv: 'Visualizações de Página',
uv: 'Visitantes Únicos',
flow: 'Fluxo de Tráfego',
ip: 'IP',
spider: 'Spider',
visitors: 'Tendências de Visitantes',
today: 'Hoje',
last7days: 'Últimos 7 Dias',
last30days: 'Últimos 30 Dias',
uvMap: 'Mapa de Visitantes (30 dias)',
qps: 'Requisições em Tempo Real (por minuto)',
flowSec: 'Tráfego em Tempo Real (por minuto)',
excludeCode: 'Excluir Códigos de Status',
excludeUrl: 'Excluir URLs',
excludeExt: 'Excluir Extensões',
cdnHelper: 'Obter o IP real do Header fornecido pela CDN',
reqRank: 'Ranking de Visitas',
refererDomain: 'Domínio de Referência',
os: 'Sistema',
browser: 'Navegador/Cliente',
device: 'Dispositivo',
showMore: 'Mais',
unknown: 'Outro',
pc: 'Computador',
mobile: 'Dispositivo Móvel',
wechat: 'WeChat',
machine: 'Máquina',
tencent: 'Navegador Tencent',
ucweb: 'Navegador UC',
'2345explorer': 'Navegador 2345',
huaweibrowser: 'Navegador Huawei',
log: 'Logs de Requisição',
statusCode: 'Código de Status',
requestTime: 'Tempo de Resposta',
flowRes: 'Tráfego de Resposta',
method: 'Método de Requisição',
statusCodeHelper: 'Insira o código de status acima',
statusCodeError: 'Tipo de código de status inválido',
methodHelper: 'Insira o método de requisição acima',
all: 'Todos',
baidu: 'Baidu',
google: 'Google',
bing: 'Bing',
bytes: 'Manchetes do Dia',
sogou: 'Sogou',
failed: 'Erro',
ipCount: 'Contagem de IPs',
spiderCount: 'Requisições de Spider',
averageReqTime: 'Tempo Médio de Resposta',
totalFlow: 'Fluxo Total',
logSize: 'Tamanho do Arquivo de Log',
realIPType: 'Método de Obtenção do IP Real',
realIPRecognition: 'Identificação do IP real',
fromHeader: 'Obter do Header HTTP',
fromHeaders: 'Obter da lista de Headers',
header: 'Header HTTP',
cdnConfig: 'Configuração da CDN',
xff1: 'Proxy de Primeiro Nível de X-Forwarded-For',
xff2: 'Proxy de Segundo Nível de X-Forwarded-For',
xff3: 'Proxy de Terceiro Nível de X-Forwarded-For',
xffHelper:
'Por exemplo: X-Forwarded-For: <cliente>,<proxy1>,<proxy2>,<proxy3>. O proxy superior pegará o último IP <proxy3>',
headersHelper:
'Obter o IP real dos Headers HTTP comuns fornecidos pela CDN, selecionando o primeiro valor disponível',
monitorCDNHelper:
'Modificar a configuração da CDN para monitoramento do site também atualizará as configurações de CDN do WAF',
wafCDNHelper:
'Modificar a configuração de CDN do WAF também atualizará as configurações de CDN do monitoramento do site',
originProtection: 'Proteção do servidor de origem',
originProtectionHelper:
'Somente nós CDN nos grupos de IP selecionados podem conectar à origem. A detecção do IP real do visitante usa uma opção separada.',
originProtectionIPGroups: 'Grupos de IP de origem CDN',
originProtectionIPGroupsPlaceholder: 'Selecione grupos de IP de origem CDN confiáveis',
originProtectionWarning:
'Uma configuração incorreta pode tornar o site indisponível. Confirme se todos os endereços de retorno da CDN estão incluídos.',
originProtectionEnableConfirm:
'Conexões fora dos grupos de IP selecionados serão tratadas como acesso direto à origem e bloqueadas. Continuar?',
statusErr: 'Formato de código de status inválido',
shenma: 'Busca Shenma',
duckduckgo: 'DuckDuckGo',
yandex: 'Yandex',
gptbot: 'GPTBot',
excludeUri: 'Excluir URIs',
top100Helper: 'Mostrar os 100 principais dados',
logSaveDay: 'Período de Retenção de Logs (dias)',
cros: 'Chrome OS',
theworld: 'Navegador TheWorld',
edge: 'Microsoft Edge',
maxthon: 'Navegador Maxthon',
monitorStatusHelper: 'O monitoramento do site está desabilitado. Habilite agora',
excludeIp: 'Excluir Endereços IP',
excludeUa: 'Excluir User-Agent',
remotePort: 'Porta Remota',
unknown_browser: 'Desconhecido',
unknown_os: 'Desconhecido',
unknown_device: 'Desconhecido',
logSaveSize: 'Tamanho Máximo de Salvamento de Log',
logSaveSizeHelper: 'Este é o tamanho de salvamento de log para um único site',
'360se': 'Navegador de Segurança 360',
websites: 'Lista de Sites',
trend: 'Estatísticas de Tendência',
reqCount: 'Contagem de Solicitações',
uriHelper: 'Você pode usar /test/* ou /*/index.php para excluir Uri',
},
tamper: {
tamper: 'Proteção contra adulteração do site',
tamperCreateHint:
'O diretório atual pode ser afetado pela proteção contra alterações ou por atributos de arquivo, causando falha na criação.',
ignoreTemplate: 'Modelo de Exclusão',
protectTemplate: 'Modelo de Proteção',
ignoreTemplateHelper:
'Digite o conteúdo de exclusão, separado por Enter ou espaço. (Diretório específico ./log ou nome do diretório tmp, para excluir arquivos precisa inserir arquivo específico ./data/test.html)',
protectTemplateHelper:
'Digite o conteúdo de proteção, separado por Enter ou espaço. (Arquivo específico ./index.html, extensão de arquivo .html, tipo de arquivo js, para proteger diretórios precisa inserir diretório específico ./log)',
templateContent: 'Conteúdo do Modelo',
template: 'Modelo',
saveTemplate: 'Salvar como Modelo',
tamperHelper1:
'Para sites de implantação com um clique, é recomendável ativar a proteção contra violação de diretório de aplicativos; se o site não puder ser usado normalmente ou o backup/restauração falhar, desative primeiro a proteção contra violação;',
tamperHelper2:
'Restringirá operações de leitura/gravação, exclusão, permissão e modificação de proprietário para arquivos protegidos em diretórios não excluídos',
tamperPath: 'Diretório de Proteção',
tamperPathEdit: 'Modificar Caminho',
log: 'Log de Bloqueio',
totalProtect: 'Proteção Total',
todayProtect: 'Proteção de Hoje',
templateRule: 'Comprimento 1-512, o nome não pode conter {0} e outros símbolos',
ignore: 'Excluir',
ignoreHelper:
'Selecione ou digite o conteúdo de exclusão, separado por Enter ou espaço. (Diretório específico ./log ou nome do diretório tmp, para excluir arquivos precisa inserir ou selecionar arquivo específico ./data/test.html)',
protect: 'Proteger',
protectHelper:
'Selecione ou digite o conteúdo de proteção, separado por Enter ou espaço. (Arquivo específico ./index.html, extensão de arquivo .html, tipo de arquivo js, para proteger diretórios precisa inserir ou selecionar diretório específico ./log)',
tamperHelper00: 'Exclusão e proteção suportam apenas caminhos relativos;',
tamperHelper01:
'Após ativar a proteção contra violação, o sistema restringirá as operações de criação, edição e exclusão de arquivos protegidos em diretórios não excluídos;',
tamperHelper02:
'Prioridade: Proteção de caminho específico > Exclusão de caminho específico > Proteção > Exclusão',
tamperHelper03:
'As operações de monitoramento visam apenas diretórios não excluídos, monitorando a criação de arquivos não protegidos nesses diretórios.',
disableHelper: 'Prestes a desativar a proteção contra violação para os seguintes sites, continuar?',
appendOnly: 'Somente Acréscimo',
appendOnlyHelper:
'Restringe operações de exclusão de arquivos neste diretório, permitindo apenas adição de diretórios excluídos ou arquivos não protegidos',
immutable: 'Imutável',
immutableHelper:
'Restringe operações de edição, exclusão, permissão e modificação de proprietário para este arquivo',
onWatch: 'Monitorar',
onWatchHelper:
'Monitora e intercepta a criação de arquivos protegidos ou diretórios não excluídos neste diretório',
forceStop: 'Forçar Fechamento',
forceStopHelper: 'Desativará forçadamente a função anti-violência para este diretório do site. Continuar?',
},
setting: {
setting: 'Configurações do Painel',
title: 'Descrição do Painel',
titleHelper:
'Será exibido na página de login do usuário (ex.: Painel de gerenciamento de manutenção de servidores Linux, recomendado 8-15 caracteres)',
logo: 'Logo (Sem Texto)',
logoHelper:
'Será exibido no canto superior esquerdo da página de gerenciamento quando o menu estiver recolhido (tamanho recomendado da imagem: 82px*82px)',
logoWithText: 'Logo (Com Texto)',
logoWithTextHelper:
'Será exibido no canto superior esquerdo da página de gerenciamento quando o menu estiver expandido (tamanho recomendado da imagem: 185px*55px)',
favicon: 'Ícone do Site',
faviconHelper: 'Ícone do site (tamanho recomendado da imagem: 16px*16px)',
setDefault: 'Restaurar Padrão',
setHelper: 'As configurações atuais serão salvas. Deseja continuar?',
setDefaultHelper: 'Todas as configurações do painel serão restauradas para o padrão. Deseja continuar?',
logoGroup: 'Logo',
imageGroup: 'Imagem',
loginImage: 'Imagem',
loginImageHelper: 'Será exibida na página de login (Tamanho recomendado: 500x416px)',
loginBgType: 'Tipo de Fundo',
loginBgImage: 'Imagem de Fundo',
loginBgImageHelper:
'Será exibida como imagem de fundo na página de login (Tamanho recomendado: 1920x1080px)',
loginBgColor: 'Cor de Fundo',
loginBgColorHelper: 'Será exibida como cor de fundo na página de login',
image: 'Imagem',
bgColor: 'Cor de Fundo',
loginGroup: 'Página de login',
loginBtnLinkColor: 'Cor do botão/link',
loginBtnLinkColorHelper: 'Será exibido como a cor do botão/link na página de login',
footerNavigation: 'Navegação do rodapé',
footerLoadFailed: 'Falha ao carregar as configurações de navegação do rodapé. Tente novamente.',
showLearnMore: 'Mostrar informações da edição comercial',
showForum: 'Mostrar ajuda do fórum',
showDocumentation: 'Mostrar manual do usuário',
showProject: 'Mostrar repositório do projeto',
footerSaveHelper: 'As configurações de navegação do rodapé serão salvas. Continuar?',
footerResetHelper: 'As configurações de navegação do rodapé serão restauradas. Continuar?',
},
helper: {
wafTitle1: 'Mapa de Interceptação',
wafContent1: 'Exibe a distribuição geográfica das interceptações nos últimos 30 dias',
wafTitle2: 'Restrições de Acesso Regional',
wafContent2: 'Restringe o acesso ao site com base em localizações geográficas',
wafTitle3: 'Página de Interceptação Personalizada',
wafContent3: 'Crie uma página personalizada para exibir após uma solicitação ser interceptada',
wafTitle4: 'Regras Personalizadas (ACL)',
wafContent4: 'Intercepta solicitações com base em regras personalizadas',
tamperTitle1: 'Monitoramento de Integridade de Arquivos',
tamperContent1:
'Monitora a integridade dos arquivos do site, incluindo arquivos principais, scripts e arquivos de configuração.',
tamperTitle2: 'Varredura e Detecção em Tempo Real',
tamperContent2:
'Detecta arquivos anormais ou alterados por meio de varredura em tempo real do sistema de arquivos do site.',
tamperTitle3: 'Configurações de Permissão de Segurança',
tamperContent3:
'Restringe o acesso aos arquivos do site através de configurações adequadas de permissões e políticas de controle de acesso, reduzindo a superfície de ataque.',
tamperTitle4: 'Registro e Análise',
tamperContent4:
'Registra logs de acesso e operações em arquivos para auditoria e análise posteriores, ajudando administradores a identificar ameaças de segurança potenciais.',
settingTitle1: 'Mensagem de Boas-vindas Personalizada',
settingContent1: 'Defina uma mensagem de boas-vindas personalizada na página de login do 1Panel.',
settingTitle2: 'Logo Personalizado',
settingContent2: 'Permite o upload de imagens de logotipo contendo nomes de marcas ou outros textos.',
settingTitle3: 'Ícone Personalizado do Site',
settingContent3:
'Permite o upload de ícones personalizados para substituir o ícone padrão do navegador, melhorando a experiência do usuário.',
monitorTitle1: 'Tendência de Visitantes',
monitorContent1: 'Estatísticas e exibição das tendências de visitantes do site',
monitorTitle2: 'Mapa de Visitantes',
monitorContent2: 'Estatísticas e exibição da distribuição geográfica dos visitantes do site',
monitorTitle3: 'Estatísticas de Acesso',
monitorContent3:
'Estatísticas sobre informações de solicitação do site, incluindo robôs de busca, dispositivos de acesso, status das solicitações, etc.',
monitorTitle4: 'Monitoramento em Tempo Real',
monitorContent4:
'Monitoramento em tempo real de informações de solicitações do site, incluindo número de solicitações, tráfego, etc.',
alertTitle1: 'Alertas por SMS',
alertContent1:
'Quando houver uso anormal de recursos do servidor, expiração de sites e certificados, nova versão disponível, expiração de senha, entre outros, os usuários serão notificados via SMS para garantir um processamento oportuno.',
alertTitle2: 'Registro de Alertas',
alertContent2:
'Oferece aos usuários a função de visualizar logs de alertas, facilitando o rastreamento e a análise de eventos históricos de alerta.',
alertTitle3: 'Configurações de Alertas',
alertContent3:
'Permite que os usuários configurem números de telefone personalizados, frequência de envio diário e horários de envio, facilitando a criação de alertas mais adequados.',
nodeDashTitle1: 'Gerenciamento de Aplicativos',
nodeDashContent1:
'Gerenciamento unificado de aplicativos multi-nó, suporta monitoramento de status, início/parada rápida, conexão de terminal e backup',
nodeDashTitle2: 'Gerenciamento de Sites',
nodeDashContent2:
'Gerenciamento unificado de sites multi-nó, monitoramento de status em tempo real, suporta início/parada em lote e backup rápido',
nodeDashTitle3: 'Gerenciamento de Bancos de Dados',
nodeDashContent3:
'Gerenciamento unificado de bancos de dados multi-nó, status chave de relance, suporta backup com um clique',
nodeDashTitle4: 'Gerenciamento de Tarefas Agendadas',
nodeDashContent4:
'Gerenciamento unificado de tarefas agendadas multi-nó, suporta monitoramento de status, início/parada rápida e execução manual por acionamento',
nodeTitle1: 'Adição de Nó com Um Clique',
nodeContent1: 'Integre rapidamente vários nós de servidor',
nodeTitle2: 'Atualização em Lote',
nodeContent2: 'Sincronize e atualize todos os nós com uma única operação',
nodeTitle3: 'Monitoramento de Status do Nó',
nodeContent3: 'Acompanhe em tempo real o status operacional de cada nó',
nodeTitle4: 'Conexão Remota Rápida',
nodeContent4: 'Conecte-se diretamente a terminais remotos de nós com um clique',
fileExchangeTitle1: 'Transmissão de Autenticação por Chave',
fileExchangeContent1: 'Autentique via chaves SSH para garantir a segurança da transmissão.',
fileExchangeTitle2: 'Sincronização de Arquivos Eficiente',
fileExchangeContent2:
'Sincronize apenas o conteúdo alterado para melhorar significativamente a velocidade e estabilidade da transmissão.',
fileExchangeTitle3: 'Suporte a Troca Entre Múltiplos Nós',
fileExchangeContent3:
'Transfira facilmente arquivos de projeto entre diferentes nós, gerencie vários servidores de forma flexível.',
nodeAppTitle1: 'Gerenciamento de Atualização de Aplicativos',
nodeAppContent1:
'Monitoramento unificado de atualizações de aplicativos multi-nó, suporta atualização com um clique',
appTitle1: 'Gerenciamento Flexível do Painel',
appContent1: 'Gerencie facilmente seu servidor 1Panel a qualquer hora e em qualquer lugar.',
appTitle2: 'Informações Completas do Serviço',
appContent2:
'Gerencie aplicativos, sites, Docker, bancos de dados, etc. pelo app móvel e crie rapidamente aplicativos e sites.',
appTitle3: 'Monitoramento Anômalo em Tempo Real',
appContent3:
'Veja o status do servidor, monitoramento de segurança WAF, estatísticas de visitas ao site e saúde dos processos em tempo real no aplicativo móvel.',
clusterTitle1: 'Implantação Mestre-Escravo',
clusterContent1:
'Suporta a criação de instâncias mestre-escravo MySQL/Postgres/Redis em diferentes nós, completando automaticamente a associação e inicialização mestre-escravo',
clusterTitle2: 'Gestão Mestre-Escravo',
clusterContent2:
'Página unificada para gerir centralmente vários nós mestre-escravo, visualizar seus papéis, status de execução, etc.',
clusterTitle3: 'Estado de Replicação',
clusterContent3:
'Exibe o estado de replicação mestre-escravo e informações de atraso, auxiliando na resolução de problemas de sincronização',
modelDownloaderTitle1: 'Descoberta de modelos',
modelDownloaderContent1:
'Pesquise repositórios de modelos do HuggingFace diretamente e veja downloads, curtidas, detalhes do modelo e lista de arquivos.',
modelDownloaderTitle2: 'Downloads acelerados',
modelDownloaderContent2:
'Configure um endpoint de aceleração do HuggingFace e HF Token para o site oficial, espelhos e modelos privados.',
modelDownloaderTitle3: 'Acompanhamento de tarefas',
modelDownloaderContent3:
'Veja filas de download, status, progresso e erros, com suporte para cancelar, tentar novamente e limpar registros.',
modelDownloaderTitle4: 'Gerenciamento local',
modelDownloaderContent4:
'Gerencie diretórios de modelos locais em um só lugar, incluindo caminhos, tamanhos, horários e exclusão de modelos não usados.',
vllmTitle1: 'Gestão centralizada',
vllmContent1:
'Integre instâncias vLLM distribuídas ao 1Panel e monitore versões, status operacional e diretórios de execução de forma centralizada.',
vllmTitle2: 'Implantação rápida',
vllmContent2:
'Utilize formulários visuais para selecionar versões, montar diretórios de modelos e configurar parâmetros de inicialização, reduzindo a complexidade da configuração manual.',
vllmTitle3: 'Eficiência operacional',
vllmContent3:
'Gerencie a criação, edição, inicialização, parada, reinicialização, exclusão de instâncias e o acompanhamento de tarefas em uma única interface, aumentando a eficiência operacional dos serviços de modelos locais.',
vllmTitle4: 'Configuração flexível',
vllmContent4:
'Gerencie portas, contêineres, comandos de inicialização e configurações do Compose de forma unificada por meio de opções avançadas, facilitando implantações padronizadas e ajustes posteriores.',
},
node: {
master: 'Nó Principal',
masterBackup: 'Backup do Nó Mestre',
backupNode: 'Nó de Backup',
backupFrequency: 'Frequência de Backup (horas)',
backupCopies: 'Cópias de Backup',
noBackupNode:
'O nó de backup está vazio atualmente. Selecione um nó de backup para salvar e tente novamente!',
masterBackupAlert:
'O backup do nó mestre não está configurado atualmente. Para garantir a segurança dos dados, configure um nó de backup o mais rápido possível para facilitar a troca manual para um novo nó mestre em caso de falha.',
node: 'Nó',
addr: 'Endereço',
nodeUpgrade: 'Configurações de Atualização',
nodeUpgradeHelper:
'Os nós selecionados começarão a atualizar automaticamente após a conclusão da atualização do nó mestre, nenhuma operação manual necessária.',
nodeUpgradePackageManage: 'Gerenciamento de Pacotes de Instalação',
nodeUpgradePackageClean: 'Limpar',
nodeUpgradePackageFormatHelper:
'Somente pacotes de instalação `1panel-agent_v*_*` ou `1panel-v*-linux-*` são suportados',
nodeUpgradePackageHostConfirm: 'O arquivo do servidor {0} será selecionado. Continuar?',
nodeUpgradePackageCleanHelper:
'Todos os pacotes de atualização de versões anteriores serão limpos. Continuar?',
nodeUpgradeOfflinePackageHelper:
'Em ambientes offline, nós com arquiteturas diferentes devem enviar o pacote de atualização correspondente antes de atualizar.',
healthCheck: 'Verificação de Integridade',
healthCheckFrequency: 'Frequência da Verificação Automática',
healthCheckFrequencyHelper:
'Verifica automaticamente a integridade dos nós na frequência configurada. Digite 0 para desativar as verificações automáticas.',
healthCheckFrequencyLimit:
'A frequência da verificação não pode exceder um dia e deve ser um número inteiro não negativo.',
autoCheckFailedNodes: 'Verificar automaticamente nós com falha',
autoCheckFailedNodesHelper:
'Durante as verificações automáticas, também verifica nós com status de falha ou anormal. se aplica quando a frequência não é 0.',
loadFailedNodeResources: 'Atualizar recursos de nós com falha',
loadFailedNodeResourcesHelper:
'Ao atualizar a lista de nós, também consulta os recursos de nós com status de falha ou anormal.',
nodeUnhealthy: 'Estado do anormal',
deletedNode: 'O excluído {0} não suporta atualmente operações de atualização!',
nodeUnhealthyHelper:
'Estado anormal do detectado. Por favor verifique em [Gestão de Nós] e tente novamente!',
nodeUnbind: ' não vinculado à licença',
nodeUnbindHelper:
'Detectamos que este não está vinculado a uma licença. Por favor vincule no menu [Configurações do Painel - Licença] e tente novamente!',
memTotal: 'Memória Total',
nodeManagement: 'Gerenciamento Multi-Máquina',
multiOverview: 'Multi-Máquina',
commonNodes: 'Nós frequentes',
searchNodePlaceholder: 'Pesquise nome, grupo ou endereço do ',
nodeItem: 'Gerenciamento de Nós',
panelItem: 'Gerenciamento de Painéis',
addPanel: 'Adicionar Painel',
addPanelHelper:
'Após adicionar o painel com sucesso, você pode acessar rapidamente o painel de destino em [Visão Geral - Painéis].',
panel: 'Painel 1Panel',
others: 'Outros Painéis',
addNode: 'Adicionar ',
connInfo: 'Informações de Conexão',
nodeInfo: 'Informações do ',
withProxy: 'Ativar acesso por proxy',
withoutProxy: 'Desativar acesso por proxy',
withProxyHelper:
'O proxy do sistema {0}, mantido nas configurações do painel, será usado para acessar os nós secundários. Continuar?',
withoutProxyHelper:
'O uso do proxy do sistema mantido nas configurações do painel para acessar os nós secundários será interrompido. Continuar?',
syncInfo: 'Sincronização de dados,',
syncHelper: 'Quando os dados do mestre mudam, são sincronizados em tempo real para este filho,',
syncBackupAccount: 'Configurações de conta de backup',
syncWithMaster:
'Após atualizar para a edição comercial, todos os dados serão sincronizados por padrão. As políticas de sincronização podem ser ajustadas manualmente no gerenciamento de nós.',
syncProxy: 'Configurações de proxy do sistema',
syncProxyHelper: 'Sincronizar configurações de proxy do sistema requer reinicialização do Docker',
syncProxyHelper1: 'Reiniciar o Docker pode afetar os serviços de contêiner em execução.',
syncProxyHelper2: 'Você pode reiniciar manualmente na página Contêineres - Configuração.',
syncProxyHelper3:
'Sincronizar configurações de proxy do sistema requer reinicialização do Docker, o que pode afetar os serviços de contêiner em execução',
syncProxyHelper4:
'Sincronizar configurações de proxy do sistema requer reinicialização do Docker. Você pode reiniciar manualmente mais tarde na página Contêineres - Configuração.',
syncCustomApp: 'Sincronizar Repositório de Aplicativos Personalizados',
syncAlertSetting: 'Configurações de alerta do sistema',
syncNodeInfo: 'Dados básicos do ,',
nodeSyncHelper: 'A sincronização das informações do irá sincronizar as seguintes informações:',
nodeSyncHelper1: '1. Informações da conta de backup pública',
nodeSyncHelper2: '2. Informações de conexão entre o principal e os sub-nós',
nodeCheck: 'Verificação de disponibilidade',
checkSSH: 'Verificar conexão SSH do ',
checkUserPermission: 'Verificar permissões de usuário do ',
isNotRoot: 'Detectado que sudo sem senha não é suportado neste e o usuário atual não é root',
checkLicense: 'Verificar status da licença do ',
checkService: 'Verificar informações de serviço existentes no ',
checkPort: 'Verificar acessibilidade da porta do ',
panelExist:
'Detectado que este está executando o serviço 1Panel V1. Atualize para V2 usando o script de migração antes de adicionar.',
coreExist:
'O atual está habilitado como mestre e não pode ser adicionado diretamente como escravo. Por favor, faça o downgrade para escravo primeiro antes de adicionar, consulte a documentação para detalhes.',
agentExist:
'Detectado que 1panel-agent está instalado neste . Continuar irá reter os dados existentes e apenas substituir o serviço 1panel-agent.',
agentNotExist:
'Foi detectado que o 1panel-agent não está instalado neste , portanto, as informações do não podem ser editadas diretamente. Por favor, exclua e adicione novamente.',
oldDataExist:
'Detectados dados históricos do 1Panel V2 neste . As seguintes informações serão usadas para sobrescrever as configurações atuais:',
errLicense: 'A licença vinculada a este está indisponível. Por favor verifique e tente novamente!',
errNodePort:
'A porta do [ {0} ] foi detectada como inacessível. Verifique se o firewall ou grupo de segurança liberou esta porta.',
reinstallHelper: 'Reinstalar o {0}, deseja continuar?',
unhealthyCheck: 'Verificação Anormal',
fixOperation: 'Operação de Correção',
checkName: 'Item de Verificação',
checkSSHConn: 'Verificar Disponibilidade da Conexão SSH',
fixSSHConn: 'Edite o manualmente para confirmar as informações de conexão',
checkConnInfo: 'Verificar Informações de Conexão do Agente',
checkStatus: 'Verificar Disponibilidade do Serviço do ',
fixStatus: 'Execute "systemctl status 1panel-agent.service" para verificar se o serviço está em execução.',
checkAPI: 'Verificar Disponibilidade da API do ',
fixAPI: 'Verifique os logs do e confirme se as portas do firewall estão devidamente abertas.',
forceDelete: 'Excluir Forçadamente',
operateHelper: 'A operação {0} será realizada nos seguintes nós, deseja continuar?',
operatePanelHelper: 'A operação {0} será executada nos painéis a seguir. Continuar?',
forceDeleteHelper:
'Excluir forçadamente ignorará erros de exclusão do e removerá os metadados do banco de dados',
uninstall: 'Excluir dados do ',
uninstallHelper: 'Isso excluirá todos os dados relacionados ao 1Panel do . Escolha com cuidado!',
baseDir: 'Diretório de Instalação',
baseDirHelper: 'Quando o diretório de instalação está vazio, será instalado por padrão no diretório /opt',
nodePort: 'Porta do ',
offline: 'Modo offline',
freeCount: 'Cota gratuita [{0}]',
offlineHelper: 'Usado quando o está em ambiente offline',
appUpgrade: 'Atualização do Aplicativo',
appUpgradeHelper: 'Existem {0} aplicativos que precisam ser atualizados',
dashboardSetting: 'Configurações da Visão Geral',
keepOneDashboardComponent: 'Mantenha pelo menos uma seção na visão geral',
},
customApp: {
name: 'Repositório de Aplicativos Personalizados',
appStoreType: 'Fonte do Pacote da App Store',
appStoreUrl: 'URL do Repositório',
local: 'Caminho Local',
remote: 'Link Remoto',
imagePrefix: 'Prefixo de Imagem',
imagePrefixHelper:
'Função: Personalize o prefixo da imagem e modifique o campo de imagem no arquivo compose. Por exemplo, quando o prefixo da imagem é configurado como 1panel/custom, o campo de imagem do MaxKB mudará para 1panel/custom/maxkb:v1.10.0',
closeHelper: 'Cancelar o uso do repositório de aplicativos personalizados',
appStoreUrlHelper: 'Apenas formato .tar.gz é suportado',
postNode: 'Sincronizar para subnó',
postNodeHelper:
'Sincronize o pacote da loja personalizada para tmp/customApp/apps.tar.gz no diretório de instalação do sub-',
nodes: 'Selecionar Nós',
selectNode: 'Selecionar Node',
selectNodeError: 'Por favor, selecione um ',
licenseHelper: 'A versão comercial suporta o recurso de repositório de aplicativos personalizados',
databaseHelper: 'Banco de dados associado ao aplicativo, selecione o banco de dados do de destino',
nodeHelper: 'Não é possível selecionar o atual',
migrateHelper:
'Atualmente suporta apenas a migração de aplicações monolíticas e aplicações associadas apenas a bancos de dados MySQL, MariaDB, PostgreSQL',
opensslHelper:
'Se usar backup criptografado, as versões do OpenSSL entre os dois nós devem ser consistentes, caso contrário a migração pode falhar.',
installApp: 'Instalação em lote',
installAppHelper: 'Instalar aplicativos em lote nos nós selecionados',
},
alert: {
isAlert: 'Alerta',
alertCount: 'Contagem de Alertas',
clamHelper: 'Dispara um alerta ao detectar arquivos infectados durante a varredura',
cronJobHelper: 'Dispara um alerta quando a execução da tarefa falha',
licenseHelper: 'A edição comercial oferece suporte a mais recursos de alerta',
alertCountHelper: 'Frequência máxima diária de alertas',
alert: 'Alerta por SMS',
logs: 'Registros de Alerta',
list: 'Lista de Alertas',
addTask: 'Criar Alerta',
editTask: 'Editar Alerta',
alertMethod: 'Método',
alertMsg: 'Mensagem de Alerta',
alertRule: 'Regras de Alerta',
titleSearchHelper: 'Digite o título do alerta para busca aproximada',
taskType: 'Tipo',
ssl: 'Expiração do Certificado',
siteEndTime: 'Expiração do Site',
panelPwdEndTime: 'Expiração da Senha do Painel',
panelUpdate: 'Nova Versão do Painel Disponível',
cpu: 'Alerta de CPU do Servidor',
memory: 'Alerta de Memória do Servidor',
load: 'Alerta de Carga do Servidor',
disk: 'Alerta de Disco do Servidor',
website: 'Site',
certificate: 'Certificado SSL',
remainingDays: 'Dias Restantes',
sendCount: 'Contagem de Envio',
recipientPlaceholder: 'Insira o endereço de e-mail',
addRecipient: 'Adicionar destinatário',
webhookItem: 'URL do Webhook',
addWebhook: 'Adicionar Webhook',
selectAlertType: 'Selecionar tipo de alerta',
configDetail: 'Configurar detalhes',
webhookCount: 'Quantidade de Webhooks',
sms: 'SMS',
wechat: 'WeChat',
dingTalk: 'DingTalk',
feiShu: 'FeiShu',
mail: 'E-mail',
email: 'E-mail',
weCom: 'WeCom',
bark: 'Bark',
sendCountRulesHelper: 'Alertas totais enviados antes da expiração (uma vez por dia)',
panelUpdateRulesHelper: 'Alertas totais enviados para nova versão do painel (uma vez por dia)',
oneDaySendCountRulesHelper: 'Número máximo de alertas enviados por dia',
siteEndTimeRulesHelper: 'Sites que nunca expiram não dispararão alertas',
autoRenewRulesHelper:
'Certificados com renovação automática ativada e menos de 31 dias restantes não dispararão alertas',
panelPwdEndTimeRulesHelper:
'Alertas de expiração da senha do painel não estão disponíveis se nenhuma expiração estiver definida',
sslRulesHelper: 'Todos os Certificados SSL',
diskInfo: 'Disco',
monitoringType: 'Tipo de Monitoramento',
autoRenew: 'Renovação Automática',
useDisk: 'Uso de Disco',
usePercentage: 'Porcentagem de Uso',
changeStatus: 'Alterar Status',
disableMsg:
'Parar a tarefa de alerta impedirá que esta tarefa envie mensagens de alerta. Deseja continuar?',
enableMsg:
'Ativar a tarefa de alerta permitirá que esta tarefa envie mensagens de alerta. Deseja continuar?',
useExceed: 'Uso Excedeu',
useExceedRulesHelper: 'Dispara alerta quando o uso excede o valor configurado',
cpuUseExceedAvg: 'O uso médio da CPU excede o valor especificado',
memoryUseExceedAvg: 'O uso médio da memória excede o valor especificado',
loadUseExceedAvg: 'O uso médio da carga excede o valor especificado',
cpuUseExceedAvgHelper: 'O uso médio da CPU dentro do tempo especificado excede o valor especificado',
memoryUseExceedAvgHelper: 'O uso médio da memória dentro do tempo especificado excede o valor especificado',
loadUseExceedAvgHelper: 'O uso médio da carga dentro do tempo especificado excede o valor especificado',
resourceAlertRulesHelper: 'Nota: Alertas contínuos em 30 minutos enviarão apenas um',
specifiedTime: 'Hora Especificada',
deleteTitle: 'Excluir Alerta',
deleteMsg: 'Tem certeza de que deseja excluir a tarefa de alerta?',
allSslTitle: 'Alertas de Expiração de Todos os Certificados SSL do Site',
sslTitle: 'Alerta de Expiração do Certificado SSL do Site {0}',
allSiteEndTimeTitle: 'Alertas de Expiração de Todos os Sites',
siteEndTimeTitle: 'Alerta de Expiração do Site {0}',
panelPwdEndTimeTitle: 'Alerta de Expiração da Senha do Painel',
panelUpdateTitle: 'Notificação de Nova Versão do Painel',
cpuTitle: 'Alerta de Alto Uso de CPU',
memoryTitle: 'Alerta de Alto Uso de Memória',
loadTitle: 'Alerta de Alta Carga',
diskTitle: 'Alerta de Alto Uso de Disco para o Diretório de Montagem {0}',
allDiskTitle: 'Alerta de Alto Uso de Disco',
timeRule: 'Tempo restante menor que {0} dias (se não tratado, será reenviado no próximo dia)',
panelUpdateRule:
'Envia um alerta quando uma nova versão do painel é detectada (se não tratado, será reenviado no próximo dia)',
avgRule: 'Uso médio de {1} excede {2}% em {0} minutos, dispara alerta, envia {3} vezes por dia',
diskRule:
'Uso de disco para o diretório de montagem {0} excede {1}{2}, dispara alerta, envia {3} vezes por dia',
allDiskRule: 'Uso de disco excede {0}{1}, dispara alerta, envia {2} vezes por dia',
cpuName: 'CPU',
memoryName: 'Memória',
loadName: 'Carga',
diskName: 'Disco',
syncAlertInfo: 'Envio Manual',
syncAlertInfoMsg: 'Deseja enviar a tarefa de alerta manualmente?',
pushError: 'Envio Falhou',
pushSuccess: 'Envio Bem-sucedido',
syncError: 'Sincronização Falhou',
success: 'Alerta Bem-sucedido',
pushing: 'Enviando...',
error: 'Falha no alerta',
cleanLog: 'Limpar Registros',
cleanAlertLogs: 'Limpar Registros de Alertas',
daily: 'Contagem Diária de Alertas: {0}',
cumulative: 'Contagem Acumulada de Alertas: {0}',
clams: 'Varredura de Vírus',
taskName: 'Nome da Tarefa',
cronJobType: 'Tipo de Tarefa',
clamPath: 'Diretório de Varredura',
cronjob: 'Tarefa Cron agendada {0} falhou',
app: 'Backup do Aplicativo',
web: 'Backup do Site',
database: 'Backup do Banco de Dados',
directory: 'Backup do Diretório',
log: 'Registros de Backup',
snapshot: 'Instantâneo do Sistema',
clamsRulesHelper: 'Tarefas de varredura de vírus que exigem alertas por',
cronJobRulesHelper: 'Este tipo de tarefa cron precisa ser configurado',
clamsTitle: 'Tarefa de Varredura de Vírus {0} detectou arquivo infectado',
cronJobAppTitle: 'Tarefa Cron - Falha no Backup do Aplicativo {0} ',
cronJobWebsiteTitle: 'Tarefa Cron - Falha no Backup do Site {0} ',
cronJobDatabaseTitle: 'Tarefa Cron - Falha no Backup do Banco de Dados {0} ',
cronJobDirectoryTitle: 'Tarefa Cron - Falha no Backup do Diretório {0} ',
cronJobLogTitle: 'Tarefa Cron - Falha nos Registros de Backup {0} ',
cronJobSnapshotTitle: 'Tarefa Cron - Falha no Instantâneo do Sistema {0} ',
cronJobShellTitle: 'Tarefa Cron - Falha no Script Shell {0} ',
cronJobCurlTitle: 'Tarefa Cron - Falha no Acesso à URL {0} ',
cronJobCutWebsiteLogTitle: 'Tarefa Cron - Falha no Corte do Registro do Site {0} ',
cronJobCleanTitle: 'Tarefa Cron - Falha na Limpeza de Cache {0} ',
cronJobNtpTitle: 'Tarefa Cron - Falha na Sincronização do Horário do Servidor {0} ',
clamsRule: 'Varredura de vírus detectou arquivo infectado, enviado {0} vezes por dia',
cronJobAppRule: 'Falha na tarefa de backup do aplicativo, enviada {0} vezes por dia',
cronJobWebsiteRule: 'Falha na tarefa de backup do site, enviada {0} vezes por dia',
cronJobDatabaseRule: 'Falha na tarefa de backup do banco de dados, enviada {0} vezes por dia',
cronJobDirectoryRule: 'Falha na tarefa de backup do diretório, enviada {0} vezes por dia',
cronJobLogRule: 'Falha na tarefa de backup de registros, enviada {0} vezes por dia',
cronJobSnapshotRule: 'Falha na tarefa de backup de instantâneo, enviada {0} vezes por dia',
cronJobShellRule: 'Falha na tarefa de script shell, enviada {0} vezes por dia',
cronJobCurlRule: 'Falha na tarefa de acesso à URL, enviada {0} vezes por dia',
cronJobCutWebsiteLogRule: 'Falha na tarefa de corte do registro do site, enviada {0} vezes por dia',
cronJobCleanRule: 'Falha na tarefa de limpeza de cache, enviada {0} vezes por dia',
cronJobNtpRule: 'Falha na tarefa de sincronização do horário do servidor, enviada {0} vezes por dia',
alertSmsHelper: 'Limite de SMS: total de {0} mensagens, {1} usadas',
goBuy: 'Comprar Mais',
phone: 'Telefone',
phoneHelper: 'Forneça um número de telefone real para mensagens de alerta',
dailyAlertNum: 'Número de alertas diários',
dailyAlertNumHelper: 'Número total de alertas diários, até um máximo de 100 alertas',
timeRange: 'Intervalo de Tempo',
sendTimeRange: 'Intervalo de tempo para envio de',
sendTimeRangeHelper: 'Pode enviar alerta dentro do intervalo de tempo {0}',
to: '-',
startTime: 'hora de início',
endTime: 'hora de término',
defaultPhone: 'Número de telefone padrão vinculado à conta de licença',
noticeAlert: 'Alerta de Notificação',
resourceAlert: 'Alerta de Recursos',
agentOfflineAlertHelper:
'Quando o alerta offline estiver ativado para o , o principal verificará a cada 30 minutos para executar as tarefas de alerta.',
offline: 'Alerta Offline',
offlineHelper:
'Ao definir como alerta offline, o principal verificará a cada 30 minutos para executar tarefas de alerta.',
offlineOff: 'Ativar Alerta Offline',
offlineOffHelper:
'Ao ativar o alerta offline, o principal verificará a cada 30 minutos para executar as tarefas de alerta.',
offlineClose: 'Desativar Alerta Offline',
offlineCloseHelper:
'Ao desativar o alerta offline, os nós secundários deverão lidar com os alertas por conta própria. Certifique-se de que a conectividade de rede está boa para evitar falhas.',
alertNotice: 'Notificação de Alerta',
methodConfig: 'Configuração do Método de Notificação',
createMethod: 'Criar Método de Notificação',
methodInvalid: 'Configuração inválida {0}',
commonConfig: 'Configuração Global',
smsConfig: 'SMS',
smsConfigHelper: 'Configure os números para notificação por SMS',
emailConfig: 'E-mail',
emailConfigHelper: 'Configure o serviço de envio de e-mail SMTP',
deleteConfigTitle: 'Excluir Configuração de Alerta',
deleteConfigMsg: 'Tem certeza de que deseja excluir a configuração de alerta?',
test: 'Testar',
alertTestOk: 'Notificação de teste bem-sucedida',
alertTestFailed: 'Falha na notificação de teste',
displayName: 'Nome',
sender: 'Remetente',
password: 'Senha',
host: 'Servidor SMTP',
port: 'Porta',
encryption: 'Criptografia',
recipient: 'Destinatário',
licenseTime: 'Lembrete de Expiração da Licença',
licenseTimeTitle: 'Lembrete de Expiração da Licença',
displayNameHelper: 'Nome exibido do remetente do e-mail',
senderHelper: 'Endereço de e-mail usado para envio',
passwordHelper: 'Código de autorização do serviço de e-mail',
hostHelper: 'Endereço do servidor SMTP, ex: smtp.qq.com',
portHelper: 'SSL geralmente usa 465, TLS geralmente usa 587',
sslHelper: 'Se a porta SMTP for 465, normalmente é necessário SSL',
tlsHelper: 'Se a porta SMTP for 587, normalmente é necessário TLS',
triggerCondition: 'Condição de Disparo',
loginFail: ' falhas de login em',
nodeException: 'Alerta de Exceção de ',
licenseException: 'Alerta de Exceção de Licença',
panelLogin: 'Alerta de Exceção de Login no Painel',
sshLogin: 'Alerta de Exceção de Login SSH',
panelIpLogin: 'Alerta de Exceção de IP de Login no Painel',
sshIpLogin: 'Alerta de Exceção de IP de Login SSH',
ipWhiteListHelper:
'Os IPs na lista de permissões não são restringidos pelas regras e não haverá alerta em caso de login bem-sucedido',
nodeExceptionRule: 'Alerta de exceção de , enviado {0} vezes por dia',
licenseExceptionRule: 'Alerta de exceção de licença, enviado {0} vezes por dia',
panelLoginRule: 'Alerta de login no painel, enviado {0} vezes por dia',
sshLoginRule: 'Alerta de login SSH, enviado {0} vezes por dia',
userNameHelper: 'O nome de usuário está vazio, o endereço do remetente será usado por padrão',
alertConfigHelper: 'Configurar canais de notificação de alerta para receber push de mensagens do painel',
weComConfigHelper: 'Configuração de notificação de alerta WeCom',
wechatConfigHelper: 'Configuração de notificação de alerta da Conta Oficial WeChat',
dingTalkConfigHelper: 'Configuração de notificação de alerta DingTalk',
feiShuConfigHelper: 'Configuração de notificação de alerta Feishu',
barkConfigHelper: 'Configuração de notificação de alerta Bark',
webhookName: 'Nome do bot',
webhookUrl: 'URL do Webhook',
custom: 'Webhook',
webhookPreset: 'Predefinição',
genericJsonPreset: 'JSON genérico',
customPreset: 'Personalizado',
webhookUrlSecretHelper: 'A URL do Webhook é armazenada criptografada e pode ser vista e editada aqui',
webhookPublicAddressHelper:
'Somente endereços HTTP/HTTPS acessíveis publicamente são aceitos; endereços locais, privados e reservados são bloqueados',
customWebhookRecoveryRequired:
'Esta configuração é inválida ou veio de uma versão anterior. Informe novamente a URL do Webhook e os headers secretos necessários e salve.',
clearSecret: 'Limpar',
keepSecret: 'Manter inalterado',
secretCleared: 'Este segredo será limpo ao salvar',
bodyType: 'Tipo do Body',
bodyTemplate: 'Modelo do Body',
formFieldName: 'Nome do campo',
formFieldValue: 'Valor do campo',
addFormField: 'Adicionar campo',
webhookAdvanced: 'Avançado',
headers: 'Headers',
headerName: 'Nome do Header',
headerValue: 'Valor do Header',
secretValue: 'Valor secreto',
addHeader: 'Adicionar Header',
templateVariables: 'Variáveis do modelo',
templateVariableTitle: 'Título do alerta',
templateVariableMessage: 'Conteúdo do alerta',
templateVariableType: 'Tipo de alerta',
templateVariableNodeName: 'Nome do ',
templateVariableTimestamp: 'Hora do evento',
templateVariablesHelper:
'title=título do alerta, message=conteúdo, type=tipo, nodeName=nome do , timestamp=hora do evento. Clique para inserir a variável no Body.',
testResultStale: 'A configuração foi alterada; o resultado do teste anterior não é mais válido',
alertConfigChanged: 'A configuração foi atualizada. Atualize a página e tente novamente.',
presetOverwriteHelper: 'Trocar a predefinição substituirá a configuração atual do Body. Continuar?',
customWebhookValidation: {
displayNameRequired: 'Informe um nome de exibição',
urlRequired: 'Informe uma URL de Webhook',
urlInvalid: 'A URL do Webhook deve ser uma URL HTTP ou HTTPS válida',
bodyRequired: 'Configure o Body da solicitação',
jsonInvalid: 'O modelo JSON do Body é inválido',
formFieldRequired: 'Os nomes dos campos Form são obrigatórios',
formFieldDuplicate: 'Os nomes dos campos Form devem ser únicos',
headerRequired: 'Os nomes dos Headers são obrigatórios',
headerInvalid: 'O nome do Header é inválido',
headerDuplicate: 'Os nomes dos Headers devem ser únicos',
headerReserved: 'Este Header é gerenciado pelo sistema e não pode ser personalizado',
headerMustBeSecret: 'Headers de autenticação ou credenciais devem ser marcados como valores secretos',
templateVariableInvalid: 'O Body contém uma variável de modelo não compatível',
secretRequired: 'Informe um segredo ou escolha Manter inalterado ou Limpar',
},
alertConfigProHelper: 'A edição comercial adiciona mais canais de notificação.',
},
theme: {
lingXiaGold: 'LXware Gold',
classicBlue: 'Azul Clássico',
freshGreen: 'Verde Fresco',
customColor: 'Cor do Tema Personalizada',
setDefault: 'Restaurar Padrão',
setDefaultHelper: 'O esquema de cores do tema será restaurado para o estado inicial. Deseja continuar?',
setHelper: 'O esquema de cores do tema selecionado será salvo. Deseja continuar?',
},
sync: {
menu: 'Sincronização de Recursos',
file: 'Transferência de Arquivos',
fileSyncConfirm: 'Transferir o arquivo/pasta {1} do {0} para o diretório {3} no {2}?',
image: 'Transferência de Imagens',
imageBatchDesc:
'Selecione primeiro o de origem e as imagens de origem e, em seguida, escolha os nós de destino para encaminhamento.',
imageBatchConfirmPrefix: 'Serão encaminhadas {0} imagens para {1} nós, totalizando {2} tarefas.',
ssl: 'Sincronização de Certificados',
sslBatchDesc:
'Após selecionar o de origem, os certificados especificados podem ser sincronizados com o ambiente atual do painel.',
sslBatchConfirmPrefix: 'Serão sincronizados {0} certificados para {1} nós, totalizando {2} tarefas.',
app: 'Transferência de Aplicativos',
appBatchDesc:
'Selecione o de origem, o aplicativo e os nós de destino, confirme as dependências de recursos e execute a tarefa de transferência de aplicativos.',
appSelectedApp: 'Aplicativo Selecionado:',
appPreviewTitle: 'Prévia da Transferência',
appPreviewDesc:
'Confirme os nós de destino e os recursos dependentes antes de iniciar a transferência do aplicativo.',
appDatabaseDependency: 'Dependência de Banco de Dados',
appResourceRequired: 'Selecione primeiro todos os recursos associados obrigatórios.',
appUnsupportedMultipleResources:
'Atualmente, apenas aplicativos associados a no máximo um recurso podem ser migrados.',
appUnsupportedResourceType:
'Atualmente, apenas aplicativos sem dependências de recursos ou dependentes apenas de MySQL, MariaDB ou PostgreSQL podem ser migrados.',
targetTitle: 'Nós de Destino',
targetDesc: 'O de origem será excluído automaticamente. Você pode selecionar um ou mais nós de destino.',
targetSearchPlaceholder: 'Pesquisar nome ou endereço do ',
noTargetNodes: 'Nenhum de destino disponível',
noSourceNode: 'Selecione primeiro um de origem',
reviewTargets: 'Nós de Destino',
reviewEmpty: 'Selecione primeiro os recursos e os nós de destino',
selectSourceFirst: 'Selecione primeiro um de origem.',
selectResourceFirst: 'Selecione primeiro um recurso para sincronizar.',
selectTargetFirst: 'Selecione pelo menos um de destino.',
submitSuccess: 'Tarefa de sincronização enviada com sucesso.',
},
vm: {
countLimitHelper:
'A edição Professional permite criar até {0} máquinas virtuais. A edição Enterprise não limita a quantidade.',
vm: 'Máquina virtual',
title: 'Gerenciamento de Máquinas Virtuais',
healthCheck: 'Verificação de integridade',
healthCheckResult: {
pass: 'Aprovado',
info: 'Informação',
warn: 'Aviso',
fail: 'Falha',
normal: 'Normal',
fixCommand: 'Comando de correção',
technicalDetail: 'Detalhes técnicos',
check: {
vmName: 'Nome da máquina virtual',
libvirtConnection: 'Conexão com o Libvirt',
vmDefinition: 'Definição da máquina virtual',
domainXML: 'XML da máquina virtual',
architecture: 'Arquitetura',
virtualizationType: 'Tipo de virtualização',
machineType: 'Tipo de máquina',
efiCapability: 'Compatibilidade com EFI',
qemuEmulator: 'Emulador QEMU',
bootOrder: 'Ordem de inicialização',
arm64Firmware: 'Firmware ARM64',
arm64Features: 'Recursos ARM64',
arm64Video: 'Vídeo ARM64',
arm64FirmwareFile: 'Arquivo de firmware ARM64',
arm64CDROM: 'CD-ROM ARM64',
blockDevice: 'Dispositivo de bloco',
isoArchitecture: 'Arquitetura da ISO',
network: 'Rede',
qemuLog: 'Log do QEMU',
arm64RuntimeFirmware: 'Firmware ARM64 em execução',
},
reason: {
invalidName: 'O nome da máquina virtual é inválido.',
connectionFailed: 'Não foi possível conectar a {uri}.',
vmNotFound: 'A máquina virtual {name} não foi encontrada.',
xmlReadFailed: 'Falha ao ler o XML da máquina virtual.',
liveXMLFallback:
'Não foi possível ler a configuração persistente; a configuração em execução está sendo usada.',
xmlParseFailed: 'Falha ao analisar o XML da máquina virtual.',
stateReadFailed:
'Não foi possível determinar o estado da máquina virtual. A verificação do firmware em execução foi ignorada.',
guestArchMissing: 'A arquitetura do sistema convidado está ausente no XML.',
archMismatch:
'A arquitetura do host é {hostArch}, enquanto a do convidado é {guestArch}. A execução entre arquiteturas diferentes não é suportada.',
nonKVMType: 'O tipo de virtualização é {type}, não o tipo KVM padrão.',
archOrMachineMissing: 'A arquitetura ou o tipo de máquina está ausente no XML.',
machineUnsupported: 'O host não suporta {arch}/{machine}.',
emulatorNotSpecified: 'Nenhum emulador foi especificado no XML; o Libvirt selecionará um.',
fileNotFound: 'Arquivo não encontrado: {path}',
fileNotExecutable: 'O arquivo não é executável: {path}',
bootDeviceMissing: 'Nenhum dispositivo de inicialização está definido no XML.',
diskNotFirst: 'O disco não é o primeiro dispositivo de inicialização. Ordem atual: {order}',
cdromNotInBootOrder: 'Um CD-ROM está conectado, mas não está incluído na ordem de inicialização.',
firmwareNotConfigured:
'EFI ou Loader não estão configurados, portanto o convidado pode não inicializar o vídeo ou arrancar.',
acpiCustom: 'ACPI está configurado. Confirme se o convidado precisa dessa personalização.',
acpiRequiresUEFI: 'ACPI está configurado sem UEFI, causando o erro ACPI requires UEFI.',
apicUnsupported: 'x86 APIC está configurado, mas não é válido para ARM64.',
gicNotDeclared:
'GIC não aparece no XML persistente; o Libvirt pode adicioná-lo durante a execução.',
videoNotConfigured: 'Nenhum dispositivo de vídeo está configurado no XML.',
videoNotVirtio: 'O tipo do dispositivo de vídeo é {type}; Virtio é recomendado.',
firmwareFileMissing: 'O arquivo de firmware não existe ou não é um arquivo comum: {path}',
firmwareNotAvailable:
'O Libvirt não informa compatibilidade com EFI e nenhum firmware UEFI ARM64 foi encontrado.',
cdromBusNotSCSI: 'O CD-ROM usa o barramento {bus}; ARM64 requer SCSI.',
cdromNotOnVirtioSCSI: 'O CD-ROM não está conectado a um controlador Virtio SCSI.',
diskSourceMissing: 'Nenhum arquivo de origem está configurado para {device} {target}.',
sourceNotFound: 'O arquivo de origem de {device} {target} não existe: {path}',
sourceIsDirectory: 'O caminho de origem de {device} {target} é um diretório: {path}',
systemDiskNotFound: 'Nenhum disco do sistema foi detectado.',
isoArchMismatch:
'O convidado {guestArch} tem uma imagem aparentemente destinada a {imageArch} conectada: {path}',
networkReadFailed: 'Não foi possível ler a rede {name}.',
networkStateReadFailed: 'Não foi possível ler o estado da rede {name}.',
networkInactive: 'A rede {name} existe, mas está inativa.',
logUnavailable: 'Nenhum log de inicialização está disponível para análise.',
logErrorsFound: 'Erros comuns foram encontrados no registro de inicialização mais recente.',
vmNotRunning:
'A máquina virtual não está em execução, portanto a verificação dos argumentos do QEMU foi ignorada.',
runtimeFirmwareMissing: 'Nenhuma entrada pflash, AAVMF ou QEMU_EFI foi encontrada no log do QEMU.',
},
},
dependencies: 'Dependências',
architectureUnsupported:
'A arquitetura atual do sistema, {0}, não é compatível. Os recursos de VM aceitam apenas AMD64 e ARM64.',
dependencyPurpose: 'Finalidade',
dependencyPurposeMap: {
libvirt:
'Fornece serviços de gerenciamento de VMs para controle de ciclo de vida e agendamento de recursos.',
storage:
'Fornece o diretório de armazenamento padrão ou pool de armazenamento para arquivos de disco da VM.',
},
dependencyNotReady:
'As verificações de dependência da VM falharam. Corrija as dependências antes de usar máquinas virtuais.',
helperUnavailable:
'A inicialização da capacidade de VM falhou. Verifique os logs do Core ou atualize novamente antes de usar VMs.',
cpu: 'CPU',
memory: 'Memória',
disk: 'Disco',
overview: 'Visão geral',
kvmUnavailable: 'Nenhum recurso de virtualização de hardware KVM disponível foi detectado.',
kvmCheckCpu: 'Confirme se a CPU do host oferece virtualização Intel VT-x ou AMD-V.',
kvmCheckBios: 'Ative as opções de virtualização no BIOS/UEFI.',
kvmCheckModule: 'Confirme se o módulo de kernel kvm, kvm_intel ou kvm_amd foi carregado corretamente.',
kvmCheckDevice:
'Confirme se /dev/kvm existe e se o ambiente atual não é um contêiner nem um host de nuvem sem suporte a KVM.',
abnormal: 'Anormal',
resourceOverview: 'Visão geral de recursos',
cpuAllocated: 'CPU alocada',
memoryAllocated: 'Memória alocada',
storageUsed: 'Armazenamento usado',
riskReminder: 'Alertas de risco',
noRisk: 'Sem riscos',
runtimeHealth: 'Integridade do ambiente',
runtimeAbnormal: 'O ambiente de execução da VM está anormal',
noDependency: 'Sem dados de verificação de dependências',
storageOverview: 'Visão geral do armazenamento',
totalAllocated: 'Calculado pela configuração total das VMs',
runningAllocated: 'Alocação em execução: {0}',
storageAvailable: 'Disponível: {0}',
inProgress: 'Em andamento',
needAttention: 'Requer atenção',
normal: 'Normal',
environmentRisk:
'O ambiente de execução da VM não está pronto. Corrija as dependências ou os serviços de virtualização.',
storageRisk: 'O uso do pool de armazenamento {0} atingiu {1}%.',
abnormalRisk: '{0} VMs estão em estado anormal.',
pausedRisk: '{0} VMs estão pausadas.',
memoryRisk: 'A alocação de memória das VMs atingiu {0}%.',
cpuLimitHelper: 'CPU disponível no momento: {0} núcleos',
cpuLimitExceeded: 'CPU excede o limite. Máximo disponível no momento: {0} núcleos.',
memoryLimitHelper: 'Memória alocável no momento: {0} (o host deve reservar {1} de memória)',
memoryLimitExceeded: 'A memória excede o limite. Máximo alocável no momento: {0}.',
storageLimitHelper: 'Espaço livre atual no pool de armazenamento de destino: {0}',
storageLimitExceeded: 'A capacidade do disco excede o limite. Máximo disponível no momento: {0}.',
iso: 'ISO',
createFromTemplate: 'Criar a partir de modelo',
template: 'Modelo',
templateName: 'Nome do modelo',
convertToTemplate: 'Converter em modelo',
sourceVM: 'VM de origem',
templateSize: 'Tamanho do modelo',
deleteTemplateConfirm: 'Excluir modelo {0}. Esta operação não pode ser desfeita. Continuar?',
orphanClean: 'Limpeza de dados órfãos',
orphanScan: 'Verificar novamente',
orphanCleanHelper:
'São exibidos apenas arquivos candidatos sem referência por máquinas virtuais, snapshots ou modelos registrados. Confirme que o arquivo não está mais em uso antes de limpá-lo; a operação não pode ser desfeita.',
orphanSelected: '{0} arquivos selecionados, {1} no total',
orphanSize: 'Tamanho',
orphanCleanConfirm: 'Limpar os {0} arquivos selecionados ({1})? Esta operação não pode ser desfeita.',
orphanCleanSuccess: '{0} arquivos foram limpos e {1} foram liberados.',
orphanType: {
orphan_domain_disk: 'Disco órfão',
orphan_snapshot: 'Snapshot órfão',
partial_file: 'Arquivo incompleto',
},
diskSize: 'Tamanho do Disco',
isoHelper:
'A ISO é usada para iniciar a máquina virtual pela primeira vez e instalar um sistema operacional.',
osType: 'Tipo de sistema operacional',
osOther: 'Outro',
diskBus: 'Barramento de disco',
diskPath: 'Caminho do Disco',
isoPath: 'Caminho do ISO',
storagePool: 'Pool de Armazenamento',
networkHelper: 'A rede fornece conectividade de rede para a máquina virtual.',
storagePoolHelper: 'O pool de armazenamento guarda os discos das máquinas virtuais e os arquivos ISO.',
network: 'Rede',
bridgeName: 'Nome da Bridge',
natNetworkHelper:
'As VMs podem acessar a rede pelo host, mas dispositivos externos geralmente não podem acessá-las diretamente.',
bridgeNetworkHelper:
'Conecte as VMs a uma bridge existente do host (como br0). Se o host tiver uma placa de rede adicional não utilizada, crie uma bridge para ela e use-a.',
bridgeNameHelper:
'Selecione uma Linux bridge existente no host, como br0. NICs físicas não são bridges, e bridges gerenciadas por docker/libvirt não podem ser selecionadas aqui.',
natCIDRHelper: 'CIDR, gateway e intervalo DHCP são usados pela nova rede virtual NAT.',
networkCIDR: 'CIDR da Rede',
gateway: 'Gateway',
dhcpStart: 'Início DHCP',
dhcpEnd: 'Fim DHCP',
bootOrder: 'Ordem de Boot',
bootDiskFirst: 'Disco primeiro (HD CD-ROM)',
bootIsoFirst: 'ISO primeiro (CD-ROM HD)',
bootOrderConfirm:
'Alterar a ordem de boot para {0}? Na próxima inicialização, a VM tentará nesta ordem os dispositivos inicializáveis que estiverem montados.',
startAfterCreate: 'Iniciar após criação',
autoStart: 'Inicialização automática',
resourceAutoStart: 'Inicialização automática',
capacity: 'Capacidade',
available: 'Disponível',
vmCount: 'VMs Vinculadas',
usedIPs: 'IPs Usados',
monitor: 'Monitoramento',
monitorNotReady: 'A máquina virtual não está em execução. Os dados de monitoramento não estão disponíveis.',
monitorLoadFailed: 'Falha ao obter os dados de monitoramento da VM.',
monitorLoadFailedWithReason: 'Falha ao obter os dados de monitoramento da VM: {0}',
rename: 'Renomear',
newName: 'Novo nome',
renameHelper: 'Digite um novo nome para a VM. Ela deve estar desligada antes de ser renomeada.',
renameConfirm: 'Renomear a máquina virtual [{0}] para [{1}]?',
renameRunningHelper: 'Desligue a máquina virtual antes de renomeá-la.',
cpuUsage: 'Uso de CPU',
memoryUsage: 'Uso de memória',
diskIO: 'E/S de disco',
networkIO: 'E/S de rede',
diskReadWrite: 'Leitura / Gravação em disco',
networkRxTx: 'RX / TX de rede',
rx: 'RX',
tx: 'TX',
console: 'Console',
consoleNotReady: 'O console VNC está indisponível. Inicie a VM e verifique sua configuração gráfica VNC.',
consoleDisconnected: 'O console VNC foi desconectado.',
consoleConnectFailed: 'Falha ao conectar ao console VNC. Verifique o serviço de proxy do console.',
consoleCredentialsRequired: 'O console VNC requer credenciais. Verifique a configuração do proxy backend.',
snapshot: 'Snapshot',
createSnapshot: 'Criar snapshot',
recoverSnapshot: 'Restaurar snapshot',
snapshotSize: 'Uso',
currentSnapshot: 'Atual',
snapshotEmpty: 'Nenhum snapshot',
snapshotHelper:
'Um snapshot salva o estado atual da VM como ponto de restauração. As alterações posteriores são registradas em um arquivo delta sem modificar o disco original. Restaurar um snapshot devolve a VM a esse estado.',
snapshotOperationHelper:
'O snapshot atual não pode ser excluído. Snapshots podem ser restaurados quando a máquina virtual estiver desligada.',
snapshotRecoverConfirm:
'Restaurar a máquina virtual [{1}] para o snapshot [{0}]? O disco da VM será restaurado ao estado do snapshot.',
interface: 'Interface de Rede',
device: 'Dispositivo',
path: 'Caminho',
start: 'Iniciar',
shutdown: 'Desligar',
reboot: 'Reiniciar',
destroy: 'Forçar Parada',
suspend: 'Suspender',
resume: 'Retomar',
operateConfirm: 'Confirmar {0} máquina virtual [{1}]?',
forceDelete: 'Forçar exclusão',
forceDeleteHelper:
'A exclusão forçada ignorará erros de exclusão da VM, removerá os metadados do painel e liberará o uso de recursos.',
deleteNameHelper: '" para excluir esta máquina virtual',
isoSource: 'Origem do ISO',
downloadFromServer: 'Download remoto',
isoTargetDir: 'Caminho de destino ISO',
isoTargetDirHelper: 'ISOs enviados localmente ou baixados do servidor serão salvos neste diretório.',
addingIsoRecord: 'Adicionando registro ISO',
transferInProgress: 'A transferência ISO está em andamento. Não feche este painel ou a página.',
isoSize: 'Tamanho do ISO',
deleteIsoConfirm: 'Esta operação de exclusão não pode ser desfeita. Continuar?',
deleteSourceFile: 'Excluir arquivo de origem',
deleteSourceFileHelper:
'Quando marcado, o arquivo de origem referenciado por este registro ISO também será excluído e não poderá ser recuperado.',
dir: 'Diretório Local',
},
cluster: {
cluster: 'Alta Disponibilidade de Aplicações',
name: 'Nome do Cluster',
addCluster: 'Adicionar Cluster',
installNode: 'Instalar ',
master: ' Mestre',
slave: ' Escravo',
replicaStatus: 'Status Mestre-Escravo',
unhealthyDeleteError:
'O status do de instalação está anormal, verifique a lista de nós e tente novamente!',
replicaStatusError: 'A aquisição do status está anormal, verifique o mestre.',
masterHostError: 'O IP do mestre não pode ser 127.0.0.1',
},
},
template: {
create: 'Criar modelo',
edit: 'Editar modelo',
name: 'Nome do modelo',
type: 'Tipo de modelo',
single: 'Arquivo único',
multi: 'Múltiplos arquivos (zip)',
content: 'Conteúdo do modelo',
variables: 'Definição de variáveis',
remark: 'Observação',
filePath: 'Caminho do arquivo',
upload: 'Enviar zip',
preview: 'Pré-visualização',
previewEmpty: 'Selecione um modelo para pré-visualizar em tempo real',
generate: 'Gerar saída',
outputName: 'Nome da saída',
outputList: 'Lista de saídas',
outputCreate: 'Gerar saída',
confirmDelete: 'Tem certeza de que deseja excluir este modelo? As saídas associadas também serão excluídas',
confirmDeleteOutput: 'Tem certeza de que deseja excluir esta saída?',
variableKey: 'Nome da variável',
variableLabel: 'Rótulo',
variableType: 'Tipo',
variableDefault: 'Valor padrão',
variableOptions: 'Opções (separadas por vírgula)',
variableRequired: 'Obrigatório',
varTypeText: 'Texto de linha única',
varTypeTextHelper: 'Campo de texto comum',
varTypeTextarea: 'Texto de múltiplas linhas',
varTypeTextareaHelper: 'Adequado para parágrafos e textos longos',
varTypeNumber: 'Número',
varTypeNumberHelper: 'Somente entrada numérica',
varTypeSelect: 'Seleção suspensa',
varTypeSelectHelper: 'Escolher entre opções predefinidas, as opções devem ser informadas',
varTypeColor: 'Cor',
varTypeColorHelper: 'Seletor de cores',
autoDetectHelper: 'Variáveis entre chaves duplas são detectadas automaticamente e adicionadas à tabela',
selectTemplate: 'Selecionar modelo',
fillVariables: 'Preencher variáveis',
noVariables: 'Este modelo não possui variáveis definidas',
outputSuccess: 'Saída gerada com sucesso',
importButton: 'Importar do modelo',
},
};
export default {
...getFuLocaleMessage('pt-BR'),
...message,
};