mirror of
https://github.com/t8y2/dbx.git
synced 2026-10-19 16:16:45 +00:00
6799 lines
348 KiB
TypeScript
6799 lines
348 KiB
TypeScript
import { withEnglishFallback } from "./fallback";
|
||
|
||
export default withEnglishFallback({
|
||
app: {
|
||
name: "DBX",
|
||
},
|
||
auth: {
|
||
rateLimited: "Tente novamente em {seconds}s",
|
||
setupTitle: "Configurar senha de acesso",
|
||
setupDescription: "Defina uma senha para proteger sua instância",
|
||
loginDescription: "Ferramenta de gerenciamento de banco de dados",
|
||
newPassword: "Digite a nova senha",
|
||
confirmPassword: "Confirmar senha",
|
||
enterPassword: "Digite a senha de acesso",
|
||
passwordMismatch: "As senhas não coincidem",
|
||
setPassword: "Definir Senha",
|
||
login: "Entrar",
|
||
processing: "Processando...",
|
||
loginFailed: "Senha incorreta",
|
||
connectFailed: "Falha na conexão",
|
||
changePassword: "Alterar Senha",
|
||
oldPassword: "Senha atual",
|
||
oldPasswordWrong: "A senha atual está incorreta",
|
||
passwordChanged: "Senha alterada com sucesso",
|
||
changePasswordFailed: "Falha ao alterar a senha",
|
||
changePasswordDescription: "Digite sua senha atual e escolha uma nova",
|
||
},
|
||
toolbar: {
|
||
newConnection: "Nova Conexão",
|
||
newQuery: "Nova Consulta",
|
||
execute: "Executar",
|
||
executeShortcut: "Executar seleção/consulta (Cmd+Enter)",
|
||
stopQuery: "Parar consulta",
|
||
explainPlan: "Explicar plano",
|
||
stopExplain: "Parar explicação",
|
||
autotrace: "Autotrace (executa a query)",
|
||
explainAnalyze: "EXPLAIN ANALYZE (executa a query)",
|
||
actualPlan: "Plano de execução real (SET STATISTICS XML)",
|
||
formatSql: "Formatar SQL",
|
||
formatSqlFailed: "Falha ao formatar SQL",
|
||
formatAutoDetectFailed: "Não foi possível reconhecer ou formatar o conteúdo selecionado",
|
||
compressSql: "Comprimir SQL",
|
||
keywordCaseLower: "Usar palavras-chave SQL em minúsculas",
|
||
keywordCaseUpper: "Usar palavras-chave SQL em maiúsculas",
|
||
autoCommit: "Auto Commit",
|
||
manualTransaction: "Transação Manual",
|
||
autoCommitAgent: "Auto Commit (depende do backend do Agente)",
|
||
manualTransactionAgent: "Transação Manual (depende do backend do Agente)",
|
||
commit: "Confirmar",
|
||
rollback: "Reverter",
|
||
txnAutoRolledBack: "Transação revertida automaticamente após 5 minutos de inatividade",
|
||
previewSql: "Visualizar SQL",
|
||
previewQuery: "Visualizar consulta",
|
||
hidePreviewSql: "Ocultar Visualização SQL",
|
||
saveSql: "Salvar na Biblioteca SQL",
|
||
openSql: "Abrir arquivo SQL",
|
||
exPasteSqlInCondition: "ExPaste: colar como condição IN",
|
||
theme: "Tema",
|
||
themeLight: "Claro",
|
||
themeDark: "Escuro",
|
||
themeSystem: "Seguir o sistema",
|
||
sqlSaved: "SQL salvo",
|
||
sqlOpenFailed: "Falha ao abrir o arquivo: {message}",
|
||
sqlSaveFailed: "Falha ao salvar o arquivo: {message}",
|
||
driverManager: "Gerenciador de Drivers",
|
||
updatableDriverCount: "Quantidade de drivers atualizáveis",
|
||
blockDangerousRedisCommands: "Bloquear comandos perigosos",
|
||
},
|
||
updates: {
|
||
title: "Atualizações",
|
||
check: "Verificar atualizações",
|
||
availableTitle: "Atualização disponível",
|
||
availableMessage: "DBX {latest} está disponível. Você está usando {current}.",
|
||
upToDate: "O DBX está atualizado ({version}).",
|
||
failed: "Falha ao verificar atualizações: {error}",
|
||
rateLimited: "As verificações de atualização do GitHub estão temporariamente limitadas. Você ainda pode abrir a página de lançamento para verificar manualmente.",
|
||
openRelease: "Abrir Lançamento",
|
||
downloadAndInstall: "Baixar e Instalar",
|
||
activeTasksBlockUpdate: "Há {count} tarefa(s) em execução. Aguarde a conclusão antes de atualizar o DBX.",
|
||
portableAutomaticUpdate: "O DBX baixará o ZIP portátil assinado, substituirá apenas o DBX.exe após sair e reiniciará automaticamente. O portable.dbx e os dados serão mantidos.",
|
||
windows7ManualUpdate: "O Windows 7 requer o instalador offline dedicado do WebView2 109. Abra a página da versão e baixe o pacote para Windows 7.",
|
||
downloading: "Baixando {progress}%",
|
||
downloadFailed: "Falha ao baixar a atualização: {error}",
|
||
downloadCanceled: "Download da atualização cancelado.",
|
||
networkOrMirrorFailed: "O tempo de conexão esgotou ou os espelhos de download estão indisponíveis. Verifique sua rede ou clique em 'Abrir Lançamento' para baixar manualmente.",
|
||
installing: "Instalando atualização...",
|
||
installFailed: "Falha ao instalar a atualização: {error}",
|
||
restart: "Sair e Reiniciar",
|
||
restartFailed: "Falha ao reiniciar o aplicativo: {error}",
|
||
exitAndUpdate: "Sair e Atualizar",
|
||
dockerUsersRun: "Usuários do Docker devem executar",
|
||
toUpdate: "para atualizar",
|
||
},
|
||
sidebar: {
|
||
connections: "CONEXÕES",
|
||
noConnections: "Nenhuma conexão ainda",
|
||
import: "Importar Conexões",
|
||
importDbx: "Importar Configuração DBX",
|
||
importNavicat: "Importar Navicat NCX",
|
||
importDbeaver: "Importar DBeaver",
|
||
importDatagrip: "Importar DataGrip",
|
||
export: "Exportar Conexões",
|
||
collapseAll: "Recolher tudo",
|
||
collapse: "Recolher barra lateral",
|
||
expand: "Expandir barra lateral",
|
||
showMore: "Mostrar mais {count}...",
|
||
filterByType: "Filtrar por tipo",
|
||
showActiveConnectionsOnly: "Mostrar apenas conexões ativas",
|
||
sortConnections: "Ordenar conexões",
|
||
sortConnectionsManual: "Ordem manual",
|
||
sortConnectionsAscending: "Nome: A–Z",
|
||
sortConnectionsDescending: "Nome: Z–A",
|
||
searchScopeConnection: "Conexão",
|
||
searchScopeDatabase: "Banco de dados",
|
||
searchScopeSchema: "Schema",
|
||
searchScopeTable: "Tabela",
|
||
searchScopeView: "Visão",
|
||
searchTablesInCurrentScope: "Pesquisar tabelas neste banco...",
|
||
clearTableSearch: "Limpar busca de tabelas",
|
||
localTableSearch: "Busca local",
|
||
localTableSearchTooltip: "Pesquisa o índice local de tabelas sem solicitações remotas. Desative para pesquisar remotamente. Use atualizar para criar ou atualizar o índice.",
|
||
refreshLocalTableSearchIndex: "Atualizar índice local de tabelas",
|
||
globalLocalSearch: "Busca local",
|
||
globalLocalSearchTooltip: "Pesquisa apenas os objetos da barra lateral carregados no momento, sem solicitações remotas.",
|
||
clearFilter: "Limpar filtro",
|
||
locateActiveTab: "Localizar na barra lateral",
|
||
},
|
||
savedSql: {
|
||
saveToLibrary: "Salvar na Biblioteca SQL",
|
||
saveToFile: "Salvar localmente",
|
||
save: "Salvar",
|
||
saved: "SQL salvo",
|
||
saveFailed: "Falha ao salvar SQL: {message}",
|
||
fileName: "Nome do arquivo",
|
||
folder: "Pasta",
|
||
rootFolder: "Biblioteca SQL",
|
||
newQuery: "Nova Consulta",
|
||
newFolder: "Nova Pasta SQL",
|
||
newSubfolder: "Nova Subpasta",
|
||
newFolderDefault: "Nova Pasta",
|
||
renameFolder: "Renomear Pasta",
|
||
deleteFolder: "Excluir Pasta",
|
||
deleteFolderConfirm: "Excluir “{name}” e os arquivos SQL dentro dela?",
|
||
open: "Abrir SQL",
|
||
renameFile: "Renomear SQL",
|
||
deleteFile: "Excluir SQL",
|
||
deleteFileConfirm: "Excluir “{name}”?",
|
||
createFolderOption: "Criar pasta “{name}”",
|
||
folderPlaceholder: "Selecionar pasta",
|
||
searchPlaceholder: "Pesquisar pastas...",
|
||
createFolderFailed: "Falha ao criar pasta: {message}",
|
||
},
|
||
sqlLibrary: {
|
||
title: "Biblioteca SQL",
|
||
openInCurrentDatabase: "Abrir no banco de dados atual",
|
||
empty: "Nenhuma consulta salva",
|
||
emptyFolder: "Pasta vazia",
|
||
unfiled: "Sem categoria",
|
||
exportFile: "Exportar SQL",
|
||
exportFolder: "Exportar pasta",
|
||
exportLibrary: "Exportar biblioteca SQL",
|
||
importDirectory: "Importar pasta local",
|
||
importIntoFolder: "Importar para esta pasta",
|
||
openStorageDirectory: "Abrir diretório de SQL",
|
||
chooseSyncDirectory: "Definir diretório de sincronização local",
|
||
disableSyncDirectory: "Desativar sincronização local",
|
||
syncDirectorySaved: "Diretório de sincronização local de SQL salvo",
|
||
syncDirectoryDisabled: "Sincronização local de SQL desativada",
|
||
syncDirectoryFailed: "Falha ao definir diretório de sincronização: {message}",
|
||
openDirectoryFailed: "Falha ao abrir diretório: {message}",
|
||
noSyncDirectory: "Defina um diretório de sincronização local primeiro",
|
||
exported: "Exportado",
|
||
exportFailed: "Falha na exportação: {message}",
|
||
importFailed: "Falha na importação: {message}",
|
||
importNone: "Nenhum arquivo .sql encontrado na pasta selecionada",
|
||
imported: "Importados {count} arquivos SQL",
|
||
desktopOnly: "Este recurso está disponível apenas no desktop",
|
||
noConnection: "Nenhuma conexão disponível para importar",
|
||
batchDelete: "Exclusão em lote",
|
||
batchDeleteConfirm: "Tem certeza de que deseja excluir {count} itens selecionados? Esta ação não pode ser desfeita.",
|
||
batchDeleteSuccess: "{count} itens excluídos com sucesso",
|
||
moveToFolder: "Mover para pasta...",
|
||
moveSelectedToFolder: "Mover {count} SQL para pasta...",
|
||
moveSuccess: "{count} SQL movidos",
|
||
clearSelection: "Limpar seleção",
|
||
sortByDate: "Ordenar por data de modificação",
|
||
sortByFolder: "Ordenar por estrutura de pastas",
|
||
},
|
||
|
||
connection: {
|
||
title: "Nova Conexão",
|
||
name: "Nome",
|
||
namePlaceholder: "Nome da conexão, gerado automaticamente se vazio",
|
||
note: "Observações",
|
||
notePlaceholder: "Não salve senhas em texto simples nas observações",
|
||
type: "Tipo",
|
||
host: "Host",
|
||
filePath: "Caminho do Arquivo",
|
||
h2FileMode: "Arquivo",
|
||
h2TcpMode: "TCP",
|
||
h2FilePathRequired: "O caminho do arquivo H2 não pode ficar vazio",
|
||
createDuckDbFile: "Criar arquivo DuckDB",
|
||
createSqliteFile: "Criar banco de dados SQLite",
|
||
memoryDatabasePathHint: "Use :memory: para criar um banco de dados SQLite ou DuckDB na memória.",
|
||
sqliteCipherKey: "Chave SQLCipher",
|
||
sqliteCipherKeyPlaceholder: "Deixe vazio para SQLite não criptografado",
|
||
sqliteExtensions: "Extensões SQLite",
|
||
sqliteExtensionsPlaceholder: "/caminho/para/regexp.dylib\n/caminho/para/text.dylib|sqlite3_text_init",
|
||
sqliteExtensionsHint: "Um .dylib/.so/.dll por linha. Use “caminho|ponto de entrada” quando um ponto de entrada for necessário. Carregado ao conectar, depois load_extension é desabilitado.",
|
||
initScript: "Script de inicialização",
|
||
initScriptPlaceholder: "INSTALL quack;\nLOAD quack;\nATTACH 'quack:host' AS remote (TOKEN '...');",
|
||
initScriptHint: "Instruções SQL executadas sempre que a conexão é aberta (INSTALL/LOAD, SET, CREATE SECRET, ATTACH ...). Os bancos de dados anexados aqui aparecem na barra lateral.",
|
||
sqliteExtensionBrowse: "Selecionar extensão SQLite",
|
||
user: "Usuário",
|
||
password: "Senha",
|
||
database: "Banco de dados",
|
||
databasePlaceholder: "Opcional",
|
||
databasePlaceholderRequired: "Obrigatório, informe um banco de dados existente",
|
||
databasePlaceholderWithDefault: "Opcional, padrão é {database}",
|
||
kingbaseDatabaseRequired: "Kingbase exige um banco de dados existente antes de conectar ou carregar a lista de bancos de dados.",
|
||
defaultDatabase: "BD padrão",
|
||
authDatabase: "BD de autenticação",
|
||
authDatabasePlaceholder: "Opcional, geralmente admin",
|
||
authMechanism: "Mecanismo de Autenticação",
|
||
authMechanismDefault: "Padrão",
|
||
driverMode: "Driver",
|
||
mongoDriverAuto: "Automático",
|
||
mongoDriverLegacy: "Legacy",
|
||
serviceName: "Service/SID",
|
||
serviceNameOnly: "Service Name",
|
||
oracleTnsAlias: "Alias de rede",
|
||
oracleTnsAliasPlaceholder: "Alias do tnsnames.ora",
|
||
oracleTnsAdminPlaceholder: "Diretório que contém tnsnames.ora",
|
||
oracleTnsAdminBrowse: "Selecionar tnsnames.ora",
|
||
oracleTnsPathHint: "O caminho é lido pelo backend do DBX/Oracle Agent. No desktop é local; no Web e Docker pertence ao servidor.",
|
||
oracleTnsAliasRequired: "O modo Oracle TNS requer um alias de rede.",
|
||
oracleTnsAdminRequired: "O modo Oracle TNS requer o diretório TNS_ADMIN que contém tnsnames.ora.",
|
||
oracleTnsTransportUnsupported: "Oracle TNS não pode usar túneis SSH, proxy ou HTTP. Remova a camada de transporte ou use Serviço/SID.",
|
||
version: "Versão",
|
||
driverInstallHintPrefix: "Instale o driver necessário em ",
|
||
driverInstallHintSuffix: " na barra de ferramentas superior antes de conectar.",
|
||
driverName: "Nome do Driver",
|
||
driverNamePlaceholder: "Nome do fornecedor ou ambiente",
|
||
urlParams: "Parâmetros da URL",
|
||
d1AccountId: "ID da conta",
|
||
d1DatabaseId: "ID do banco de dados",
|
||
d1ApiToken: "Token da API",
|
||
d1TokenHint: "O token precisa de pelo menos a permissão D1 Read; gravações, DDL e importações também exigem D1 Write.",
|
||
d1FieldsRequired: "O ID da conta Cloudflare, o ID do banco de dados D1 e o token da API são obrigatórios.",
|
||
gbaseServer: "GBASEDBTSERVER",
|
||
informixServer: "INFORMIXSERVER",
|
||
sslEnable: "Habilitar conexão criptografada",
|
||
caCertPath: "Certificado CA",
|
||
caCertPathPlaceholder: "Opcional, ex.: ~/.yandex/RootCA.crt",
|
||
caCertPathBrowse: "Procurar certificado",
|
||
damengSslFilesPath: "Diretório de certificados",
|
||
damengSslFilesPathPlaceholder: "/path/to/dmcert",
|
||
damengSslFilesPathBrowse: "Selecionar diretório de certificados",
|
||
damengSslKeystorePassword: "Senha do keystore",
|
||
damengSslHint: "O DM8 JDBC lê os certificados SSL deste diretório e envia os dois valores por parâmetros de URL.",
|
||
damengSslProtocol: "Protocolo SSL",
|
||
damengSslProtocolPlaceholder: "Opcional, ex.: TLSv1.2",
|
||
damengSslVerificationHint: "A verificação do certificado depende de ENABLE_ENCRYPT no servidor DM8. O modo 5 verifica o certificado do servidor; o modo 4 criptografa sem verificar certificados.",
|
||
redisTlsInsecure: "Ignorar verificação de certificado",
|
||
redisTlsInsecureHint: "Equivalente a redis-cli --tls --insecure, para certificados autoassinados ou CAs privadas.",
|
||
mysqlTlsMode: "Modo TLS",
|
||
mysqlTlsModePreferred: "Preferencial",
|
||
mysqlTlsModeDisabled: "Desabilitado",
|
||
mysqlTlsModeRequired: "Obrigatório",
|
||
mysqlTlsModeVerifyCa: "Verificar CA",
|
||
mysqlTlsModeVerifyIdentity: "Verificar Identidade",
|
||
mysqlCleartextPasswordAuth: "Autenticação de senha em texto claro",
|
||
mysqlCleartextPasswordAuthHint: "Ative somente quando o servidor MySQL exigir o plugin de autenticação de senha em texto claro.",
|
||
mysqlCaCertHint: "Necessário para Verificar CA e Verificar Identidade quando o certificado do servidor usa uma CA privada.",
|
||
mysqlClientCert: "Autenticação do Cliente",
|
||
mysqlClientCertPlaceholder: "/caminho/para/client.crt",
|
||
mysqlClientKeyPlaceholder: "/caminho/para/client.key",
|
||
mysqlClientCertHint: "O certificado e a chave privada do cliente devem ser fornecidos juntos quando o MySQL exige mTLS.",
|
||
mysqlTlsConnectionFailureHint: "Se o servidor MySQL não exigir TLS, edite a conexão, defina o Modo TLS como Desabilitado e tente novamente.",
|
||
mysqlClientCertBrowse: "Escolher certificado do cliente",
|
||
mysqlClientKeyBrowse: "Escolher chave privada do cliente",
|
||
postgresSslMode: "Modo TLS",
|
||
postgresSslModeDisable: "Desabilitar",
|
||
postgresSslModePrefer: "Preferencial",
|
||
postgresSslModeRequire: "Obrigatório",
|
||
postgresSslModeVerifyCa: "Verificar CA",
|
||
postgresSslModeVerifyFull: "Verificar Completo",
|
||
postgresServerCert: "CA do Servidor",
|
||
postgresRootCertPlaceholder: "/caminho/para/ca.crt",
|
||
postgresRootCertHint: "Use isto para verify-ca ou verify-full quando o certificado do servidor é assinado por uma CA privada.",
|
||
postgresRootCertBrowse: "Escolher certificado CA",
|
||
postgresClientCert: "Autenticação do Cliente",
|
||
postgresClientCertPlaceholder: "/caminho/para/client.crt",
|
||
postgresClientKeyPlaceholder: "/caminho/para/client.key",
|
||
postgresClientCertHint: "O certificado e a chave privada do cliente devem ser fornecidos juntos quando o PostgreSQL exige mTLS.",
|
||
postgresClientCertBrowse: "Escolher certificado do cliente",
|
||
postgresClientKeyBrowse: "Escolher chave privada do cliente",
|
||
connectionUrlOptional: "URL (opcional)",
|
||
connectionUrlPlaceholder: "postgresql://user:pass{'@'}host:5432/db?sslmode=require",
|
||
parseConnectionUrl: "Analisar URL de conexão",
|
||
parseConnectionUrlApplied: "URL de conexão aplicada",
|
||
parseConnectionUrlFailed: "Falha ao analisar a URL de conexão: {message}",
|
||
mode: "Modo de Conexão",
|
||
modeForm: "Formulário",
|
||
redisStandaloneMode: "Standalone",
|
||
redisSentinelMode: "Sentinel",
|
||
redisClusterMode: "Cluster",
|
||
oceanbaseMySQLMode: "Modo MySQL",
|
||
oceanbaseOracleMode: "Modo Oracle",
|
||
redisFirstSentinel: "Primeiro Sentinel",
|
||
redisFirstClusterNode: "Primeiro Nó Semente",
|
||
redisSentinelNodes: "Nós Sentinel",
|
||
redisClusterNodes: "Nós Semente do Cluster",
|
||
redisSentinelMaster: "Nome do Master",
|
||
redisSentinelUser: "Usuário do Sentinel",
|
||
redisSentinelPassword: "Senha do Sentinel",
|
||
redisSentinelTls: "TLS do Sentinel",
|
||
redisSentinelTlsHint: "Usar TLS ao conectar aos nós Sentinel",
|
||
redisKeySeparator: "Separador de namespace de chave",
|
||
etcdEndpoints: "Endpoints",
|
||
etcdEndpointsHint: "Um endpoint por linha. Deixe em branco para usar o host e porta acima.",
|
||
etcdCaCertPlaceholder: "/caminho/para/ca.crt",
|
||
etcdCaCertBrowse: "Escolher certificado CA",
|
||
etcdClientAuth: "Autenticação do Cliente",
|
||
etcdClientCertPlaceholder: "/caminho/para/client.crt",
|
||
etcdClientKeyPlaceholder: "/caminho/para/client.key",
|
||
etcdClientCertHint: "O certificado e a chave privada do cliente devem ser fornecidos juntos quando o etcd exige mTLS.",
|
||
etcdClientCertBrowse: "Escolher certificado do cliente",
|
||
etcdClientKeyBrowse: "Escolher chave privada do cliente",
|
||
etcdClientCertPairRequired: "O certificado e a chave privada do cliente devem ser fornecidos juntos.",
|
||
zookeeperConnectString: "String de Conexão",
|
||
zookeeperConnectStringHint: "Entradas host:porta separadas por vírgula ou linha. Deixe em branco para usar o host e porta acima.",
|
||
zookeeperCreateModePersistent: "Persistente",
|
||
zookeeperCreateModeEphemeral: "Efêmero",
|
||
zookeeperCreateModePersistentSequential: "Persistente Sequencial",
|
||
zookeeperCreateModeEphemeralSequential: "Efêmero Sequencial",
|
||
nacosConsoleUrl: "URL da OpenAPI / API administrativa",
|
||
nacosConsoleUrlHint: "Use o endereço correspondente ao perfil Nacos selecionado. URLs completas do navegador e da API são aceitas.",
|
||
nacosConsoleUrlRequired: "A URL da OpenAPI / API administrativa do Nacos é obrigatória",
|
||
nacosConsoleUrlAutoAdjusted: "URL do console Nacos ajustada de {from} para {to}.",
|
||
nacosRNacosOpenApiAutoAdjusted: "Alterado automaticamente para a OpenAPI do r-nacos: {from} → {to} (Context Path: /nacos).",
|
||
nacosImplementation: "Implementação do serviço",
|
||
nacosVersion: "Versão do Nacos",
|
||
nacosVersionAuto: "Detectar automaticamente",
|
||
nacosPrimaryAddressRNacos: "Endereço de API compatível com Nacos",
|
||
nacosPrimaryAddressV2: "Endereço do serviço (API e console compartilhados)",
|
||
nacosPrimaryAddressV3: "Endereço de Server / Admin API",
|
||
nacosPrimaryAddressAuto: "Endereço de administração do Nacos",
|
||
nacosPrimaryAddressHint: "No Nacos 3, use o endereço de Server / Admin API (normalmente http://host:8848/nacos), não o console na porta 8080; prefixos de proxy personalizados são preservados.",
|
||
nacosRequestsUse: "As solicitações usarão {address}/…",
|
||
nacosNamespace: "Namespace",
|
||
nacosContextPath: "Caminho de contexto",
|
||
nacosContextPathPlaceholder: "Deixe vazio ou /nacos",
|
||
nacosContextPathRestoreAuto: "Restaurar automático",
|
||
nacosConfigurationHistory: "Histórico de configuração",
|
||
nacosConfigurationHistoryEnable: "Ativar histórico de configuração",
|
||
nacosConfigurationHistoryHint:
|
||
"O histórico de configuração do r-nacos está disponível apenas pelo console independente (normalmente na porta 10848). O console usa uma sessão de login separada da OpenAPI compatível com Nacos: a OpenAPI pode não exigir autenticação, enquanto o console ainda exige. Use a mesma conta de usuário do r-nacos, a menos que você precise usar outra conta.",
|
||
nacosRNacosConsoleUrl: "URL do console r-nacos",
|
||
nacosRNacosConsoleUrlPlaceholder: "http://127.0.0.1:10848",
|
||
nacosRNacosConsoleUrlHint: "Opcional. Use a URL do console independente (normalmente a porta 10848), não a URL OpenAPI; ela habilita o histórico e a leitura do tipo e da descrição das configurações do r-nacos.",
|
||
nacosRNacosOpenApiRequired: "O endereço principal do r-nacos deve usar a API compatível com Nacos, não a URL do console independente.",
|
||
nacosRNacosConsoleUrlRequired: "O histórico de configurações do r-nacos exige uma URL do console.",
|
||
nacosConsoleAuthSeparateRequired: "A autenticação principal é Nenhuma; configure credenciais de console separadas.",
|
||
nacosAuth: "Autenticação",
|
||
nacosAuthNone: "Nenhuma",
|
||
nacosAuthUserPassword: "Usuário / Senha",
|
||
nacosConsoleAuthentication: "Autenticação do console",
|
||
nacosConsoleAuthInherit: "Usar credenciais principais",
|
||
nacosConsoleAuthSeparate: "Credenciais separadas",
|
||
nacosConsoleAuthPrimaryNone: "A autenticação principal é Nenhuma; use credenciais de console separadas.",
|
||
nacosConsoleUser: "Usuário do console",
|
||
nacosConsolePassword: "Senha do console",
|
||
nacosConsoleUsernameRequired: "O usuário do console r-nacos é obrigatório",
|
||
nacosUsernameRequired: "O usuário Nacos é obrigatório",
|
||
nacosTls: "TLS",
|
||
nacosTlsSkipVerify: "Ignorar verificação do certificado",
|
||
nacosPageSize: "Tamanho da página",
|
||
nacosMetrics: "Métricas Prometheus",
|
||
nacosMetricsAuto: "Detecção automática",
|
||
nacosMetricsDisabled: "Desativado",
|
||
nacosMetricsCustom: "URL personalizada",
|
||
nacosMetricsAutoHint: "Tentativas em ordem: {addresses}",
|
||
nacosMetricsUrl: "URL de métricas",
|
||
nacosMetricsUrlInvalid: "Informe uma URL HTTP ou HTTPS absoluta, sem credenciais ou fragmento.",
|
||
searchDatabasePlaceholder: "Pesquisar tipos de banco de dados",
|
||
searchResults: "Resultados da busca",
|
||
databaseCategories: "Categorias",
|
||
databaseCategorySql: "Relacionais",
|
||
databaseCategoryAnalytics: "Análises",
|
||
databaseCategoryDomestic: "BD chineses",
|
||
databaseCategoryLightweight: "Leves",
|
||
databaseCategoryDocument: "Docs/cache/busca",
|
||
databaseCategoryGraphAi: "Grafos/vetores",
|
||
databaseCategoryTimeseries: "Séries",
|
||
databaseCategoryMq: "Filas",
|
||
databaseCategoryRegistryConfig: "Registro/config.",
|
||
jdbcConnection: "Conexão JDBC",
|
||
iconView: "Visualização em ícones",
|
||
listView: "Visualização em lista",
|
||
selectedDatabase: "Selecionado",
|
||
noDatabaseMatches: "Nenhum banco de dados correspondente",
|
||
next: "Próximo",
|
||
back: "Anterior",
|
||
basicTab: "Conexão",
|
||
tlsTab: "TLS/SSL",
|
||
test: "Testar",
|
||
testing: "Testando...",
|
||
copyTestResult: "Copiar resultado do teste",
|
||
sqlServerLegacyCompatibilityMode: "Modo de compatibilidade legado",
|
||
sqlServerLegacyCompatibilityModeEnable: "Ativar",
|
||
sqlServerLegacyCompatibilityModeHint: "Para instâncias do SQL Server limitadas a TLS 1.0, criptografia apenas no login ou sem criptografia.\nAlguns recursos podem ser limitados; use apenas em redes confiáveis.",
|
||
sqlServerLegacyCompatibilityComponent: "Componente de compatibilidade legada do SQL Server",
|
||
gaussdbConnectionMode: "Modo de conexão",
|
||
gaussdbConnectionModeNative: "Compatível com PostgreSQL (driver integrado)",
|
||
gaussdbConnectionModeMJdbc: "Modo M (driver JDBC do fornecedor)",
|
||
gaussdbConnectionModeNativeHint: "Usa o protocolo compatível com PostgreSQL integrado ao DBX para os modos A/PG/Oracle do GaussDB.",
|
||
gaussdbConnectionModeMJdbcHint: "Usa jdbc:gaussdb com com.huawei.gaussdb.jdbc.Driver para o modo M do GaussDB.",
|
||
gaussdbMJdbcDriver: "Driver JDBC do GaussDB",
|
||
gaussdbMJdbcDriverPlaceholder: "Selecione gaussdbjdbc.jar compatível com a versão do servidor",
|
||
gaussdbMJdbcDriverHint: "O driver é distribuído com cada versão do GaussDB. Obtenha gaussdbjdbc.jar no pacote de driver correspondente.",
|
||
gaussdbMJdbcDriverRequired: "O modo M do GaussDB requer o driver JDBC do fornecedor. Selecione gaussdbjdbc.jar compatível com o servidor.",
|
||
gaussdbMJdbcPluginInstalling: "Instalando o runtime JDBC...",
|
||
gaussdbIdentifierQuoteStyle: "Compatibilidade de identificadores",
|
||
gaussdbIdentifierQuoteAuto: "Automático (driver/padrão)",
|
||
gaussdbIdentifierQuoteDouble: 'Oracle/PostgreSQL (aspas duplas ")',
|
||
gaussdbIdentifierQuoteBacktick: "MySQL/M (crases `)",
|
||
gaussdbIdentifierQuoteHint: "O modo automático usa os metadados do driver JDBC ou o padrão do GaussDB nativo. Selecione um modo manualmente apenas quando o SQL gerado usar aspas de identificador incorretas.",
|
||
saveAndConnect: "Salvar e Conectar",
|
||
save: "Salvar",
|
||
editTitle: "Editar Conexão",
|
||
testSuccess: "Conexão bem-sucedida",
|
||
connecting: "Conectando a {name}...",
|
||
connectSuccess: "Conectado a {name}",
|
||
connectFailed: "Falha na conexão: {message}",
|
||
driverNotInstalled: "O driver {driver} não está instalado. Instale-o pelo Gerenciador de Drivers.",
|
||
jreNotInstalled: "O runtime JRE {jre} não está instalado. Instale-o pelo Gerenciador de Drivers.",
|
||
systemJavaNotFound: "O runtime Java do sistema não foi encontrado no PATH. Instale o Java ou escolha um executável Java personalizado.",
|
||
customJavaPathEmpty: "O caminho do runtime Java personalizado está vazio. Escolha um executável Java.",
|
||
agentJavaTooOld: "Este driver requer Java 21. Use o JRE 21 gerenciado pelo DBX ou selecione um executável Java 21 no Gerenciador de Drivers.",
|
||
agentDriverUpdateConnectionHint: "Há uma atualização de driver integrada disponível para esta conexão. A falha de conexão pode estar relacionada a um driver local desatualizado. Atualize o driver correspondente no Gerenciador de Drivers e tente novamente.",
|
||
jdbcPluginNotInstalled: "O plugin JDBC não está instalado. Instale o plugin JDBC opcional para usar esta conexão.",
|
||
connectFailedTitle: "Falha na conexão",
|
||
fullErrorMessage: "Mensagem de erro completa",
|
||
copyError: "Copiar erro",
|
||
optionalSuffix: " (opcional)",
|
||
customColorPlaceholder: "#ff0000 ou rgba(…)",
|
||
tursoHostPlaceholder: "your-database.turso.io ou libsql://your-database.turso.io",
|
||
tursoHostHint: "Suporta os protocolos libsql:// e https://. Você também pode informar apenas o nome do host (HTTPS é usado automaticamente).",
|
||
tursoTokenHint: "Crie um token com:",
|
||
tursoUrlParamsPlaceholder: "authToken=xxx (opcional, o campo Auth Token acima tem prioridade)",
|
||
driverInstall: {
|
||
installingTitle: "Instalando driver",
|
||
failedTitle: "Falha na instalação do driver",
|
||
fullError: "Erro completo",
|
||
statusFailed: "Falha na instalação",
|
||
statusWaiting: "Aguardando instalação",
|
||
statusPreparing: "Preparando a instalação do driver...",
|
||
statusExtractingJre: "Extraindo JRE...",
|
||
stepJre: "Baixando JRE",
|
||
stepDriver: "Baixando driver",
|
||
stepDefault: "Instalando driver",
|
||
installingButton: "Instalando...",
|
||
},
|
||
lastError: "Erro de conexão",
|
||
errorIndicatorHint: "Erro de conexão. Clique para ver os detalhes",
|
||
clearError: "Limpar erro de conexão",
|
||
saveFailed: "Falha ao salvar a conexão: {message}",
|
||
deleted: "Conexão excluída",
|
||
deletedSelected: "{count} conexões excluídas",
|
||
copied: "Copiado",
|
||
disconnected: "Desconectado",
|
||
databaseConnectionClosed: "Conexão de banco de dados fechada: {name}",
|
||
duplicated: "Conexão duplicada",
|
||
duplicatedSelected: "{count} conexões duplicadas",
|
||
groupDeleted: "Grupo excluído",
|
||
loadFailed: "Falha ao carregar as conexões salvas: {message}",
|
||
sshTunnel: "Túnel SSH / Proxy",
|
||
advancedTab: "Avançado",
|
||
sshEnable: "Usar túnel SSH / proxy",
|
||
sshHost: "Host SSH",
|
||
sshHostPlaceholder: "ssh.example.com ou um alias de ~/.ssh/config",
|
||
sshUser: "Usuário SSH",
|
||
sshAuthMethod: "Método de login",
|
||
sshAuthMethodPassword: "Senha",
|
||
sshAuthMethodKey: "Chave privada",
|
||
sshAuthMethodKeyPassword: "Chave privada + Senha",
|
||
sshAuthMethodNone: "Nenhum",
|
||
sshAuthMethodNoneHint: "Nenhuma credencial será enviada. Use para bastiões ou proxies que aceitam conexões sem autenticação.",
|
||
sshAuthMethodAgentLegacy: "SSH Agent (legado)",
|
||
sshPassword: "Senha SSH",
|
||
sshPasswordPlaceholder: "Deixe vazio para usar a chave",
|
||
sshKeyPath: "Caminho da Chave",
|
||
sshKeyPassphrase: "Frase-senha da Chave",
|
||
sshKeyPassphrasePlaceholder: "Deixe vazio se a chave não estiver criptografada",
|
||
sshKeyPathBrowse: "Procurar",
|
||
sshExposeLan: "Expor túnel à LAN",
|
||
sshConnectTimeout: "Timeout SSH (segundos)",
|
||
sshHops: "Camadas de túnel SSH / proxy",
|
||
sshHopAdd: "Adicionar camada SSH",
|
||
sshHopDuplicate: "Duplicar",
|
||
sshHopDelete: "Excluir",
|
||
sshHopMoveUp: "Mover para cima",
|
||
sshHopMoveDown: "Mover para baixo",
|
||
sshHopName: "Nome da Camada",
|
||
sshHopNamePlaceholder: "Bastion, host de salto, gateway de produção",
|
||
sshHopDefaultName: "Camada {index}",
|
||
sshHopInvalidHost: "{hop}: o host SSH é obrigatório",
|
||
sshHopInvalidUser: "{hop}: o usuário SSH é obrigatório",
|
||
sshHopInvalidPort: "{hop}: a porta SSH deve estar entre 1 e 65535",
|
||
sshHopInvalidAuth: "{hop}: senha, caminho da chave ou ssh-agent é obrigatório",
|
||
sshUseAgent: "Usar ssh-agent",
|
||
sshAgentSockPath: "Caminho do socket do agente",
|
||
sshAgentSockPathPlaceholder: "ex. ~/.ssh/agent.sock",
|
||
sshHopInvalidTimeout: "{hop}: o timeout SSH deve estar entre 1 e 300 segundos",
|
||
connectTimeout: "Timeout de Conexão (segundos)",
|
||
queryTimeout: "Timeout de Consulta (segundos)",
|
||
idleTimeout: "Timeout de Inatividade (segundos)",
|
||
keepaliveInterval: "Intervalo de keepalive (segundos)",
|
||
readOnly: "Somente leitura",
|
||
readOnlyHint: "Bloquear todas as operações de escrita (INSERT, UPDATE, DELETE, etc.)",
|
||
readOnlyBadge: "Somente leitura",
|
||
proxy: "Proxy",
|
||
proxyEnable: "Conectar ao banco de dados via proxy",
|
||
proxyType: "Tipo de Proxy",
|
||
proxyHost: "Host do Proxy",
|
||
proxyUsername: "Usuário do Proxy",
|
||
proxyUsernamePlaceholder: "Opcional",
|
||
proxyPassword: "Senha do Proxy",
|
||
proxyPasswordPlaceholder: "Opcional",
|
||
proxyTestTarget: "Alvo de teste",
|
||
proxyTestTargetPlaceholder: "host:port — vazio = verif. endpoint, preencher para teste completo",
|
||
tunnelProfile: "Perfil de túnel",
|
||
tunnelProfileCustom: "Personalizado (somente esta conexão)",
|
||
tunnelProfileManaged: "Gerenciado por um perfil de túnel compartilhado. Edite-o em Configurações > Túneis; as alterações se aplicam a todas as conexões que o usam na próxima conexão.",
|
||
tunnelProfileMissing: "O perfil de túnel referenciado não existe mais. Selecione outro perfil ou mude para personalizado.",
|
||
tunnelProfileMissingName: "Perfil de túnel ausente",
|
||
tunnelProfileManage: "Gerenciar",
|
||
dremioArrowFlightSqlMode: "Arrow Flight SQL",
|
||
dremioLegacyJdbcMode: "JDBC legado",
|
||
jdbcUrl: "URL JDBC",
|
||
jdbcUrlPlaceholder: "jdbc:postgresql://localhost:5432/database",
|
||
jdbcDriverClass: "Classe do Driver (opcional)",
|
||
jdbcDriverClassPlaceholder: "A maioria dos drivers se registra automaticamente; use com.vendor.jdbc.Driver se necessário",
|
||
jdbcDriverPaths: "JARs do Driver",
|
||
jdbcDriverSelectPlaceholder: "Escolher driver importado",
|
||
jdbcManualClasspath: "Classpath manual",
|
||
jdbcManualClasspathCount: "{count} caminhos",
|
||
jdbcDriverPathsPlaceholder: "/caminho/para/driver.jar\n/caminho/para/outro-driver.jar",
|
||
jdbcDriverBrowse: "Escolher JAR do driver JDBC",
|
||
jdbcDocs: "Ver documentação JDBC",
|
||
jdbcPluginHint: "Instale primeiro o plugin JDBC do DBX e depois importe o JAR do driver JDBC do fornecedor do banco de dados.",
|
||
jdbcxExtensions: "Extensões JDBCX",
|
||
jdbcxHighPrivilegeExtensions: "Permitir extensões com privilégios elevados",
|
||
jdbcxHighPrivilegeExtensionsWarning: "Desativado por padrão. Ao ativar, Shell, Script, Web, MCP e outras extensões podem executar comandos locais ou acessar a rede.",
|
||
dmCompatHint: "Requer o driver ODBC DM8 instalado no seu sistema.",
|
||
dmDownload: "Baixar da Dameng",
|
||
mongoLegacyHint: "Use Legacy para servidores MongoDB antigos, especialmente versões anteriores à 4.2. Se a autenticação falhar e o usuário foi criado em admin, defina o BD de autenticação como admin.",
|
||
mongoTlsAllowInvalidCertificates: "Desativar verificação de certificado TLS",
|
||
mongoTlsAllowInvalidCertificatesHint: "Corresponde a tlsAllowInvalidCertificates=true e desativa toda a validação de certificados, não apenas a do hostname. Aumenta o risco de MITM. Geralmente é necessário para AWS DocumentDB via túnel SSH.",
|
||
mongoRetryWrites: "Repetir gravações",
|
||
mongoRetryWritesHint: "Corresponde a retryWrites. Desative para AWS DocumentDB, que não suporta gravações repetíveis.",
|
||
compatible: "Compatível",
|
||
mainstream: "Popular",
|
||
color: "Cor",
|
||
colorNone: "Sem cor",
|
||
colorGreen: "Verde",
|
||
colorYellow: "Amarelo",
|
||
colorOrange: "Laranja",
|
||
colorRed: "Vermelho",
|
||
colorBlue: "Azul",
|
||
colorPurple: "Roxo",
|
||
colorCustom: "Cor personalizada",
|
||
cancelConnecting: "Cancelar conexão",
|
||
connectCancelled: "Conexão cancelada",
|
||
kafkaKerberosPrincipal: "Principal",
|
||
kafkaKerberosKeytab: "Keytab",
|
||
kafkaKerberosServiceName: "Nome do serviço",
|
||
kafkaKerberosKrb5Conf: "krb5.conf",
|
||
kafkaKerberosPrincipalRequired: "O principal do Kafka Kerberos não pode estar vazio",
|
||
kafkaKerberosKeytabRequired: "O caminho do keytab do Kafka Kerberos não pode estar vazio",
|
||
kafkaKerberosKeytabBrowse: "Escolher Keytab",
|
||
kafkaKerberosKrb5ConfBrowse: "Escolher krb5.conf",
|
||
kafkaKerberosKeytabPlaceholder: "Caminho na máquina do DBX Agent, por exemplo /etc/security/keytabs/user.keytab",
|
||
kafkaKerberosKrb5ConfPlaceholder: "Opcional, caminho na máquina do DBX Agent, por exemplo /etc/krb5.conf",
|
||
kafkaKerberosPathHint: "Os caminhos do keytab e do krb5.conf são lidos pelo DBX Agent e devem existir na máquina onde o DBX Agent é executado; os arquivos não são enviados do navegador atual.",
|
||
kafkaKerberosAuthHint: "Faça login usando GSSAPI + keytab. Se o servidor exigir transmissão criptografada, defina Security como SASL_SSL; caso contrário, você pode usar Auto ou SASL_PLAINTEXT.",
|
||
mqSystem: "Sistema",
|
||
mqSystemPulsar: "Apache Pulsar",
|
||
mqSystemKafka: "Apache Kafka",
|
||
mqBootstrapServers: "Bootstrap Servers",
|
||
mqBootstrapServersPlaceholder: "127.0.0.1:9092",
|
||
mqBootstrapServersRequired: "Bootstrap Servers do Kafka são obrigatórios",
|
||
mqBootstrapServersInvalid: "Bootstrap Servers do Kafka são inválidos",
|
||
mqKafkaConnectionSource: "Origem da conexão",
|
||
mqKafkaConnectionSourceBootstrap: "Bootstrap Servers",
|
||
mqKafkaConnectionSourceZooKeeper: "ZooKeeper (Kafka 1.x)",
|
||
mqKafkaZooKeeperServers: "Servidores ZooKeeper",
|
||
mqKafkaZooKeeperServersPlaceholder: "zk1:2181,zk2:2181/kafka",
|
||
mqSystemRabbitMq: "RabbitMQ",
|
||
mqRabbitmqAddresses: "Endereços",
|
||
mqRabbitmqAddressesPlaceholder: "127.0.0.1:5672",
|
||
mqRabbitmqAddressesRequired: "Os endereços do RabbitMQ são obrigatórios",
|
||
mqRabbitmqAddressesInvalid: "Os endereços do RabbitMQ são inválidos",
|
||
mqVirtualHost: "Host virtual",
|
||
mqVirtualHostPlaceholder: "/",
|
||
mqRabbitmqAdminUrl: "Management URL",
|
||
mqRabbitmqAdminUrlPlaceholder: "http://192.168.1.1:15672",
|
||
mqRabbitmqAdminUrlHint: "Deixe vazio apenas com a porta AMQP padrão; portas AMQP personalizadas exigem a URL da API de gerenciamento configurada separadamente. Suporta caminhos de proxy reverso como https://proxy/rmq",
|
||
mqRabbitmqUsernamePlaceholder: "Padrão guest",
|
||
mqRabbitmqPasswordPlaceholder: "Padrão guest",
|
||
mqSecurity: "Security",
|
||
mqSecurityAuto: "Auto",
|
||
mqAdminUrl: "Admin URL",
|
||
mqAdminUrlRequired: "Admin URL do MQ é obrigatório",
|
||
mqAdminUrlInvalid: "Admin URL do MQ é inválido",
|
||
mqAuth: "Autenticação",
|
||
mqAuthNone: "Nenhum",
|
||
mqAuthToken: "Token",
|
||
mqAuthBasic: "Basic",
|
||
mqAuthKerberos: "Kerberos",
|
||
mqAuthApiKey: "API Key",
|
||
mqAuthOauth2: "OAuth2",
|
||
mqToken: "Token",
|
||
mqSaslMechanism: "SASL Mechanism",
|
||
mqApiKeyHeader: "Header",
|
||
mqApiKeyValue: "Valor",
|
||
mqOauthIssuerUrl: "Issuer URL",
|
||
mqOauthClientId: "Client ID",
|
||
mqOauthClientSecret: "Client Secret",
|
||
mqOauthAudience: "Audience",
|
||
mqOauthScope: "Scope",
|
||
mqOauthIssuerRequired: "A autenticação OAuth2 exige um Issuer URL",
|
||
mqOauthClientIdRequired: "A autenticação OAuth2 exige um Client ID",
|
||
mqOauthClientSecretRequired: "A autenticação OAuth2 exige um Client Secret",
|
||
mqTls: "TLS",
|
||
mqTlsSkipVerify: "Ignorar verificação de certificado",
|
||
mqPinnedVersion: "Versão fixada",
|
||
mqTokenSigning: "Assinatura de token do Broker",
|
||
mqTokenSigningNone: "Não configurado",
|
||
mqTokenSigningKey: "Chave de assinatura",
|
||
mqTokenSigningKeyRequired: "A chave de assinatura de token do Broker é obrigatória",
|
||
mqTokenSigningKeyPlaceholderHs256: "Broker SECRET",
|
||
mqTokenSigningKeyPlaceholderRs256: "-----BEGIN PRIVATE KEY-----",
|
||
mqTokenSigningHint: "Escolha com base no jwt.broker.token.mode do Broker: SECRET usa HS256, PRIVATE usa RS256. A chave é armazenada nos segredos da conexão.",
|
||
databaseInfo: {
|
||
title: "Informações do Banco de Dados",
|
||
open: "Abrir informações do banco de dados {database}",
|
||
copy: "Copiar informações do banco de dados",
|
||
sourceConfigured: "Configuração atual",
|
||
sourceTested: "Testado",
|
||
configuredDescription: "Exibe as informações que podem ser determinadas no formulário; após um teste bem-sucedido, serão complementadas com a versão e os metadados do driver retornados pelo servidor.",
|
||
testedDescription: "As informações abaixo são da conexão usada neste teste bem-sucedido.",
|
||
productName: "Sistema de Gerenciamento de Banco de Dados",
|
||
productVersion: "Versão do banco de dados",
|
||
currentDatabase: "Banco de dados atual",
|
||
serverComment: "Descrição do servidor",
|
||
serverCharset: "Charset do servidor",
|
||
serverCollation: "Collation do servidor",
|
||
unquotedIdentifierCase: "Identificador sem aspas",
|
||
quotedIdentifierCase: "Identificador com aspas",
|
||
driverName: "Driver",
|
||
driverVersion: "Versão do driver",
|
||
jdbcVersion: "Versão do JDBC",
|
||
identifierCase: {
|
||
lower: "Minúsculas",
|
||
upper: "Maiúsculas",
|
||
mixed: "Maiúsculas e minúsculas",
|
||
},
|
||
},
|
||
elasticsearchDirectMode: "Conexão Direta",
|
||
elasticsearchKibanaProxyMode: "Proxy do Kibana",
|
||
elasticsearchKibanaHost: "Host do Kibana",
|
||
elasticsearchKibanaBasePath: "Caminho Base",
|
||
elasticsearchConnectivityCheckPath: "Caminho de conectividade",
|
||
elasticsearchConnectivityCheckPathPlaceholder: "/ ou /my-index/_search",
|
||
mqSystemRocketMq: "Apache RocketMQ",
|
||
rocketmqNamesrvAddr: "Endereço do NameServer",
|
||
rocketmqNamesrvAddrPlaceholder: "127.0.0.1:9876",
|
||
rocketmqNamesrvAddrRequired: "O endereço do NameServer do RocketMQ não pode estar vazio",
|
||
rocketmqNamesrvAddrInvalid: "Endereço do NameServer do RocketMQ inválido",
|
||
rocketmqClusterName: "Nome do cluster",
|
||
rocketmqClusterNamePlaceholder: "Opcional, ex: DefaultCluster",
|
||
rocketmqAccessKey: "Access Key",
|
||
rocketmqSecretKey: "Secret Key",
|
||
rocketmqAclAuth: "ACL",
|
||
jdbcMissingRuntimeDependencyHint: "O driver JDBC atual está sem dependências de execução. Por favor, instale-o usando as coordenadas Maven no 'Gerenciamento de Drivers' ou importe o driver e todos os JARs de dependência de uma só vez.",
|
||
showSystemSchemas: "Mostrar Schema do sistema",
|
||
showSystemSchemasHint: "Exibir Schemas de sistema/metadados integrados na barra lateral e no seletor de Schema para a conexão atual.",
|
||
sshHostKeyVerifyTitle: "Confirmar chave de host SSH desconhecida",
|
||
sshHostKeyVerifyMessage: "Não foi possível confirmar a autenticidade do host '{host}:{port}'. Para evitar ataques man-in-the-middle, verifique a impressão digital da chave do host com o administrador do servidor antes de continuar.",
|
||
sshHostKeyVerifyKeyType: "Tipo de chave",
|
||
sshHostKeyVerifyFingerprint: "Impressão digital",
|
||
sshHostKeyVerifyRemember: "Confiar neste host (lembrar desta chave para conexões futuras)",
|
||
sshHostKeyVerifyAccept: "Aceitar e conectar",
|
||
sshHostKeyVerifyReject: "Cancelar",
|
||
sshHostKeyNoticeChanged: "A chave do host {host}:{port} foi alterada, pode haver um ataque man-in-the-middle. Se esta alteração era esperada, exclua o registro antigo e reconecte.",
|
||
sshHostKeyNoticeRejected: "Você rejeitou a verificação da chave do host {host}:{port}. A conexão foi abortada e as credenciais não foram enviadas.",
|
||
sshHostKeyNoticeGeneric: "Falha na verificação da chave do host SSH {host}:{port}.",
|
||
sshHostKeyNoticeLearnFailed: "Não foi possível salvar a chave do host {host}:{port} — o host é confiável apenas nesta sessão, necessitando reconfirmação na próxima conexão.",
|
||
damengJvmOptions: "Propriedades do sistema da JVM",
|
||
damengJvmOptionsPlaceholder: "-Djava.net.preferIPv4Stack=true",
|
||
damengJvmOptionsHint: "Uma propriedade -Dkey ou -Dkey=value por linha. Valores com espaços não precisam de aspas do shell.",
|
||
damengJvmOptionsInvalid: "A linha {line} deve ser uma propriedade -Dkey ou -Dkey=value sem aspas do shell.",
|
||
},
|
||
editor: {
|
||
duckdbDraining: "A consulta anterior do DuckDB ainda está sendo interrompida. Tente novamente em breve.",
|
||
pressToExecute: "Pressione {mod}+Enter para executar",
|
||
pressToSaveSql: "Pressione {mod}+S para salvar o SQL",
|
||
queryTimeoutError: "A consulta expirou ({seconds}s). Verifique se a conexão com o banco de dados está saudável.",
|
||
changeQueryTimeout: "Alterar tempo limite da consulta",
|
||
connectionMayBeLost: "A conexão pode ter sido perdida. Atualize os dados e tente novamente.",
|
||
showResultsPane: "Mostrar resultados",
|
||
hideResultsPane: "Ocultar resultados",
|
||
noDatabase: "Nenhum banco de dados selecionado",
|
||
unsavedChangesTitle: "Alterações não salvas",
|
||
unsavedChangesMessage: '"{title}" tem alterações não salvas que serão perdidas se fechada. Salvar antes de fechar?',
|
||
unsavedChangesBatchCloseMessage: "Algumas abas que você está fechando têm alterações não salvas que serão perdidas. Salvar antes de continuar?",
|
||
unsavedChangesBatchCloseMultipleMessage: '{count} abas SQL que você está fechando têm alterações não salvas. O DBX está mostrando "{title}" no momento. Salvar antes de continuar?',
|
||
unsavedChangesAppCloseMessage: '"{title}" tem alterações SQL não salvas que serão perdidas se você sair do DBX. Salvar antes de sair?',
|
||
unsavedChangesAppCloseMultipleMessage: '{count} abas SQL têm alterações não salvas. O DBX está mostrando "{title}" no momento. Serão perdidas se você sair do DBX. Salvar antes de sair?',
|
||
unsavedChangesViewList: "Ver {count} abas",
|
||
unsavedChangesListTitle: "Abas não salvas ({count})",
|
||
discardChanges: "Descartar",
|
||
discardAllChanges: "Descartar tudo",
|
||
saveAllChanges: "Salvar tudo",
|
||
selectConnection: "Selecionar conexão",
|
||
searchConnection: "Pesquisar conexões...",
|
||
selectCatalog: "Selecionar catálogo",
|
||
searchCatalog: "Pesquisar catálogos...",
|
||
selectDatabase: "Selecionar banco de dados",
|
||
selectDatabaseRequired: "Selecione um banco de dados primeiro",
|
||
searchDatabase: "Pesquisar bancos de dados...",
|
||
selectSchema: "Selecionar schema",
|
||
searchSchema: "Pesquisar schemas...",
|
||
setDefaultDatabase: "Definir Padrão",
|
||
defaultDatabase: "Padrão",
|
||
clearDatabase: "Limpar banco de dados",
|
||
exPasteNoValues: "A área de transferência não contém valores para uma condição IN",
|
||
exPasteNotList: "Nenhuma lista de múltiplos valores conversível foi detectada",
|
||
exPasteTooLarge: "O conteúdo da área de transferência é grande demais. Máximo de {limit} caracteres.",
|
||
exPasteTooManyValues: "Valores demais. Máximo de {limit}.",
|
||
exPasteClipboardReadFailed: "Falha ao ler a área de transferência: {message}",
|
||
exPastePasted: "{count} valores de condição IN colados",
|
||
completion: {
|
||
nullValue: "Valor NULL",
|
||
isNull: "Verificar se é NULL",
|
||
isNotNull: "Verificar se não é NULL",
|
||
stringLiteral: "Literal de string",
|
||
numericLiteral: "Literal numérico",
|
||
booleanValue: "Valor booleano",
|
||
starExpansionColumns: "{count} colunas",
|
||
functionDescriptions: {
|
||
COUNT: "Retorna o número de linhas",
|
||
SUM: "Retorna a soma de uma coluna numérica",
|
||
AVG: "Retorna a média de uma coluna numérica",
|
||
MIN: "Retorna o valor mínimo",
|
||
MAX: "Retorna o valor máximo",
|
||
GROUP_CONCAT: "Concatena valores de grupo em uma string",
|
||
STRING_AGG: "Concatena strings de grupo",
|
||
CONCAT: "Concatena múltiplas strings",
|
||
CONCAT_WS: "Concatena strings com separador",
|
||
SUBSTRING: "Extrai uma substring",
|
||
REPLACE: "Substitui conteúdo em uma string",
|
||
TRIM: "Remove espaços no início e no fim",
|
||
UPPER: "Converte para maiúsculas",
|
||
LOWER: "Converte para minúsculas",
|
||
LENGTH: "Retorna o comprimento da string",
|
||
REGEXP_REPLACE: "Substitui usando uma expressão regular",
|
||
DATE_FORMAT: "Formata uma data com o formato informado",
|
||
DATEDIFF: "Calcula a diferença entre duas datas",
|
||
DATE_ADD: "Adiciona um intervalo a uma data",
|
||
DATE_SUB: "Subtrai um intervalo de uma data",
|
||
EXTRACT: "Extrai uma parte da data",
|
||
NOW: "Retorna a data e hora atuais",
|
||
CURRENT_DATE: "Retorna a data atual",
|
||
CURRENT_TIME: "Retorna a hora atual",
|
||
CURRENT_TIMESTAMP: "Retorna a data e hora atuais",
|
||
CURDATE: "Retorna a data atual",
|
||
CURTIME: "Retorna a hora atual",
|
||
LOCALTIME: "Retorna a hora local atual",
|
||
LOCALTIMESTAMP: "Retorna a data e hora local atuais",
|
||
UTC_DATE: "Retorna a data UTC atual",
|
||
UTC_TIME: "Retorna a hora UTC atual",
|
||
UTC_TIMESTAMP: "Retorna a data e hora UTC atuais",
|
||
SYSDATE: "Retorna a data e hora atuais",
|
||
DATE: "Extrai a parte da data",
|
||
TIME: "Extrai a parte da hora",
|
||
TIMESTAMPDIFF: "Retorna a diferença entre duas datas/horas",
|
||
YEAR: "Extrai o ano",
|
||
MONTH: "Extrai o mês",
|
||
DAY: "Extrai o dia",
|
||
HOUR: "Extrai a hora",
|
||
MINUTE: "Extrai o minuto",
|
||
SECOND: "Extrai o segundo",
|
||
DAYOFWEEK: "Retorna o índice do dia da semana",
|
||
DAYOFYEAR: "Retorna o dia do ano",
|
||
LAST_DAY: "Retorna o último dia do mês",
|
||
STR_TO_DATE: "Converte uma string em data",
|
||
IF: "Retorna um valor com base em uma condição",
|
||
LEFT: "Retorna os caracteres mais à esquerda",
|
||
RIGHT: "Retorna os caracteres mais à direita",
|
||
SUBSTRING_INDEX: "Retorna uma substring antes de um delimitador",
|
||
CHAR_LENGTH: "Retorna o comprimento em caracteres",
|
||
INSTR: "Retorna a posição de uma substring",
|
||
LOCATE: "Retorna a posição de uma substring",
|
||
LPAD: "Preenche uma string à esquerda",
|
||
RPAD: "Preenche uma string à direita",
|
||
FIND_IN_SET: "Retorna o índice em uma lista separada por vírgulas",
|
||
RAND: "Retorna um valor flutuante aleatório",
|
||
MD5: "Retorna o hash MD5",
|
||
SHA1: "Retorna o hash SHA1",
|
||
SHA2: "Retorna o hash SHA2",
|
||
ROUND: "Arredonda para o número de casas decimais especificado",
|
||
FLOOR: "Arredonda para baixo",
|
||
CEIL: "Arredonda para cima",
|
||
ABS: "Retorna o valor absoluto",
|
||
MOD: "Retorna o resto da divisão",
|
||
COALESCE: "Retorna o primeiro argumento não NULL",
|
||
IFNULL: "Retorna um valor de substituição se for NULL",
|
||
NULLIF: "Retorna NULL se os argumentos forem iguais",
|
||
CAST: "Converte uma expressão para um tipo de destino",
|
||
JSON_EXTRACT: "Extrai um valor de um JSON",
|
||
JSON_VALUE: "Extrai um valor escalar de um JSON",
|
||
JSON_OBJECT: "Cria um objeto JSON",
|
||
JSON_ARRAY: "Cria um array JSON",
|
||
},
|
||
},
|
||
contextMenu: {
|
||
executeSelection: "Executar seleção",
|
||
executeCurrent: "Executar SQL",
|
||
export: "Exportar",
|
||
exportQueryResultTo: "Exportar conjunto de resultados da consulta atual para {format}",
|
||
copySelection: "Copiar seleção",
|
||
sendToAi: "Enviar para IA",
|
||
uppercaseSelection: "Converter para maiúsculas",
|
||
lowercaseSelection: "Converter para minúsculas",
|
||
selectAll: "Selecionar tudo",
|
||
delimitedList: "Converter para lista delimitada",
|
||
findReplace: "Localizar/substituir",
|
||
deleteEmptyLines: "Excluir linhas vazias",
|
||
},
|
||
search: {
|
||
find: "Localizar",
|
||
replace: "Substituir",
|
||
replaceAll: "Substituir Tudo",
|
||
caseSensitive: "Diferenciar maiúsculas/minúsculas",
|
||
regex: "Expressão regular",
|
||
collapseReplace: "Recolher substituição",
|
||
expandReplace: "Expandir substituição",
|
||
prevMatch: "Anterior (Shift+Enter)",
|
||
nextMatch: "Próximo (Enter)",
|
||
selectAll: "Selecionar todas as correspondências",
|
||
selectAllLimit: "Selecionar todas as correspondências (até {limit})",
|
||
selectionTruncated: "Foram encontradas {total} correspondências; as primeiras {limit} foram selecionadas.",
|
||
selectionLimitSummary: "Selecionadas {limit}/{total}",
|
||
close: "Fechar (Esc)",
|
||
noResults: "Nenhum resultado",
|
||
inSelection: "Na seleção",
|
||
},
|
||
executionPicker: {
|
||
title: "Execution Target",
|
||
currentStatement: "Current SQL",
|
||
allStatements: "All SQL",
|
||
currentCommand: "Current command",
|
||
allCommands: "All commands",
|
||
},
|
||
statementExecutionRunning: "{count} instrução(ões) em execução",
|
||
statementExecutionSucceeded: "{count} instrução(ões) executada(s) com sucesso",
|
||
statementExecutionFailed: "{count} instrução(ões) com falha",
|
||
delimitedList: {
|
||
title: "Converter para lista delimitada",
|
||
columnDelimiter: "Delimitador de coluna",
|
||
resultDelimiter: "Delimitador de resultado",
|
||
quoteChar: "Caractere de aspas para strings",
|
||
wrapColumn: "Quebrar na coluna",
|
||
prefixText: "Texto de prefixo",
|
||
suffixText: "Texto de sufixo",
|
||
preview: "Visualização",
|
||
emptyPreview: "Nada para visualizar",
|
||
confirm: "Confirmar",
|
||
selectFirst: "Selecione o texto da lista primeiro",
|
||
},
|
||
},
|
||
tabs: {
|
||
sql: "SQL",
|
||
table: "Tabela",
|
||
tableData: "Dados da Tabela",
|
||
redis: "Redis",
|
||
etcd: "etcd",
|
||
zookeeper: "ZooKeeper",
|
||
mongo: "Mongo",
|
||
vector: "Vector",
|
||
objects: "Objetos",
|
||
users: "Usuários e Privilégios",
|
||
executionSummary: "Resumo",
|
||
tooltipTitle: "Título:",
|
||
tooltipFilePath: "Caminho do arquivo:",
|
||
tooltipConnection: "Conexão:",
|
||
tooltipGroup: "Grupo:",
|
||
tooltipDatabase: "Banco de dados:",
|
||
tooltipTable: "Tabela:",
|
||
tooltipCollection: "Coleção:",
|
||
tooltipSchema: "Schema:",
|
||
resultN: "Resultado {n}",
|
||
runN: "Executar {n}",
|
||
resultRuns: "Execuções de resultado",
|
||
resultSets: "Conjuntos de resultados",
|
||
removeRun: "Remover execução {n}",
|
||
autoKeepResults: "Manter resultados automaticamente",
|
||
autoKeepResultsEnabled: "Manutenção automática de resultados ativada",
|
||
autoKeepResultsDisabled: "Manutenção automática de resultados desativada",
|
||
autoRefresh: "Atualizar resultados automaticamente",
|
||
autoRefreshShort: "Auto",
|
||
autoRefreshEvery: "Atualizar a cada {seconds} s",
|
||
startAutoRefresh: "Iniciar atualização automática",
|
||
stopAutoRefresh: "Parar atualização automática",
|
||
missingResultRun: "Este resultado não está mais disponível",
|
||
exportResultArchive: "Salvar Arquivo de Resultados",
|
||
importResultArchive: "Importar Arquivo de Resultados",
|
||
importedResultArchive: "Resultados importados",
|
||
resultArchiveExported: "Resultados exportados",
|
||
resultArchiveImported: "Resultados importados",
|
||
resultArchiveUnavailable: "Nenhum resultado salvo disponível para exportar",
|
||
resultArchiveImportInvalid: "Este arquivo de resultados não pôde ser aberto",
|
||
resultArchiveExportFailed: "Falha ao exportar resultados: {message}",
|
||
resultArchiveImportFailed: "Falha ao importar resultados: {message}",
|
||
scrollLeft: "Rolar abas para a esquerda",
|
||
scrollRight: "Rolar abas para a direita",
|
||
openTabs: "Abas abertas",
|
||
fixedTabs: "Abas fixadas",
|
||
openDataTabs: "Tabelas abertas",
|
||
gridfs: "GridFS",
|
||
etcdDashboard: "painel etcd",
|
||
etcdAccessControl: "controle de acesso do etcd",
|
||
},
|
||
executionSummary: {
|
||
empty: "Nenhum resumo",
|
||
executing: "Executando...",
|
||
finished: "Execução concluída",
|
||
statement: "Instrução",
|
||
sql: "SQL",
|
||
status: "Status",
|
||
type: "Tipo",
|
||
rows: "Linhas",
|
||
affected: "Afetadas",
|
||
time: "Tempo",
|
||
success: "Sucesso",
|
||
error: "Erro",
|
||
returnedTable: "Retornou uma tabela de resultado com {count} colunas",
|
||
noTable: "Nenhuma tabela de resultado retornada",
|
||
noSql: "SQL indisponível",
|
||
navigationHint: "Clique para visualizar o SQL; clique duas vezes para selecioná-lo no editor.",
|
||
statuses: {
|
||
pending: "Pendente",
|
||
running: "Executando",
|
||
success: "Sucesso",
|
||
error: "Erro",
|
||
skipped: "Não executada",
|
||
cancelled: "Cancelada",
|
||
},
|
||
},
|
||
chart: {
|
||
title: "Gráfico",
|
||
type: "Tipo",
|
||
line: "Linha",
|
||
bar: "Barra",
|
||
pie: "Pizza",
|
||
noNumericData: "Nenhum dado numérico disponível para gerar o gráfico",
|
||
},
|
||
grid: {
|
||
rows: "{count} linhas",
|
||
totalRows: "Total de {count} linhas",
|
||
loadedRows: "{count} linhas carregadas",
|
||
totalRowCount: "({count} no total)",
|
||
totalRowCountAtLeast: "(pelo menos {count} no total)",
|
||
totalRowCountEstimated: "(aprox. {count})",
|
||
totalRowCountLoading: "(contando...)",
|
||
loadingMore: "Carregando mais dados...",
|
||
allLoaded: "tudo carregado",
|
||
calculateTotalRows: "Contar total de linhas",
|
||
calculateTotalRowsInline: "(contar total de linhas)",
|
||
calculateTotalRowsFailed: "Falha ao contar: {message}",
|
||
rowsAffected: "{count} linhas afetadas",
|
||
querySuccess: "Consulta executada com sucesso",
|
||
noRows: "Sem dados",
|
||
noRowsDescription: "Este conjunto de resultados não possui registros.",
|
||
noSearchResults: "Nenhuma correspondência",
|
||
noSearchResultsDescription: "Tente uma palavra-chave diferente.",
|
||
noFilteredRows: "Nenhuma linha corresponde ao filtro",
|
||
noFilteredRowsDescription: "Ajuste o texto de pesquisa ou o filtro de status das linhas.",
|
||
copy: "Copiar",
|
||
mongoJsonPreview: "Visualização JSON",
|
||
mongoJsonPreviewEmpty: "Selecione um documento MongoDB para visualizar.",
|
||
copyJson: "Copiar JSON",
|
||
copyDdl: "Copiar DDL",
|
||
copyCell: "Copiar Célula",
|
||
copyRow: "Copiar Linha (JSON)",
|
||
copyColumnJson: "Copiar Coluna (JSON)",
|
||
copyColumnNames: "Copiar Nomes das Colunas",
|
||
copyColumnNamesSelected: "Copiar Nomes das Colunas Selecionadas ({count})",
|
||
copyColumnNamesTitle: "Copiar Nomes das Colunas ({count})",
|
||
copyColumnNamesSeparator: "Separador de colunas",
|
||
copyColumnNamesQuote: "Escapar nomes das colunas",
|
||
copyColumnNamesPreview: "Pré-visualização",
|
||
copyAll: "Copiar Tudo (TSV)",
|
||
selectionSum: "SUM: {value}",
|
||
selectionCells: "{count} células",
|
||
clearSelection: "Limpar Seleção",
|
||
export: "Exportar",
|
||
exportCsv: "Exportar CSV",
|
||
exportXlsx: "Exportar XLSX",
|
||
exportXlsxWithSql: "Exportar XLSX com SQL",
|
||
exportCurrentPageCsv: "Exportar página atual como CSV",
|
||
exportCurrentPageXlsx: "Exportar página atual como XLSX",
|
||
exportCurrentPageXlsxWithSql: "Exportar página atual como XLSX com SQL",
|
||
exportCurrentPageJson: "Exportar página atual como JSON",
|
||
exportCurrentPageMarkdown: "Exportar página atual como Markdown",
|
||
exportCurrentPageSql: "Exportar página atual como SQL INSERT",
|
||
exportCurrentPageTxt: "Exportar página atual como TXT",
|
||
exportCurrentResultCsv: "Exportar todos os dados do resultado atual como CSV",
|
||
exportCurrentResultXlsx: "Exportar todos os dados do resultado atual como XLSX",
|
||
exportCurrentResultXlsxWithSql: "Exportar todos os dados do resultado atual como XLSX com SQL",
|
||
exportCurrentResultJson: "Exportar todos os dados do resultado atual como JSON",
|
||
exportCurrentResultMarkdown: "Exportar todos os dados do resultado atual como Markdown",
|
||
exportCurrentResultSql: "Exportar todos os dados do resultado atual como SQL INSERT",
|
||
exportCurrentResultTxt: "Exportar todos os dados do resultado atual como TXT",
|
||
exportAllResultsXlsx: "Exportar todos os conjuntos de resultados desta execução como XLSX",
|
||
exportAllResultsXlsxWithSql: "Exportar todos os conjuntos de resultados desta execução como XLSX com SQL",
|
||
exportJson: "Exportar JSON",
|
||
exportMarkdown: "Exportar Markdown",
|
||
exportSql: "Exportar SQL INSERT",
|
||
exportTxt: "Exportar TXT",
|
||
exportSelectedRowsCsv: "Exportar Linhas Selecionadas como CSV",
|
||
exportSelectedRowsXlsx: "Exportar Linhas Selecionadas como XLSX",
|
||
exportSelectedRowsXlsxWithSql: "Exportar Linhas Selecionadas como XLSX com SQL",
|
||
exportSelectedRowsJson: "Exportar Linhas Selecionadas como JSON",
|
||
exportSelectedRowsMarkdown: "Exportar Linhas Selecionadas como Markdown",
|
||
exportSelectedRowsSql: "Exportar Linhas Selecionadas como SQL INSERT",
|
||
exportSelectedRowsTxt: "Exportar Linhas Selecionadas como TXT",
|
||
exported: "Exportado",
|
||
exportFailed: "Falha na exportação: {message}",
|
||
copied: "Copiado",
|
||
copyFailed: "Falha ao copiar: {message}",
|
||
previewSqlEmpty: "Nenhuma alteração SQL pendente para visualizar",
|
||
renderMode: "Modo de renderização",
|
||
domRenderMode: "DOM",
|
||
canvasRenderMode: "Canvas",
|
||
renderModeHint: "Alterne entre a renderização Canvas e a grade DOM alternativa.",
|
||
tableFontFamily: "Fonte da tabela",
|
||
tableFontSize: "Tamanho da fonte da tabela",
|
||
filter: "Filtrar",
|
||
conditionHistoryEmpty: "Sem histórico ainda",
|
||
conditionHistoryNoMatches: "Sem histórico correspondente",
|
||
filterBuilder: "Filtros",
|
||
filterBuilderTitle: "Filtros",
|
||
filterBuilderHint: "Crie condições com cliques e combine-as com a entrada WHERE.",
|
||
filterBuilderSummary: "{count} regras",
|
||
filterBuilderAddRule: "Adicionar regra",
|
||
filterBuilderColumn: "Coluna",
|
||
filterBuilderValue: "Valor",
|
||
filterBuilderValueShortcutHint: "Shift+Enter pode adicionar uma regra",
|
||
filterBuilderValues: "Valores (separados por vírgulas ou quebras de linha)",
|
||
filterBuilderRangeStart: "Valor inicial",
|
||
filterBuilderRangeEnd: "Valor final",
|
||
filterBuilderNoValue: "Nenhum valor necessário",
|
||
filterBuilderEmpty: "Adicione uma regra para começar a filtrar linhas.",
|
||
resetFilterBuilder: "Redefinir regras",
|
||
filterBuilderEquals: "Igual a",
|
||
filterBuilderNotEquals: "Diferente de",
|
||
filterBuilderContains: "Contém",
|
||
filterBuilderNotContains: "Não contém",
|
||
filterBuilderGreaterThan: "Maior que",
|
||
filterBuilderLessThan: "Menor que",
|
||
filterBuilderIn: "Na lista",
|
||
filterBuilderNotIn: "Fora da lista",
|
||
filterBuilderBetween: "No intervalo",
|
||
filterBuilderNotBetween: "Fora do intervalo",
|
||
filterBuilderIsNull: "É NULL",
|
||
filterBuilderIsNotNull: "Não é NULL",
|
||
columnActions: "Ações da coluna",
|
||
localFilter: "Filtro local de valores",
|
||
localFilterFor: "Valores locais para '{column}'",
|
||
databaseValueFilter: "Filtro de valores do banco de dados",
|
||
databaseValueFilterFor: "Valores do banco de dados para '{column}'",
|
||
columnFormatter: "Formatador de coluna",
|
||
columnFormatterFor: "Formatador para '{column}'",
|
||
columnFormatterHint: "Formata apenas a exibição; os valores brutos permanecem inalterados.",
|
||
formatterType: "Tipo",
|
||
formatterDatetime: "Timestamp Unix",
|
||
formatterJsonPath: "Caminho JSON",
|
||
formatterMask: "Mascarar texto",
|
||
formatterCustomTemplate: "Template personalizado",
|
||
formatterTimestampUnit: "Unidade do timestamp",
|
||
formatterUnitAuto: "Automático",
|
||
formatterUnitSeconds: "Segundos",
|
||
formatterUnitMilliseconds: "Milissegundos",
|
||
formatterDatetimePattern: "Formato de data e horário",
|
||
formatterDatetimePatternPlaceholder: "Selecione ou insira um formato de data e horário",
|
||
formatterDatetimePatternEmpty: "Padrão ISO8601",
|
||
formatterDatetimeTimezone: "Fuso horário",
|
||
formatterDatetimeTimezonePlaceholder: "Selecione um fuso horário",
|
||
formatterJsonPathInput: "Caminho JSON",
|
||
formatterMaskPrefix: "Prefixo visível",
|
||
formatterMaskSuffix: "Sufixo visível",
|
||
formatterSavedCustom: "Templates salvos",
|
||
formatterNewCustom: "Novo template",
|
||
formatterCustomName: "Nome do template",
|
||
formatterCustomNamePlaceholder: "Exemplo: Rótulo do usuário",
|
||
formatterCustomTemplateInput: "Template",
|
||
formatterCustomTemplateHint: "Variáveis disponíveis: ${value}, ${upper}, ${lower}, ${length}. Dê um nome para salvá-lo na lista.",
|
||
formatterPreview: "Visualização",
|
||
saveFormatter: "Salvar",
|
||
clearFormatter: "Limpar",
|
||
searchValues: "Pesquisar valores...",
|
||
loadingValues: "Carregando valores...",
|
||
serverValuesLimited: "Mostrando os primeiros {count} valores",
|
||
filterTypedValue: "Usar '{value}'",
|
||
value: "Valor",
|
||
count: "Contagem",
|
||
applyFilter: "Aplicar Filtro",
|
||
clearLocalFilters: "Limpar filtros locais de valores",
|
||
clearLocalFiltersShort: "Limpar local",
|
||
localFiltersActive: "{count} filtros locais de valores",
|
||
localFilterMoreValues: " +{count} mais",
|
||
columnVisibility: "Colunas",
|
||
columnVisibilityHint: "Pelo menos uma coluna permanece visível.",
|
||
columnReorderHint: "Arraste para reordenar as colunas.",
|
||
columnReorderSearchHint: "Limpe a pesquisa para reordenar as colunas.",
|
||
searchColumns: "Pesquisar colunas...",
|
||
dragColumnToReorder: "Arraste o cabeçalho para reordenar",
|
||
invertColumnVisibility: "Inverter",
|
||
resetColumnOrder: "Redefinir ordem",
|
||
showAllColumns: "Mostrar todas",
|
||
viewOptions: "Opções de visualização",
|
||
resultRunDisplayMode: "Abas de resultados",
|
||
resultRunDisplayList: "Lista",
|
||
resultRunDisplayTabs: "Abas",
|
||
hideNullColumns: "Ocultar NULL",
|
||
hideNullColumnsHint: "Alterna colunas cujos valores são todos NULL no resultado atual.",
|
||
moreValues: "Mais {count} valores, continue digitando para refinar os resultados",
|
||
filterByValue: "Filtrar Por Este Valor",
|
||
filterExcludeValue: "Excluir Este Valor",
|
||
filterLike: "Contém o Valor",
|
||
filterNotLike: "Não Contém",
|
||
filterLessThan: "Menor Que o Valor",
|
||
filterGreaterThan: "Maior Que o Valor",
|
||
filterIsNull: "Mostrar Valores NULL",
|
||
filterIsNotNull: "Mostrar Valores Não NULL",
|
||
clearFilter: "Limpar Filtro",
|
||
sort: "Ordenar",
|
||
sortAscending: "Ordenar de Forma Crescente",
|
||
sortDescending: "Ordenar de Forma Decrescente",
|
||
sortCurrentPageAscending: "Ordenar Página Atual Crescente",
|
||
sortCurrentPageDescending: "Ordenar Página Atual Decrescente",
|
||
sortDatabaseAscending: "Ordenar Banco de Dados Crescente",
|
||
sortDatabaseDescending: "Ordenar Banco de Dados Decrescente",
|
||
clearSort: "Limpar Ordenação",
|
||
freezeToColumn: "Congelar até esta coluna",
|
||
freezeSelectedColumns: "Congelar colunas selecionadas",
|
||
unfreezeColumns: "Descongelar colunas",
|
||
pasted: "Colado!",
|
||
search: "Pesquisar...",
|
||
searchOrWhere: "Pesquise, ou insira uma cláusula WHERE...",
|
||
applyWhere: "Aplicar WHERE",
|
||
filterRows: "Filtrar linhas",
|
||
filterAllRows: "Todas as linhas",
|
||
filterChangedRows: "Alteradas",
|
||
page: "Página {page}",
|
||
rowsPerPage: "Linhas por página",
|
||
customRowsPerPage: "Linhas personalizadas",
|
||
applyPageSize: "Aplicar",
|
||
save: "Salvar",
|
||
discard: "Descartar",
|
||
dismiss: "Dispensar",
|
||
addRow: "Adicionar Linha",
|
||
insertMultipleRows: "Inserir várias linhas…",
|
||
insertRowsTitle: "Inserir várias linhas",
|
||
insertRowsDescription: "Cria este número de linhas de rascunho não salvas. Linhas vazias são ignoradas ao salvar; após salvar, a ordem de exibição segue a consulta atual.",
|
||
insertRowCountLabel: "Número de linhas",
|
||
insertRowCountInvalid: "Digite um número inteiro maior que 0.",
|
||
insertRowsMaxHint: "Até {max} linhas.",
|
||
insertRowsConfirm: "Inserir",
|
||
insertAboveSelected: "Inserir acima da linha selecionada",
|
||
insertBelowSelected: "Inserir abaixo da linha selecionada",
|
||
insertRowPositionLabel: "Posição",
|
||
insertPositionAbove: "Acima da linha selecionada",
|
||
insertPositionBelow: "Abaixo da linha selecionada",
|
||
insertPositionEnd: "No final dos dados",
|
||
quickEntryDraftPlaceholder: "Nova",
|
||
cloneRow: "Clonar como Nova Linha",
|
||
deleteRow: "Excluir Linha",
|
||
deleteRows: "Excluir {count} Linhas",
|
||
cloneRows: "Clonar {count} como Novas Linhas",
|
||
restoreRows: "Restaurar {count} Linhas",
|
||
copyRows: "Copiar {count} Linhas (JSON)",
|
||
copyColumnsJson: "Copiar {count} Colunas (JSON)",
|
||
selectedRows: "{count} linhas selecionadas",
|
||
restoreRow: "Restaurar Linha",
|
||
statusClean: "Sem alterações",
|
||
statusNew: "Itens Novos",
|
||
statusEdited: "Itens Atualizados",
|
||
statusDeleted: "Itens Excluídos",
|
||
pendingChanges: "{count} pendentes",
|
||
selectedCells: "{count} selecionadas",
|
||
bulkEditSelection: "Edição em Massa da Seleção",
|
||
bulkEditTitle: "Edição em Massa da Seleção",
|
||
bulkEditDescription: "Definir {count} célula(s) selecionada(s) para este valor.",
|
||
bulkEditValuePlaceholder: "Valor, ou NULL",
|
||
applyBulkEdit: "Aplicar",
|
||
generateValue: "Gerar valor",
|
||
generateEmptyString: "String vazia",
|
||
generateNull: "NULL",
|
||
generateCurrentDatetime: "Data e hora atuais",
|
||
generateCurrentDate: "Data atual",
|
||
generateUuid: "UUID",
|
||
generateIncrementId: "ID incremental",
|
||
generateSnowflakeId: "ID Snowflake",
|
||
generateSequenceDescription: "Gere valores consecutivos para {count} célula(s) selecionada(s). Informe o valor inicial.",
|
||
generateStartInvalid: "O valor inicial deve ser um número inteiro",
|
||
generatedValuesApplied: "Foram gerados {count} valor(es)",
|
||
cellDetails: "Detalhes da Célula",
|
||
cellDetailLayoutBottom: "Mover para Baixo",
|
||
cellDetailLayoutRight: "Mover para a Direita",
|
||
collapseCellDetailMetadata: "Recolher metadados da célula",
|
||
expandCellDetailMetadata: "Expandir metadados da célula",
|
||
openCellDetailsDialog: "Abrir Detalhes da Célula",
|
||
rowDetails: "Detalhes da Linha",
|
||
rowDetailsFor: "Detalhes da Linha {row}",
|
||
openRowDetailsDialog: "Abrir Detalhes da Linha",
|
||
openColumnDetailsDialog: "Abrir Detalhes da Coluna",
|
||
columnDetailsFor: "Detalhes da Coluna {column}",
|
||
columnsCount: "{count} colunas",
|
||
rowCount: "Linhas",
|
||
rowsCount: "{count} linhas",
|
||
fieldIndex: "Nº",
|
||
cellValue: "Valor",
|
||
valueEditor: "Editor de Valor",
|
||
hexViewer: "Visualizador Hex",
|
||
hexViewerByteCount: "{count} bytes",
|
||
hexViewerOffset: "Offset",
|
||
hexViewerHex: "Hex",
|
||
hexViewerAscii: "ASCII",
|
||
hexViewerEmpty: "Nenhum byte binário para exibir.",
|
||
imagePreview: "Visualização de Imagem",
|
||
imageLoadFailed: "Falha ao carregar a imagem",
|
||
geometryPreview: "Visualização de Geometria",
|
||
layerPreview: "Visualização de Camada",
|
||
layerPreviewSkipped: "{count} recurso(s) ignorado(s)",
|
||
layerPreviewNoSupportedCrs: "Não foi possível visualizar: sistema ausente ou não suportado",
|
||
layerPreviewNoGeometryData: "Não foi possível visualizar: não há dados geométricos válidos",
|
||
layerPreviewLabel: "Rótulo",
|
||
layerPreviewExport: "Exportar imagem",
|
||
layerPreviewMaximize: "Maximizar",
|
||
layerPreviewRestore: "Restaurar",
|
||
layerPreviewLoading: "Carregando mapa...",
|
||
layerPreviewCustomCrs: "EPSG personalizado…",
|
||
layerPreviewCustomCrsPlaceholder: "Código EPSG",
|
||
layerPreviewUnsupportedCrs: "Sistema de coordenadas não suportado: EPSG:{srid}",
|
||
layerPreviewCrsManual: "Sistema de coordenadas: manual",
|
||
layerPreviewCrsDetected: "Sistema de coordenadas: detectado",
|
||
layerPreviewCrsAssumed: "Sistema de coordenadas: presumido WGS 84",
|
||
insertRowsNotSupported: "O destino de salvamento atual não suporta a adição de linhas.",
|
||
zoomIn: "Aproximar",
|
||
zoomOut: "Afastar",
|
||
fitImage: "Ajustar à Visualização",
|
||
openImage: "Abrir Imagem",
|
||
columnName: "Coluna",
|
||
columnType: "Tipo",
|
||
columnComment: "Comentário",
|
||
rowNumber: "Linha",
|
||
valueLength: "Comprimento",
|
||
nullValue: "NULL",
|
||
noComment: "Sem comentário",
|
||
formattedJson: "JSON Formatado",
|
||
formatted: "Formatado",
|
||
formattedValue: "Valor Formatado",
|
||
detailSearchPlaceholder: "Buscar campo ou valor…",
|
||
detailSearchNoMatch: "Nenhuma correspondência",
|
||
rawValue: "Valor Bruto",
|
||
largeValuePreviewHint: "Visualizando os primeiros {count} caracteres. A cópia ainda usa o valor completo.",
|
||
copyValue: "Copiar Valor",
|
||
downloadBinaryValue: "Baixar Valor",
|
||
downloadSaved: "Salvo em {path}",
|
||
downloadStarted: "Download iniciado: {fileName}",
|
||
binaryDownload: {
|
||
binary: "Binário bruto",
|
||
utf8: "Texto decodificado (UTF-8)",
|
||
gbk: "Texto decodificado (GBK)",
|
||
},
|
||
copyRowTsv: "Copiar Linha (TSV)",
|
||
copyColumnValues: "Copiar Coluna (JSON)",
|
||
copyColumnTsv: "Copiar Coluna (TSV)",
|
||
editValue: "Editar Valor",
|
||
formatJson: "Formatar JSON",
|
||
compactJson: "Compactar JSON",
|
||
formattedJsonEditWarning: "Você está editando JSON formatado. Ao salvar, ele será gravado como JSON, então a formatação original pode mudar.",
|
||
setNull: "Definir NULL",
|
||
restoreOriginalValue: "Restaurar Original",
|
||
copyColumnName: "Copiar Nome da Coluna",
|
||
copyAlterColumnSql: "Copiar como SQL ALTER",
|
||
alterSqlCopied: "SQL ALTER copiado para a área de transferência",
|
||
alterSqlCopiedWithWarnings: "SQL ALTER copiado para a área de transferência ({count} aviso(s))",
|
||
noAlterSqlAvailable: "Nenhum SQL ALTER disponível para esta coluna",
|
||
copyAlterSqlFailed: "Falha ao copiar: {message}",
|
||
copySqlCondition: "Copiar Condição SQL",
|
||
transpose: "Transpor Linha",
|
||
transposeMultiRowToggle: "Várias linhas",
|
||
transposeSingleRow: "Linha atual",
|
||
transposeMultiRow: "Várias linhas",
|
||
transposeMultiRowHint: "Quando ativado, a visualização transposta mostra várias linhas. Quando desativado, mostra apenas a linha atual.",
|
||
rowsPerPageShort: " linhas",
|
||
columnDetails: "Detalhes da Coluna",
|
||
tableInfo: "Informações da Tabela",
|
||
tableInfoColumns: "Colunas",
|
||
tableInfoIndexes: "Índices",
|
||
tableInfoForeignKeys: "Chaves Estrangeiras",
|
||
foreignKeyNavigate: "Ir para {table}",
|
||
tableInfoTriggers: "Gatilhos",
|
||
tableInfoNullable: "Permite Nulo",
|
||
tableInfoEmpty: "Sem metadados",
|
||
tableInfoSearch: "Pesquisar...",
|
||
tableInfoNoResults: "Nenhum resultado",
|
||
goToColumn: "Ir para a coluna",
|
||
columnWidth: "Largura da coluna",
|
||
columnWidthCompact: "Compacto",
|
||
columnWidthStandard: "Padrão",
|
||
columnWidthComfortable: "Amplo",
|
||
searchColumn: "Buscar coluna/comentário...",
|
||
noColumnsFound: "Nenhuma coluna encontrada",
|
||
queryError: "Erro na Consulta",
|
||
dataUnavailable: "Os dados da tabela precisam ser recarregados.",
|
||
dataUnavailableHintPrefix: "Pressione ",
|
||
dataUnavailableHintSuffix: " ou clique em Atualizar abaixo para recarregar.",
|
||
refresh: "Atualizar",
|
||
undoChange: "Desfazer alteração",
|
||
redoChange: "Refazer alteração",
|
||
commit: "Confirmar",
|
||
rollback: "Reverter",
|
||
transactionSaveHint: "Confirmar {count} alteração(ões) pendente(s) em uma transação.",
|
||
nonTransactionalSaveHint: "Salvar {count} alteração(ões) pendente(s) uma a uma. Se uma falhar, as alterações bem-sucedidas anteriores não serão revertidas.",
|
||
keylessEditWarning: "Sem chave primária",
|
||
keylessEditWarningHint: "Esta tabela não possui chave primária. Atualizações e exclusões usam todos os valores originais da linha na cláusula WHERE; linhas exatamente duplicadas podem ser afetadas juntas.",
|
||
queryEditReadOnly: "Resultado somente leitura",
|
||
queryEditUnsupported: {
|
||
"not-select": "Apenas resultados de consultas SELECT podem ser editados diretamente.",
|
||
cte: "Consultas com WITH/CTE ainda não são editáveis. Use um SELECT simples de tabela única.",
|
||
"set-operation": "Resultados de UNION, INTERSECT ou EXCEPT não podem ser mapeados com segurança de volta às linhas de origem.",
|
||
aggregation: "Resultados de DISTINCT, GROUP BY, HAVING e agregações não podem ser editados diretamente.",
|
||
"external-source": "Arquivos externos e resultados de funções de tabela não podem ser gravados de volta diretamente. Importe-os para uma tabela do banco de dados antes de editar.",
|
||
"complex-source": "O DBX não conseguiu identificar exatamente uma tabela de destino segura para gravar este resultado.",
|
||
"computed-columns": "Expressões computadas ou resultados de funções não podem ser gravados de volta. Selecione os nomes brutos das colunas em vez disso.",
|
||
"no-table": "Nenhuma tabela de origem editável foi detectada.",
|
||
"no-primary-key": "A tabela de destino não possui chave primária, portanto as linhas não podem ser atualizadas ou excluídas com segurança.",
|
||
"primary-key-not-returned": "O resultado está sem a coluna bruta da chave primária. Inclua-a pelo seu nome de coluna original.",
|
||
"aliased-columns": "As colunas do resultado usam aliases ou expressões. Selecione colunas editáveis pelos seus nomes originais.",
|
||
"metadata-unavailable": "O DBX não conseguiu carregar os metadados da tabela, portanto a edição do resultado está desabilitada.",
|
||
},
|
||
sortUnsupported: "Este SQL não suporta a ordenação do resultado completo. Tente novamente com uma única consulta SELECT.",
|
||
truncatedHint: "Os resultados foram truncados após carregar {count} linhas. Use a paginação no rodapé para navegar pelos dados carregados; exportar o resultado completo executa novamente a consulta no banco de dados.",
|
||
filterBuilderSearchColumns: "Pesquisar campos...",
|
||
filterBuilderNoMatchingColumns: "Nenhum campo correspondente",
|
||
copyExtractorWithHeaders: "{format} (com cabeçalhos)",
|
||
copyExtractorOneRow: "CSV de linha única",
|
||
copyExtractorSqlInList: "Lista SQL IN",
|
||
copyExtractorSqlInserts: "Instruções SQL INSERT",
|
||
copyExtractorSqlInsertsWithPrimaryKeys: "Instruções SQL INSERT (com chaves primárias)",
|
||
copyExtractorSqlInsertsWithoutPrimaryKeys: "Instruções SQL INSERT (sem chaves primárias)",
|
||
copyExtractorSqlUpdates: "Instruções SQL UPDATE",
|
||
copyExtractorWhereClause: "Condição WHERE",
|
||
copyExtractorPipeSeparated: "Separado por pipe",
|
||
copyExtractorPretty: "Tabela formatada",
|
||
copyExtractorConfigure: "Configurar extrator de dados…",
|
||
copyExtractorDefaultFormat: "Formato de cópia padrão",
|
||
copyExtractorFormat: "Extrator",
|
||
copyExtractorColumnSeparator: "Separador de coluna",
|
||
copyExtractorRowSeparator: "Separador de linha",
|
||
copyExtractorNullText: "Texto NULL",
|
||
copyExtractorQuote: "Caractere de aspas",
|
||
copyExtractorQuotePolicy: "Política de aspas",
|
||
copyExtractorQuoteMinimal: "Quando necessário",
|
||
copyExtractorQuoteAlways: "Sempre",
|
||
copyExtractorQuoteNever: "Nunca",
|
||
copyExtractorIncludeHeader: "Incluir nomes de colunas",
|
||
copyExtractorIncludeRowHeader: "Incluir números de linha",
|
||
copyExtractorSkipComputed: "Pular colunas computadas",
|
||
copyExtractorSkipGenerated: "Pular colunas geradas",
|
||
copyExtractorExcludePrimaryKeys: "Excluir chaves primárias",
|
||
copyExtractorInsertMode: "Modo de instrução INSERT",
|
||
copyExtractorInsertMerged: "Mesclar várias linhas",
|
||
copyExtractorInsertRowByRow: "Uma instrução por linha",
|
||
copyExtractorPrettyJson: "JSON formatado",
|
||
copyExtractorPreview: "Visualizar (seleção atual)",
|
||
copyExtractorEmptySelection: "Selecione dados para visualizar os resultados da extração.",
|
||
copyExtractorUnsupportedSelection: "O extrator atual exige que as mesmas colunas sejam selecionadas para cada linha.",
|
||
copyExtractorPreviewTruncated: "Atualmente visualizando apenas as primeiras 100 das {count} linhas selecionadas.",
|
||
copyExtractorWarningOmittedColumns: "O resultado da cópia omitiu as seguintes colunas: {columns}.",
|
||
copyExtractorWarningDuplicateJsonColumns: "Nomes de colunas JSON duplicados detectados, renomeados automaticamente para evitar perda de dados.",
|
||
copyExtractorValidation: {
|
||
"column-separator-empty": "O separador de coluna não pode estar vazio.",
|
||
"row-separator-empty": "O separador de linha não pode estar vazio.",
|
||
"separator-too-long": "O separador pode conter no máximo 8 caracteres.",
|
||
"null-text-too-long": "O texto NULL pode conter no máximo 64 caracteres.",
|
||
"separators-overlap": "O separador de coluna e o separador de linha não podem se conter mutuamente.",
|
||
"invalid-quote": "O caractere de aspas deve ter exatamente um caractere.",
|
||
"quote-conflicts": "O caractere de aspas não pode aparecer no separador de coluna ou no separador de linha.",
|
||
},
|
||
cachedResultUnavailable: "Resultado em cache ausente ou incompatível.",
|
||
reexecuteQuery: "Reexecutar consulta",
|
||
numericColumnAlign: "Alinhamento de colunas numéricas",
|
||
numericColumnAlignLeft: "Alinhamento à esquerda",
|
||
numericColumnAlignRight: "Alinhamento à direita",
|
||
batchAppendPasteNotEditable: "O resultado atual não é editável.",
|
||
batchAppendPasteInvalidTarget: "Selecione primeiro o número da linha de uma nova linha vazia e depois cole.",
|
||
batchAppendPasteTargetNotEmpty: "A nova linha selecionada já contém dados.",
|
||
batchAppendPasteEmpty: "Não há linhas para adicionar na área de transferência.",
|
||
batchAppendPasteReadonlyColumn: "Os dados colados contêm colunas não editáveis.",
|
||
xlsxHeaderTitle: "Formato do cabeçalho",
|
||
xlsxHeaderPrompt: "Selecione o formato do cabeçalho a ser usado ao exportar Excel:",
|
||
xlsxHeaderOriginal: "Cabeçalho usa nome do campo",
|
||
xlsxHeaderComment: "Cabeçalho usa comentário",
|
||
},
|
||
exportProgress: {
|
||
streamingUnsupported: "A exportação em streaming não é compatível com esta consulta. Simplifique-a ou use um driver compatível.",
|
||
agentSessionMissing: "A exportação em streaming requer uma sessão de conjunto de resultados, mas este driver não retornou session_id.",
|
||
title: "Exportando Dados da Tabela",
|
||
fetching: "Buscando dados do banco de dados...",
|
||
writing: "Gravando no arquivo...",
|
||
done: "Exportação concluída!",
|
||
error: "Falha na exportação",
|
||
cancelled: "Exportação cancelada.",
|
||
rowsCount: "{exported} / {total} linhas",
|
||
rowsExported: "{count} linhas exportadas",
|
||
rowsShort: "linhas",
|
||
cancel: "Cancelar",
|
||
minimize: "Minimizar para segundo plano",
|
||
openFolder: "Abrir pasta do arquivo",
|
||
openFolderFailed: "Falha ao abrir a pasta: {message}",
|
||
close: "Fechar",
|
||
tooltip: "Progresso da Exportação",
|
||
failedTooltip: "{count} tarefa em segundo plano falhou | {count} tarefas em segundo plano falharam",
|
||
popoverTitle: "Exportações",
|
||
noTasks: "Nenhuma exportação",
|
||
clearFinished: "Limpar concluídas",
|
||
showMore: "Mostrar mais {count}",
|
||
showLess: "Mostrar menos",
|
||
delete: "Remover",
|
||
databaseExportTitle: "Backup de banco de dados: {name}",
|
||
sqlFileTitle: "Arquivo SQL: {name}",
|
||
dataTransferTitle: "Transferência de dados: {name}",
|
||
objectsCount: "{current} / {total} objetos",
|
||
tablesCount: "{current} / {total} tabelas",
|
||
statementsCount: "{done} com sucesso, {failed} com falha",
|
||
elapsed: "Decorrido: {duration}",
|
||
showFailureDetails: "Detalhes das falhas ({count})",
|
||
hideFailureDetails: "Ocultar detalhes das falhas",
|
||
failureDetailTruncated: "Os detalhes do erro foram truncados",
|
||
failureDetailsOmitted: "{count} detalhes adicionais de falha não exibidos",
|
||
},
|
||
welcome: {
|
||
title: "Área de Trabalho do Banco de Dados",
|
||
subtitle: "Escolha uma conexão à esquerda para navegar pelo schema ou abra uma aba de consulta diretamente.",
|
||
connections: "Conexões",
|
||
connected: "Conectado",
|
||
databaseTypes: "Tipos de Banco de Dados",
|
||
quickConnections: "Início Rápido",
|
||
quickConnectionsHint: "Clique em uma conexão para abrir uma aba de consulta.",
|
||
shortcuts: "Atalhos",
|
||
shortcutsHint: "Inicie a próxima ação a partir daqui.",
|
||
sqlHistory: "Histórico de Consultas",
|
||
sqlHistoryEmpty: "Nenhum registro da Biblioteca SQL ainda",
|
||
sqlHistoryOpenCount: "Aberto {count} vezes",
|
||
unknownConnection: "Conexão desconhecida",
|
||
tip: "Você também pode expandir as conexões à esquerda e clicar com o botão direito em bancos de dados ou tabelas para mais ações.",
|
||
tipSidebar: "Clique em uma tabela à esquerda para visualizar os dados",
|
||
tipExecute: "para executar a consulta",
|
||
fileOpened: "{name} aberto",
|
||
mcpTitle: "Integração com Agente de IA",
|
||
mcpDescription: "Além do assistente de IA integrado, você também pode usar Claude Code, Cursor e outros agentes de codificação para consultar seus bancos de dados via MCP.",
|
||
mcpLearnMore: "Saiba mais",
|
||
},
|
||
backendErrors: {
|
||
jdbc: {
|
||
connectionFailed: "A conexão com o banco falhou antes do início da operação (etapa: {stage}).",
|
||
connectionInterrupted: "A conexão com o banco foi interrompida durante a operação (etapa: {stage}).",
|
||
operationTimedOut: "A operação do banco excedeu o tempo limite (etapa: {stage}).",
|
||
operationCanceled: "A operação do banco foi cancelada (etapa: {stage}).",
|
||
busyRetryLater: "O Agent do banco está ocupado; tente novamente mais tarde (etapa: {stage}).",
|
||
runtimeReplaced: "O runtime do Agent do banco foi substituído (etapa: {stage}).",
|
||
sqlFailed: "O banco retornou um erro SQL (etapa: {stage}).",
|
||
protocolFailed: "O protocolo do Agent do banco falhou.",
|
||
contractInvalid: "O Agent do banco retornou um contrato de erro inválido.",
|
||
legacyFailure: "O Agent do banco retornou um erro não classificado.",
|
||
},
|
||
legacy: "O backend retornou um erro.",
|
||
unknown: "Ocorreu um erro inesperado no backend.",
|
||
},
|
||
common: {
|
||
fileNotFound: "O arquivo não existe: {path}",
|
||
language: "Idioma",
|
||
loading: "Carregando...",
|
||
stopping: "Parando...",
|
||
close: "Fechar",
|
||
cancel: "Cancelar",
|
||
confirm: "Confirmar",
|
||
save: "Salvar",
|
||
clear: "Limpar",
|
||
retry: "Tentar novamente",
|
||
more: "Mais",
|
||
decrease: "Diminuir",
|
||
increase: "Aumentar",
|
||
showPassword: "Mostrar senha",
|
||
hidePassword: "Ocultar senha",
|
||
done: "Concluído",
|
||
copy: "Copiar",
|
||
import: "Importar",
|
||
remove: "Remover",
|
||
connection: "Conexão",
|
||
database: "Banco de dados",
|
||
table: "Tabela",
|
||
view: "Visualização",
|
||
materializedView: "Visualização Materializada",
|
||
procedure: "Procedimento",
|
||
function: "Função",
|
||
sequence: "Sequência",
|
||
package: "Pacote",
|
||
packageBody: "Corpo do Pacote",
|
||
noResults: "Sem resultados",
|
||
edit: "Editar",
|
||
delete: "Excluir",
|
||
back: "Voltar",
|
||
},
|
||
dateTimePicker: {
|
||
open: "Abrir seletor de data e hora",
|
||
inputLabel: "Data e hora",
|
||
inputPlaceholder: "AAAA-MM-DD HH:mm:ss",
|
||
previousMonth: "Mês anterior",
|
||
nextMonth: "Próximo mês",
|
||
calendarLabel: "Calendário",
|
||
timeLabel: "Hora",
|
||
hour: "Hora",
|
||
minute: "Minuto",
|
||
second: "Segundo",
|
||
cancel: "Cancelar",
|
||
apply: "Aplicar",
|
||
invalidDateTime: "Insira uma data e hora válidas",
|
||
outOfRange: "A data e hora está fora do intervalo permitido",
|
||
},
|
||
quickOpen: {
|
||
placeholder: "Pesquisar conexões, bancos de dados, tabelas, arquivos SQL e outros objetos...",
|
||
emptyPlaceholder: "Comece a digitar para pesquisar",
|
||
noResults: "Nenhum resultado encontrado",
|
||
results: "resultados",
|
||
navigate: "Navegar",
|
||
select: "Selecionar",
|
||
close: "Fechar",
|
||
sqlFile: "Arquivo SQL",
|
||
sqlLibraryFile: "Biblioteca SQL",
|
||
},
|
||
explain: {
|
||
title: "Plano de Execução",
|
||
standardTable: "Tabela",
|
||
tree: "Árvore",
|
||
summary: "Resumo",
|
||
running: "Lendo plano de execução...",
|
||
empty: "Nenhum plano de execução",
|
||
nodeCount: "{count} nós",
|
||
node: "Nó",
|
||
relation: "Tabela",
|
||
index: "Índice",
|
||
cost: "Custo",
|
||
rows: "Linhas",
|
||
details: "Detalhes",
|
||
canvas: "Canvas",
|
||
costShare: "Custo (%)",
|
||
estRows: "Linhas est.",
|
||
actualRows: "Linhas reais",
|
||
zoomIn: "Aumentar zoom",
|
||
zoomOut: "Diminuir zoom",
|
||
zoomFit: "Ajustar",
|
||
legendHeat: "Cor = % do custo total",
|
||
legendEdge: "Espessura = linhas",
|
||
inspectorEmpty: "Selecione um nó",
|
||
catResult: "Resultado",
|
||
catSort: "Sort",
|
||
catJoin: "Join",
|
||
catTscan: "Table scan",
|
||
catIscan: "Index scan",
|
||
catLookup: "Row lookup",
|
||
catMat: "Materialização",
|
||
catAgg: "Agregação",
|
||
catXchg: "Paralelismo",
|
||
catMod: "Modificação",
|
||
catOther: "Outro",
|
||
unsupported: "O plano de execução ainda não é suportado para este banco de dados",
|
||
emptySql: "Nenhum SQL para explicar",
|
||
unsafe: "Esta primeira versão explica apenas instruções SELECT / WITH / TABLE / VALUES",
|
||
},
|
||
lineage: {
|
||
title: "Linhagem de Campo",
|
||
open: "Visualizar Linhagem de Campo",
|
||
loading: "Lendo metadados {done}/{total}",
|
||
empty: "Nenhuma linhagem relacionada encontrada",
|
||
noFiltered: "Nenhum resultado corresponde aos filtros atuais",
|
||
targetField: "Campo Atual",
|
||
searchPlaceholder: "Pesquisar tabelas, campos, visões ou trechos de SQL...",
|
||
showing: "Mostrando {shown}/{total} resultados",
|
||
all: "Todos",
|
||
certain: "Certo",
|
||
likely: "Provável",
|
||
possible: "Possível",
|
||
queryHistory: "Histórico de Consultas",
|
||
openTable: "Abrir tabela",
|
||
copy: "Copiar nome",
|
||
copied: "Copiado",
|
||
kind: {
|
||
foreignKey: "Chave Estrangeira",
|
||
viewReference: "Visão",
|
||
historyReference: "Histórico de SQL",
|
||
sameName: "Mesmo Nome",
|
||
},
|
||
description: {
|
||
foreignKeyIncoming: "{target} aponta para o campo atual através de uma chave estrangeira. Esta é uma dependência verificada.",
|
||
foreignKeyOutgoing: "O campo atual referencia {target} através de uma chave estrangeira. Esta é uma dependência verificada.",
|
||
viewLikely: "A definição da visão menciona tanto a tabela quanto o campo de destino, geralmente indicando dependência de consulta.",
|
||
viewPossible: "A definição da visão menciona um campo de mesmo nome, mas não a tabela de destino, então precisa de confirmação.",
|
||
historyLikely: "Uma instrução SQL histórica menciona tanto a tabela quanto o campo de destino. Use-a como contexto de análise de impacto.",
|
||
historyPossible: "Uma instrução SQL histórica menciona um campo de mesmo nome. Pode estar relacionado, mas precisa de contexto.",
|
||
sameName: "Outra tabela possui um campo de mesmo nome. Isso pode compartilhar significado de negócio, mas não é uma dependência verificada do banco de dados.",
|
||
},
|
||
cancel: "Cancelar",
|
||
refresh: "Analisar Novamente",
|
||
},
|
||
connectionGroup: {
|
||
createGroup: "Novo Grupo",
|
||
groupNamePlaceholder: "Nome do grupo",
|
||
renameGroup: "Renomear Grupo",
|
||
deleteGroup: "Excluir Grupo",
|
||
moveToGroup: "Mover para Grupo",
|
||
moveToNewGroup: "Mover para Novo Grupo",
|
||
ungrouped: "Sem grupo",
|
||
ungroupedLabel: "Sem grupo",
|
||
newGroup: "Novo Grupo...",
|
||
newGroupDefault: "Novo Grupo",
|
||
deleteGroupConfirmTitle: "Excluir Grupo",
|
||
deleteGroupConfirmMessage: 'Excluir o grupo "{name}"? As conexões dentro dele serão movidas para o nível superior.',
|
||
selectConnection: "Selecionar conexão",
|
||
deselectConnection: "Desmarcar conexão",
|
||
selectAllConnections: "Selecionar todas as conexões",
|
||
deselectAllConnections: "Desmarcar todas as conexões",
|
||
exitMultiSelect: "Sair da seleção múltipla",
|
||
},
|
||
databaseSearch: {
|
||
title: "Pesquisar no Banco de Dados",
|
||
open: "Pesquisar no Banco de Dados",
|
||
keyword: "Palavra-chave",
|
||
keywordPlaceholder: "Digite um ID de usuário, e-mail, número de pedido...",
|
||
limitPerTable: "Por tabela",
|
||
search: "Pesquisar",
|
||
searching: "Pesquisando",
|
||
stop: "Parar",
|
||
hint: "Verifica tabelas comuns no banco de dados ou schema atual. Colunas binárias são ignoradas e cada tabela é limitada para evitar carregar dados em excesso de uma só vez.",
|
||
loadingTables: "Lendo lista de tabelas...",
|
||
progress: "{done}/{total} tabelas verificadas",
|
||
resultCount: "{count} correspondências",
|
||
limitedTables: "Schema grande detectado; apenas as primeiras {count} tabelas são verificadas",
|
||
results: "Resultados",
|
||
openResult: "Abrir",
|
||
waiting: "Aguardando correspondências...",
|
||
noResults: "Nenhuma correspondência ainda",
|
||
errors: "Algumas tabelas falharam",
|
||
},
|
||
configExport: {
|
||
passphraseTitle: "Criptografar e Exportar",
|
||
passphraseImportTitle: "Descriptografar e Importar",
|
||
passphraseExportHint: "Para incluir as senhas de conexão na exportação, defina uma frase secreta para a criptografia. Você precisará da mesma frase secreta para importar.",
|
||
passphraseImportHint: "Este arquivo está criptografado. Digite a frase secreta para descriptografar e importar.",
|
||
passphrase: "Frase secreta",
|
||
passphraseConfirm: "Confirmar Frase Secreta",
|
||
passphrasePlaceholder: "Digite a frase secreta",
|
||
passphraseConfirmPlaceholder: "Digite novamente a frase secreta",
|
||
passphraseRequired: "A frase secreta é obrigatória",
|
||
passphraseMismatch: "As frases secretas não coincidem",
|
||
passphraseTooShort: "A frase secreta deve ter pelo menos 4 caracteres",
|
||
exportEncrypted: "Exportar",
|
||
decryptImport: "Descriptografar e Importar",
|
||
wrongPassphrase: "Frase secreta incorreta ou arquivo corrompido",
|
||
cryptoUnavailable: "A importação criptografada não está disponível neste contexto do navegador. Use HTTPS, localhost ou DBX Desktop.",
|
||
exportSuccess: "Conexões exportadas com sucesso",
|
||
importSuccess: "{count} conexão(ões) importada(s)",
|
||
importNavicatSuccess: "{count} conexão(ões) do Navicat importada(s). Preencha qualquer conexão cuja senha ainda esteja vazia antes de testar.",
|
||
importDatagripSuccess: "{count} conexão(ões) DataGrip importada(s), {filled} senha(s) preenchida(s) do Keychain.",
|
||
importDbeaverSuccess: "{count} conexão(ões) do DBeaver importada(s). Preencha qualquer conexão cuja senha ainda esteja vazia antes de testar.",
|
||
importNone: "Nenhuma conexão nova para importar",
|
||
importLayoutConfirm: "O arquivo importado contém grupos de conexões. Aplicá-los?",
|
||
importLayoutTitle: "Importar Grupos",
|
||
importLayoutApply: "Aplicar",
|
||
importDatagripSelectFiles: "Selecione dataSources.xml (obrigatório), você também pode selecionar dataSources.local.xml e db-forest-config.xml",
|
||
importDatagripDialogTitle: "Selecione o arquivo de configuração do DataGrip",
|
||
},
|
||
ai: {
|
||
placeholder: "Descreva sua consulta em linguagem natural...",
|
||
settings: "Configurações de AI",
|
||
noConfig: "A AI não está configurada. Configure seu provedor de AI em Configurações > AI.",
|
||
provider: "Provedor",
|
||
providerStatusActive: "Ativo",
|
||
providerStatusConfigured: "Configurado",
|
||
switchProvider: "Trocar provedor",
|
||
model: "Modelo",
|
||
defaultModel: "Modelo padrão",
|
||
browseModels: "Explorar modelos",
|
||
refreshModels: "Atualizar modelos",
|
||
loadingModels: "Carregando modelos...",
|
||
modelLoadFailed: "Falha ao carregar modelos",
|
||
retry: "Tentar novamente",
|
||
searchModels: "Pesquisar modelos",
|
||
noModels: "Nenhum modelo carregado",
|
||
noModelMatch: "Nenhum modelo correspondente",
|
||
selectModel: "Selecionar modelo",
|
||
noModel: "Nenhum modelo configurado",
|
||
manualModel: "Inserir ID do modelo manualmente",
|
||
manualModelPlaceholder: "ID do modelo",
|
||
effort: "Esforço",
|
||
providerDefault: "Padrão do provedor",
|
||
loadingEffort: "Carregando níveis de esforço...",
|
||
effortLoadFailed: "Falha ao carregar níveis de esforço",
|
||
effortEnabled: "Ativado",
|
||
effortDisabled: "Desativado",
|
||
customEffortPlaceholder: "Inserir valor de esforço",
|
||
effortUnsupported: "Este modelo não permite configurar esforço",
|
||
configNameEmpty: "O nome da configuração não pode estar vazio",
|
||
configNameExists: "O nome da configuração '{name}' já existe",
|
||
|
||
configList: "Lista de configurações AI",
|
||
addConfig: "Adicionar configuração",
|
||
noAiConfigs: "Nenhuma configuração AI",
|
||
setDefault: "Definir como padrão",
|
||
editConfig: "Editar configuração",
|
||
configName: "Nome da configuração",
|
||
configNamePlaceholder: "Digite o nome",
|
||
modelList: "Lista de modelos",
|
||
modelId: "ID do modelo",
|
||
modelDisplayName: "Nome de exibição",
|
||
add: "Adicionar",
|
||
fetching: "Buscando...",
|
||
fetchModelList: "Buscar modelos da API",
|
||
default: "Padrão",
|
||
deleteConfigTitle: "Excluir configuração",
|
||
deleteConfigConfirm: "Excluir esta configuração?",
|
||
modelListHint: "Clique em atualizar para carregar os modelos do provedor.",
|
||
modelListUnsupported: "Este provedor não oferece suporte à obtenção de uma lista de modelos.",
|
||
modelListEndpointRequired: "Informe um endpoint antes de carregar os modelos.",
|
||
modelListApiKeyRequired: "Informe uma API key antes de carregar os modelos.",
|
||
codexMcpRequiredTitle: "DBX MCP Server obrigatório",
|
||
codexMcpRequiredDescription: "O Codex CLI usa o DBX MCP Server para acessar o schema do banco e as ferramentas de consulta. Instale-o antes de usar o Codex no assistente de AI.",
|
||
codexCliPath: "Caminho do Codex CLI",
|
||
codexCliPathHint: "Deixe vazio para usar o codex do PATH. Faça login separadamente com codex login.",
|
||
codexCliPathEnvError: "Codex CLI Path deve conter apenas o caminho do executável. Adicione variáveis de ambiente abaixo.",
|
||
codexCliEnv: "Variáveis de ambiente",
|
||
codexCliEnvAdd: "Adicionar variável",
|
||
codexCliEnvHint: "Variáveis opcionais passadas ao Codex CLI, como HTTPS_PROXY, NO_PROXY, SSL_CERT_FILE ou CODEX_CA_CERTIFICATE.",
|
||
codexCliEnvKeyPlaceholder: "HTTPS_PROXY",
|
||
codexCliEnvValuePlaceholder: "http://proxy:9800",
|
||
codexCliEnvInvalidName: "Nome de variável de ambiente inválido: {name}",
|
||
codexCliEnvReservedName: "{name} é gerenciada pelo DBX para o MCP Server e não pode ser definida aqui.",
|
||
cliMcpRequiredTitle: "DBX MCP Server required",
|
||
cliMcpRequiredDescription: "{provider} uses the DBX MCP Server to access database schema and query tools. Install it before using this provider in the AI assistant.",
|
||
cliPath: "{provider} Path",
|
||
cliPathHint: "Leave empty to use {command} from PATH. Sign in separately with {loginCommand}.",
|
||
cliPathEnvError: "{provider} path should contain only the executable path. Add environment variables below.",
|
||
cliEnv: "Environment variables",
|
||
cliEnvAdd: "Add variable",
|
||
cliEnvHint: "Optional variables passed to {provider}, such as HTTPS_PROXY, NO_PROXY, or SSL_CERT_FILE.",
|
||
cliEnvKeyPlaceholder: "HTTPS_PROXY",
|
||
cliEnvValuePlaceholder: "http://proxy:9800",
|
||
cliEnvInvalidName: "Invalid environment variable name: {name}",
|
||
cliEnvReservedName: "{name} is managed by DBX for the MCP server and cannot be set here.",
|
||
reasoningLevel: "Nível de raciocínio",
|
||
reasoningLevelDefault: "Padrão",
|
||
reasoningLevelMinimal: "Mínimo",
|
||
reasoningLevelLow: "Baixo",
|
||
reasoningLevelMedium: "Médio",
|
||
reasoningLevelHigh: "Alto",
|
||
reasoningLevelXhigh: "Muito alto",
|
||
reasoningLevelMax: "Máximo",
|
||
reasoningLevelHint: "Controla model_reasoning_effort do Codex CLI. Padrão usa sua configuração do Codex.",
|
||
claudeCodeEffortHint: "Os níveis disponíveis são informados dinamicamente pelo Claude Code CLI local para o modelo selecionado.",
|
||
claudeCodeEffortUnavailable: "O modelo selecionado não informa níveis de effort configuráveis. O Claude Code usará o padrão.",
|
||
cliErrors: {
|
||
code: "Código do erro: {code}",
|
||
details: "Detalhes de diagnóstico:",
|
||
reportHint: "Ao relatar este problema, inclua o código do erro e os detalhes de diagnóstico abaixo.",
|
||
claudeCodeNotInstalled: "Claude Code CLI não foi encontrado. Instale o Claude Code ou defina o caminho do executável em Configurações > AI.",
|
||
claudeCodeCliPathInvalid: "O caminho do Claude Code CLI é inválido. Selecione apenas o executável do Claude e configure as variáveis de ambiente separadamente.",
|
||
claudeCodeEnvInvalid: "O nome de uma variável de ambiente do Claude Code CLI é inválido. Use nomes como HTTPS_PROXY.",
|
||
claudeCodeEnvReserved: "Uma variável MCP gerenciada pelo DBX foi sobrescrita. Remova as variáveis DBX_MCP_* da configuração do provedor.",
|
||
claudeCodeNotAuthenticated: "Claude Code CLI não está autenticado. Execute `claude auth login` em um terminal e tente novamente.",
|
||
claudeCodeMcpConfigInvalid: "O Claude Code não conseguiu ler ou analisar a configuração MCP do DBX. Verifique a versão e o caminho do executável do Claude Code CLI.",
|
||
dbxMcpMissing: "Uma instalação compatível do DBX MCP Server não foi encontrada. Verifique Configurações > MCP e reinstale ou atualize.",
|
||
claudeCodeMcpStartupFailed: "O Claude Code carregou a configuração MCP, mas não conseguiu iniciar o DBX MCP Server. Verifique Configurações > MCP e os detalhes abaixo.",
|
||
claudeCodeCommandLineTooLong: "O Windows rejeitou o comando do Claude Code porque era muito longo. Atualize o DBX e tente novamente com o arquivo MCP gerado.",
|
||
claudeCodeRunFailed: "Claude Code CLI foi encerrado inesperadamente. Use o código do erro e os detalhes abaixo para identificar o executável ou a saída com falha.",
|
||
piAgentNotInstalled: "Pi Coding Agent não foi encontrado. Instale o Pi ou defina o caminho do executável em Configurações > AI.",
|
||
piAgentCliPathInvalid: "O caminho do Pi Coding Agent é inválido. Selecione apenas o executável do Pi e configure as variáveis de ambiente separadamente.",
|
||
piAgentEnvInvalid: "O nome de uma variável de ambiente do Pi Coding Agent é inválido. Use nomes como HTTPS_PROXY.",
|
||
piAgentEnvReserved: "Uma variável Pi ou MCP gerenciada pelo DBX foi sobrescrita. Remova DBX_PI_* e DBX_MCP_* da configuração.",
|
||
piAgentNotAuthenticated: "O Pi Coding Agent não possui um provedor de modelos autenticado. Configure ou entre em um provedor com o Pi.",
|
||
piAgentMcpStartupFailed: "O Pi não conseguiu iniciar a ponte MCP do DBX. Verifique Configurações > MCP e os detalhes abaixo.",
|
||
piAgentTimeout: "O Pi Coding Agent não respondeu antes do tempo limite da operação.",
|
||
piAgentProtocolError: "O Pi Coding Agent retornou uma resposta RPC inválida. Verifique a versão do Pi e os detalhes abaixo.",
|
||
piAgentModelInvalid: "O identificador do modelo Pi é inválido. Atualize a lista e selecione uma entrada provider/model.",
|
||
piAgentRunFailed: "O Pi Coding Agent foi encerrado inesperadamente. Use o código do erro e os detalhes abaixo para identificar a falha.",
|
||
},
|
||
run: "Executar",
|
||
readingSchema: "Lendo schema",
|
||
noConnection: "Nenhuma conexão disponível para esta aba",
|
||
noSql: "Nenhum SQL para processar",
|
||
sqlPreview: "Pré-visualização do SQL",
|
||
copySql: "Copiar SQL",
|
||
copyCode: "Copiar Código",
|
||
executeSql: "Executar SQL",
|
||
tempRunSql: "Executar sem modificar",
|
||
copyAll: "Copiar Tudo",
|
||
copied: "Copiado",
|
||
copyTestResult: "Copiar resultado do teste",
|
||
testErrorAuth: "A autenticação ou o acesso falhou. Verifique a chave de API, as permissões do projeto e se a API está ativada.",
|
||
testErrorModelNotFound: "O modelo não está disponível. Verifique o ID do modelo e o acesso da conta.",
|
||
testErrorRateLimit: "O limite de solicitações ou a cota foi excedido. Tente mais tarde ou verifique a cota.",
|
||
testErrorTimeout: "A solicitação expirou. Verifique a rede, o proxy e o endpoint.",
|
||
testErrorTokenLimit: "Nenhum texto visível foi gerado porque o limite de tokens de saída se esgotou.",
|
||
testErrorSafety: "A política de segurança do Gemini bloqueou o prompt ou a resposta.",
|
||
testErrorEmptyResponse: "O serviço ou proxy fechou o fluxo sem retornar texto visível.",
|
||
testErrorNetwork: "A conexão de rede falhou. Verifique o endpoint e o proxy.",
|
||
testErrorUnknown: "O teste falhou por um motivo não classificado.",
|
||
replace: "Substituir Editor",
|
||
append: "Anexar ao Editor",
|
||
apply: "Aplicar ao Editor",
|
||
clear: "Limpar Conversa",
|
||
welcome: "Diga o que você gostaria de consultar e eu escreverei o SQL",
|
||
requestFailed: "Falha na solicitação de AI",
|
||
newChat: "Nova Conversa",
|
||
thinking: "Pensando...",
|
||
reasoningProcess: "Processo de raciocínio",
|
||
chars: "car.",
|
||
stopGenerating: "Parar geração",
|
||
scrollToBottom: "Voltar ao fim",
|
||
tableMentionEmpty: "Nenhuma tabela ou arquivo SQL correspondente",
|
||
tableMentionPlaceholderHint: "Digite {'@'} para mencionar tabelas ou arquivos SQL como contexto",
|
||
tableMentionTypes: {
|
||
table: "Tabela",
|
||
view: "Visão",
|
||
systemTable: "Tabela do sistema",
|
||
temporaryTable: "Tabela temporária",
|
||
},
|
||
modes: {
|
||
ask: "Perguntar",
|
||
agent: "Agente",
|
||
},
|
||
modeHints: {
|
||
ask: "Gera SQL e explicações sem executá-los automaticamente",
|
||
agent: "Executa automaticamente consultas seguras quando possível",
|
||
},
|
||
fixWithAi: "Corrigir com AI",
|
||
truncated: "Contexto truncado",
|
||
contextSummary: "{database} · {tables} tabelas",
|
||
autoSqlBlocked: "O SQL gerado pela AI pareceu arriscado demais para execução automática. Revise-o manualmente antes de executar.",
|
||
proposalConfirmYes: "Sim, continuar",
|
||
proposalConfirmNo: "Não, obrigado",
|
||
proposalConfirmTitle: "Confirmação de ação necessária",
|
||
globalInstructions: "Instruções globais personalizadas",
|
||
globalInstructionsDescription: "Aplicadas automaticamente a todas as conversas com IA.",
|
||
globalInstructionsCharCount: "{count}/{max} caracteres",
|
||
globalInstructionsSaved: "Instruções globais salvas",
|
||
globalInstructionsSave: "Salvar",
|
||
globalInstructionsTooLong: "Instruções globais muito longas (máx. {max} caracteres)",
|
||
customInstructionsLoadFailed: "Falha ao carregar instruções personalizadas de IA. Tente novamente.",
|
||
maxAgentTurns: "Limite de turnos do agente",
|
||
maxAgentTurnsDescription: "Máximo de turnos de ferramentas por execução do agente de API antes de pausar e pedir para continuar. Provedores CLI usam seus próprios limites.",
|
||
maxAgentTurnsRange: "{min}–{max}, padrão {default}",
|
||
maxAgentTurnsSaved: "Limite de turnos do agente salvo",
|
||
promptTemplates: "Modelos de prompt por cenário",
|
||
promptTemplatesDescription: "Selecione um ou mais modelos no assistente de IA para injetar convenções específicas do cenário.",
|
||
promptTemplateNew: "Novo modelo",
|
||
promptTemplateEdit: "Editar modelo",
|
||
promptTemplateName: "Nome do modelo",
|
||
promptTemplateNamePlaceholder: "ex. Regras de BD de produção",
|
||
promptTemplateContent: "Conteúdo do modelo",
|
||
promptTemplateContentPlaceholder: "Descreva a convenção ou instrução...",
|
||
promptTemplateNameEmpty: "O nome do modelo não pode estar vazio",
|
||
promptTemplateNameExists: "O nome de modelo '{name}' já existe",
|
||
promptTemplateContentRequired: "O conteúdo do modelo não pode estar vazio",
|
||
promptTemplateDeleteTitle: "Excluir modelo",
|
||
promptTemplateDeleteConfirm: "Excluir modelo '{name}'? Esta ação não pode ser desfeita.",
|
||
promptTemplateTooLong: "Conteúdo do modelo muito longo (máx. {max} caracteres)",
|
||
promptTemplateNameTooLong: "Nome do modelo muito longo (máx. {max} caracteres)",
|
||
promptTemplateSaved: "Modelo salvo",
|
||
promptTemplateDeleted: "Modelo excluído",
|
||
promptTemplateNoTemplates: "Nenhum modelo ainda. Crie um para começar.",
|
||
promptTemplateManage: "Gerenciar modelos",
|
||
promptTemplateSavedHint: "As alterações são salvas automaticamente.",
|
||
templateSelectorNone: "Não selecionado",
|
||
templateSelectorButton: "Modelos",
|
||
templateSelectorLabel: "Modelos: {label}",
|
||
templateSelectorDeselectAll: "Desmarcar todos",
|
||
templateSelectorLoading: "Carregando...",
|
||
templateSelectorEmpty: "Nenhum modelo. Clique em Gerenciar para adicionar.",
|
||
templateSelectorTooLong: "Os modelos selecionados excedem o limite total de conteúdo ({max} caracteres). Desmarque alguns para continuar.",
|
||
exportMarkdown: "Exportar como Markdown",
|
||
analysis: "AI Analysis",
|
||
agentSteps: {
|
||
generated: "SQL gerado",
|
||
noSql: "Nenhum SQL encontrado",
|
||
safe: "Verificação de segurança aprovada",
|
||
needsConfirm: "Requer confirmação",
|
||
blocked: "Bloqueado",
|
||
autoExecute: "Pronto para executar",
|
||
notRequested: "Execução não solicitada",
|
||
skipped: "Não executado",
|
||
callingTool: "Chamando ferramenta...",
|
||
toolDone: "Ferramenta concluída",
|
||
toolError: "Erro da ferramenta",
|
||
executeSafe: "Verificação de segurança aprovada · Executado",
|
||
executeBlocked: "Bloqueado pela verificação de segurança",
|
||
contextCompacted: "Contexto compactado",
|
||
},
|
||
agentStepTitles: {
|
||
riskCheck: "Verificação de risco: {action} · {category} · {environment} · {reasons}",
|
||
blocked: "A execução foi bloqueada pela política de risco. Revise o SQL manualmente.",
|
||
requiresConfirmation: "Este SQL requer confirmação antes da execução.",
|
||
askMode: "O modo Perguntar não executa SQL automaticamente.",
|
||
unsupportedAction: "A ação atual de AI não executa SQL automaticamente.",
|
||
noSql: "A resposta não incluiu um bloco de código SQL executável.",
|
||
notRequested: "O usuário não solicitou a execução do SQL.",
|
||
skipped: "Esta etapa não foi executada.",
|
||
},
|
||
proxy: "Proxy",
|
||
proxyEnable: "Enviar requisições de AI através do proxy",
|
||
proxyUrl: "URL do Proxy",
|
||
anthropicMessagesHint: "APIs compatíveis com Anthropic Messages geralmente usam /v1/messages.",
|
||
openAiCompatibleEndpointHint: "A maioria das APIs compatíveis com OpenAI requer o prefixo de caminho /v1.",
|
||
contextWindow: "Janela de Contexto",
|
||
contextWindowAuto: "Automático (detectar pelo nome do modelo)",
|
||
contextWindowHint: "Tokens. Deixe vazio para detecção automática. Defina manualmente para modelos locais/personalizados.",
|
||
maxRetriesGlobal: "Máximo de Tentativas",
|
||
maxRetriesGlobalDescription: "Número de tentativas automáticas em erros transitórios de API (limite de taxa, timeout, falhas de rede). Aplica-se a todos os provedores de IA via API. Provedores CLI (claude-code, codex, pi) não são afetados.",
|
||
maxRetriesRange: "{min}–{max}, padrão {default}",
|
||
maxRetriesSaved: "Máximo de tentativas salvo",
|
||
enableThinking: "Raciocínio",
|
||
enableThinkingOn: "Ativado",
|
||
enableThinkingOff: "Desativado",
|
||
enableThinkingHint: "Esta opção só tem efeito em APIs /chat/completions e modelos compatíveis. Quando desativada, pode reduzir significativamente o uso de tokens, mas a qualidade dos resultados gerados pode diminuir ligeiramente.",
|
||
actions: {
|
||
general: "Geral",
|
||
generate: "Gerar SQL",
|
||
explain: "Explicar SQL",
|
||
optimize: "Otimizar SQL",
|
||
fix: "Corrigir Erro",
|
||
convert: "Converter Dialeto",
|
||
sampleData: "Dados de Exemplo",
|
||
query: "Consultar dados",
|
||
exploreSchema: "Inspecionar esquema",
|
||
executeAndExplain: "Executar e explicar",
|
||
generateNoExec: "Gerar (sem executar)",
|
||
},
|
||
placeholders: {
|
||
general: "Pergunte qualquer coisa...",
|
||
generate: "Descreva o que você quer consultar, por exemplo, pedidos por usuário nos últimos 7 dias",
|
||
explain: "Opcional: adicione o que você quer entender",
|
||
optimize: "Opcional: adicione um objetivo, por exemplo, reduzir varreduras completas de tabela",
|
||
fix: "Cole o erro ou descreva o resultado esperado",
|
||
convert: "por exemplo, converter para PostgreSQL / MySQL / SQL Server",
|
||
sampleData: "Descreva os dados de exemplo ou instruções de teste a gerar",
|
||
query: "Descreva o que consultar ou contar, por exemplo, totais de pedidos por região este mês",
|
||
exploreSchema: "Descreva a tabela ou estrutura a inspecionar, por exemplo, colunas e índices de orders",
|
||
executeAndExplain: "Opcional: adicione o foco da explicação",
|
||
},
|
||
editMessage: "Editar mensagem",
|
||
editResend: "Reenviar",
|
||
editCancel: "Cancelar",
|
||
cannotDeleteActiveConfig: "Não é possível excluir a configuração ativa atual. Mude para outra configuração primeiro.",
|
||
maxRetries: "Número máximo de tentativas",
|
||
maxRetriesHint: "Tente novamente automaticamente ao encontrar limitação de taxa, tempo limite ou erro de rede temporário. 0 = não tentar novamente, máximo 10.",
|
||
},
|
||
contextMenu: {
|
||
openConnection: "Abrir Conexão",
|
||
closeConnection: "Fechar Conexão",
|
||
closeDatabaseConnection: "Fechar Conexão do Banco de Dados",
|
||
deleteConnection: "Excluir Conexão",
|
||
deleteSelectedConnections: "Excluir {count} conexões selecionadas",
|
||
confirmDeleteTitle: "Excluir Conexão",
|
||
confirmDeleteMessage: 'Tem certeza de que deseja excluir "{name}"? Esta ação não pode ser desfeita.',
|
||
confirmDeleteSelectedMessage: "Excluir as {count} conexões selecionadas? Esta ação não pode ser desfeita.",
|
||
editConnection: "Editar Conexão",
|
||
revealDatabaseFile: "Mostrar no gerenciador de arquivos",
|
||
selectVisibleDatabases: "Selecionar Bancos de Dados Visíveis",
|
||
configureVisibleObjects: "Filtro de Objetos Visíveis",
|
||
userAdmin: "Usuários e Privilégios",
|
||
openUserAdmin: "Abrir Usuários e Privilégios",
|
||
damengJobAdmin: "Jobs do agente Dameng",
|
||
openDamengJobAdmin: "Abrir jobs do agente Dameng",
|
||
duplicateConnection: "Duplicar Conexão",
|
||
duplicateSelectedConnections: "Duplicar {count} conexões selecionadas",
|
||
instanceInfo: "Informações da Instância",
|
||
newQuery: "Nova Consulta",
|
||
newSql: "Novo SQL",
|
||
generateSql: "Gerar SQL",
|
||
newInsert: "Novo Insert",
|
||
newUpdate: "Novo Update",
|
||
sqlHistory: "Histórico de Consultas",
|
||
noSqlHistory: "Nenhum SQL relacionado",
|
||
openObjectBrowser: "Explorar Objetos",
|
||
viewData: "Ver Dados",
|
||
openInNewDataTab: "Ver em nova aba",
|
||
editStructure: "Editar Estrutura",
|
||
editColumn: "Editar Coluna",
|
||
editIndex: "Editar Índice",
|
||
refreshChildren: "Atualizar",
|
||
expandAll: "Expandir tudo",
|
||
tableNameFilters: "Filtros...",
|
||
tableNameFiltersDescription: "Mostra apenas tabelas que correspondem à lista include e oculta as que correspondem à lista exclude. Um padrão SQL LIKE por linha.",
|
||
tableNameFilterInclude: "Padrões de tabelas incluídas",
|
||
tableNameFilterExclude: "Padrões de tabelas excluídas",
|
||
tableNameFilterIncludePlaceholder: "Exemplo:\nads_%\nuser_%",
|
||
tableNameFilterExcludePlaceholder: "Exemplo:\n%_bak\ntmp_%",
|
||
tableNameFilterLikeHint: "Use sintaxe SQL LIKE: % corresponde a qualquer texto, _ a um caractere. A comparação ignora maiúsculas.",
|
||
pin: "Fixar",
|
||
reorderPinned: "Reordenar item fixado",
|
||
unpin: "Desafixar",
|
||
fixTab: "Fixar aba",
|
||
unfixTab: "Desafixar aba",
|
||
refreshTab: "Atualizar Dados",
|
||
renameTab: "Renomear Aba",
|
||
duplicateTab: "Duplicar Aba",
|
||
compactTabTitle: "Encurtar Títulos das Abas",
|
||
fullTabTitle: "Mostrar títulos completos das abas",
|
||
closeTab: "Fechar Aba",
|
||
closeFixedTab: "Fechar Aba Fixa",
|
||
closeOtherTabs: "Fechar Outras Abas",
|
||
closeOtherRegularTabs: "Fechar Outras Abas Normais",
|
||
closeOtherFixedTabs: "Fechar Outras Abas Fixas",
|
||
closeAllTabs: "Fechar Todas as Abas",
|
||
closeAllRegularTabs: "Fechar Todas as Abas Normais",
|
||
closeAllFixedTabs: "Fechar Todas as Abas Fixas",
|
||
copyFinalProxyPort: "Copiar porta final do proxy",
|
||
finalProxyPortCopied: "Porta final do proxy {port} copiada",
|
||
copyName: "Copiar Nome",
|
||
setDefaultDatabase: "Definir como Banco de Dados Padrão",
|
||
clearDefaultDatabase: "Limpar Banco de Dados Padrão",
|
||
exportDatabase: "Exportar Banco de Dados",
|
||
exportAllDatabases: "Exportar todos os bancos de dados",
|
||
exportDatabaseSuccess: "{count} tabelas exportadas, até {limit} linhas cada",
|
||
exportDatabaseFailed: "Falha ao exportar banco de dados: {message}",
|
||
backupSqliteDatabase: "Backup SQLite Database",
|
||
backupSqliteDatabaseInProgress: "Backing up SQLite database...",
|
||
backupSqliteDatabaseSuccess: "SQLite database backed up",
|
||
backupSqliteDatabaseFailed: "Failed to backup SQLite database: {message}",
|
||
importData: "Importar Dados",
|
||
exportData: "Exportar Dados",
|
||
exportStructure: "Exportar Estrutura",
|
||
exportStructurePreviewTitle: "Estrutura - {name}",
|
||
exportStructurePreviewTitleMultiple: "Estrutura - {count} objetos",
|
||
exportStructureLoading: "Carregando estrutura...",
|
||
copyStructure: "Copiar Estrutura",
|
||
copyStructureAs: "Copiar Estrutura Como",
|
||
copyStructureAsTsv: "TSV (para Excel)",
|
||
copyStructureAsMarkdown: "Tabela Markdown",
|
||
structureDocTable: "Tabela",
|
||
structureDocColumn: "Coluna",
|
||
structureDocType: "Tipo",
|
||
structureDocPrimaryKey: "Chave Primária",
|
||
structureDocNullable: "Anulável",
|
||
structureDocDefault: "Padrão",
|
||
structureDocComment: "Comentário",
|
||
structureDocYes: "Sim",
|
||
structureDocNo: "Não",
|
||
structureDocCopied: "Estrutura copiada",
|
||
structureDocCopyFallbackHint: "A cópia automática foi bloqueada. Clique em Copiar novamente ou selecione o conteúdo abaixo.",
|
||
saveStructure: "Salvar SQL",
|
||
exportStructureCopied: "Estrutura copiada",
|
||
createTable: "Criar Tabela",
|
||
createView: "Criar Visão",
|
||
dropTable: "Remover Tabela",
|
||
emptyTable: "Esvaziar Tabela",
|
||
truncateTable: "Truncar Tabela",
|
||
duplicateStructure: "Clonar como Nova Tabela",
|
||
renameObject: "Renomear",
|
||
renameObjectTitle: "Renomear Objeto",
|
||
renameObjectNamePlaceholder: "Novo nome",
|
||
renameObjectSuccess: '"{oldName}" renomeado para "{newName}"',
|
||
confirmDropTableTitle: "Remover Tabela",
|
||
confirmDropTableMessage: 'Tem certeza de que deseja remover "{name}"? Isso excluirá permanentemente a tabela e todos os seus dados.',
|
||
dropTableCascade: "Usar CASCADE",
|
||
dropTableCascadeHint: "Também remove objetos dependentes, como views. Deixe desmarcado para usar o comportamento RESTRICT padrão do PostgreSQL.",
|
||
truncateTableCascade: "Usar CASCADE",
|
||
truncateTableCascadeHint: "Também trunca tabelas que referenciam esta tabela por chaves estrangeiras. Deixe desmarcado para usar o comportamento RESTRICT padrão do PostgreSQL.",
|
||
confirmEmptyTableTitle: "Esvaziar Tabela",
|
||
confirmEmptyTableMessage: 'Tem certeza de que deseja excluir todos os dados de "{name}"?',
|
||
confirmTruncateTableTitle: "Truncar Tabela",
|
||
confirmTruncateTableMessage: 'Tem certeza de que deseja truncar "{name}"? Isso removerá todas as linhas.',
|
||
dropTableSuccess: 'Tabela "{name}" removida',
|
||
editView: "Editar Visão",
|
||
viewSource: "Ver Código-fonte",
|
||
viewDdl: "Ver DDL",
|
||
viewDdlLoading: "Carregando DDL...",
|
||
ddlCopied: "DDL copiado",
|
||
dropObject: "Remover Objeto",
|
||
dropView: "Remover Visão",
|
||
dropColumn: "Remover Coluna",
|
||
dropIndex: "Remover Índice",
|
||
dropAllIndexes: "Remover todos os índices",
|
||
dropForeignKey: "Remover Chave Estrangeira",
|
||
dropTrigger: "Remover Gatilho",
|
||
batchDrop: "Remover selecionados ({count})",
|
||
batchEmpty: "Esvaziar selecionadas ({count})",
|
||
batchTruncate: "Truncar selecionadas ({count})",
|
||
executeProcedure: "Executar Procedimento",
|
||
confirmExecuteProcedureTitle: "Executar Procedimento",
|
||
confirmExecuteProcedureMessage: 'Executar o procedimento "{name}"? Você pode preencher ou ajustar os valores dos parâmetros primeiro.',
|
||
loadingProcedureParameters: "Carregando parâmetros...",
|
||
procedureParametersUnavailable: "Não foi possível carregar os metadados dos parâmetros. Você ainda pode editar o SQL abaixo e executá-lo.",
|
||
noProcedureParameters: "Nenhum parâmetro foi encontrado. O SQL atual será executado como exibido.",
|
||
inputParameters: "{count} parâmetros de entrada",
|
||
outputParameters: "{count} parâmetros de saída",
|
||
parameterName: "Nome",
|
||
parameterType: "Tipo",
|
||
parameterMode: "Modo",
|
||
parameterValue: "Valor",
|
||
parameterNull: "NULL",
|
||
parameterDefault: "DEFAULT",
|
||
parameterDefaultHint: "Quando DEFAULT está marcado, o DBX omite esse argumento para que o banco de dados use o padrão do procedimento.",
|
||
parameterValuePlaceholder: "Digite o valor",
|
||
outputOnly: "Apenas saída",
|
||
sqlPreview: "Pré-visualização do SQL",
|
||
resetSqlPreview: "Redefinir SQL",
|
||
openInSqlEditor: "Abrir no Editor",
|
||
dropProcedure: "Remover Procedimento",
|
||
dropFunction: "Remover Função",
|
||
createMongoIndex: "Criar índice",
|
||
createMongoIndexTitle: 'Criar índice: "{collection}"',
|
||
createMongoIndexFields: "Campos do índice",
|
||
createMongoIndexFieldRequired: "Selecione ou informe um campo em cada linha.",
|
||
mongoIndexAscending: "Ascendente (1)",
|
||
mongoIndexDescending: "Descendente (-1)",
|
||
createMongoIndexNamePlaceholder: "Gerado automaticamente",
|
||
createMongoIndexNameHint: "Deixe em branco para o MongoDB gerar o nome com base nos campos e tipos.",
|
||
createMongoIndexSparse: "Esparso",
|
||
batchDropIndexes: "Remover índices ({count})",
|
||
confirmDropViewTitle: "Remover Visão",
|
||
confirmDropViewMessage: 'Tem certeza de que deseja remover a visão "{name}"?',
|
||
confirmDropObjectTitle: "Remover Objeto",
|
||
confirmDropObjectMessage: 'Tem certeza de que deseja remover "{name}"?',
|
||
confirmDropColumnTitle: "Remover Coluna",
|
||
confirmDropIndexTitle: "Remover Índice",
|
||
confirmDropMongoIndexMessage: 'Tem certeza de que deseja remover o índice "{name}" da coleção "{collection}"?',
|
||
confirmDropMongoAllIndexesMessage: 'Tem certeza de que deseja remover todos os índices removíveis da coleção "{name}"?',
|
||
confirmDropMongoAllIndexesDetails: 'O MongoDB mantém o índice "_id_". Índices adicionais exigidos por shard key também podem permanecer; o resultado listará apenas os índices realmente removidos.',
|
||
confirmDropForeignKeyTitle: "Remover Chave Estrangeira",
|
||
confirmDropTriggerTitle: "Remover Gatilho",
|
||
confirmDropTableChildObjectMessage: 'Tem certeza de que deseja remover "{name}" de "{table}"?',
|
||
confirmDropBatchIndexesMessage: 'Tem certeza de que deseja remover {count} índices selecionados de "{table}"? Esta ação não pode ser desfeita.',
|
||
confirmBatchDropTitle: "Remover Objetos Selecionados",
|
||
confirmBatchDropMessage: "Tem certeza de que deseja remover {count} objetos selecionados? Esta ação não pode ser desfeita.",
|
||
confirmBatchEmptyTitle: "Esvaziar tabelas selecionadas",
|
||
confirmBatchEmptyMessage: "Tem certeza de que deseja excluir todos os dados de {count} tabelas selecionadas?",
|
||
confirmBatchTruncateTitle: "Truncar tabelas selecionadas",
|
||
confirmBatchTruncateMessage: "Tem certeza de que deseja truncar {count} tabelas selecionadas? Isso removerá todas as linhas.",
|
||
confirmDropProcedureTitle: "Remover Procedimento",
|
||
confirmDropProcedureMessage: 'Tem certeza de que deseja remover o procedimento "{name}"?',
|
||
confirmDropFunctionTitle: "Remover Função",
|
||
confirmDropFunctionMessage: 'Tem certeza de que deseja remover a função "{name}"?',
|
||
dropViewSuccess: 'Visão "{name}" removida',
|
||
dropProcedureSuccess: 'Procedimento "{name}" removido',
|
||
dropFunctionSuccess: 'Função "{name}" removida',
|
||
dropTableChildObjectSuccess: '"{name}" removido',
|
||
dropAllIndexesSuccess: 'Removidos {count} índices de "{name}"',
|
||
dropIndexesPartialFailure: "{success} índices removidos; {failed} falharam.",
|
||
createMongoIndexSuccess: 'Índice "{name}" criado em "{collection}"',
|
||
mongoIndexRefreshFailed: "Não foi possível atualizar a lista de índices após a operação: {message}",
|
||
batchDropSuccess: "{count} objetos removidos",
|
||
batchEmptySuccess: "{count} tabelas esvaziadas",
|
||
batchEmptyPartialFail: "{success} tabelas esvaziadas; {failed} falharam",
|
||
batchEmptySubmitted: "Tarefas de esvaziamento enviadas para {count} tabelas",
|
||
batchEmptySubmittedPartial: "{success} tarefas enviadas; {failed} falharam",
|
||
batchTruncateSuccess: "{count} tabelas truncadas",
|
||
emptyTableSuccess: 'Todos os dados excluídos de "{name}"',
|
||
emptyTableSubmitted: 'Tarefa de esvaziamento enviada para "{name}"',
|
||
truncateTableSuccess: 'Tabela "{name}" truncada',
|
||
duplicateStructureSuccess: 'Tabela clonada como "{name}"',
|
||
tableOperationFailed: "Falha na operação: {message}",
|
||
objectDropRefreshFailed: "Os objetos foram excluídos, mas não foi possível atualizar a barra lateral: {message}",
|
||
duplicateNameTitle: "Clonar como Nova Tabela",
|
||
duplicateNamePlaceholder: "Nome da nova tabela",
|
||
copyTable: "Copiar tabela",
|
||
pasteTable: "Colar tabela",
|
||
pasteOptionStructureAndData: "Estrutura e dados",
|
||
pasteOptionStructureOnly: "Apenas estrutura",
|
||
pasteOptionDataOnly: "Apenas dados",
|
||
pasteTableSuccess: 'Tabela colada como "{name}"',
|
||
pasteTableConfirmTitle: "Colar tabela",
|
||
pasteTableConfirmMessage: "Colar tabela da área de transferência",
|
||
batchPasteTitle: "Colar tabelas",
|
||
batchPasteSuccess: "{count} tabelas coladas com sucesso",
|
||
batchPastePartialFail: "{success} tabelas coladas, {failed} falharam",
|
||
pasteTableRefreshFailed: "As tabelas foram coladas, mas não foi possível atualizar a lista de objetos: {message}",
|
||
pasteTableCancelledAfterPartial: "A colagem foi cancelada. As tabelas criadas antes do cancelamento foram atualizadas e a área de transferência foi mantida.",
|
||
noTableToPaste: "Nenhuma tabela disponível para colar",
|
||
pasteTableClipboardUpdated: "Tabela copiada para a área de transferência",
|
||
createDatabase: "Criar Banco de Dados",
|
||
createDuckDbFile: "Criar Arquivo de Banco de Dados",
|
||
attachSqliteDatabase: "Anexar banco de dados SQLite",
|
||
dropDatabase: "Remover Banco de Dados",
|
||
confirmDropDatabaseTitle: "Remover Banco de Dados",
|
||
confirmDropDatabaseMessage: 'Tem certeza de que deseja remover o banco de dados "{name}"? Isso excluirá permanentemente o banco de dados e todos os seus dados.',
|
||
createDatabaseSuccess: 'Banco de dados "{name}" criado',
|
||
mysqlCreateDatabasePermissionHint: "A conta MySQL atual não pode criar este banco de dados. Uma conta chamada root não possui necessariamente privilégios de administrador. Use uma conta de administrador com GRANT OPTION para conceder a permissão CREATE e tente novamente.",
|
||
createDatabasePartial: 'O banco de dados "{name}" foi criado, mas algumas concessões falharam',
|
||
createDatabaseFailed: 'Não foi possível criar o banco de dados "{name}"',
|
||
createDatabaseUsers: "Conceder acesso aos usuários",
|
||
createDatabaseUsersHint: "Os usuários selecionados receberão acesso nativo completo após a criação do banco de dados.",
|
||
createDatabaseUsersSelected: "{count} selecionados",
|
||
createDatabaseUsersLoading: "Carregando usuários...",
|
||
createDatabaseUsersLoadFailed: "Não foi possível carregar os usuários: {message}",
|
||
previewCreateDatabaseSql: "Visualizar SQL",
|
||
createDatabaseSqlPreview: "Visualização do SQL de criação do banco de dados",
|
||
applyCreateDatabaseSql: "Criar e conceder",
|
||
closeCreateDatabaseResult: "Fechar",
|
||
createDatabaseStep: 'Criar banco de dados "{database}"',
|
||
createDatabaseGrantStep: 'Conceder a {user} acesso ao banco de dados "{database}"',
|
||
createDatabaseGrantObjectsStep: 'Conceder a {user} acesso a schemas e objetos em "{database}"',
|
||
createDatabaseStepSkipped: "Ignorado porque uma etapa anterior obrigatória falhou.",
|
||
editDatabaseProperties: "Editar propriedades do banco de dados",
|
||
editDatabasePropertiesTitle: 'Editar propriedades do banco de dados: "{name}"',
|
||
editDatabasePropertiesSaving: "Salvando...",
|
||
editDatabasePropertiesSuccess: 'Propriedades do banco de dados "{name}" atualizadas',
|
||
editDatabaseComment: "Comentário do banco de dados",
|
||
editDatabaseCommentPlaceholder: "Insira o comentário do banco de dados...",
|
||
createDuckDbFileSuccess: 'Arquivo de banco de dados DuckDB "{name}" criado e anexado',
|
||
createDuckDbFileDesktopOnly: "A criação de arquivos de banco de dados DuckDB só está disponível no aplicativo desktop",
|
||
attachSqliteDatabaseSuccess: 'Banco de dados SQLite "{name}" anexado',
|
||
attachSqliteDatabaseDesktopOnly: "Anexar arquivos de banco de dados SQLite só está disponível no aplicativo desktop",
|
||
dropDatabaseSuccess: 'Banco de dados "{name}" removido',
|
||
dropCollection: "Remover coleção",
|
||
confirmDropCollectionTitle: "Remover coleção",
|
||
confirmDropCollectionMessage: 'Tem certeza de que deseja remover a coleção "{name}"? Isso excluirá permanentemente a coleção e todos os seus documentos.',
|
||
dropCollectionSuccess: 'Coleção "{name}" removida',
|
||
createDatabaseNamePlaceholder: "Nome do banco de dados",
|
||
createDatabaseCharset: "Conjunto de caracteres",
|
||
createDatabaseCharsetPlaceholder: "por exemplo, utf8mb4",
|
||
createDatabaseCharsetSearchPlaceholder: "Pesquise ou digite um conjunto de caracteres",
|
||
createDatabaseCharsetEmpty: "Nenhum conjunto de caracteres encontrado",
|
||
createDatabaseCharsetLoading: "Carregando conjuntos de caracteres...",
|
||
createDatabaseCharsetCustomOption: 'Usar "{value}"',
|
||
createDatabaseCollation: "Collation",
|
||
createDatabaseCollationPlaceholder: "por exemplo, utf8mb4_unicode_ci",
|
||
createDatabaseCollationSearchPlaceholder: "Pesquise ou digite uma collation",
|
||
createDatabaseCollationEmpty: "Nenhuma collation encontrada",
|
||
createDatabaseCollationLoading: "Carregando collations...",
|
||
createDatabaseCollationCustomOption: 'Usar "{value}"',
|
||
createSchema: "Criar Schema",
|
||
dropSchema: "Remover Schema",
|
||
confirmDropSchemaTitle: "Remover Schema",
|
||
confirmDropSchemaMessage: 'Tem certeza de que deseja remover o schema "{name}"? Isso excluirá permanentemente o schema e todos os seus objetos.',
|
||
createSchemaSuccess: 'Schema "{name}" criado',
|
||
dropSchemaSuccess: 'Schema "{name}" removido',
|
||
dropDamengSchemaRequiresDifferentDba: "A conexão atual não pode remover este schema com segurança. Conecte-se com outro usuário DBA e tente novamente.",
|
||
createSchemaNamePlaceholder: "Nome do schema",
|
||
editSchemaComment: "Editar comentário",
|
||
editSchemaCommentTitle: 'Editar comentário: "{name}"',
|
||
schemaCommentPlaceholder: "Digite o comentário do schema...",
|
||
schemaCommentSaving: "Salvando...",
|
||
editSchemaCommentSuccess: 'Comentário do schema "{name}" atualizado',
|
||
manageExtension: "Gerenciar extensão...",
|
||
dropExtension: "Remover extensão",
|
||
processList: "Lista de Processos",
|
||
serverDashboard: "Painel do Servidor",
|
||
createProcedure: "Novo procedimento armazenado",
|
||
createFunction: "Nova função",
|
||
createTrigger: "Novo gatilho",
|
||
changeOpenMode: "Alterar modo de abertura",
|
||
},
|
||
visibleDatabases: {
|
||
title: "Bancos de dados visíveis",
|
||
description: 'Escolha quais bancos de dados são exibidos em "{connection}".',
|
||
searchPlaceholder: "Pesquisar bancos de dados...",
|
||
selectedCount: "{selected}/{total} selecionados",
|
||
selectAll: "Selecionar todos",
|
||
selectFiltered: "Selecionar resultados da pesquisa",
|
||
clear: "Limpar",
|
||
showAll: "Mostrar todos",
|
||
showSystemDatabases: "Mostrar bancos de dados do sistema",
|
||
save: "Salvar",
|
||
emptySelection: "Selecione pelo menos um banco de dados, ou use Mostrar todos para limpar o filtro.",
|
||
loadFailed: "Falha ao carregar bancos de dados: {message}",
|
||
},
|
||
visibleSchemas: {
|
||
title: "Filtro de Schema",
|
||
description: 'Escolha quais schemas são exibidos em "{connection}".',
|
||
searchPlaceholder: "Pesquisar schemas...",
|
||
selectedCount: "{selected}/{total} selecionados",
|
||
selectAll: "Selecionar todos",
|
||
selectFiltered: "Selecionar resultados da pesquisa",
|
||
clear: "Limpar",
|
||
showAll: "Mostrar todos",
|
||
showSystemSchemas: "Mostrar schemas do sistema",
|
||
save: "Salvar",
|
||
emptySelection: "Selecione pelo menos um schema, ou use Mostrar todos para limpar o filtro.",
|
||
loadFailed: "Falha ao carregar schemas: {message}",
|
||
},
|
||
tree: {
|
||
savedSql: "Biblioteca SQL",
|
||
userAdmin: "Usuários e Privilégios",
|
||
damengJobAdmin: "Jobs do agente",
|
||
linkedServers: "Servidores Vinculados",
|
||
materializedViews: "Visualizações Materializadas",
|
||
defaultDatabase: "Banco padrão",
|
||
columns: "Colunas",
|
||
indexes: "Índices",
|
||
foreignKeys: "Chaves estrangeiras",
|
||
triggers: "Triggers",
|
||
constraints: "Restrições",
|
||
tables: "Tabelas",
|
||
tableNameFilterActive: "filtrado",
|
||
views: "Visões",
|
||
procedures: "Procedimentos",
|
||
functions: "Funções",
|
||
sequences: "Sequências",
|
||
synonyms: "Sinônimos",
|
||
packages: "Pacotes",
|
||
partitions: "Partições",
|
||
subpartitions: "Subpartições",
|
||
childTables: "Subtabelas",
|
||
loadMore: "Carregar mais...",
|
||
objectBrowser: "Navegar no Navegador de Objetos ({count})",
|
||
extensions: "Extensões",
|
||
types: "Tipos",
|
||
gridfs: "GridFS",
|
||
buckets: "Buckets",
|
||
},
|
||
userAdmin: {
|
||
title: "Usuários e Privilégios",
|
||
unsupported: "Conexões compatíveis com MySQL e PostgreSQL são suportadas. SQL Server, Oracle e outros modelos de permissão podem ser adicionados em seguida.",
|
||
newUser: "Novo Usuário",
|
||
anonymous: "Anônimo",
|
||
roleName: "Nome da função",
|
||
allowLogin: "Permitir login",
|
||
searchUser: "Pesquisar usuário ou host",
|
||
loadingUsers: "Carregando usuários...",
|
||
loadingGrants: "Carregando permissões...",
|
||
emptyUsers: "Nenhum usuário encontrado, ou a conta atual não pode ler a lista de usuários.",
|
||
pluginUnknown: "Plugin de autenticação desconhecido",
|
||
grants: "Permissões",
|
||
noGrants: "Nenhuma permissão encontrada",
|
||
privilegeEditor: "Editor de Privilégios",
|
||
privilegeHint: "Escolha privilégios, banco de dados e tabela, então visualize o SQL antes de aplicar. * significa global ou todas as tabelas.",
|
||
database: "Banco de dados",
|
||
schema: "Schema",
|
||
table: "Tabela",
|
||
scope: "Escopo da concessão",
|
||
scopeDatabase: "Banco de dados",
|
||
scopeSchema: "Schema",
|
||
scopeTable: "Tabela",
|
||
scopeRole: "Associação de função",
|
||
memberRole: "Função membro",
|
||
privileges: "Privilégios",
|
||
grantOption: "Permitir mais concessões (WITH GRANT OPTION)",
|
||
adminOption: "Permitir gerenciamento de associação (WITH ADMIN OPTION)",
|
||
grant: "Conceder",
|
||
revoke: "Revogar",
|
||
username: "Nome de usuário",
|
||
host: "Host",
|
||
changePassword: "Alterar Senha",
|
||
newPassword: "Nova senha",
|
||
lock: "Bloquear",
|
||
unlock: "Desbloquear",
|
||
disableLogin: "Desabilitar Login",
|
||
enableLogin: "Habilitar Login",
|
||
dropUser: "Remover Usuário",
|
||
previewSql: "Visualizar SQL",
|
||
sqlPreview: "Visualização SQL",
|
||
applySql: "Aplicar SQL",
|
||
applySuccess: "Privilégios do usuário atualizados",
|
||
applyPartial: "O usuário foi criado, mas algumas concessões de banco de dados falharam",
|
||
applyFailedSummary: "A operação falhou",
|
||
applyFailed: "Execução falhou: {message}",
|
||
applyFailedUnknown: "Falha na execução",
|
||
standardUser: "Usuário padrão",
|
||
standardUserHint: "Conceda apenas os bancos de dados e privilégios selecionados abaixo.",
|
||
adminUser: "Usuário administrador",
|
||
adminUserHint: "Crie uma conta com privilégios elevados no nível da instância.",
|
||
adminUserWarning: "Esta conta pode gerenciar bancos de dados e outros usuários. Revise cuidadosamente o SQL completo antes de aplicá-lo.",
|
||
databaseAccess: "Acesso a bancos de dados",
|
||
databaseAccessHint: "Selecione os bancos de dados e configure um nível de permissão separado para cada um.",
|
||
selectedDatabaseCount: "{count} bancos de dados",
|
||
searchDatabase: "Pesquisar bancos de dados",
|
||
loadingDatabases: "Carregando bancos de dados...",
|
||
emptyDatabases: "Nenhum banco de dados encontrado",
|
||
loadDatabasesFailed: "Não foi possível carregar os bancos de dados: {message}",
|
||
prepareAuthorizationFailed: "Não foi possível preparar a autorização do banco de dados: {message}",
|
||
presetReadWrite: "Leitura/Gravação",
|
||
presetReadOnly: "Somente leitura",
|
||
presetDdl: "Somente DDL",
|
||
presetDml: "Somente DML",
|
||
presetCustom: "Personalizado",
|
||
customPrivilegeRequired: "Selecione pelo menos um privilégio.",
|
||
postgresDdlHint: "O PostgreSQL concede CREATE no banco de dados e no schema. Alterar ou excluir objetos existentes ainda requer propriedade.",
|
||
resultSuccess: "Todas as etapas foram concluídas com sucesso",
|
||
resultPartial: "Concluído parcialmente",
|
||
resultFailed: "Falha na execução",
|
||
closeResult: "Fechar",
|
||
stepCreateUser: "Criar usuário ou função",
|
||
stepGrantAdmin: "Conceder privilégios administrativos a {user}",
|
||
stepGrantDatabase: 'Conceder a {user} acesso ao banco de dados "{database}"',
|
||
stepGrantObjects: 'Conceder a {user} privilégios de schema e objeto em "{database}"',
|
||
stepGrantCurrentObjects: 'Conceder a {user} privilégios sobre {scope} existentes no schema "{schema}" de "{database}"',
|
||
stepGrantFutureObjects: 'Conceder a {user} privilégios sobre futuros {scope} criados pela função atual em "{database}"',
|
||
stepGrantFutureObjectsForOwner: 'Conceder a {user} privilégios sobre futuros {scope} criados por {owner} em "{database}"',
|
||
scopeSchemas: "schemas",
|
||
scopeTables: "tabelas",
|
||
scopeSequences: "sequências",
|
||
scopeFunctions: "funções",
|
||
stepSkipped: "Ignorado porque uma etapa anterior obrigatória falhou.",
|
||
},
|
||
damengJobAdmin: {
|
||
title: "Jobs do agente Dameng",
|
||
unsupported: "Esta página oferece suporte apenas a conexões Dameng.",
|
||
initEnvironment: "Inicializar ambiente de jobs",
|
||
environmentReady: "Ambiente de jobs inicializado",
|
||
newJob: "Novo job",
|
||
searchJob: "Pesquisar jobs",
|
||
loadFailed: "Falha ao carregar",
|
||
environmentMissingTitle: "O ambiente de jobs não foi inicializado",
|
||
environmentMissingHint: "Este banco de dados ainda não tem o ambiente de jobs SYSJOB.",
|
||
environmentMissingDescription: "Os jobs do agente Dameng dependem de tabelas e visões do sistema no schema SYSJOB. Inicialize primeiro o ambiente de jobs; normalmente são necessários privilégios de administrador.",
|
||
emptyJobs: "Nenhum job encontrado, ou a conta atual não pode ler a lista de jobs.",
|
||
emptyDetails: "Nenhuma linha de detalhe",
|
||
selectJob: "Selecione um job",
|
||
enabled: "Habilitado",
|
||
disabled: "Desabilitado",
|
||
running: "Em execução",
|
||
enable: "Habilitar",
|
||
disable: "Desabilitar",
|
||
runAsync: "Executar agora",
|
||
stopRunning: "Parar execução atual",
|
||
stopRunningDisabled: "Somente jobs em execução podem ser parados",
|
||
clearHistories: "Limpar histórico",
|
||
dropJob: "Remover",
|
||
steps: "Etapas",
|
||
schedules: "Agendamentos",
|
||
histories: "Histórico",
|
||
noDescription: "Sem descrição",
|
||
jobName: "Nome do job",
|
||
description: "Descrição",
|
||
stepName: "Nome da etapa",
|
||
scheduleName: "Nome do agendamento",
|
||
sqlCommand: "Script SQL",
|
||
scheduleMode: "Tipo de agendamento",
|
||
daily: "Diário",
|
||
once: "Uma vez",
|
||
startDate: "Data de início",
|
||
startTime: "Hora de início",
|
||
endTime: "Hora de término",
|
||
minuteInterval: "Intervalo em minutos",
|
||
previewSql: "Visualizar SQL",
|
||
sqlPreview: "Visualização SQL",
|
||
applySql: "Aplicar SQL",
|
||
applySuccess: "Operação de job aplicada",
|
||
applyFailed: "Execução falhou: {message}",
|
||
},
|
||
objects: {
|
||
all: "Todos",
|
||
tables: "Tabelas",
|
||
views: "Visões",
|
||
procedures: "Procedimentos",
|
||
functions: "Funções",
|
||
sequences: "Sequências",
|
||
packages: "Pacotes",
|
||
table: "Tabela",
|
||
partitions: "{count} partições",
|
||
view: "Visão",
|
||
procedure: "Procedimento",
|
||
function: "Função",
|
||
sequence: "Sequência",
|
||
package: "Pacote",
|
||
packageBody: "Corpo do pacote",
|
||
name: "Nome",
|
||
type: "Tipo",
|
||
rows: "Linhas",
|
||
size: "Tamanho",
|
||
statisticsHint: "Estimado pelas estatísticas do banco de dados; COUNT(*) não é executado.",
|
||
createdAt: "Criado em",
|
||
updatedAt: "Atualizado em",
|
||
source: "Código-fonte",
|
||
saveSource: "Salvar",
|
||
cancelEdit: "Cancelar",
|
||
sourceSaved: "Código-fonte salvo",
|
||
sourceSaveFailed: "Falha ao salvar código-fonte: {message}",
|
||
postgresViewColumnChangeHint:
|
||
"O PostgreSQL não permite usar CREATE OR REPLACE VIEW para remover, reordenar, renomear ou alterar o tipo das colunas existentes de uma view. Mantenha inalterados a quantidade, a ordem, os nomes e os tipos das colunas existentes; novas colunas só podem ser adicionadas ao final. Use ALTER VIEW ... RENAME COLUMN para renomear uma coluna. Para remover uma coluna, revise as dependências e recrie a view manualmente.",
|
||
schemaColumn: "Schema",
|
||
comment: "Comentário",
|
||
loadingSchemas: "Carregando schemas...",
|
||
schema: "Schema",
|
||
search: "Pesquisar tabelas, visões, funções, sequências ou procedimentos...",
|
||
loading: "Carregando objetos...",
|
||
empty: "Nenhum objeto encontrado",
|
||
selectedTables: "{count} tabelas selecionadas",
|
||
exportSelected: "Exportar selecionados",
|
||
dropSelected: "Remover selecionados",
|
||
truncateSelected: "Truncar selecionadas",
|
||
clearSelection: "Limpar seleção",
|
||
confirmBatchDropTitle: "Remover tabelas selecionadas",
|
||
confirmBatchDropMessage: "Tem certeza de que deseja remover {count} tabelas selecionadas? Esta ação não pode ser desfeita.",
|
||
confirmBatchTruncateTitle: "Truncar tabelas selecionadas",
|
||
confirmBatchTruncateMessage: "Tem certeza de que deseja truncar {count} tabelas selecionadas? Isso removerá todas as linhas.",
|
||
batchDropSuccess: "{count} tabelas removidas",
|
||
batchTruncateSuccess: "{count} tabelas truncadas",
|
||
copyTableSelected: "Copiar",
|
||
pasteTableSelected: "Colar",
|
||
toggleCheckbox: "Alternar seleção múltipla",
|
||
viewList: "Visualização em lista",
|
||
viewGrid: "Visualização em grade",
|
||
sourceReadOnly: "O código fonte é somente leitura e não pode ser editado.",
|
||
sortAsc: "Crescente",
|
||
sortDesc: "Decrescente",
|
||
sortBy: "Ordenar por",
|
||
trigger: "Gatilho",
|
||
typeDefinition: "Definição de tipo",
|
||
typeBody: "Corpo do tipo",
|
||
},
|
||
structureEditor: {
|
||
mysqlDataTypeHelp: {
|
||
tinyint: "Inteiro de 1 byte: com sinal, de -128 a 127; sem sinal, de 0 a 255.",
|
||
smallint: "Inteiro de 2 bytes: com sinal, de -32.768 a 32.767; sem sinal, de 0 a 65.535.",
|
||
mediumint: "Inteiro de 3 bytes: com sinal, de -8.388.608 a 8.388.607; sem sinal, de 0 a 16.777.215.",
|
||
int: "Inteiro de 4 bytes: com sinal, de -2.147.483.648 a 2.147.483.647; sem sinal, de 0 a 4.294.967.295.",
|
||
bigint: "Inteiro de 8 bytes: com sinal, de -2^63 a 2^63-1; sem sinal, de 0 a 2^64-1.",
|
||
decimal: "Número decimal exato; o MySQL aceita até 65 dígitos e escala 30. Use para valores monetários.",
|
||
float: "Número aproximado de precisão simples; para decimais exatos, use DECIMAL.",
|
||
double: "Número aproximado de dupla precisão; para decimais exatos, use DECIMAL.",
|
||
real: "Alias de DOUBLE por padrão; REAL_AS_FLOAT faz dele um alias de FLOAT.",
|
||
bit: "Campo de 1 a 64 bits; a largura padrão é 1.",
|
||
boolean: "Alias de TINYINT(1): 0 é falso e qualquer valor diferente de zero é verdadeiro.",
|
||
serial: "Alias prático de BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE.",
|
||
date: "Data de calendário de 1000-01-01 a 9999-12-31.",
|
||
datetime: "Data e hora sem conversão de fuso; precisão fracionária de 0 a 6, padrão 0.",
|
||
timestamp: "Data e hora convertida entre o fuso da sessão e UTC; precisão fracionária de 0 a 6.",
|
||
time: "Hora ou intervalo de -838:59:59 a 838:59:59; precisão fracionária de 0 a 6.",
|
||
year: "Ano de quatro dígitos de 1901 a 2155, além de 0000.",
|
||
char: "String de tamanho fixo de até 255 caracteres, preenchida com espaços.",
|
||
varchar: "String de tamanho variável; o máximo efetivo depende da linha e do conjunto de caracteres.",
|
||
tinytext: "Texto variável de até 255 bytes; linha, charset e max_allowed_packet podem reduzi-lo.",
|
||
text: "Texto variável de até 65.535 bytes; linha, charset e max_allowed_packet podem reduzi-lo.",
|
||
mediumtext: "Texto variável de até 16.777.215 bytes; linha, charset e max_allowed_packet podem reduzi-lo.",
|
||
longtext: "Texto variável de até 4.294.967.295 bytes; linha, charset e max_allowed_packet podem reduzi-lo.",
|
||
binary: "String binária fixa de até 255 bytes, preenchida com 0x00.",
|
||
varbinary: "String binária de tamanho variável; o máximo efetivo depende do tamanho da linha.",
|
||
tinyblob: "Objeto binário de até 255 bytes; max_allowed_packet pode limitá-lo.",
|
||
blob: "Objeto binário de até 65.535 bytes; max_allowed_packet pode limitá-lo.",
|
||
mediumblob: "Objeto binário de até 16.777.215 bytes; max_allowed_packet pode limitá-lo.",
|
||
longblob: "Objeto binário de até 4.294.967.295 bytes; max_allowed_packet pode limitá-lo.",
|
||
enum: "Um valor entre até 65.535 literais; alterar a ordem pode mudar o significado armazenado.",
|
||
set: "Zero ou mais valores entre até 64 membros declarados.",
|
||
json: "Documento JSON validado; a representação e as funções dependem do produto e da versão; limitado por max_allowed_packet.",
|
||
jsonMysql: "JSON binário nativo do MySQL, com validação e funções JSON; limitado por max_allowed_packet.",
|
||
jsonMariaDb: "No MariaDB, JSON é um alias de LONGTEXT com JSON_VALID e collation utf8mb4_bin.",
|
||
nationalCharacter: "Alias de string nacional; o MySQL usa utf8mb3, que está obsoleto; prefira utf8mb4.",
|
||
geometry: "Geometria espacial; um índice SPATIAL do InnoDB requer NOT NULL e atributo SRID.",
|
||
point: "Ponto espacial; SPATIAL do InnoDB requer NOT NULL e SRID.",
|
||
linestring: "Curva espacial; SPATIAL do InnoDB requer NOT NULL e SRID.",
|
||
polygon: "Superfície espacial; SPATIAL do InnoDB requer NOT NULL e SRID.",
|
||
multipoint: "Coleção de pontos; SPATIAL do InnoDB requer NOT NULL e SRID.",
|
||
multilinestring: "Coleção de curvas; SPATIAL do InnoDB requer NOT NULL e SRID.",
|
||
multipolygon: "Coleção de polígonos; SPATIAL do InnoDB requer NOT NULL e SRID.",
|
||
geometrycollection: "Coleção de geometrias mistas; SPATIAL do InnoDB requer NOT NULL e SRID.",
|
||
inet4: "Tipo IPv4 do MariaDB disponível desde a versão 10.10; armazena o endereço em quatro bytes.",
|
||
inet6: "Tipo compatível com MariaDB para IPv6 e IPv4 mapeado.",
|
||
uuid: "Identificador universalmente único de 128 bits fornecido por servidores compatíveis.",
|
||
vector: "Tipo de vetor para similaridade ou ML; disponibilidade e dimensões dependem da versão.",
|
||
xmltype: "Tipo XML fornecido por servidores compatíveis.",
|
||
integerDisplayWidth: "A largura de exibição de inteiros, como INT(11), está obsoleta no MySQL e não limita o intervalo.",
|
||
zerofill: "ZEROFILL está obsoleto no MySQL 8 e implica UNSIGNED; formate na aplicação.",
|
||
unsignedNumeric: "UNSIGNED para DECIMAL, FLOAT ou DOUBLE está obsoleto no MySQL 8; use CHECK para valores não negativos.",
|
||
floatPrecision: "Em FLOAT(p), p de 25 a 53 seleciona DOUBLE; use DOUBLE explicitamente.",
|
||
floatingPointDisplay: "FLOAT(M,D) e DOUBLE(M,D) estão obsoletos; use FLOAT/DOUBLE sem parâmetros ou DECIMAL(M,D).",
|
||
},
|
||
postgresDataTypeHelp: {
|
||
smallint: "Inteiro com sinal de 2 bytes, de -32.768 a 32.767.",
|
||
integer: "Inteiro com sinal de 4 bytes, de -2.147.483.648 a 2.147.483.647.",
|
||
bigint: "Inteiro com sinal de 8 bytes, de -2^63 a 2^63-1.",
|
||
serial: "Sintaxe prática que cria inteiro, sequência, NOT NULL e nextval; não é único por si só e pode ter lacunas; prefira IDENTITY.",
|
||
numeric: "Decimal exato com precisão e escala; use para valores monetários e valores sem arredondamento binário.",
|
||
real: "Ponto flutuante de precisão simples de 4 bytes; FLOAT(p) de 1 a 24 o seleciona.",
|
||
double: "Ponto flutuante de dupla precisão de 8 bytes; FLOAT sem precisão é um alias e FLOAT(p) de 25 a 53 o seleciona.",
|
||
money: "Valor monetário dependente de lc_monetary; NUMERIC costuma ser mais seguro para dados portáveis.",
|
||
boolean: "Valor lógico verdadeiro, falso ou nulo; BOOL é um alias de BOOLEAN.",
|
||
char: "String fixa preenchida com espaços; CHARACTER é um alias.",
|
||
varchar: "String de tamanho variável com limite opcional; CHARACTER VARYING é um alias.",
|
||
text: "String de tamanho variável sem limite declarado; é armazenada como VARCHAR sem limite.",
|
||
bytea: "String binária de tamanho variável; TOAST pode armazenar valores grandes fora da linha.",
|
||
date: "Data de calendário sem hora nem fuso horário.",
|
||
time: "Hora sem fuso horário, com precisão fracionária opcional.",
|
||
timetz: "Hora com deslocamento UTC; tem uso limitado, prefira timestamptz para representar um instante.",
|
||
timestamp: "Data e hora sem conversão de fuso para valores locais.",
|
||
timestamptz: "Instante armazenado em UTC e exibido no fuso da sessão; não preserva o fuso original.",
|
||
interval: "Duração em meses, dias e microssegundos; unidades de calendário não têm duração fixa.",
|
||
uuid: "Identificador universalmente único de 128 bits.",
|
||
json: "Texto JSON na representação original; é validado ao ser analisado, mas costuma ser mais lento que JSONB.",
|
||
jsonb: "JSON binário decomposto para processamento e índices; não preserva espaços, ordem nem chaves duplicadas.",
|
||
xml: "Valor XML com validação de documento ou conteúdo conforme a opção.",
|
||
bit: "String de bits fixa ou variável; BIT VARYING e VARBIT são aliases de tamanho variável.",
|
||
tsvector: "Lexemas normalizados para busca de texto completo; normalmente indexados com GIN ou GiST.",
|
||
tsquery: "Consulta booleana de texto completo avaliada contra tsvector.",
|
||
cidr: "Rede IPv4 ou IPv6 com os bits de host forçados a zero.",
|
||
inet: "Host IPv4 ou IPv6 com máscara opcional; ao contrário de CIDR, pode ter bits de host diferentes de zero.",
|
||
macaddr: "Endereço MAC; MACADDR usa 6 bytes e MACADDR8 usa 8 bytes.",
|
||
geometry: "Geometria plana bidimensional sem SRID; use PostGIS para coordenadas geográficas e operações espaciais avançadas.",
|
||
range: "Intervalo contínuo com limites inclusivos ou exclusivos; use multirange para intervalos separados.",
|
||
oid: "Identificador de objeto sem sinal do sistema; não é uma chave primária estável para aplicações.",
|
||
array: "Array PostgreSQL de qualquer tipo de elemento, inclusive multidimensional; as dimensões declaradas não são impostas.",
|
||
multirange: "Conjunto de intervalos não sobrepostos; o PostgreSQL normaliza membros adjacentes ou sobrepostos.",
|
||
jsonpath: "Expressão de caminho SQL/JSON usada em consultas e predicados JSONB.",
|
||
pgLsn: "Posição do WAL para replicação e recuperação; não é um número de sequência da aplicação.",
|
||
pgSnapshot: "Instantâneo de visibilidade de transações para operações de banco de dados, não para dados gerais.",
|
||
},
|
||
sqliteDataTypeHelp: {
|
||
integer: "Afinidade INTEGER; uma coluna comum não impõe essa classe de armazenamento. INTEGER PRIMARY KEY exato é um alias de rowid.",
|
||
real: "Afinidade REAL com IEEE 754; não é adequada para valores monetários exatos.",
|
||
text: "Afinidade TEXT; VARCHAR(n) e CHAR(n) não impõem n; use CHECK se o tamanho for importante.",
|
||
blob: "Afinidade BLOB: armazena bytes sem conversão.",
|
||
numeric: "A afinidade NUMERIC converte texto numérico primeiro em INTEGER e depois em REAL; DATE, DATETIME e TIME também a usam.",
|
||
},
|
||
title: "Editar estrutura da tabela",
|
||
createTitle: "Criar tabela",
|
||
editTabTitle: "Editar: {tableName}",
|
||
tableName: "Nome da tabela",
|
||
refresh: "Atualizar estrutura",
|
||
density: "Densidade",
|
||
densityCompact: "Compacta",
|
||
densityStandard: "Padrão",
|
||
densityComfortable: "Confortável",
|
||
columns: "Colunas",
|
||
indexes: "Índices",
|
||
foreignKeys: "Chaves estrangeiras",
|
||
triggers: "Triggers",
|
||
ddl: "DDL",
|
||
addColumn: "Adicionar coluna",
|
||
columnTemplates: "Inserir campos predefinidos",
|
||
configureColumnTemplates: "Configurar campos predefinidos",
|
||
presetFieldsTemplate: "Conjunto de campos predefinidos",
|
||
searchColumns: "Pesquisar coluna/comentário",
|
||
nextColumnMatch: "Ir para a próxima coluna correspondente",
|
||
searchIndexes: "Pesquisar índice",
|
||
nextIndexMatch: "Ir para o próximo índice correspondente",
|
||
addIndex: "Adicionar índice",
|
||
addForeignKey: "Adicionar chave estrangeira",
|
||
addTrigger: "Adicionar trigger",
|
||
columnName: "Coluna",
|
||
dataType: "Tipo",
|
||
typePlaceholder: "Selecione ou digite...",
|
||
noMatchingType: "Nenhum tipo correspondente",
|
||
length: "Comprimento",
|
||
lengthUnit: "Unidade de comprimento",
|
||
unitPlaceholder: "Unidade",
|
||
nullable: "Permite nulo",
|
||
primaryKey: "Chave primária",
|
||
defaultValue: "Padrão",
|
||
defaultValuePresets: "Predefinições de valor padrão",
|
||
comment: "Comentário",
|
||
characterSet: "Conjunto de caracteres",
|
||
charsetPlaceholder: "Charset",
|
||
collation: "Collation",
|
||
collationPlaceholder: "Collation",
|
||
editComment: "Editar comentário",
|
||
commentPlaceholder: "Insira o comentário da coluna...",
|
||
tableCommentPlaceholder: "Insira o comentário da tabela...",
|
||
tableCommentUnsupported: "Comentários de tabela não são suportados por este banco de dados",
|
||
actions: "Ações",
|
||
indexName: "Índice",
|
||
indexColumns: "Colunas",
|
||
indexColumnsPlaceholder: "Selecione as colunas...",
|
||
unique: "Único",
|
||
indexType: "Tipo",
|
||
includedColumns: "Incluídas",
|
||
includedColumnsPlaceholder: "Selecione as colunas...",
|
||
filter: "Filtro",
|
||
foreignKeyName: "Chave estrangeira",
|
||
referencedSchema: "Schema ref.",
|
||
referencedTable: "Tabela ref.",
|
||
referencedColumn: "Coluna ref.",
|
||
onDelete: "Ao excluir",
|
||
onUpdate: "Ao atualizar",
|
||
defaultAction: "Padrão",
|
||
triggerName: "Trigger",
|
||
triggerStatement: "Comando do trigger",
|
||
primary: "Primária",
|
||
drop: "Remover",
|
||
restore: "Restaurar",
|
||
remove: "Remover",
|
||
moveColumnUp: "Mover coluna para cima",
|
||
moveColumnDown: "Mover coluna para baixo",
|
||
dragColumn: "Arraste para reordenar colunas",
|
||
localColumnOrderNotice: "A ordem das colunas é salva apenas localmente e não altera a estrutura do banco de dados.",
|
||
yes: "Sim",
|
||
no: "Não",
|
||
emptyReadonly: "Nenhum registro",
|
||
sqlPreview: "Pré-visualização do SQL",
|
||
collapseSqlPreview: "Recolher pré-visualização do SQL",
|
||
expandSqlPreview: "Expandir pré-visualização do SQL",
|
||
noChanges: "Nenhuma alteração",
|
||
apply: "Aplicar alterações",
|
||
ready: "Pronto",
|
||
saved: "Estrutura da tabela atualizada",
|
||
copySql: "Copiar SQL",
|
||
sqliteRebuildNotice: "O SQLite mantém um snapshot de dados inerte como backup, reconstrói a tabela em uma única transação e força CAST nas colunas alteradas. Valores não representáveis podem se tornar 0/0.0; em caso de falha, todas as alterações são revertidas.",
|
||
extendedProperties: "Estendidas",
|
||
autoIncrement: "Auto incremento",
|
||
onUpdateCurrentTimestamp: "Atualizar hora automaticamente",
|
||
identity: "Identidade",
|
||
identityGeneration: "Geração",
|
||
identitySeed: "Valor inicial",
|
||
identityIncrement: "Incremento",
|
||
sqlServerIdentityTypeHint: "A identidade do SQL Server só aceita tinyint, smallint, int, bigint e decimal/numeric com escala 0",
|
||
},
|
||
diagram: {
|
||
title: "Diagrama de relacionamentos",
|
||
open: "Ver diagrama",
|
||
selectConnection: "Selecionar conexão",
|
||
selectDatabase: "Selecionar banco de dados",
|
||
selectSchema: "Selecionar schema",
|
||
searchTables: "Pesquisar tabelas, colunas, chaves...",
|
||
refresh: "Atualizar diagrama",
|
||
loading: "Lendo relacionamentos...",
|
||
loadingProgress: "Lendo relacionamentos... {loaded}/{total}",
|
||
partialError: "Metadados ignorados para {count} tabelas que falharam ao carregar",
|
||
selectTarget: "Selecione uma conexão e um banco de dados",
|
||
empty: "Nenhuma tabela para exibir",
|
||
noMatches: "Nenhuma tabela correspondente",
|
||
tablesCount: "{count} tabelas",
|
||
relationshipsCount: "{count} relacionamentos",
|
||
tableMode: "Visão de tabelas",
|
||
engineeringMode: "ER de engenharia",
|
||
modelRelationships: "Relacionamentos Modelados",
|
||
copyJoinSql: "Copiar SQL",
|
||
customRelationshipsCount: "{count} modelados",
|
||
relationshipName: "Nome",
|
||
relationshipNamePlaceholder: "Opcional",
|
||
sourceTable: "Tabela de origem",
|
||
sourceColumn: "Coluna de origem",
|
||
targetTable: "Tabela de destino",
|
||
targetColumn: "Coluna de destino",
|
||
cardinality: "Cardinalidade",
|
||
cardinalityOneToMany: "Origem 1 · Destino N",
|
||
cardinalityManyToOne: "Origem N · Destino 1",
|
||
cardinalityManyToMany: "Origem N · Destino N",
|
||
cardinalityOneToOne: "Origem 1 · Destino 1",
|
||
addRelationship: "Adicionar relacionamento",
|
||
removeRelationship: "Remover relacionamento",
|
||
relationshipIncomplete: "Selecione as colunas de origem e destino",
|
||
relationshipSelfInvalid: "Um relacionamento não pode ter como alvo a mesma coluna",
|
||
relationshipExists: "Este relacionamento já existe",
|
||
relationshipAdded: "Relacionamento adicionado",
|
||
noJoinSql: "Nenhum SQL de relacionamento para copiar",
|
||
allTables: "Todas as tabelas",
|
||
relatedTables: "Tabelas relacionadas",
|
||
moreColumns: "+ {count} colunas",
|
||
exportSvg: "Exportar SVG",
|
||
exportedSvg: "SVG exportado",
|
||
exportSvgFailed: "Falha ao exportar SVG: {message}",
|
||
zoomIn: "Aumentar zoom",
|
||
zoomOut: "Diminuir zoom",
|
||
resetLayout: "Redefinir layout",
|
||
refreshConfirm: "Atualizar recarregará a estrutura da tabela e redefinirá o layout do canvas e o histórico de desfazer. Os relacionamentos de modelagem salvos localmente não serão afetados. Continuar?",
|
||
layers: "Camadas",
|
||
autoMatch: "Correspondência automática",
|
||
autoLayout: "Layout automático",
|
||
matchRelationshipsCount: "{count} correspondências",
|
||
cardinalityDirected: "Origem {source} · Destino {target}",
|
||
matchPickCardinality: "Selecione a cardinalidade antes de confirmar a correspondência (1:1 / 1:N / N:1 / N:N).",
|
||
manualAddRelationship: "Adicionar manualmente",
|
||
confirmMatch: "Confirmar",
|
||
ignoreMatch: "Ignorar",
|
||
exportPng: "Exportar PNG",
|
||
exportJson: "Exportar JSON",
|
||
exportDbml: "Exportar DBML",
|
||
exportMermaid: "Exportar Mermaid",
|
||
export: "Exportar",
|
||
exportedFormat: "{format} exportado",
|
||
exportFailed: "Falha ao exportar {format}: {message}",
|
||
fitView: "Ajustar ao canvas",
|
||
resetZoom: "Redefinir zoom",
|
||
undo: "Desfazer",
|
||
redo: "Refazer",
|
||
fullscreen: "Tela cheia",
|
||
exitFullscreen: "Sair da tela cheia",
|
||
addLayer: "Adicionar camada",
|
||
noLayersYet: "Nenhuma camada ainda, clique em + para criar",
|
||
layoutFree: "Livre",
|
||
layoutAuto: "Automático",
|
||
layerLock: "Bloquear camada (sem layout automático dentro da camada)",
|
||
layerUnlock: "Desbloquear camada (permite layout automático dentro da camada)",
|
||
layerLocked: "Bloqueada",
|
||
layerUnlocked: "Desbloqueada",
|
||
hideLayer: "Ocultar camada",
|
||
showLayer: "Mostrar camada",
|
||
deleteLayer: "Excluir camada",
|
||
layerHiddenCannotFocus: "A camada está oculta. Mostre-a antes de centralizar no canvas.",
|
||
createTable: "Nova tabela",
|
||
create: "Criar",
|
||
syncToDatabase: "Sincronizar com o banco de dados",
|
||
syncDraftCount: "Serão sincronizadas {count} alterações (nova tabela / alterar tabela / excluir tabela)",
|
||
executeSync: "Executar",
|
||
syncing: "Sincronizando…",
|
||
buildingSql: "Gerando SQL…",
|
||
noSqlYet: "Nenhum SQL ainda",
|
||
copySql: "Copiar SQL",
|
||
tableName: "Nome da tabela",
|
||
tableNameRequired: "Informe o nome da tabela",
|
||
tableNameExists: "Já existe uma tabela com esse nome",
|
||
assignLayer: "Camada",
|
||
noLayer: "Sem camada",
|
||
withDefaultIdPk: "Incluir chave primária id padrão",
|
||
inspectorTable: "Tabela",
|
||
inspectorRelationship: "Relacionamento",
|
||
fieldComment: "Comentário",
|
||
fields: "Campos",
|
||
tabFields: "Campos",
|
||
tabIndexes: "Índices",
|
||
addIndex: "Adicionar índice",
|
||
indexName: "Nome do índice",
|
||
indexUnique: "UNIQUE",
|
||
indexColumns: "Colunas",
|
||
noIndexesYet: "Nenhum índice ainda",
|
||
indexesNotSupported: "O banco de dados atual não suporta criar índices no editor de diagramas",
|
||
addField: "Adicionar campo",
|
||
deleteField: "Excluir campo",
|
||
undoDropField: "Desfazer exclusão do campo",
|
||
noFieldsYet: "Nenhum campo ainda. Adicione antes de sincronizar",
|
||
deleteDraftTable: "Excluir tabela de rascunho",
|
||
deleteLiveTable: "Excluir tabela",
|
||
deleteLiveTableHint: "Marcada para exclusão. O DROP TABLE será executado na próxima sincronização com o banco de dados. Você pode desfazer para restaurar.",
|
||
deleteLiveTableConfirm: "Confirmar marcação desta tabela para exclusão? O DROP TABLE será executado durante a sincronização.",
|
||
liveTableReadOnly: "Tabela no banco — edite no editor de estrutura da tabela",
|
||
liveTableAddColumnsHint: "Você pode adicionar campos (ALTER ADD) ou marcar campos existentes para exclusão (ALTER DROP) e depois sincronizar. Para alterar tipos, use o editor de estrutura da tabela.",
|
||
liveTableIndexesReadOnly: "Índices de tabelas no banco devem ser alterados no editor de estrutura da tabela",
|
||
pendingColumnsBadge: "Alterações pendentes de sincronização",
|
||
pendingDropColumnBadge: "A excluir",
|
||
pendingDropTableBadge: "Tabela a excluir",
|
||
source: "Origem",
|
||
target: "Destino",
|
||
emptyDesignHint: "Nenhuma tabela ainda. Você pode criar camadas e tabelas, editar campos no painel de propriedades e sincronizar com o banco de dados ao concluir.",
|
||
removeFromLayer: "Remover da camada",
|
||
addTables: "Adicionar tabelas",
|
||
tabSelectExisting: "Selecionar existente",
|
||
tabCreateTable: "Nova tabela",
|
||
multiSelect: "Seleção múltipla",
|
||
closeMultiSelect: "Fechar",
|
||
selectAll: "Selecionar tudo",
|
||
clearSelection: "Limpar seleção",
|
||
tablesInOtherLayers: "Tabelas em outras camadas",
|
||
filterTables: "Filtrar tabelas...",
|
||
noMatchingTables: "Nenhuma tabela correspondente",
|
||
addSelectedCount: "Adicionar {count} selecionados",
|
||
layerNameTooLong: "O nome da camada não pode exceder 50 caracteres",
|
||
layerNameInvalid: "O nome da camada pode conter caracteres chineses, letras, números, espaços, sublinhados, hífens e pontos finais.",
|
||
layerNameExists: "O nome da camada já existe",
|
||
total: "Total",
|
||
confirmed: "Confirmado",
|
||
pending: "Pendente",
|
||
conflicts: "Conflitos",
|
||
conflict: "Conflito",
|
||
ignored: "Ignorado",
|
||
confirmAll: "Confirmar tudo",
|
||
ignoreAll: "Ignorar tudo",
|
||
clearAll: "Limpar tudo",
|
||
confidenceHigh: "Alta",
|
||
confidenceMedium: "Média",
|
||
confidenceLow: "Baixa",
|
||
noInferred: "Nenhum relacionamento inferido ainda",
|
||
editRelationship: "Editar",
|
||
saveRelationship: "Salvar",
|
||
deleteRelationship: "Excluir",
|
||
confirmDeleteRelationship: "Confirmar exclusão deste relacionamento?",
|
||
confirmDeleteRelationshipAction: "Confirmar exclusão",
|
||
confirmRelationship: "Confirmar",
|
||
ignoreRelationship: "Ignorar",
|
||
relationshipKindFk: "Chave estrangeira",
|
||
relationshipKindCustom: "Personalizado",
|
||
relationshipKindInferred: "Inferido",
|
||
relationshipReadOnlyFk: "Este relacionamento vem de uma restrição de chave estrangeira do banco de dados e não pode ser editado aqui.",
|
||
relationshipUpdated: "Relacionamento atualizado",
|
||
createTableNotSupported: "O banco de dados atual não suporta criar nova tabela",
|
||
structureSyncNotSupported: "O banco de dados atual não suporta sincronizar a estrutura da tabela a partir do diagrama",
|
||
addColumnNotSupported: "O banco de dados atual não suporta adicionar coluna",
|
||
dropColumnNotSupported: "O banco de dados atual não suporta excluir coluna",
|
||
dropTableNotSupported: "O banco de dados atual não suporta excluir tabela do diagrama",
|
||
},
|
||
etcd: {
|
||
prefixPlaceholder: "Buscar caminho da Key, por exemplo /app/ ou serviço",
|
||
newKey: "Nova chave",
|
||
loadingKeys: "Carregando chaves...",
|
||
empty: "Nenhuma chave encontrada",
|
||
loadMore: "Carregar mais",
|
||
selectKey: "Selecione uma chave para ver seu valor",
|
||
loadingValue: "Carregando valor...",
|
||
notFound: "Chave não encontrada",
|
||
edit: "Editar",
|
||
editKey: "Editar Chave",
|
||
delete: "Excluir",
|
||
deleteTitle: "Excluir chave etcd",
|
||
keyPlaceholder: "/caminho/para/chave",
|
||
keyRequired: "Chave é obrigatória",
|
||
ttl: "TTL (segundos)",
|
||
ttlPlaceholder: "Opcional; vazio significa sem expiração",
|
||
ttlInvalid: "O TTL deve ser um número inteiro positivo",
|
||
ttlUnavailable: "Atualize o Agent do etcd e reconecte para configurar o TTL.",
|
||
expiryMode: "Política de expiração",
|
||
expiryPermanent: "Permanente",
|
||
expiryPermanentHint: "Não associa um lease; a chave não expirará automaticamente",
|
||
expiryTtl: "Tempo de vida (TTL)",
|
||
expiryTtlHint: "Cria um lease temporário que expira após o período configurado",
|
||
expiryLease: "Vincular lease",
|
||
expiryLeaseHint: "Vincula a chave a um Lease ID existente",
|
||
leaseId: "Lease ID",
|
||
leasePlaceholder: "Informe um Lease ID existente",
|
||
leaseInvalid: "O Lease ID deve ser um inteiro positivo válido de 64 bits",
|
||
valueContent: "Conteúdo do valor",
|
||
keyAlreadyExists: "Já existe uma Key com esse nome. Escolha outro nome ou feche esta janela e edite a Key existente.",
|
||
conflict: "Esta Key foi alterada depois de ser carregada. Atualize e tente novamente.",
|
||
saved: "Chave salva",
|
||
deleted: "Chave excluída",
|
||
base64Readonly: "Edite valores Base64 no modo Base64.",
|
||
rename: "Renomear",
|
||
clone: "Clonar",
|
||
copyKey: "Copiar chave",
|
||
export: "Exportar",
|
||
import: "Importar",
|
||
sync: "Sincronizar",
|
||
history: "Histórico",
|
||
restore: "Restaurar esta versão",
|
||
compare: "Comparar",
|
||
format: "Formato do valor",
|
||
savePreview: "Revisar alterações do valor",
|
||
globalSearch: "Busca global",
|
||
searchPrefix: "Limitar ao prefixo (opcional)",
|
||
searchAll: "Chave e valor",
|
||
searchPlaceholder: "Buscar no conteúdo da chave ou do valor",
|
||
searchProgress: "{scanned} chaves analisadas, {matched} correspondências",
|
||
exportResults: "Exportar resultados",
|
||
clearSearchResults: "Limpar resultados",
|
||
exported: "{count} chaves exportadas",
|
||
importPreview: "Prévia da importação",
|
||
syncPreview: "Prévia da sincronização",
|
||
targetConnection: "Selecione a conexão etcd de destino",
|
||
targetReadOnly: "A conexão de destino é somente leitura; não é possível aplicar importações nem sincronizações.",
|
||
mirrorDelete: "Excluir chaves extras do destino (espelho)",
|
||
mirrorDeleteWarning: "O modo espelho exclui chaves de destino ausentes na origem. Revise cada exclusão antes de aplicar.",
|
||
preparingPreview: "Preparando prévia de alterações em uma revisão fixa...",
|
||
operation: "Operação",
|
||
reason: "Motivo",
|
||
selectedOperations: "{count} operações selecionadas",
|
||
applyOperations: "Aplicar operações",
|
||
transferApplied: "{count} operações aplicadas",
|
||
operationApplied: "Aplicada com sucesso",
|
||
transferPartiallyApplied: "{count} operações foram aplicadas antes de o lote parar: {error}. A prévia foi atualizada; tente novamente apenas as operações restantes.",
|
||
transferPartialRefreshFailed: "{count} operações foram aplicadas antes de o lote parar: {error}. A atualização da prévia também falhou: {previewError}. Feche e reabra a prévia antes de tentar novamente.",
|
||
targetChangedDuringTransfer: "A conexão de destino mudou durante a execução do lote",
|
||
dashboard: {
|
||
title: "Painel do etcd",
|
||
description: "Observação baseada nos endpoints acessíveis pelo cliente; não é uma verificação autoritativa da integridade do quorum.",
|
||
autoRefreshOff: "Atualização automática desativada",
|
||
refresh: "Atualizar",
|
||
retry: "Verificar novamente",
|
||
loadFailed: "Não foi possível carregar o Painel do etcd",
|
||
agentUpgradeTitle: "O Painel não está disponível com o Agent do etcd atual",
|
||
agentUpgradeDescription: "Esta conexão ainda usa um Agent antigo que não consegue ler o estado do cluster. A navegação e edição de chaves continuam disponíveis.",
|
||
agentUpgradeSteps: "Atualize o Agent do etcd no Gerenciador de drivers, desconecte e reconecte esta conexão. Depois selecione “Verificar novamente”.",
|
||
observedHealth: "Integridade observada",
|
||
reachableMembers: "Membros acessíveis",
|
||
keyCount: "Quantidade de chaves",
|
||
backendSize: "Tamanho do backend",
|
||
fragmentation: "Fragmentação estimada",
|
||
cluster: "cluster",
|
||
revision: "revisão",
|
||
leader: "líder",
|
||
noAlarms: "Nenhum alarme ativo observado",
|
||
prometheusMetrics: "Métricas de execução do Prometheus",
|
||
prometheusDescription: "Métricas estáveis coletadas do /metrics do etcd. As taxas são calculadas entre duas amostras consecutivas.",
|
||
collectedAt: "Coletado às",
|
||
requests: "Taxa de solicitações gRPC",
|
||
requestFailureRate: "Taxa de falha das solicitações",
|
||
proposals: "Propostas Raft",
|
||
proposalLag: "Diferença entre confirmadas e aplicadas",
|
||
pending: "pendentes",
|
||
diskLatency: "Latência de persistência em disco",
|
||
walFsync: "Média de fsync do WAL",
|
||
backendCommit: "Média de commit do backend",
|
||
networkTraffic: "Tráfego de rede do cliente",
|
||
peerTraffic: "Tráfego entre pares",
|
||
processResources: "Recursos do processo",
|
||
runtime: "Runtime do Go",
|
||
goroutines: "goroutines",
|
||
leaderChanges: "Total de mudanças de líder",
|
||
failedProposals: "Total de propostas com falha",
|
||
failedProposalRate: "Taxa de falha",
|
||
rateNeedsRefresh: "Atualize novamente para calcular as taxas em tempo real",
|
||
storageQuota: "Uso da cota do backend",
|
||
uptime: "Tempo de atividade do processo",
|
||
consensusReliability: "Consenso e confiabilidade",
|
||
leadership: "Liderança",
|
||
knownPeers: "pares conhecidos",
|
||
proposalState: "Estado das propostas",
|
||
raftFailures: "Falhas do Raft",
|
||
revisionState: "Revisão MVCC",
|
||
compactRevision: "Revisão compactada",
|
||
requestLoad: "Carga de solicitações",
|
||
grpcMethod: "Método gRPC",
|
||
total: "Total",
|
||
rate: "Taxa",
|
||
failures: "Falhas",
|
||
avgLatency: "Latência média",
|
||
storageDisk: "Armazenamento e disco",
|
||
databaseState: "Estado do banco de dados",
|
||
inUse: "em uso",
|
||
openReadTransactions: "Transações de leitura abertas",
|
||
backgroundTasks: "Tarefas em segundo plano",
|
||
watchState: "Estado dos watches",
|
||
watchers: "Watchers",
|
||
watchStreams: "Fluxos de watch",
|
||
events: "Taxa de eventos",
|
||
slowPending: "Lentas / pendentes",
|
||
leaseState: "Ciclo de vida dos leases",
|
||
granted: "Taxa de concessão",
|
||
renewed: "Taxa de renovação",
|
||
revokedExpired: "Revogados / expirados",
|
||
averageTtl: "TTL médio",
|
||
runtimeResources: "Recursos de execução",
|
||
memory: "Memória",
|
||
processNetworkGc: "Rede do processo e GC",
|
||
metricsUnavailable: "As métricas do Prometheus não estão disponíveis",
|
||
metricsUnavailableHint: "O estado do cluster continua disponível. O DBX solicita /metrics diretamente ao endpoint etcd atual; confirme se a URL resultante pode ser acessada pelo aplicativo DBX.",
|
||
endpointMember: "Endpoint / membro",
|
||
role: "Função",
|
||
version: "Versão",
|
||
raftTermApplied: "Termo Raft / aplicado",
|
||
dbSizeInUse: "Tamanho do BD / em uso",
|
||
latency: "Latência",
|
||
status: "Status",
|
||
learner: "aprendiz",
|
||
follower: "seguidor",
|
||
reachable: "acessível",
|
||
unreachable: "inacessível",
|
||
loading: "Carregando observação do cluster…",
|
||
health: {
|
||
unknown: "desconhecido",
|
||
critical: "crítico",
|
||
warning: "aviso",
|
||
healthy: "saudável",
|
||
},
|
||
lag: "Atraso",
|
||
slowApply: "Aplicação lenta",
|
||
putBytes: "Bytes gravados",
|
||
},
|
||
watch: "Monitor",
|
||
lease: "Lease",
|
||
key: "Chave",
|
||
keyOrPrefix: "Chave ou Prefixo",
|
||
selectExistingLease: "Selecionar Lease Existente",
|
||
enterLeaseId: "ou digitar o ID do Lease manualmente",
|
||
leasePickerHint: "Pode selecionar de Leases da sessão atual ou digitar o ID do Lease manualmente.",
|
||
noLeasePickerHint: "A sessão atual não possui Leases selecionáveis. Pode digitar o ID manualmente e salvar.",
|
||
registryWarning: "Esta Chave está em /registry/, namespace normalmente usado por componentes do plano de controle. Verifique a propriedade e o impacto antes de salvar.",
|
||
access: {
|
||
users: "Usuários",
|
||
roles: "Funções",
|
||
title: "Controle de Acesso",
|
||
description: "Gerenciar usuários nativos, funções e permissões de Chave do etcd",
|
||
readOnly: "Conexão somente leitura",
|
||
refresh: "Atualizar",
|
||
userCount: "Usuários ({count})",
|
||
roleCount: "Funções ({count})",
|
||
createUser: "Criar usuário",
|
||
createRole: "Criar função",
|
||
noUsers: "Nenhum usuário etcd criado",
|
||
noRoles: "Nenhuma função etcd criada",
|
||
selectUser: "Selecione um usuário à esquerda para ver funções e ações de credenciais",
|
||
selectRole: "Selecione uma função à esquerda para ver e gerenciar permissões",
|
||
loadingUser: "Carregando detalhes do usuário...",
|
||
loadingRole: "Carregando detalhes da função...",
|
||
userRolesSummary: "Associado a {count} funções. Senha não é lida, exibida ou salva no cliente.",
|
||
changePassword: "Alterar senha",
|
||
deleteUser: "Excluir usuário",
|
||
roleAssignments: "Atribuições de função",
|
||
roleAssignmentHint: "As funções determinam quais Chaves este usuário pode ler e escrever.",
|
||
revokeAssociation: "Revogar associação",
|
||
noAssignedRoles: "Este usuário ainda não possui funções atribuídas.",
|
||
assignRole: "Associar nova função",
|
||
assignRoleHint: "Selecione uma função ainda não associada e conceda a este usuário.",
|
||
selectRoleOption: "Selecionar função",
|
||
noAssignableRoles: "Nenhuma função disponível para associar",
|
||
grantRole: "Conceder função",
|
||
rolePermissionHint: "Permissões podem abranger todas as Chaves, Prefixo ou Chave exata; Prefixo é salvo com intervalo semiaberto do etcd.",
|
||
grantPermission: "Conceder permissão",
|
||
deleteRole: "Excluir função",
|
||
resource: "Recurso",
|
||
permission: "Permissão",
|
||
allKeys: "Todas as Chaves",
|
||
exactKey: "Chave exata",
|
||
allKeyspace: "Todo o Keyspace",
|
||
edit: "Editar",
|
||
revoke: "Revogar",
|
||
noPermissions: "Esta função ainda não possui permissões concedidas.",
|
||
createEtcdUser: "Criar usuário etcd",
|
||
username: "Nome de usuário",
|
||
password: "Senha",
|
||
initialRoles: "Funções iniciais",
|
||
optional: "Opcional",
|
||
initialRolesHint: "Após a criação, as funções selecionadas serão associadas imediatamente.",
|
||
selectedCount: "Selecionado {count}",
|
||
noRolesForNewUser: "Não há funções atualmente. Crie o usuário primeiro e depois associe funções nos detalhes do usuário.",
|
||
createAndAssignRoles: "Criar e associar {count} funções",
|
||
createUserAction: "Criar usuário",
|
||
createEtcdRole: "Criar função etcd",
|
||
roleName: "Nome da função",
|
||
initialPermission: "Permissão inicial",
|
||
initialPermissionHint: "Se preenchido, esta permissão será concedida imediatamente ao criar a função.",
|
||
keyOrPrefixPlaceholder: "Chave ou Prefixo",
|
||
allKeysHint: "Concederá acesso a todas as Chaves.",
|
||
createAndGrantPermission: "Criar e conceder permissão",
|
||
read: "Leitura",
|
||
write: "Escrita",
|
||
readWrite: "Leitura e escrita",
|
||
passwordHint: "A nova senha será enviada apenas nesta requisição e será limpa da interface imediatamente após o envio.",
|
||
newPassword: "Nova senha",
|
||
continue: "Continuar",
|
||
editPermission: "Editar permissões da função",
|
||
permissionUpdateHint: "etcd Auth não fornece atualização atômica; ao salvar, as permissões antigas são revogadas primeiro, depois as novas são concedidas. Se a concessão falhar, o sistema tentará restaurar as antigas.",
|
||
saveChanges: "Salvar alterações",
|
||
dangerousTitle: "Confirmar operação perigosa",
|
||
dangerousHint: "Esta operação modificará dados de autenticação do etcd diretamente. Digite o texto de confirmação abaixo para continuar.",
|
||
confirmationPlaceholder: "Digite o texto de confirmação",
|
||
confirmExecute: "Confirmar e executar",
|
||
cancel: "Cancelar",
|
||
preflightRequired: "Esta alteração de permissão requer nova credencial de confirmação. Clique novamente em 'Salvar alterações' e complete a confirmação.",
|
||
preflightExpired: "A confirmação expirou. Clique novamente em 'Salvar alterações' e complete a confirmação.",
|
||
preflightMismatch: "O conteúdo da confirmação ou as permissões a serem alteradas mudaram. Reconfirme e tente novamente.",
|
||
confirmationMismatch: "Texto de confirmação inconsistente. Tente novamente.",
|
||
createdUser: "Usuário {user} criado",
|
||
createdUserWithRoles: "Usuário {user} criado com {count} funções associadas",
|
||
createdUserRolesFailed: "Usuário criado, mas associação de funções iniciais falhou: {error}",
|
||
createdRole: "Função {role} criada",
|
||
createdRoleWithPermission: "Função {role} criada com permissão inicial concedida",
|
||
createdRolePermissionFailed: "Função criada, mas concessão de permissão inicial falhou: {error}",
|
||
deletedUser: "Usuário {user} excluído",
|
||
deletedRole: "Função {role} excluída",
|
||
passwordUpdated: "Senha de {user} atualizada",
|
||
roleGranted: "Função {role} concedida a {user}",
|
||
roleRevoked: "Função {role} revogada de {user}",
|
||
permissionGranted: "Permissão concedida à função",
|
||
permissionUpdated: "Permissão da função atualizada",
|
||
permissionRevoked: "Permissão da função revogada",
|
||
},
|
||
admin: {
|
||
maintenance: "Manutenção",
|
||
watch: "Monitor",
|
||
lease: "Lease",
|
||
refresh: "Atualizar",
|
||
maintenanceTitle: "Manutenção de histórico e espaço em disco",
|
||
maintenanceDescription: "Primeiro, limpe as versões históricas não utilizadas conforme necessário, depois decida se recupera o espaço em disco ocupado pelos arquivos de backend. Essas duas operações não são substitutas.",
|
||
currentRevision: "Revisão atual {revision}",
|
||
reachableMembers: "Membros alcançáveis {reachable} / {total}",
|
||
compactTitle: "Limpar versões históricas",
|
||
compactDescription: "Exclui o histórico MVCC anterior à revisão especificada. Os valores atuais da Chave não são excluídos, mas leituras de revisões passadas e Watches iniciados de posições anteriores não serão recuperáveis.",
|
||
compactDiskHint: "Não libera espaço em disco. Se precisar reduzir o arquivo de backend, execute a desfragmentação após a compactação.",
|
||
compactRevision: "Ponto inicial de retenção do histórico (revisão)",
|
||
compactPlaceholder: "Exemplo: {revision}",
|
||
compactRequired: "Digite a revisão a partir da qual manter o histórico.",
|
||
compactDone: "Limpeza de versões históricas concluída",
|
||
compactInputHint: "Exclui o histórico anterior a esta revisão. Confirme que essas versões históricas não são mais necessárias antes de continuar.",
|
||
compactAction: "Compactar histórico",
|
||
defragTitle: "Recuperar espaço em disco",
|
||
defragDescription: "A desfragmentação reescreve os arquivos de backend de cada membro, devolvendo o espaço em disco recuperável ao sistema operacional. O sistema processa os followers em série primeiro, depois o leader atual.",
|
||
defragWarning: "Cada membro fica brevemente indisponível durante a desfragmentação. Os membros são processados um por vez, com o leader atual por último; confirme primeiro que o cluster está saudável.",
|
||
defragReachableMembers: "Processar {count} membros acessíveis",
|
||
leaderLast: "Leader por último: {endpoint}",
|
||
defragAction: "Recuperar espaço em {count} membros",
|
||
defragDone: "Recuperação de espaço em disco concluída",
|
||
newWatch: "Novo monitor",
|
||
editWatch: "Editar monitor",
|
||
watchSearch: "Filtrar monitores",
|
||
watchKeyPlaceholder: "Exemplo: /apps/payment/config",
|
||
watchScope: "Escopo do monitor",
|
||
prefix: "Prefixo",
|
||
exact: "Chave exata",
|
||
watchKeyHint: "Recebe apenas eventos de criação, alteração de valor e exclusão desta Chave.",
|
||
watchPrefixHint: "Recebe eventos de todas as Chaves que começam com este prefixo.",
|
||
watchSessionHint: "O monitor é executado apenas na sessão de conexão atual; ele parará automaticamente ao fechar a conexão ou sair da página do etcd. Cada conexão pode executar no máximo 4 monitores simultaneamente.",
|
||
watchCount: "{count} criados",
|
||
runningWatchCount: "{count} em execução",
|
||
watchList: "Monitores criados",
|
||
itemCount: "{count} itens",
|
||
scope: "Escopo",
|
||
status: "Status",
|
||
actions: "Ações",
|
||
createWatch: "Criar e iniciar monitor",
|
||
saveWatch: "Salvar configuração",
|
||
running: "Em execução",
|
||
stopped: "Parado",
|
||
error: "Erro",
|
||
editWatchTitle: "Editar monitor",
|
||
stopWatch: "Parar monitor",
|
||
startWatch: "Iniciar monitor",
|
||
deleteWatch: "Excluir monitor",
|
||
noMatchingWatches: "Nenhum monitor correspondente encontrado",
|
||
noWatches: "Ainda não há monitores.",
|
||
eventStream: "Fluxo de eventos",
|
||
eventCount: "{count} eventos",
|
||
filter: "Filtrar",
|
||
event: "Evento",
|
||
create: "Criar",
|
||
update: "Alteração de valor",
|
||
delete: "Excluir",
|
||
noFilteredEvents: "Nenhum evento corresponde ao filtro atual",
|
||
waitingEvents: "Aguardando alterações na Chave...",
|
||
watchNotRunning: "Este monitor não está em execução no momento.",
|
||
selectWatch: "Selecione um monitor à esquerda para ver o fluxo de eventos",
|
||
leaseDescription: "Após a expiração do Lease, suas Chaves anexadas são excluídas automaticamente.",
|
||
grantLease: "Conceder Lease",
|
||
renew: "Renovar",
|
||
revoke: "Revogar",
|
||
previousPage: "Anterior",
|
||
nextPage: "Próxima",
|
||
leasePageSize: "Até {count} itens por página",
|
||
grantedTtl: "Concedido {ttl}s",
|
||
noKnownLeases: "Nenhum Lease conhecido na sessão atual",
|
||
loadingLease: "Carregando detalhes do Lease...",
|
||
keepalive: "Com a página aberta, renovação automática a cada TTL / 3",
|
||
attachedKeys: "Chaves anexadas",
|
||
noAttachedKeys: "Nenhuma Chave anexada",
|
||
attachedKeysTruncated: "Resultados de Chaves anexadas truncados, máximo de 256 itens exibidos.",
|
||
selectLease: "Selecione um Lease para ver detalhes",
|
||
leasePartial: "O cliente ou servidor etcd atual não suporta enumeração de Leases; apenas Leases criados ou acessados nesta sessão são mostrados; detalhes e TTL vêm do servidor.",
|
||
grantNewLease: "Conceder novo Lease",
|
||
ttl: "TTL (segundos)",
|
||
ttlPlaceholder: "Exemplo: 60",
|
||
ttlHint: "Tempo de vida do Lease, deve ser um inteiro positivo.",
|
||
customLeaseId: "ID de Lease personalizado",
|
||
customLeasePlaceholder: "Deixe em branco ou 0 para atribuição automática pelo etcd",
|
||
customLeaseHint: "Use um número inteiro decimal. etcd rejeitará a criação se o ID já existir.",
|
||
confirmationHint: "Esta é uma operação de manutenção de cluster que não pode ser desfeita automaticamente. Confirme o impacto abaixo para continuar.",
|
||
confirmationCredentialHint: "Digite o texto de confirmação abaixo. A credencial de confirmação é válida apenas para esta operação.",
|
||
confirmationPlaceholder: "Digite o texto de confirmação",
|
||
confirmationPrompt: "Esta operação pode afetar o cluster etcd. Digite o texto de confirmação:\n{confirmationText}",
|
||
confirmExecute: "Confirmar e executar",
|
||
cancel: "Cancelar",
|
||
noReachableMembers: "Nenhum membro alcançável, não é possível executar a desfragmentação no momento.",
|
||
defragStopped: "Recuperação de espaço em disco interrompida: sucesso {succeeded}, falha {failed}, não executado {notExecuted}",
|
||
defragCompleted: "Recuperação de espaço em disco concluída: sucesso {succeeded}/{total}",
|
||
leaseRenewed: "Lease {id} renovado",
|
||
leaseGrantCancelled: "Aguardando cancelado; etcd pode ainda estar processando a solicitação de concessão. Atualize para confirmar se o Lease foi criado.",
|
||
leaseCreated: "Lease {id} criado",
|
||
},
|
||
},
|
||
zookeeper: {
|
||
prefixPlaceholder: "Prefixo de caminho, ex.: /app/",
|
||
newKey: "Novo Znode",
|
||
loadingKeys: "Carregando znodes...",
|
||
empty: "Nenhum znode encontrado",
|
||
loadMore: "Carregar mais",
|
||
selectKey: "Selecione um znode para ver seu valor",
|
||
loadingValue: "Carregando valor...",
|
||
notFound: "Znode não encontrado",
|
||
edit: "Editar",
|
||
editKey: "Editar Znode",
|
||
delete: "Excluir",
|
||
deleteTitle: "Excluir znode do ZooKeeper",
|
||
keyPlaceholder: "/caminho/para/znode",
|
||
keyRequired: "Caminho do znode é obrigatório",
|
||
rootReadonly: "O znode raiz não pode ser modificado. Informe o caminho de um znode filho.",
|
||
saved: "Znode salvo",
|
||
deleted: "Znode excluído",
|
||
base64Readonly: "Valores Base64 são somente leitura nesta versão.",
|
||
createMode: "Modo de Criação",
|
||
createModePersistent: "Persistente",
|
||
createModeEphemeral: "Efêmero",
|
||
createModePersistentSequential: "Persistente Sequencial",
|
||
createModeEphemeralSequential: "Efêmero Sequencial",
|
||
add: "Adicionar",
|
||
value: "Valor",
|
||
metadata: "Informações do Nó",
|
||
prettyJson: "Formatado",
|
||
invalidJson: "JSON inválido",
|
||
summaryRevision: "rev",
|
||
summaryVersion: "ver",
|
||
summaryLease: "lease",
|
||
summarySize: "tamanho",
|
||
},
|
||
redis: {
|
||
setDatabaseAlias: "Definir alias do banco",
|
||
databaseAliasTitle: "Alias para db{db}",
|
||
databaseAliasPlaceholder: "ex.: pedidos, cache, desenvolvimento",
|
||
databaseAliasHint: "O alias é usado apenas para exibição e pesquisa. Os comandos Redis continuam usando o índice numérico.",
|
||
clearDatabaseAlias: "Limpar alias",
|
||
databaseAliasSaved: "Alias de db{db} definido como {alias}",
|
||
databaseAliasCleared: "Alias de db{db} removido",
|
||
createKeyTypeHelp: {
|
||
string: "Valor único de até 512 MB; útil para cache e contadores.",
|
||
hash: "Mapa plano campo-valor; ler um Hash grande inteiro é O(N).",
|
||
list: "Sequência ordenada; acesso no meio é linear.",
|
||
set: "Membros únicos sem ordem; enumerar conjuntos grandes é linear.",
|
||
zset: "Membros únicos com pontuação de ponto flutuante; escrita O(log N).",
|
||
stream: "Log somente de acréscimo; gerencie XACK, pendências e corte.",
|
||
json: "JSON por caminho; requer RedisJSON/Redis Stack e costuma custar mais que String ou Hash.",
|
||
},
|
||
selectKey: "Selecione uma chave para ver seu valor",
|
||
noKeys: "Nenhuma chave encontrada",
|
||
noKeysInScanHint: "Nenhuma chave encontrada no intervalo atual de verificação",
|
||
pattern: "padrão (ex.: user:*)",
|
||
fuzzyPattern: "a chave contém...",
|
||
fuzzyMatch: "Aproximado",
|
||
fuzzyMatchTitle: "Correspondência aproximada: pesquisa chaves por texto contido",
|
||
valueSearchPlaceholder: "o valor contém...",
|
||
allSearchPlaceholder: "a chave ou o valor contém...",
|
||
searchByKey: "Chave",
|
||
searchByValue: "Valor",
|
||
searchByAll: "Tudo",
|
||
searchFields: "Pesquisar campos e valores",
|
||
keys: "{count} chaves",
|
||
loadedKeys: "{loaded} / {total} chaves carregadas",
|
||
loadingKeys: "Carregando chaves...",
|
||
searchingValues: "Pesquisando valores...",
|
||
searchingAll: "Pesquisando chaves e valores...",
|
||
loadMoreKeys: "Carregar mais chaves",
|
||
fetchAllKeys: "Buscar todas",
|
||
stopFetchAll: "Parar",
|
||
fetchAllProgress: "{loaded} de {total} chaves carregadas",
|
||
fetchAllProgressUnknown: "{loaded} chaves carregadas",
|
||
items: "{count} itens",
|
||
fields: "{count} campos",
|
||
members: "{count} membros",
|
||
loadedItems: "{loaded} de {total} itens carregados",
|
||
loadedFields: "{loaded} de {total} campos carregados",
|
||
loadedMembers: "{loaded} de {total} membros carregados",
|
||
entries: "{count} entradas",
|
||
streamData: "Dados do stream",
|
||
consumerGroups: "Grupos de consumidores",
|
||
group: "Grupo",
|
||
consumers: "Consumidores",
|
||
pending: "Pendentes",
|
||
lastDeliveredId: "Último ID entregue",
|
||
lastDelivered: "Última entrega",
|
||
entriesRead: "Entradas lidas",
|
||
lag: "Atraso",
|
||
noConsumerGroups: "Nenhum grupo de consumidores",
|
||
streamGroupsLoadFailed: "Não foi possível carregar os grupos de consumidores",
|
||
backToGroups: "Voltar aos grupos",
|
||
streamConsumers: "Consumidores",
|
||
streamConsumersLoadFailed: "Não foi possível carregar os consumidores",
|
||
noStreamConsumers: "Nenhum consumidor",
|
||
openConsumerDetails: "Abrir detalhes do consumidor",
|
||
consumer: "Consumidor",
|
||
idle: "Ocioso",
|
||
inactive: "Inativo",
|
||
pendingEntries: "Entradas pendentes",
|
||
pendingEntriesLoadFailed: "Não foi possível carregar as entradas pendentes",
|
||
noPendingEntries: "Nenhuma entrada pendente",
|
||
entryId: "ID da entrada",
|
||
deliveries: "Entregas",
|
||
loadMoreEntries: "Carregar mais entradas",
|
||
loadMorePending: "Carregar mais entradas pendentes",
|
||
noExpiry: "sem expiração",
|
||
expiry: "Expiração",
|
||
expiryNone: "Sem expiração",
|
||
expiryTtl: "TTL (segundos)",
|
||
expiryAt: "Data e hora de expiração (local)",
|
||
expiryTtlInvalid: "Insira um TTL positivo em segundos",
|
||
expiryDateRequired: "Selecione uma data e hora de expiração válida",
|
||
expiryDatePast: "A data e hora de expiração deve ser futura",
|
||
keyExpiredBeforeDisplay: "A chave expirou antes de poder ser exibida.",
|
||
autoRefresh: "Atualização automática",
|
||
ttlDay: "{count}d",
|
||
columnType: "Tipo",
|
||
columnKey: "Chave",
|
||
columnValue: "Valor",
|
||
columnSize: "Tamanho",
|
||
columnTTL: "TTL",
|
||
binaryStringReadonlyHint: "Valores de string binária são exibidos como texto escapado no modo somente leitura; a edição de bytes brutos não é suportada.",
|
||
selectedKeys: "Chaves selecionadas",
|
||
selectLoadedGroupKeys: "Selecionar {count} chaves correspondentes carregadas",
|
||
loadedMatchingKeys: "{count} chaves correspondentes carregadas",
|
||
fuzzyTreeLimit: "{count} correspondências difusas são mostradas como uma lista plana para manter o navegador responsivo. Refine a busca para ver a hierarquia.",
|
||
deleteGroup: "Excluir grupo",
|
||
deleteGroupDetails: "{target}\n{count} chaves",
|
||
deleteLoadedSearchKeysDetails: "{target}\n{count} chaves correspondentes carregadas",
|
||
flushDb: "Limpar DB atual",
|
||
flushDbMessage: "Isto excluirá todas as chaves do banco de dados Redis atual e não pode ser desfeito. Continuar?",
|
||
flushDbDetails: "Alvo: Redis db{db}\nEscopo: todas as chaves do DB atual",
|
||
flushDbConfirm: "Limpar DB",
|
||
flushDbSuccess: "Redis db{db} limpo",
|
||
keyDetail: "Detalhe da chave",
|
||
commandLine: "Linha de comando",
|
||
selectKeyForDetail: "Selecione uma chave para ver os detalhes",
|
||
commandWelcome: "Bem-vindo ao console de comandos do Redis",
|
||
commandPlaceholder: "Comando Redis, ex.: GET user:1",
|
||
commandPrefix: "CMD",
|
||
commandHint: "Insira um comando Redis, ex.: SMEMBERS feature:flags",
|
||
executeCommand: "Executar comando",
|
||
commandEmpty: "Insira um comando Redis",
|
||
commandEmptyResult: "Execute um comando Redis para ver o resultado",
|
||
commandBlocked: "Este comando Redis está bloqueado por segurança",
|
||
createKey: "Criar chave",
|
||
createKeyName: "Chave",
|
||
createKeyNamePlaceholder: "user:1",
|
||
createKeyType: "Tipo",
|
||
createValue: "Valor",
|
||
createMember: "Membro",
|
||
createField: "Campo",
|
||
createFieldPlaceholder: "nome",
|
||
createScore: "Pontuação",
|
||
createKeyTtl: "TTL (segundos)",
|
||
createKeyTtlPlaceholder: "segundos inteiros positivos",
|
||
createKeyAddEntry: "Adicionar entrada",
|
||
createKeyEntryId: "ID da entrada",
|
||
createKeyRawMode: "Entrada bruta",
|
||
createKeyEntries: "Entradas",
|
||
createKeyPartialWrite: "Algumas entradas foram gravadas. Corrija o erro e crie novamente para gravar as entradas restantes.",
|
||
createValuePlaceholder: "valor",
|
||
jsonModuleNotAvailable: "Módulo ReJSON não está carregado neste servidor Redis",
|
||
createKeySubmit: "Criar",
|
||
createKeyNameRequired: "Insira um nome de chave",
|
||
createFieldRequired: "Insira um campo de hash",
|
||
createScoreInvalid: "Insira uma pontuação válida",
|
||
fieldRequired: "Insira um nome de campo",
|
||
valueRequired: "Insira um valor",
|
||
memberRequired: "Insira um membro",
|
||
ttlInvalid: "Insira um TTL válido em segundos (-1 para sem expiração)",
|
||
member: "Membro",
|
||
memberDetail: "Detalhe do membro",
|
||
viewMember: "Ver valor completo",
|
||
copyMember: "Copiar membro",
|
||
copyKeyName: "Copiar nome da chave",
|
||
copied: "Copiado",
|
||
copyInsertStatement: "Copiar instrução de inserção",
|
||
copyInsertStatementBinary: "Não é possível gerar instrução de inserção para dados binários",
|
||
editMember: "Editar",
|
||
jsonView: "Visão JSON",
|
||
rawContent: "Conteúdo bruto",
|
||
wordWrap: "Quebra de linha",
|
||
formatJson: "Formatar",
|
||
compressJson: "Comprimir",
|
||
jsonFormatError: "Formato JSON inválido",
|
||
clearHistory: "Limpar histórico de comandos",
|
||
historyCleared: "Histórico de comandos Redis limpo",
|
||
blockedCommand: "O comando {command} está bloqueado por segurança. Desative o ícone de escudo na barra de ferramentas para permiti-lo.",
|
||
slowlog: "Slow Log",
|
||
slowlogCount: "Contagem",
|
||
slowlogQuery: "Consultar",
|
||
slowlogNode: "Nó",
|
||
slowlogSelectNode: "Selecione um nó",
|
||
slowlogNodeRequired: "Selecione um nó primeiro",
|
||
slowlogEmpty: "Clique em Consultar para obter entradas do slow log",
|
||
slowlogFetchFailed: "Falha ao buscar slow log: {error}",
|
||
slowlogColumnId: "ID",
|
||
slowlogColumnTimestamp: "Timestamp",
|
||
slowlogColumnDuration: "Duração (μs)",
|
||
slowlogColumnCommand: "Comando",
|
||
slowlogColumnClientAddr: "Cliente",
|
||
slowlogColumnClientName: "Nome do Cliente",
|
||
slowlogTotal: "{count} entradas",
|
||
slowlogDetailTitle: "Entrada de Slow Log #{id}",
|
||
pubsub: "Pub/Sub",
|
||
pubsubConnected: "Conectado",
|
||
pubsubConnecting: "Conectando...",
|
||
pubsubDisconnected: "Desconectado",
|
||
pubsubConnect: "Conectar",
|
||
pubsubDisconnect: "Desconectar",
|
||
pubsubChannels: "Canais",
|
||
pubsubChannelPlaceholder: "Nome do canal",
|
||
pubsubSubscribe: "Inscrever-se",
|
||
pubsubPatterns: "Padrões",
|
||
pubsubPatternPlaceholder: "Padrão (ex. news:*)",
|
||
pubsubPsubscribe: "PInscrever-se",
|
||
pubsubMessages: "Mensagens",
|
||
pubsubClear: "Limpar",
|
||
pubsubEmpty: "Nenhuma mensagem. Inscreva-se em um canal para receber mensagens.",
|
||
pubsubPublish: "Publicar",
|
||
pubsubPublishChannel: "Canal",
|
||
pubsubPublishMessage: "Mensagem",
|
||
pubsubSend: "Enviar",
|
||
pubsubPublishFailed: "Publicação falhou: {error}",
|
||
pubsubWsConnectFailed: "Conexão WebSocket falhou: {error}",
|
||
dashboard: {
|
||
totalMemory: "Memória total",
|
||
usedMemory: "Memória utilizada",
|
||
operations: "Operações",
|
||
hitRatio: "Taxa de acertos",
|
||
keyCount: "Quantidade de chaves",
|
||
clients: "Clientes",
|
||
searchIndicators: "Buscar indicadores...",
|
||
node: "Nó",
|
||
off: "Desativado",
|
||
refresh: "Atualizar",
|
||
noMatchingIndicators: "Nenhum indicador correspondente",
|
||
noDataAvailable: "Nenhum dado disponível",
|
||
sections: {
|
||
server: "Servidor",
|
||
clients: "Clientes",
|
||
memory: "Memória",
|
||
persistence: "Persistência",
|
||
stats: "Estatísticas",
|
||
replication: "Replicação",
|
||
cpu: "CPU",
|
||
modules: "Módulos",
|
||
commandstats: "Estatísticas de comandos",
|
||
errorstats: "Estatísticas de erros",
|
||
latencystats: "Estatísticas de latência",
|
||
cluster: "Cluster",
|
||
keyspace: "Espaço de chaves",
|
||
},
|
||
},
|
||
},
|
||
mongo: {
|
||
documents: "{count} documentos",
|
||
addField: "Adicionar campo",
|
||
deleteField: "Excluir campo",
|
||
field: "Campo",
|
||
value: "Valor",
|
||
fieldPlaceholder: "Nome do campo",
|
||
emptyCollection: "Coleção vazia",
|
||
selectDocument: "Selecione um documento",
|
||
readonlyId: "_id é somente leitura",
|
||
invalidJsonValue: "Esta célula não é um valor JSON válido",
|
||
invalidJson: "JSON inválido",
|
||
documentMustBeObject: "O JSON do documento deve ser um objeto",
|
||
unsupportedJsonNumber: "O JSON contém um número fora do intervalo int64 do MongoDB",
|
||
duplicateJsonKey: "Chave JSON duplicada: {field}",
|
||
duplicateField: "Nome de campo duplicado: {field}",
|
||
edit: "Editar",
|
||
editModeFields: "Campos",
|
||
editModeJson: "JSON",
|
||
jsonReplaceHint: "Salvar em JSON substitui o documento inteiro. Alterar _id cria um novo documento e remove o antigo.",
|
||
jsonIdRequired: "É necessário um _id válido ao alterar a identidade do documento.",
|
||
documentView: "Visão de documento",
|
||
tableView: "Visão de tabela",
|
||
filterPlaceholder: "Filtrar...",
|
||
sortPlaceholder: "Ordenar...",
|
||
fieldEditor: "Campo",
|
||
nativeJson: "JSON nativo",
|
||
nativeJsonHint: "Para valores BSON, use MongoDB Extended JSON, por exemplo $oid, $date, $numberLong.",
|
||
invalidNativeJson: "Formato de JSON nativo inválido: {error}",
|
||
nativeDocumentRequired: "O objeto de nível superior do JSON nativo deve ser um documento.",
|
||
},
|
||
vector: {
|
||
collectionFallback: "coleção",
|
||
productCollection: "coleção {product}",
|
||
browse: "Navegar",
|
||
search: "Pesquisar",
|
||
upsert: "Upsert",
|
||
delete: "Excluir",
|
||
reset: "Redefinir",
|
||
refresh: "Atualizar",
|
||
run: "Executar",
|
||
apply: "Aplicar",
|
||
requestEditor: "Editor de requisição de vetor",
|
||
operationSuccess: "Operação concluída. A pré-visualização da coleção foi atualizada.",
|
||
vectorLabel: "Vetor",
|
||
vectorDimensionRequired: "A dimensão da coleção ainda não está disponível. Insira um vetor com a dimensão correta.",
|
||
},
|
||
hbase: {
|
||
prefix: "Prefixo",
|
||
exact: "Exata",
|
||
rowKeyPrefix: "Prefixo da chave da linha",
|
||
rowKey: "Chave da linha",
|
||
rows: "linhas",
|
||
schema: "Esquema",
|
||
writeRow: "Gravar linha",
|
||
loadedRows: "{count} linhas carregadas",
|
||
resultTruncated: "Há mais linhas disponíveis",
|
||
tableSchema: "Esquema: {table}",
|
||
rowSaved: "Linha do HBase salva",
|
||
cellsObjectRequired: "cells deve ser um objeto JSON",
|
||
cellRequired: "É necessária pelo menos uma célula",
|
||
noColumnFamilies: "Esta tabela HBase não possui famílias de colunas",
|
||
invalidJsonValue: "Valor inválido para {label}; use texto, um valor primitivo ou base64:...",
|
||
createTable: "Criar tabela",
|
||
create: "Criar",
|
||
tableCreated: "Tabela HBase {table} criada",
|
||
tableDeleted: "Tabela HBase {table} excluída",
|
||
createTableIn: "Criar tabela em {namespace}",
|
||
tableName: "Nome da tabela",
|
||
columnFamiliesPlaceholder: "Famílias de colunas, separadas por vírgulas",
|
||
deleteTable: "Excluir tabela",
|
||
deleteTableConfirm: "Excluir a tabela HBase {table}? Todas as linhas serão removidas permanentemente.",
|
||
},
|
||
history: {
|
||
title: "Histórico",
|
||
search: "Pesquisar histórico...",
|
||
empty: "Nenhum histórico ainda",
|
||
emptyFilteredRecent: "Nenhum registro correspondente nas 200 entradas mais recentes do histórico de execução",
|
||
failed: "Falhou",
|
||
success: "Concluído",
|
||
restore: "Restaurar no editor",
|
||
copy: "Copiar SQL",
|
||
delete: "Excluir",
|
||
clear: "Limpar histórico",
|
||
viewDetails: "Ver detalhes",
|
||
analyzeWithAi: "Analisar com IA",
|
||
aiAnalyzeNoConnection: "Não é possível analisar esta entrada de histórico porque sua conexão não existe mais.",
|
||
aiAnalysisTab: "Análise do histórico",
|
||
rollback: "Reverter",
|
||
rollbackSql: "SQL de reversão",
|
||
rollbackAvailable: "Disponível",
|
||
rollbackUnavailable: "Sem SQL de reversão",
|
||
rollbackConfirm: "Executar o SQL de reversão gerado para esta entrada de histórico?",
|
||
rollbackSuccess: "Reversão executada",
|
||
rollbackFailed: "Falha na reversão: {message}",
|
||
confirmDelete: "Excluir esta entrada de histórico?",
|
||
confirmClear: "Limpar todo o histórico?",
|
||
emptyFiltered: "Nenhum histórico corresponde aos filtros atuais",
|
||
loadMore: "Carregar mais",
|
||
scope: {
|
||
title: "Conexão e banco de dados",
|
||
search: "Pesquisar conexões ou bancos de dados...",
|
||
reset: "Redefinir",
|
||
allConnections: "Todas as conexões",
|
||
current: "Atual",
|
||
connections: "Conexões",
|
||
databases: "Bancos de dados",
|
||
connectionCount: "{count} conexões",
|
||
databaseCount: "{count} bancos de dados",
|
||
unknownConnection: "Conexão desconhecida",
|
||
noOptions: "Nenhuma opção correspondente",
|
||
},
|
||
filters: {
|
||
all: "Todos",
|
||
query: "Consultas",
|
||
data_change: "Alterações de dados",
|
||
schema_change: "Alterações de schema",
|
||
failed: "Falhou",
|
||
},
|
||
dateRange: {
|
||
title: "Intervalo de tempo",
|
||
label: "Hora de execução:",
|
||
start: "Data inicial",
|
||
end: "Data final",
|
||
apply: "Aplicar",
|
||
clear: "Limpar",
|
||
invalid: "A data inicial não pode ser posterior à data final",
|
||
unboundedStart: "Início",
|
||
unboundedEnd: "Fim",
|
||
},
|
||
kinds: {
|
||
query: "Consulta",
|
||
data_change: "Alteração de dados",
|
||
schema_change: "Alteração de schema",
|
||
import: "Importação",
|
||
transfer: "Transferência",
|
||
redis_command: "Comando Redis",
|
||
},
|
||
kindShort: {
|
||
query: "SQL",
|
||
data_change: "Dados",
|
||
schema_change: "DDL",
|
||
import: "Importar",
|
||
transfer: "Mover",
|
||
redis_command: "Redis",
|
||
},
|
||
detail: {
|
||
kind: "Tipo",
|
||
operation: "Operação",
|
||
connection: "Conexão",
|
||
database: "Banco de dados",
|
||
target: "Alvo",
|
||
time: "Hora",
|
||
duration: "Duração",
|
||
affectedRows: "Linhas afetadas",
|
||
rollback: "Reversão",
|
||
status: "Status",
|
||
error: "Erro",
|
||
},
|
||
},
|
||
dangerDialog: {
|
||
title: "Operação perigosa",
|
||
message: "Esta instrução SQL pode modificar ou excluir dados de forma irreversível. Tem certeza de que deseja executá-la?",
|
||
redisCommandMessage: "Este comando Redis pode modificar dados e não pode ser desfeito automaticamente. Continuar?",
|
||
suppressFuturePrompts: "Não perguntar novamente para SQL perigoso",
|
||
wrapLines: "Alternar quebra de linha",
|
||
copyFullText: "Copiar texto completo",
|
||
previewTruncated: "Visualização truncada: {lines} linhas e {characters} caracteres omitidos. A cópia inclui o texto completo.",
|
||
deleteMessage: "Esta operação de exclusão pode ser irreversível. Continuar?",
|
||
deleteConfirm: "Confirmar exclusão",
|
||
deleteRowMessage: "Esta linha será marcada para exclusão e removida do banco de dados após salvar. Continuar?",
|
||
deleteRowsMessage: "Estas {count} linhas serão marcadas para exclusão e removidas do banco de dados após salvar. Continuar?",
|
||
deleteRowDetails: "Tabela: {table}",
|
||
deleteRowDetailsNoTable: "Linha de resultado atual",
|
||
redisKeyDetails: "Chave Redis: {key}",
|
||
redisHashFieldDetails: "Hash Redis: {key}\nCampo: {field}",
|
||
redisListItemDetails: "Lista Redis: {key}\nÍndice: {index}",
|
||
redisSetMemberDetails: "Set Redis: {key}\nMembro: {member}",
|
||
mongoDocumentDetails: "Coleção MongoDB: {collection}\nDocumento _id: {id}",
|
||
mongoFieldDetails: "Campo: {field}",
|
||
mongoArrayItemDetails: "Índice do item do array: {index}",
|
||
cancel: "Cancelar",
|
||
confirm: "Executar",
|
||
},
|
||
sqlParameters: {
|
||
title: "Parâmetros SQL",
|
||
description: "Preencha valores para marcadores de template SQL. O DBX substitui antes de executar o SQL.",
|
||
name: "Parâmetro",
|
||
syntax: "Sintaxe",
|
||
type: "Tipo",
|
||
value: "Valor",
|
||
valuePlaceholder: "Digite o valor",
|
||
preview: "Prévia SQL",
|
||
execute: "Executar",
|
||
kind: {
|
||
string: "Texto",
|
||
number: "Número",
|
||
boolean: "Booleano",
|
||
null: "NULL",
|
||
raw: "SQL bruto",
|
||
},
|
||
},
|
||
transfer: {
|
||
title: "Transferência de Dados",
|
||
content: "Conteúdo de transferência",
|
||
contentStructureAndData: "Estrutura e dados",
|
||
contentStructureOnly: "Apenas estrutura",
|
||
contentDataOnly: "Apenas dados",
|
||
contentStructureOnlyHint: "Cria apenas a estrutura de tabelas e objetos, sem copiar dados",
|
||
contentDataOnlyHint: "Copia apenas os dados para tabelas de destino existentes",
|
||
objects: "Objetos",
|
||
searchObjects: "Buscar nome do objeto...",
|
||
noObjects: "Nenhum objeto",
|
||
objectTypeTable: "Tabelas",
|
||
objectTypeView: "Views",
|
||
objectTypeMaterializedView: "Views materializadas",
|
||
objectTypeProcedure: "Procedimentos",
|
||
objectTypeFunction: "Funções",
|
||
objectTypeTrigger: "Triggers",
|
||
objectTypeSequence: "Sequências",
|
||
objectTypeEvent: "Eventos",
|
||
objectDataOnlyDisabled: "Objetos que não são tabelas não são transferidos no modo apenas dados",
|
||
objectCrossFamilyDisabled: "A transferência entre bancos suporta apenas sequências (DDL simples; corpos de views não são traduzidos)",
|
||
crossFamilyViewHint: "Transferência de views entre bancos: selecione também as tabelas das quais a view depende ou garanta que elas já existam no banco de destino",
|
||
objectUnsupportedDisabled: "O banco de dados atual não suporta a transferência deste tipo de objeto",
|
||
skippedExistingObjects: "Ignorado {count} objeto(s) existente(s)",
|
||
dataWriteMode: "Modo de gravação de dados",
|
||
source: "Origem",
|
||
target: "Destino",
|
||
sourceConnection: "Conexão de origem",
|
||
sourceDatabase: "Banco de dados de origem",
|
||
sourceSchema: "Schema de origem",
|
||
targetConnection: "Conexão de destino",
|
||
targetDatabase: "Banco de dados de destino",
|
||
targetSchema: "Schema de destino",
|
||
tables: "Tabelas",
|
||
selectAll: "Selecionar tudo",
|
||
deselectAll: "Desmarcar tudo",
|
||
createTable: "Criar tabela se não existir",
|
||
transferMode: "Modo de transferência",
|
||
modeAppend: "Anexar (INSERT)",
|
||
modeOverwrite: "Sobrescrever (TRUNCATE + INSERT)",
|
||
modeUpsert: "Upsert (INSERT ou UPDATE por PK)",
|
||
targetTableNameCase: "Maiúsculas/minúsculas da tabela de destino",
|
||
tableNameCasePreserve: "Preservar",
|
||
tableNameCaseLower: "Converter para minúsculas",
|
||
tableNameCaseUpper: "Converter para maiúsculas",
|
||
batchSize: "Tamanho do lote",
|
||
start: "Iniciar transferência",
|
||
cancel: "Cancelar",
|
||
progress: "Transferindo...",
|
||
transferring: "Transferindo {table}...",
|
||
completed: "Transferência concluída",
|
||
completedWithErrors: "Concluído com {count} tabela com falha | Concluído com {count} tabelas com falha",
|
||
failed: "Falha na transferência",
|
||
cancelled: "Transferência cancelada",
|
||
rowsTransferred: "{count} linhas transferidas",
|
||
tableProgress: "{current} / {total} tabelas",
|
||
noSqlConnections: "Nenhuma conexão SQL disponível",
|
||
selectTables: "Selecione as tabelas para transferir",
|
||
searchTables: "Pesquisar tabelas...",
|
||
noTables: "Nenhuma tabela",
|
||
selectSourceFirst: "Selecione primeiro a conexão e o banco de dados de origem",
|
||
tableError: "Falha na tabela {table}: {error}",
|
||
overallProgress: "Progresso geral",
|
||
dataTransfer: "Transferência de Dados",
|
||
runInBackground: "Executar em segundo plano",
|
||
newTask: "Nova transferência",
|
||
editConfig: "Editar configuração",
|
||
retry: "Tentar novamente",
|
||
targetTableBusy: "Outra transferência já está gravando na(s) tabela(s) de destino: {tables}",
|
||
ownershipTitle: "Confirmar proprietário",
|
||
ownershipMessage: "O banco de dados de destino não tem estes usuários ou roles proprietários: {owners}. Aplicar o proprietário original pode falhar.",
|
||
ownershipSkipDetails: "Pular não executará as instruções de alteração de proprietário dos objetos. Os dados das tabelas e outras estruturas continuarão sendo sincronizados.",
|
||
ownershipTargetOwner: "Confirmar reatribuirá os objetos com proprietários ausentes ao usuário da conexão de destino: {owner}.",
|
||
ownershipSkip: "Pular",
|
||
ownershipConfirm: "Confirmar",
|
||
selectConnection: "Selecionar conexão",
|
||
selectDatabase: "Selecionar banco de dados",
|
||
selectSchema: "Selecionar schema",
|
||
searchConnection: "Pesquisar conexões...",
|
||
searchDatabase: "Pesquisar bancos de dados...",
|
||
searchSchema: "Pesquisar schemas...",
|
||
sourceCatalog: "Catalog de origem",
|
||
targetCatalog: "Catalog de destino",
|
||
selectCatalog: "Por favor, selecione Catalog...",
|
||
searchCatalog: "Buscar Catalog...",
|
||
},
|
||
tableImport: {
|
||
title: "Importar Dados da Tabela",
|
||
target: "Tabela de destino",
|
||
selectFile: "Selecionar arquivo",
|
||
changeFile: "Change File",
|
||
noFileSelected: "No file selected",
|
||
sourceFile: "Source file",
|
||
sourceFormat: "Source format",
|
||
stepSource: "Source",
|
||
stepOptions: "Options",
|
||
stepMapping: "Mapping",
|
||
stepReview: "Review",
|
||
stepExecution: "Run",
|
||
formatCsv: "CSV",
|
||
formatCsvDescription: "Comma-separated text",
|
||
formatTsv: "TSV",
|
||
formatTsvDescription: "Tab-separated text",
|
||
formatDelimited: "Delimited",
|
||
formatDelimitedDescription: "Custom text delimiter",
|
||
formatJson: "JSON",
|
||
formatJsonDescription: "Object or array rows",
|
||
formatExcel: "Excel",
|
||
formatExcelDescription: "XLS, XLSX, XLSM",
|
||
previewRows: "Preview rows",
|
||
delimiter: "Delimiter",
|
||
encoding: "Codificação",
|
||
encodingAuto: "Detecção automática",
|
||
encodingUtf8: "UTF-8",
|
||
encodingGbk: "GBK / GB18030",
|
||
encodingUtf16Le: "UTF-16 LE",
|
||
encodingUtf16Be: "UTF-16 BE",
|
||
encodingDetected: "Detectada: {encoding}",
|
||
hasHeader: "First row is header",
|
||
trimValues: "Trim values",
|
||
emptyStringAsNull: "Empty string as NULL",
|
||
jsonShape: "JSON rows",
|
||
jsonShapeAuto: "Auto-detect",
|
||
jsonShapeObjects: "Objects",
|
||
jsonShapeArrays: "Arrays",
|
||
sheet: "Sheet",
|
||
firstSheet: "First sheet",
|
||
loadPreview: "Load Preview",
|
||
reloadPreview: "Reload Preview",
|
||
previewReady: "{rows} rows, {columns} columns",
|
||
previewReadyPartial: "Previewed {rows} rows, {columns} columns; total will be confirmed during import",
|
||
previewPartial: "Previewed {rows} rows",
|
||
rowsImported: "rows imported",
|
||
file: "Arquivo",
|
||
rows: "Linhas",
|
||
mapped: "Mapeado",
|
||
mapping: "Mapeamento de Colunas",
|
||
sourceColumn: "Origem",
|
||
targetColumn: "Destino",
|
||
targetDataType: "Tipo",
|
||
createColumns: "Colunas a criar",
|
||
skipColumn: "Pular",
|
||
preview: "Pré-visualização",
|
||
mode: "Modo de importação",
|
||
append: "Anexar dados",
|
||
truncate: "Truncar e depois importar",
|
||
progress: "Progresso",
|
||
start: "Iniciar importação",
|
||
success: "{count} linhas importadas",
|
||
elapsed: "Tempo decorrido: {duration}",
|
||
back: "Back",
|
||
next: "Next",
|
||
truncateWarning: "Existing rows in the target table will be removed before import starts.",
|
||
requiredUnmapped: "Required target columns are not mapped: {columns}",
|
||
status_idle: "Ready to import",
|
||
status_running: "Importing data",
|
||
phase_preparing: "Preparing import",
|
||
phase_detectingEncoding: "Detecting text encoding",
|
||
phase_reading: "Reading source file",
|
||
phase_writing: "Writing data",
|
||
phase_finalizing: "Finalizing import",
|
||
status_done: "Import complete",
|
||
status_error: "Import failed",
|
||
status_cancelled: "Import cancelled",
|
||
},
|
||
dataGenerate: {
|
||
title: "Geração de dados",
|
||
target: "Destino",
|
||
rowCount: "Linhas a gerar",
|
||
columns: "Colunas",
|
||
column: "Coluna",
|
||
type: "Tipo",
|
||
generator: "Gerador",
|
||
columnProps: "Propriedades da coluna",
|
||
databaseObjects: "Objetos do banco",
|
||
selectTable: "Selecione uma tabela à esquerda",
|
||
saveProfile: "Salvar perfil",
|
||
loadProfile: "Carregar perfil",
|
||
options: "Opções",
|
||
generateOrder: "Ordem de geração",
|
||
nextStep: "Próximo",
|
||
insertSuccess: "{count} linhas inseridas",
|
||
noData: "No data yet, please configure generation rules first",
|
||
noResult: "No execution results",
|
||
regenerate: "Regenerate",
|
||
first50Rows: "Showing first 50 rows, total {count} rows",
|
||
resultTitle: "Resultados da execução",
|
||
successLabel: "{count} bem-sucedidas",
|
||
failLabel: "{count} falhas",
|
||
totalLabel: "/ {count} linhas",
|
||
copyAllSql: "Copy All SQL",
|
||
prevStep: "Anterior",
|
||
startInsert: "Start Insert",
|
||
confirm: "Confirmar",
|
||
back: "Voltar",
|
||
reset: "Reset",
|
||
selectGenerator: "Select a generator...",
|
||
selectGeneratorHint: "Please select a generator",
|
||
preview: "Preview",
|
||
noValue: "(nenhum)",
|
||
startDate: "Start Date",
|
||
endDate: "End Date",
|
||
allDay: "All day",
|
||
startTime: "Start Time",
|
||
endTime: "End Time",
|
||
weekday: "Weekday",
|
||
all: "All",
|
||
weekdayOnly: "Weekdays",
|
||
custom: "Custom",
|
||
values: "Values",
|
||
min: "Min",
|
||
max: "Max",
|
||
increment: "Incremento",
|
||
cycle: "Cycle when exceeded",
|
||
includeDefault: "Include DEFAULT",
|
||
includeNull: "Include NULL",
|
||
unique: "Set unique",
|
||
disableLinks: "Disable data links between columns",
|
||
imageMode: "Mode",
|
||
generate: "Generate",
|
||
fromFolder: "From folder",
|
||
imageWidth: "Image Width",
|
||
imageHeight: "Image Height",
|
||
imageFormat: "Image Format",
|
||
folderPath: "Folder Path",
|
||
filterByExtension: "Filter by extensions",
|
||
errorContinue: "Continue on error",
|
||
truncateBefore: "Truncate table before generation",
|
||
useTransaction: "Use transaction",
|
||
extendedInsert: "Use extended INSERT",
|
||
ok: "OK",
|
||
noTablesSelected: "No tables selected",
|
||
orderHint: "Use arrow buttons to reorder",
|
||
language: "Idioma",
|
||
regionLabel: "Região",
|
||
formatLabel: "Formato",
|
||
formatType: "Tipo de formato",
|
||
typeLabel: "Tipo",
|
||
loading: "Carregando...",
|
||
regex: "Expressão regular",
|
||
rawPattern: "Modo de padrão bruto",
|
||
notSet: "(não definido)",
|
||
noMatch: "(sem correspondência)",
|
||
invalidRegex: "(expressão regular inválida)",
|
||
noDomain: "(sem domínio)",
|
||
schema: "Esquema",
|
||
tableLabel: "Tabela",
|
||
columnLabel: "Coluna",
|
||
genMode: "Modo de geração",
|
||
dateType: "Tipo de data",
|
||
yearOffsetRange: "Intervalo de anos (deslocamento em relação ao ano atual)",
|
||
numberType: "Tipo de número",
|
||
integer: "Inteiro",
|
||
decimal: "Decimal",
|
||
decimalPlaces: "Casas decimais",
|
||
uuidFormat: "Formato UUID",
|
||
uuidWithHyphens: "Com hifens",
|
||
uuidNoHyphens: "Sem hifens",
|
||
includeSeparators: "Incluir separadores",
|
||
phoneDomestic: "Nacional",
|
||
phoneInternational: "Internacional",
|
||
charCount: "Caracteres",
|
||
start: "Início",
|
||
valueList: "Lista de valores",
|
||
domainList: "Lista de domínios",
|
||
subdomains: "Subdomínios",
|
||
tlds: "Domínios de topo",
|
||
extensionType: "Tipo de extensão",
|
||
extensionList: "Lista de extensões:",
|
||
availableExtensions: "Extensões disponíveis:",
|
||
includeExtension: "Incluir extensão",
|
||
includeFileName: "Incluir nome do arquivo",
|
||
pathType: "Tipo de caminho",
|
||
ipType: "Tipo de endereço IP",
|
||
nameFormat: "Formato do nome",
|
||
transformTo: "Transformar valores em",
|
||
generateOptions: "Opções de geração",
|
||
previewRowCount: "{count} linhas",
|
||
useKeywords: "Gerar a partir de palavras-chave",
|
||
weekdayShort: {
|
||
sun: "Dom",
|
||
mon: "Seg",
|
||
tue: "Ter",
|
||
wed: "Qua",
|
||
thu: "Qui",
|
||
fri: "Sex",
|
||
sat: "Sáb",
|
||
},
|
||
countries: {
|
||
us: "Estados Unidos",
|
||
uk: "Reino Unido",
|
||
cn: "China",
|
||
jp: "Japão",
|
||
other: "Outro",
|
||
cnEnglish: "China (inglês)",
|
||
jpEnglish: "Japão (inglês)",
|
||
},
|
||
cityLanguages: {
|
||
native: "Idioma local",
|
||
english: "Inglês",
|
||
},
|
||
addressTypes: {
|
||
line1: "Endereço linha 1",
|
||
line2: "Endereço linha 2",
|
||
full: "Endereço completo",
|
||
},
|
||
nameFormats: {
|
||
full: "Nome completo",
|
||
last: "Somente sobrenome",
|
||
first: "Somente nome",
|
||
},
|
||
regionFormats: {
|
||
name: "Nome",
|
||
code: "Código",
|
||
codeName: "Código + Nome",
|
||
},
|
||
transforms: {
|
||
none: "Como está",
|
||
upper: "MAIÚSCULAS",
|
||
lower: "minúsculas",
|
||
title: "Iniciais Maiúsculas",
|
||
},
|
||
extensionCategories: {
|
||
image: "Imagem",
|
||
document: "Documento",
|
||
spreadsheet: "Planilha",
|
||
presentation: "Apresentação",
|
||
audio: "Áudio",
|
||
video: "Vídeo",
|
||
code: "Código",
|
||
archive: "Arquivo compactado",
|
||
web: "Web",
|
||
database: "Banco de dados",
|
||
},
|
||
placeholders: {
|
||
enumValues: "Um valor por linha\nfirst\nsecond\nthird",
|
||
subdomains: "Um subdomínio por linha\nauth.\nwww.\napi.",
|
||
tlds: "Um TLD por linha\n.com\n.cn\n.io",
|
||
fileExtensions: "Uma extensão por linha\npng\njpg\ntxt",
|
||
paymentMethods: "Um método de pagamento por linha\nCredit Card\nPayPal\nApple Pay",
|
||
keywords: "Uma palavra-chave por linha\nApple\nCherry\nOrange",
|
||
weightUnits: "Uma unidade por linha\ng\nkg\nlb",
|
||
},
|
||
genModes: {
|
||
random: "Aleatório",
|
||
unique: "Sem duplicatas",
|
||
repeat: "Repetir cada valor",
|
||
},
|
||
gen: {
|
||
general: "General",
|
||
personal: "Personal",
|
||
payment: "Payment",
|
||
business: "Business",
|
||
location: "Location",
|
||
product: "Product",
|
||
computer: "Computer",
|
||
number: "Number",
|
||
datetime: "Date Time",
|
||
date: "Date",
|
||
time: "Time",
|
||
sequence: "Sequence",
|
||
enum: "Enum",
|
||
text: "Text",
|
||
image: "Image or Binary",
|
||
foreign_key: "Foreign Key",
|
||
uuid: "UUID",
|
||
regex: "Regex",
|
||
full_name: "Full Name",
|
||
gender: "Gender",
|
||
title: "Title",
|
||
marital_status: "Marital Status",
|
||
phone: "Phone",
|
||
email: "Email",
|
||
job_title: "Job Title",
|
||
social_id: "Social ID",
|
||
payment_method: "Payment Method",
|
||
credit_card_type: "Credit Card Type",
|
||
credit_card_number: "Credit Card Number",
|
||
credit_card_date: "Credit Card Date",
|
||
company_name: "Company Name",
|
||
department: "Department",
|
||
industry: "Industry",
|
||
address: "Address",
|
||
city: "City",
|
||
region: "Region",
|
||
product_name: "Product Name",
|
||
product_category: "Product Category",
|
||
color: "Color",
|
||
size: "Size",
|
||
weight_unit: "Weight Unit",
|
||
barcode: "Barcode",
|
||
sku: "SKU",
|
||
ip_address: "IP Address",
|
||
mac_address: "MAC Address",
|
||
file_path: "File Path",
|
||
file_name: "File Name",
|
||
file_extension: "File Extension",
|
||
url: "URL",
|
||
hostname: "Hostname",
|
||
id_number: "Número de documento",
|
||
},
|
||
idTypes: {
|
||
title: "Tipo de documento",
|
||
customPattern: "Padrão personalizado",
|
||
customPatternPlaceholder: "ex.: ([A-Z]{2})-([0-9]{8})",
|
||
customPatternHint: "Suporta padrões simples como [A-Z] letras, [0-9] dígitos, {n} repetições, hífens",
|
||
id_card: "CPF chinês",
|
||
passport: "Passaporte",
|
||
hk_macau_pass: "Permissão HK/Macau",
|
||
taiwan_pass: "Permissão Taiwan",
|
||
uscc: "Código social unificado",
|
||
bank_card: "Cartão bancário",
|
||
drivers_license: "Carteira de motorista",
|
||
custom: "Personalizado",
|
||
},
|
||
},
|
||
tableToolbox: {
|
||
title: "Ferramentas de dados",
|
||
generateData: "Gerar dados",
|
||
importData: "Importar dados",
|
||
exportData: "Exportar dados",
|
||
generateDataComingSoon: "Em breve",
|
||
},
|
||
sqlFile: {
|
||
title: "Executar Arquivo SQL",
|
||
file: "Arquivo",
|
||
selectSqlFile: "Selecionar arquivo SQL",
|
||
browse: "Procurar",
|
||
previewingLines: "Pré-visualizando {count} linhas",
|
||
previewingFirstLines: "Pré-visualizando as primeiras {count} linhas",
|
||
tooLargeForEditor: "Este arquivo SQL tem {size} e excede o limite de {limit} do editor. Use Executar Arquivo SQL para processá-lo por streaming.",
|
||
largeFileExecutionOpened: "O arquivo SQL de {size} é grande demais para o editor. Executar Arquivo SQL foi aberto para processamento por streaming.",
|
||
target: "Destino",
|
||
connection: "Conexão",
|
||
selectConnection: "Selecionar conexão",
|
||
database: "Banco de dados",
|
||
selectDatabase: "Selecionar banco de dados",
|
||
databasePlaceholder: "Nome do banco de dados",
|
||
options: "Opções",
|
||
continueOnError: "Continuar em caso de erro",
|
||
runInBackground: "Executar em segundo plano",
|
||
cancelling: "Cancelando...",
|
||
cancel: "Cancelar",
|
||
execute: "Executar",
|
||
statement: "Instrução",
|
||
succeeded: "Bem-sucedido",
|
||
failed: "Falhou",
|
||
affectedRows: "Linhas afetadas",
|
||
currentStatement: "Instrução atual",
|
||
status: {
|
||
idle: "Ocioso",
|
||
started: "Iniciado",
|
||
running: "Em execução",
|
||
statementDone: "Instrução concluída",
|
||
statementFailed: "Instrução falhou",
|
||
done: "Concluído",
|
||
error: "Erro",
|
||
cancelled: "Cancelado",
|
||
},
|
||
fileProgress: "Arquivo {current} de {total}",
|
||
fileColumn: "Arquivo",
|
||
totalFiles: "{count} arquivos",
|
||
expandSummary: "Expandir Tabela Estatística",
|
||
restoreSummary: "Restaurar Tabela Estatística",
|
||
},
|
||
diff: {
|
||
title: "Comparar Esquemas",
|
||
source: "Origem",
|
||
target: "Destino",
|
||
selectConnection: "Selecionar conexão",
|
||
selectDatabase: "Selecionar banco de dados",
|
||
selectSchema: "Selecionar schema",
|
||
ignoreComments: "Ignorar diferenças de comentários",
|
||
compare: "Comparar",
|
||
comparing: "Comparando schemas...",
|
||
noDifferences: "Nenhuma diferença encontrada",
|
||
table: "Tabela",
|
||
status: "Status",
|
||
details: "Detalhes",
|
||
added: "Adicionado",
|
||
removed: "Removido",
|
||
modified: "Modificado",
|
||
indexes: "Índices",
|
||
foreignKeys: "Chaves estrangeiras",
|
||
triggers: "Gatilhos",
|
||
comments: "Comentários",
|
||
newTable: "Nova tabela",
|
||
dropTable: "Excluir tabela",
|
||
generatedSql: "Sincronizar SQL",
|
||
copySql: "Copiar SQL",
|
||
executeSync: "Executar sincronização",
|
||
syncSuccess: "Sincronização executada com sucesso",
|
||
swap: "Trocar origem e destino",
|
||
syncProgress: "Executando: {current}/{total}",
|
||
syncSummary: "{success} bem-sucedidas, {failed} com falha",
|
||
connection: "Conexão",
|
||
database: "Banco de dados",
|
||
schema: "Schema",
|
||
recentConfigs: "Configurações Recentes",
|
||
selectRecentConfig: "Selecionar configuração recente",
|
||
configSaved: "Configuração salva",
|
||
configDeleted: "Configuração excluída",
|
||
sourceObject: "Objeto de origem",
|
||
targetObject: "Objeto de destino",
|
||
operation: "Operação",
|
||
selectedCount: "{selected} selecionados de {total}",
|
||
saveConfig: "Salvar configuração",
|
||
loadConfig: "Carregar configuração",
|
||
options: "Opções",
|
||
ddlCompare: "Comparação DDL",
|
||
deployScript: "Script de implantação",
|
||
deployScriptAll: "Todos os scripts de implantação",
|
||
deployScriptDesc: "Script SQL para o objeto selecionado",
|
||
deployScriptAllDesc: "Script SQL para todos os objetos selecionados",
|
||
copy: "Copiar",
|
||
execute: "Executar",
|
||
executeAll: "Executar todos",
|
||
executeSuccess: "Executado com sucesso",
|
||
selectObjectToCompare: "Selecione um objeto para ver a comparação DDL",
|
||
noDdlAvailable: "Nenhum DDL disponível",
|
||
noDeployScript: "Nenhum script de implantação",
|
||
noDeployScriptAll: "Nenhum script de implantação para os objetos selecionados",
|
||
sourceDdl: "DDL de origem",
|
||
targetDdl: "DDL de destino",
|
||
objectNotExistsInSource: "Este objeto não existe no banco de dados de origem",
|
||
objectNotExistsInTarget: "Este objeto não existe no banco de dados de destino",
|
||
nextStepDeploy: "Próximo (Revisar Implantação)",
|
||
deployReview: "Revisão de Implantação",
|
||
backToResult: "Voltar ao Resultado",
|
||
copyScript: "Copiar Script",
|
||
exportSql: "Exportar .sql",
|
||
deployToServer: "Implantar no Servidor",
|
||
deployConfirmTitle: "Confirmação Final",
|
||
deployConfirmMessage: "Você está prestes a implantar as seguintes alterações no banco de dados de destino",
|
||
targetServer: "Servidor de Destino",
|
||
dbVersion: "Versão do Banco de Dados",
|
||
targetDatabase: "Banco de Dados de Destino",
|
||
targetSchema: "Schema de Destino",
|
||
useTransaction: "Executar em transação (rollback automático em caso de falha)",
|
||
confirmDeploy: "Confirmar Implantação",
|
||
exportSuccess: "Exportação bem-sucedida",
|
||
create: "Criar",
|
||
delete: "Excluir",
|
||
modify: "Modificar",
|
||
cancel: "Cancelar",
|
||
prevStep: "Anterior",
|
||
recompare: "Comparar novamente",
|
||
maximize: "Maximizar",
|
||
restore: "Restaurar",
|
||
operationLabel: {
|
||
modify: "Objetos a modificar",
|
||
create: "Objetos a criar",
|
||
delete: "Objetos a excluir",
|
||
none: "Nenhuma operação",
|
||
},
|
||
objectKindLabel: {
|
||
table: "Tabela",
|
||
view: "Visão",
|
||
function: "Função",
|
||
sequence: "Sequência",
|
||
rule: "Regra",
|
||
owner: "Proprietário",
|
||
index: "Índice",
|
||
foreignKey: "Chave Estrangeira",
|
||
trigger: "Gatilho",
|
||
},
|
||
noObjectsSelected: "Selecione objetos para implantar",
|
||
deploySuccess: "Implantação Bem-sucedida",
|
||
deployFailed: "Implantação Falhou",
|
||
deploySuccessMessage: "Script SQL executado com sucesso no banco de dados de destino",
|
||
deployFailedMessage: "Ocorreu um erro durante a execução",
|
||
affectedRows: "Linhas Afetadas",
|
||
executedStatements: "Instruções Executadas",
|
||
serverVersion: "Versão do Servidor",
|
||
info: "Informações",
|
||
connType: "Tipo de conexão",
|
||
connName: "Nome da conexão",
|
||
host: "Host",
|
||
port: "Porta",
|
||
copied: "Copiado para a área de transferência",
|
||
saveConfigPrompt: "Digite o nome da configuração:",
|
||
close: "Fechar",
|
||
searchConnection: "Pesquisar conexões...",
|
||
searchDatabase: "Pesquisar bancos de dados...",
|
||
searchSchema: "Pesquisar schemas...",
|
||
defaultConfigName: "Padrão",
|
||
dependsOn: "depende de",
|
||
dependedBy: "dependido por",
|
||
openFieldMapping: "Mapeamento de Campos",
|
||
fieldMapping: {
|
||
title: "Mapeamento de Tipos de Campo",
|
||
sameTypeHint: "Origem e destino são do mesmo tipo de banco de dados. O mapeamento de campos só é necessário ao comparar entre tipos de banco de dados diferentes.",
|
||
preset: "Predefinição Integrada",
|
||
selectPreset: "Selecionar uma predefinição...",
|
||
noMappings: "Nenhum mapeamento de campos definido",
|
||
sourceType: "Tipo de Origem",
|
||
targetType: "Tipo de Destino",
|
||
paramStrategy: "Estratégia de Parâmetros",
|
||
strategyPreserve: "Preservar",
|
||
strategyStrip: "Remover",
|
||
strategyCustom: "Personalizado",
|
||
customParamsPlaceholder: "ex.: (100)",
|
||
addMapping: "Adicionar Mapeamento",
|
||
autoGenerate: "Auto-Gerar",
|
||
import: "Importar",
|
||
export: "Exportar",
|
||
done: "Concluído",
|
||
importTypeMismatch: "Os mapeamentos importados foram exportados para {src} → {tgt}, mas a comparação atual é {curSrc} → {curTgt}. Os mapeamentos de tipo podem não ser precisos. Continuar mesmo assim?",
|
||
importSuccess: "Mapeamentos de campos importados com sucesso",
|
||
importError: "Falha ao importar mapeamentos de campos. Verifique o formato JSON.",
|
||
clearMappings: "Limpar",
|
||
staleMappingWarning: "O tipo de banco de dados mudou de {prevSrc} → {prevTgt} para {curSrc} → {curTgt}. Os mapeamentos de campos existentes podem não ser mais válidos. Limpá-los?",
|
||
},
|
||
deployMode: "Implantar",
|
||
forwardSql: "SQL Direto",
|
||
rollbackSql: "SQL de Reversão",
|
||
rollbackMode: "Reversão",
|
||
deployMixed: "Implantação parcialmente concluída. Algumas instruções podem já ter sido aplicadas ({executedCount}/{statementCount}). DDL pode não ser transacional.",
|
||
deployRolledBack: "Todas as alterações foram revertidas.",
|
||
rollbackIncompleteBlocked: "Rollback incomplete (missing objects). Execution blocked.",
|
||
rollbackIncompleteBanner: "Rollback incomplete — missing trigger/table DDL.",
|
||
deployMixedTitle: "Parcialmente Implantado",
|
||
deployRolledBackTitle: "Revertido",
|
||
deployMixedWarning: "Algumas instruções podem já ter sido aplicadas enquanto outras falharam. O banco de dados pode estar em um estado inconsistente. Revise o log de transações e tome ação corretiva manual antes de tentar novamente.",
|
||
},
|
||
rollbackComparison: {
|
||
title: "Comparação de Reversão",
|
||
forwardSql: "SQL Direto",
|
||
rollbackSql: "SQL de Reversão",
|
||
},
|
||
schemaDiff: {
|
||
optionsTitle: "Opções de Comparação",
|
||
selectConfig: "Selecionar configuração",
|
||
newConfigName: "Nova Configuração",
|
||
newConfig: "Nova Configuração",
|
||
renameConfig: "Renomear Configuração",
|
||
duplicateConfig: "Duplicar Configuração",
|
||
deleteConfig: "Excluir Configuração",
|
||
exportConfig: "Exportar Configuração",
|
||
exportAllConfigs: "Exportar Todas as Configurações",
|
||
importConfig: "Importar Configuração",
|
||
importFromFile: "Importar de Arquivo",
|
||
importFromText: "Importar de Texto",
|
||
importPlaceholder: "Cole o JSON da configuração...",
|
||
importInvalidJson: "Formato JSON inválido",
|
||
configName: "Nome da Configuração",
|
||
tableFilter: "Filtro de tabela",
|
||
tableFilterHint: "Corresponde a nomes completos de tabela com regex. Não digite /.../. ^ significa começa com, $ significa termina com, | significa ou.",
|
||
tableFilterHintShort: "Limitar comparação por regex de nome de tabela",
|
||
tableFilterHelp: "Ajuda do filtro de tabela",
|
||
tableFilterHelpRule: "Corresponde a nomes completos de tabela. Não digite /.../.",
|
||
tableFilterHelpBlank: "Incluir em branco significa todas as tabelas. Pular em branco significa sem exclusões.",
|
||
tableFilterHelpExample: "^user_ significa começa com user_; _bak$ significa termina com _bak; a|b significa a ou b.",
|
||
tableIncludePattern: "Comparar apenas tabelas correspondidas",
|
||
tableIncludePatternPlaceholder: "ex.: ^user_",
|
||
tableExcludePattern: "Pular tabelas correspondidas",
|
||
tableExcludePatternPlaceholder: "ex.: _bak$",
|
||
tableFilterPriority: "Quando ambos correspondem",
|
||
tableFilterPriorityExclude: "Exclusão vence",
|
||
tableFilterPriorityInclude: "Inclusão vence",
|
||
options: {
|
||
tables: "Comparar tabelas",
|
||
primaryKeys: "Comparar chaves primárias",
|
||
foreignKeys: "Comparar chaves estrangeiras",
|
||
uniqueKeys: "Comparar chaves únicas",
|
||
checks: "Comparar constraints CHECK",
|
||
exclusions: "Comparar constraints de exclusão",
|
||
views: "Comparar visões",
|
||
functions: "Comparar funções",
|
||
indexes: "Comparar índices",
|
||
sequences: "Comparar sequências",
|
||
triggers: "Comparar gatilhos",
|
||
rules: "Comparar regras",
|
||
owners: "Comparar proprietários",
|
||
cascadeDelete: "Usar CASCADE delete",
|
||
sequenceLastValues: "Comparar últimos valores de sequência",
|
||
compareColumnOrder: "Comparar ordem das colunas",
|
||
detectRenames: "Detectar renomeações",
|
||
detectTableRenames: "Detectar renomeações de tabela",
|
||
enableRollback: "Habilitar rollback",
|
||
advancedSection: "Avançado",
|
||
renameThreshold: "Limiar de renomeação",
|
||
compatibilityThreshold: "Limiar de compatibilidade",
|
||
sourceDialect: "Dialeto de origem",
|
||
targetDialect: "Dialeto de destino",
|
||
batchSection: "Lote",
|
||
batchPatterns: "Padrões de tabela (separados por vírgula)",
|
||
dialectAuto: "automático",
|
||
},
|
||
},
|
||
dataCompare: {
|
||
title: "Comparar Dados",
|
||
selectTable: "Selecionar tabela",
|
||
searchTable: "Pesquisar tabelas...",
|
||
sourceTables: "Tabelas de origem",
|
||
targetTable: "Tabela de destino",
|
||
searchTables: "Pesquisar tabelas...",
|
||
selectedTables: "{selected}/{total} selecionadas",
|
||
selectAllTables: "Selecionar tudo",
|
||
deselectAllTables: "Desmarcar tudo",
|
||
selectSourceTables: "Selecione primeiro a conexão e o banco de dados de origem, depois escolha as tabelas para comparar",
|
||
noTables: "Nenhuma tabela disponível para comparação",
|
||
autoMatchHint: "O modo em lote corresponde automaticamente as tabelas de destino pelo mesmo nome",
|
||
matchedTables: "{matched}/{total} tabelas correspondidas",
|
||
missingTargetTables: "Tabelas de destino de mesmo nome ausentes: {tables}",
|
||
keyColumns: "Colunas-Chave",
|
||
keyColumnsPlaceholder: "Colunas primárias ou únicas separadas por vírgula",
|
||
keyColumnsAutoHint: "Deixe em branco para detectar automaticamente as chaves primárias na comparação de tabela única, ou por tabela na comparação em lote.",
|
||
rowCounts: "Origem com {source} linhas, destino com {target} linhas; comparação completa concluída",
|
||
previewLimitOption: "Pré-visualizar {count}",
|
||
compare: "Comparar Dados",
|
||
summary: "{added} adicionados, {removed} removidos, {modified} modificados",
|
||
batchSummary: "{tables} tabelas comparadas: {different} diferentes, {same} idênticas, {failed} com falha; {added} adicionados, {removed} removidos, {modified} modificados",
|
||
comparingTable: "Comparando {current}/{total}: {table}",
|
||
keyColumnsInline: "Colunas-chave: {columns}",
|
||
selectedInline: "Selecionados {selected}/{total}",
|
||
selectedSummary: "Selecionados: {added} adicionados, {removed} removidos, {modified} modificados",
|
||
selectAllKind: "Selecionar todos {kind}",
|
||
clearKind: "Limpar {kind}",
|
||
clearSelection: "Limpar todas as seleções",
|
||
showAllRows: "Mostrar todas as {count}",
|
||
showLessRows: "Mostrar menos",
|
||
remainingRows: "{count} linhas a mais ocultas na pré-visualização",
|
||
planningSync: "Atualizando plano de sincronização...",
|
||
noSelectedDifferences: "Nenhuma diferença foi selecionada para execução",
|
||
planSummary: "Plano: {inserts} inserções, {updates} atualizações, {deletes} exclusões, {statements} instruções",
|
||
statusDifferent: "Diferente",
|
||
statusSame: "Igual",
|
||
statusError: "Falhou",
|
||
noKeyColumns: "Selecione pelo menos uma coluna-chave",
|
||
missingKeyColumns: "As colunas-chave devem existir nas tabelas de origem e de destino: {columns}",
|
||
noCommonColumns: "As tabelas de origem e de destino não têm colunas em comum para comparar",
|
||
targetTableMissing: "Tabela de destino não encontrada: {table}",
|
||
noComparableTables: "Nenhuma tabela comparável encontrada. Verifique se existem tabelas de destino de mesmo nome.",
|
||
noDifferences: "Os dados são idênticos, nenhum SQL de sincronização é necessário",
|
||
syncSuccess: "Sincronização de dados executada com sucesso",
|
||
},
|
||
settings: {
|
||
title: "Configurações",
|
||
searchSettings: "Pesquisar configurações",
|
||
searchSettingsNoResults: "Nenhuma configuração encontrada",
|
||
searchSettingsResults: "Resultados da pesquisa de configurações",
|
||
clearSettingsSearch: "Limpar pesquisa de configurações",
|
||
exitSettingsSearch: "Voltar às configurações",
|
||
editorTab: "Editor",
|
||
sqlFormatterTab: "Formatador SQL",
|
||
sqlFormatterImport: "Importar configuração",
|
||
sqlFormatterExport: "Exportar configuração",
|
||
sqlFormatterImportSuccess: "Configuração do formatador importada.",
|
||
sqlFormatterCopyJson: "Copiar JSON",
|
||
sqlFormatterCopyJsonSuccess: "JSON copiado.",
|
||
sqlFormatterCopyJsonFailed: "Falha ao copiar: {message}",
|
||
sqlFormatterJsonEditorLoadFailed: "Falha ao carregar o editor JSON. Alternado para uma entrada básica: {message}",
|
||
sqlFormatterRestoreDefaults: "Restaurar padrões",
|
||
sqlFormatterFormMode: "Formulário",
|
||
sqlFormatterJsonMode: "JSON",
|
||
sqlFormatterKeywordCase: "Maiúsculas/minúsculas de palavras-chave",
|
||
sqlFormatterFunctionCase: "Maiúsculas/minúsculas de funções",
|
||
sqlFormatterDataTypeCase: "Maiúsculas/minúsculas de tipos de dados",
|
||
sqlFormatterIdentifierCase: "Maiúsculas/minúsculas de identificadores",
|
||
sqlFormatterCaseUpper: "Maiúsculas",
|
||
sqlFormatterCaseLower: "Minúsculas",
|
||
sqlFormatterCasePreserve: "Preservar",
|
||
sqlFormatterIndent: "Recuo",
|
||
sqlFormatterIndentSpaces: "Espaços",
|
||
sqlFormatterIndentTabs: "Tabulações",
|
||
sqlFormatterTabWidth: "Largura do tab",
|
||
sqlFormatterIndentStyle: "Estilo de recuo",
|
||
sqlFormatterIndentStyleStandard: "Padrão",
|
||
sqlFormatterIndentStyleTabularLeft: "Tabular esquerda",
|
||
sqlFormatterIndentStyleTabularRight: "Tabular direita",
|
||
sqlFormatterLogicalOperatorNewline: "Quebra de linha no operador lógico",
|
||
sqlFormatterLogicalBefore: "Antes do operador",
|
||
sqlFormatterLogicalAfter: "Depois do operador",
|
||
sqlFormatterExpressionWidth: "Largura da expressão",
|
||
sqlFormatterLinesBetweenQueries: "Linhas entre consultas",
|
||
sqlFormatterDenseOperators: "Operadores compactos",
|
||
sqlFormatterNewlineBeforeSemicolon: "Ponto e vírgula em nova linha",
|
||
sqlFormatterAdvancedOptions: "Opções avançadas",
|
||
sqlFormatterParams: "Parâmetros",
|
||
sqlFormatterParamTypes: "Tipos de parâmetro",
|
||
sqlFormatterEditorShortcuts: "Atalhos",
|
||
sqlFormatterShortcutAction: "Ação",
|
||
sqlFormatterShortcutEnabled: "Ativo",
|
||
sqlFormatterShortcutWindows: "Windows",
|
||
sqlFormatterShortcutLinux: "Linux",
|
||
sqlFormatterShortcutMacos: "macOS",
|
||
sqlFormatterShortcutFind: "Localizar",
|
||
sqlFormatterShortcutReplace: "Substituir",
|
||
sqlFormatterShortcutIndentMore: "Aumentar recuo",
|
||
sqlFormatterShortcutIndentLess: "Reduzir recuo",
|
||
sqlFormatterShortcutDuplicateLine: "Duplicar linha atual",
|
||
sqlFormatterShortcutDeleteLine: "Excluir linha atual",
|
||
sqlFormatterShortcutMoveLine: "Mover linha",
|
||
sqlFormatterShortcutMoveLineUp: "Mover linha para cima",
|
||
sqlFormatterShortcutMoveLineDown: "Mover linha para baixo",
|
||
sqlFormatterShortcutCopyLine: "Copiar linha",
|
||
sqlFormatterShortcutCopyLineUp: "Copiar linha para cima",
|
||
sqlFormatterShortcutCopyLineDown: "Copiar linha para baixo",
|
||
sqlFormatterShortcutUndo: "Desfazer",
|
||
sqlFormatterShortcutRedo: "Refazer",
|
||
sqlFormatterShortcutSelectAll: "Selecionar tudo",
|
||
sqlFormatterShortcutFormatJson: "Formatar JSON",
|
||
sqlFormatterShortcutApply: "Aplicar configuração",
|
||
sqlFormatterConfigErrorInvalidJson: "JSON inválido.",
|
||
sqlFormatterConfigErrorObject: "A configuração deve ser um objeto JSON.",
|
||
sqlFormatterConfigErrorVersion: "Versão de configuração não compatível.",
|
||
sqlFormatterConfigErrorFormatter: "Formatador não compatível.",
|
||
sqlFormatterConfigErrorUnsupportedParams: "A substituição params não é compatível. A formatação SQL não substituirá marcadores.",
|
||
sqlFormatterConfigErrorOptionsObject: "As opções de configuração devem ser um objeto JSON.",
|
||
sqlFormatterConfigErrorEditorObject: "A configuração do editor deve ser um objeto JSON.",
|
||
sqlFormatterConfigErrorEditorScope: "Escopo de editor não compatível.",
|
||
sqlFormatterConfigErrorEditorPlatforms: "Plataformas de editor inválidas.",
|
||
sqlFormatterConfigErrorEditorShortcutsArray: "Os atalhos do editor devem ser um array.",
|
||
sqlFormatterConfigErrorEditorShortcutValue: "Atalho de editor inválido.",
|
||
sqlFormatterConfigErrorUnknownOption: "Opção desconhecida do formatador: {option}.",
|
||
sqlFormatterConfigErrorInvalidOptionValue: "Valor inválido para {option}.",
|
||
sqlFormatterConfigErrorUnknownEditorShortcut: "Atalho de editor desconhecido: {shortcut}.",
|
||
sqlFormatterConfigErrorInvalidEditorShortcut: "Atalho de editor inválido: {shortcut}.",
|
||
sqlFormatterConfigErrorDuplicateEditorShortcut: "Atalho de editor duplicado: {shortcut}.",
|
||
sqlFormatterConfigErrorInvalidConfig: "Configuração do formatador inválida.",
|
||
appearanceTab: "Aparência",
|
||
navigationTab: "Navegação",
|
||
dataTab: "Dados",
|
||
tunnelsTab: "Túneis",
|
||
tunnelsDescription: "Configurações reutilizáveis de túneis SSH / proxy / HTTP. Configure uma vez e selecione o perfil na aba de túnel de uma conexão; as edições aqui se aplicam a todas as conexões que usam o perfil.",
|
||
tunnelsEmpty: "Ainda não há perfis de túnel. Crie um aqui e selecione-o nas configurações de túnel de uma conexão.",
|
||
tunnelsAddSsh: "Adicionar SSH",
|
||
tunnelsAddProxy: "Adicionar proxy",
|
||
tunnelsAddHttp: "Adicionar túnel HTTP",
|
||
tunnelsProfileName: "Nome do perfil",
|
||
tunnelsProfileNamePlaceholder: "ex.: Bastion do escritório",
|
||
tunnelsDelete: "Excluir",
|
||
tunnelsUnnamedProfile: "Perfil sem nome",
|
||
tunnelsSave: "Salvar",
|
||
tunnelsReset: "Redefinir",
|
||
tunnelsSaved: "Perfis de túnel salvos",
|
||
tunnelsSaveFailed: "Falha ao salvar os perfis de túnel: {message}",
|
||
tunnelsUnsavedHint: "Alterações não salvas",
|
||
tunnelsTest: "Testar",
|
||
tunnelsTesting: "Testando...",
|
||
tunnelsTestSuccess: "Teste de túnel bem-sucedido",
|
||
tunnelsTestFailed: "Falha no teste do túnel: {message}",
|
||
tunnelsHttpTestSuccess: "Conexão com proxy HTTP CONNECT bem-sucedida ({code})",
|
||
tunnelsSocks5TestSuccess: "Conexão com proxy SOCKS5 bem-sucedida",
|
||
tunnelsProxyHostRequired: "O host do proxy é obrigatório.",
|
||
tunnelsProxyPortRequired: "A porta do proxy é obrigatória.",
|
||
tunnelsSshHostRequired: "O host SSH é obrigatório.",
|
||
tunnelsHttpTunnelUnsupported: "O teste de túnel não é compatível com perfis de túnel HTTP.",
|
||
tunnelsProxyTimedOut: "Conexão com o proxy expirou ({duration})",
|
||
tunnelsProxyConnectFailed: "Falha ao conectar ao proxy: {error}",
|
||
tunnelsProxyHandshakeFailed: "Handshake com o proxy falhou: {error}",
|
||
tunnelsProxyHandshakeTimedOut: "Handshake com o proxy expirou ({duration})",
|
||
tunnelsHttpConnectFailed: "CONNECT do proxy HTTP falhou: {detail}",
|
||
tunnelsSocksInvalidVersion: "Versão de proxy SOCKS inválida: {version}",
|
||
tunnelsSocksAuthTooLong: "Usuário ou senha SOCKS muito longo",
|
||
tunnelsSocksAuthFailed: "Autenticação do proxy SOCKS falhou",
|
||
tunnelsSocksAuthRejected: "O proxy SOCKS rejeitou todos os métodos de autenticação",
|
||
tunnelsSocksUnsupportedAuth: "O proxy SOCKS selecionou um método de autenticação não compatível: {method}",
|
||
tunnelsSocksHostTooLong: "Host do proxy muito longo para endereço SOCKS5",
|
||
tunnelsSocksConnectRejected: "Conexão com proxy SOCKS rejeitada (código {code})",
|
||
tunnelsSocksUnsupportedAddrType: "Tipo de endereço de bind SOCKS não compatível: {type}",
|
||
redisTab: "Redis",
|
||
shortcutsTab: "Atalhos",
|
||
snippetsTab: "Snippets",
|
||
syncTab: "Sincronização",
|
||
aiTab: "IA",
|
||
mcpTab: "MCP",
|
||
jdbcTab: "Drivers JDBC",
|
||
securityTab: "Segurança",
|
||
aboutTab: "Sobre",
|
||
fontFamily: "Família da fonte",
|
||
dataGridFontFamily: "Fonte da grade de resultados",
|
||
dataGridFontFamilyDescription: "Aplica-se aos resultados de consultas, dados de tabelas, cabeçalhos de colunas e editores dentro das células.",
|
||
uiFontFamily: "Fonte da interface",
|
||
uiFontAppDefault: "Padrão do DBX",
|
||
uiFontSystemDefault: "Padrão do sistema",
|
||
uiFontFamilyDescription: "Aplica-se à barra superior, abas, barra lateral, diálogos e demais UI fora do editor.",
|
||
selectFont: "Selecionar fonte...",
|
||
searchFont: "Pesquisar fontes...",
|
||
loadingFonts: "Carregando fontes...",
|
||
noFontsFound: "Nenhuma fonte encontrada",
|
||
useCustomFont: "Usar “{font}”",
|
||
languageTitle: "Idioma / 语言",
|
||
fontSize: "Tamanho da fonte",
|
||
toolbarTitle: "Barra de ferramentas",
|
||
toolbarHiddenHint: "Alguns botões ocultos ou excedentes aparecerão no menu «Mais».",
|
||
exclusiveRightSidebarPanels: "Mostrar um painel lateral direito por vez",
|
||
exclusiveRightSidebarPanelsDescription: "Abrir um painel lateral direito fecha os demais. Desative para permitir vários painéis.",
|
||
uiScale: "Escala da UI",
|
||
uiScaleDescription: "Dimensione toda a UI do desktop para telas de alta resolução (high-DPI). As alterações são aplicadas imediatamente e restauradas na próxima inicialização.",
|
||
theme: "Tema",
|
||
cornerStyle: "Estilo dos cantos",
|
||
cornerStyleNone: "Sem arredondamento",
|
||
cornerStyleSmall: "Pequenos",
|
||
cornerStyleLarge: "Grandes",
|
||
selectTheme: "Selecionar tema...",
|
||
colorTheme: "Tema de cores",
|
||
selectColorTheme: "Selecionar tema de cores...",
|
||
themePalettePearl: "Branco",
|
||
themePaletteMist: "Cinza névoa",
|
||
themePaletteGraphite: "Cinza titânio",
|
||
themePaletteCobalt: "Azul cobalto",
|
||
themePaletteSage: "Verde sálvia",
|
||
themePaletteAmber: "Amarelo quente",
|
||
themePaletteBlush: "Rosa sakura",
|
||
themePaletteVscode: "VS Code",
|
||
themePaletteIdea: "IDEA",
|
||
themePaletteXcode: "Xcode",
|
||
themePaletteJetbrains: "JetBrains",
|
||
themePaletteCursor: "Cursor",
|
||
themePaletteClaude: "Claude Code",
|
||
followAppTheme: "Seguir o tema do app",
|
||
appLayout: "Layout da interface",
|
||
appLayoutSeparated: "Separado moderno",
|
||
appLayoutSeparatedDescription: "Separação clara de painéis com abas em estilo de bloco.",
|
||
appLayoutClassic: "Clássico compacto",
|
||
appLayoutClassicDescription: "Barra de abas contínua com cabeçalhos de painel compactos.",
|
||
tabLayout: "Estouro da barra de abas",
|
||
tabLayoutScroll: "Rolagem em linha única",
|
||
tabLayoutScrollDescription: "As abas rolam horizontalmente quando excedem o espaço.",
|
||
tabLayoutWrap: "Quebra em múltiplas linhas",
|
||
tabLayoutWrapDescription: "As abas quebram em múltiplas linhas para exibir todas.",
|
||
iconTheme: "Estilo do ícone e do logo",
|
||
iconThemeDefault: "Padrão",
|
||
iconThemeDefaultDescription: "Usar o ícone colorido do app DBX.",
|
||
iconThemeBlack: "Preto",
|
||
iconThemeBlackDescription: "Use o logo preto da DBX no app.",
|
||
iconThemeBlackDescriptionMac: "No app, usa o logo preto; o Dock usa base preta e a barra de menus segue o sistema.",
|
||
showTrayIcon: "Mostrar ícone na bandeja/barra de menus",
|
||
showTrayIconDescription: "Quando desativado, nenhum ícone é exibido, mas fechar a janela ainda oculta o DBX em segundo plano como antes.",
|
||
quitOnClose: "Sair ao fechar a janela",
|
||
quitOnCloseDescription: "Quando ativado, o botão de fechar encerra o DBX completamente em vez de minimizar para a bandeja.",
|
||
closeActionPromptTitle: "Fechar janela",
|
||
closeActionPromptDescription: "Escolha o que acontece ao clicar no botão de fechar. Você pode alterar depois em Configurações → Aparência.",
|
||
closeActionQuit: "Sair do DBX",
|
||
closeActionMinimize: "Minimizar para a bandeja",
|
||
updateNotificationsEnabled: "Ativar lembretes de atualização",
|
||
updateNotificationsEnabledDescription: "Quando desativado, o DBX não verificará automaticamente atualizações do app ou dos drivers nem mostrará indicadores. Verificações manuais continuam disponíveis.",
|
||
updateDownloadSource: "Fonte de download de atualização",
|
||
updateDownloadSourceDescription: "Escolha de onde os instaladores de atualização no aplicativo são baixados. A fonte oficial é recomendada; CNB pode ser mais rápido em redes da China continental.",
|
||
updateDownloadSourceOfficial: "Fonte oficial (recomendada)",
|
||
updateDownloadSourceCnb: "CNB",
|
||
debugLoggingEnabled: "Ativar logs de depuração",
|
||
debugLoggingEnabledDescription: "Registra logs locais de diagnóstico do lado do usuário ao investigar relatos. Desativado por padrão.",
|
||
duckDbWorkerProcessIsolation: "Modo de isolamento de processo do DuckDB (experimental)",
|
||
duckDbWorkerProcessIsolationDescription: "Executa consultas DuckDB em um processo worker separado. Se uma consulta longa não responder ao cancelamento, o DBX pode encerrar o processo worker para liberar o bloqueio do arquivo de banco de dados.",
|
||
duckDbWorkerMaxProcesses: "Máximo de workers simultâneos do DuckDB",
|
||
duckDbWorkerMaxProcessesDescription: "Limita quantos processos worker do DuckDB o DBX pode executar ao mesmo tempo. Intervalo: 1-16. Padrão: 4.",
|
||
duckDbWorkerProcessIsolationRestartRequired: "Reinicie o DBX para que esta alteração entre em vigor.",
|
||
restartDbx: "Reiniciar DBX",
|
||
restartDbxFailed: "Falha ao reiniciar o DBX: {error}",
|
||
debugLogsCopy: "Copiar logs",
|
||
debugLogsCopied: "Copiado",
|
||
debugLogsDownload: "Baixar logs",
|
||
debugLogsDownloaded: "Baixado",
|
||
debugLogsClear: "Limpar logs",
|
||
tableStructureSection: "Estrutura da tabela",
|
||
dataGridDisplay: "Exibição da grade de dados",
|
||
tableOpenPageSize: "Linhas padrão por página ao abrir tabelas",
|
||
tableOpenPageSizeDescription: "Linhas carregadas por página ao abrir uma nova tabela. Alterar as linhas por página atualiza esse padrão para futuras abas de tabelas.",
|
||
showColumnCommentsInHeader: "Mostrar comentários de coluna sob os nomes",
|
||
showColumnCommentsInHeaderDescription: "Exibir comentários de colunas da tabela diretamente abaixo dos nomes das colunas da grade.",
|
||
showColumnTypesInHeader: "Mostrar tipos de coluna sob os nomes",
|
||
showColumnTypesInHeaderDescription: "Exibir o tipo de dado de cada coluna diretamente abaixo dos nomes das colunas da grade.",
|
||
compactColumnHeaderActions: "Ferramentas compactas no cabeçalho da coluna",
|
||
compactColumnHeaderActionsDescription: "Mover as ferramentas de formatação e filtro local para um menu de mais opções para que os nomes das colunas tenham prioridade.",
|
||
dataGridQuickEntry: "Entrada rápida na grade",
|
||
dataGridQuickEntryDescription: "Quando ativado, editar uma célula ou preencher a linha vazia inferior salva no banco de dados assim que o foco sai. Ajuda na entrada frequente, mas pode causar gravações acidentais.",
|
||
dataGridAutoTransposeSingleRow: "Transpor automaticamente resultados de consulta com uma única linha",
|
||
dataGridAutoTransposeSingleRowDescription: "Quando ativado, os resultados de consultas SQL com exatamente uma linha e várias colunas alternam automaticamente para a visualização transposta.",
|
||
infiniteScroll: "Carregamento por rolagem infinita",
|
||
autoCalculateTotalRows: "Calcular automaticamente o total de linhas",
|
||
autoCalculateTotalRowsDescription: "Executa COUNT(*) automaticamente após cada consulta para mostrar o total de linhas correspondentes. Desativado por padrão para manter consultas grandes rápidas; você pode calculá-lo quando quiser no rodapé dos resultados.",
|
||
infiniteScrollDescription: "Carregar automaticamente a próxima página de dados ao rolar até o final da tabela.",
|
||
infiniteScrollMaxRows: "Máximo de linhas em rolagem infinita",
|
||
infiniteScrollMaxRowsDescription: "Número máximo de linhas a carregar no modo de rolagem infinita (1000–50000).",
|
||
regexMaxMatchCount: "Máximo de correspondências para selecionar todas",
|
||
regexMaxMatchCountDescription: "Limita o número de seleções criadas por Selecionar todas as correspondências; a contagem da pesquisa permanece completa (100–10000).",
|
||
tableColumnTemplateFields: "Campos predefinidos para novas tabelas",
|
||
tableColumnTemplateFieldsDescription: "Escolha um tipo de banco de dados e configure os tipos dos campos predefinidos usados ao criar novas tabelas.",
|
||
tableColumnTemplateAdd: "Adicionar campo",
|
||
tableColumnTemplateColumn: "Campo",
|
||
tableColumnTemplateDatabase: "Banco de dados",
|
||
tableColumnTemplateType: "Tipo",
|
||
tableColumnTemplateLength: "Comprimento",
|
||
tableColumnTemplateDefault: "Padrão",
|
||
tableColumnTemplateNoPresetType: "Sem tipo predefinido",
|
||
tableColumnTemplateRequired: "Obrigatório",
|
||
tableColumnTemplateComment: "Descrição",
|
||
tableColumnTemplateDragHandle: "Arraste para reordenar",
|
||
sidebarActivation: "Ativação da barra lateral",
|
||
sidebarActivationSingle: "Clique único",
|
||
sidebarActivationSingleDescription: "Abrir itens acionáveis da barra lateral com um clique.",
|
||
sidebarActivationDouble: "Clique duplo",
|
||
sidebarActivationDoubleDescription: "Clique único seleciona linhas; clique duplo abre itens.",
|
||
sidebarObjectDisplay: "Layout de objetos da barra lateral",
|
||
sidebarObjectDisplayGrouped: "Visualização avançada",
|
||
sidebarObjectDisplayGroupedDescription: "Agrupar objetos por tabelas, views, procedures e funções para bancos de dados com mais tipos de objetos.",
|
||
sidebarObjectDisplaySimple: "Visualização simples",
|
||
sidebarObjectDisplaySimpleDescription: "Listar tabelas e views diretamente sob cada banco de dados ou schema para reduzir os níveis intermediários.",
|
||
autoSelectActiveSidebarNode: "Sempre selecionar o item aberto",
|
||
autoSelectActiveSidebarNodeDescription: "Ao alternar abas, selecionar a tabela, coleção ou arquivo SQL correspondente visível na barra lateral.",
|
||
openTabsRestoreMode: "Restaurar abas ao iniciar",
|
||
openTabsRestoreModeDescription: "Escolha como o DBX restaura as abas que estavam abertas na última vez.",
|
||
openTabsRestoreModeAll: "Manter todas as abas",
|
||
openTabsRestoreModePinned: "Apenas abas fixadas",
|
||
openTabsRestoreModeNone: "Não manter abas",
|
||
openTabsRestoreModeHint: "As abas fixadas permanecem no lado esquerdo da barra de abas e funcionam bem como pontos de entrada frequentes.",
|
||
disconnectTabHandlingMode: "Abas após desconectar",
|
||
disconnectTabHandlingModeDescription: "Escolha como as abas relacionadas devem ser tratadas após fechar uma conexão ou banco de dados.",
|
||
disconnectTabHandlingModeCloseTabs: "Fechar todas as abas",
|
||
disconnectTabHandlingModeCloseTabsDescription: "Fechar todas as abas relacionadas à conexão ou ao banco de dados.",
|
||
disconnectTabHandlingModeKeepTabsClearResults: "Fechar abas de objetos, manter abas SQL",
|
||
disconnectTabHandlingModeKeepTabsClearResultsDescription: "Fechar abas de dados de tabela, navegador de objetos e estrutura, mantendo as abas de consultas SQL e o texto SQL, e também limpar o estado de execução e as sessões de resultados.",
|
||
disconnectTabHandlingModeKeepTabsKeepResults: "Não fechar abas relacionadas",
|
||
disconnectTabHandlingModeKeepTabsKeepResultsDescription: "Manter abas relacionadas, texto SQL e resultados atuais sem limpeza adicional.",
|
||
reuseDataTab: "Reutilizar aba de dados",
|
||
reuseDataTabDescription: "Reutiliza abas de dados ao abrir tabelas pela barra lateral; ao reabrir a mesma tabela pelo navegador de objetos, alterna para a aba existente.",
|
||
sidebarHiddenTablePrefixes: "Prefixos de nome de tabela ocultos",
|
||
sidebarHiddenTablePrefixesDescription: "Um prefixo por linha. Apenas os rótulos de tabela, view e coleção da barra lateral são encurtados; tooltips e ações ainda usam o nome completo.",
|
||
sidebarHiddenTablePrefixesPlaceholder: "Exemplo:\nODS_\nT8Y2_LONG_",
|
||
sidebarTablePageSize: "Tamanho da página da barra lateral",
|
||
sidebarTablePageSizeDescription: "Número máximo de tabelas/objetos carregados por página na árvore lateral. Aumente se tiver muitas tabelas para reduzir páginas.",
|
||
sidebarTableSearchEnabled: "Ativar busca de tabelas por banco",
|
||
sidebarTableSearchEnabledDescription: "Mostra uma busca local sob bancos, schemas ou grupos de tabelas expandidos para filtrar tabelas separadamente.",
|
||
sidebarObjectInfoMode: "Informações adicionais laterais",
|
||
sidebarObjectInfoModeDescription:
|
||
"Escolha comentários, tamanhos de objetos ou nenhum texto após os nomes. Comentários e tamanhos são mutuamente exclusivos. O tamanho total dos bancos aceita PostgreSQL; os tamanhos das tabelas aceitam MySQL, PostgreSQL, GaussDB, Kingbase, GBase 8a, SQL Server, Oracle, Dameng e ClickHouse.",
|
||
sidebarObjectInfoModeCommentInline: "Comentários (junto ao nome)",
|
||
sidebarObjectInfoModeCommentAligned: "Comentários (alinhar nível)",
|
||
sidebarObjectInfoModeCommentRight: "Comentários (alinhar à direita)",
|
||
sidebarObjectInfoModeSize: "Tamanho do objeto",
|
||
sidebarObjectInfoModeHidden: "Nenhuma",
|
||
sidebarAllowHorizontalScroll: "Permitir rolagem horizontal da barra lateral",
|
||
sidebarAllowHorizontalScrollDescription: "Mostrar nomes longos de tabelas, views e coleções por completo, permitindo a rolagem horizontal da barra lateral.",
|
||
snippetsDescription: "Personalize os modelos de snippets SQL acionados no editor.",
|
||
syncSnippetProviderGitee: "Snippets do Gitee",
|
||
snippetsAdd: "Adicionar snippet",
|
||
snippetsLabel: "Rótulo",
|
||
snippetsPrefix: "Prefixo",
|
||
snippetsStatus: "Status",
|
||
snippetsEnabled: "Ativo",
|
||
snippetsDisabled: "Desativado",
|
||
snippetsToggle: "Ativar ou desativar snippet",
|
||
snippetsBody: "Corpo SQL",
|
||
snippetsLabelPlaceholder: "ex.: select *",
|
||
snippetsPrefixPlaceholder: "ex.: sel",
|
||
snippetsBodyPlaceholder: "SELECT *\nFROM table\nLIMIT 100;",
|
||
snippetsRestoreDefaults: "Restaurar padrões",
|
||
snippetsAddTitle: "Adicionar snippet",
|
||
snippetsEditTitle: "Editar snippet",
|
||
syncWebDavTitle: "Sincronização WebDAV",
|
||
syncWebDavDescription: "Envie ou restaure um snapshot do DBX, incluindo a biblioteca SQL salva, a partir de um serviço de armazenamento compatível com WebDAV.",
|
||
syncEndpoint: "URL do WebDAV",
|
||
syncUsername: "Nome de usuário",
|
||
syncPassword: "Senha",
|
||
syncPasswordPlaceholder: "Digite a senha",
|
||
syncClearSavedPassword: "Limpar senha salva",
|
||
syncRememberWebDavPassword: "Lembrar senha do app WebDAV",
|
||
syncSavedPassword: "(salva)",
|
||
syncRememberWebDavPasswordDescription: "A senha é criptografada e armazenada apenas neste dispositivo. Ela não é sincronizada para o WebDAV e não substitui a senha de sincronização.",
|
||
syncRemotePath: "Caminho remoto do snapshot",
|
||
syncRemotePathDescription: "O DBX criará as pastas pai ausentes ao enviar.",
|
||
syncSecretNotice: "Por padrão, o DBX sincroniza apenas detalhes de conexão e configurações. Senhas de banco de dados, senhas SSH, senhas de proxy, strings de conexão e chaves de API de IA permanecem locais.",
|
||
syncSecrets: "Sincronizar segredos criptografados",
|
||
syncSecretsDescription: "Quando ativado, o DBX criptografa senhas de banco de dados, senhas SSH e chaves de API de IA antes de enviá-las para o WebDAV.",
|
||
syncSecretsPassphrase: "Senha de sincronização",
|
||
syncSecretsPassphraseDescription: "Esta senha é usada apenas para criptografar e restaurar dados sensíveis. O DBX não a salva; digite-a novamente em cada dispositivo.",
|
||
syncTest: "Testar",
|
||
syncUpload: "Enviar",
|
||
syncDownload: "Baixar",
|
||
syncTestSuccess: "O destino WebDAV está acessível.",
|
||
syncUploadSuccess: "Enviados {bytes} bytes para {path}.",
|
||
syncAutoUpload: "Enviar snapshots automaticamente",
|
||
syncAutoUploadInterval: "A cada",
|
||
syncAutoUploadMinutes: "minutos",
|
||
syncAutoUploadDescription: "Executa enquanto o DBX está aberto. Downloads ainda exigem confirmação manual para evitar substituir SQL salvos localmente.",
|
||
syncAutoUploadSuccess: "Enviados automaticamente {bytes} bytes para {path}.",
|
||
syncDownloadSuccess: "Baixados e aplicados {bytes} bytes de {path}.",
|
||
syncSecretsApplied: "Os segredos criptografados foram restaurados.",
|
||
syncSecretsSkipped: "Havia segredos criptografados, mas não foram restaurados.",
|
||
syncDownloadConfirm: "Baixar e aplicar o snapshot remoto do DBX? Os metadados locais e os SQL salvos serão substituídos.",
|
||
apply: "Aplicar",
|
||
applyAndClose: "Aplicar e fechar",
|
||
reset: "Redefinir",
|
||
resetDefaults: "Redefinir padrões",
|
||
resetAllDefaults: "Redefinir todos os padrões",
|
||
save: "Salvar",
|
||
cancel: "Cancelar",
|
||
executeMode: "Modo de execução (Cmd+Enter)",
|
||
executeModeAll: "Executar todo o SQL",
|
||
executeModeCurrent: "Executar instrução no cursor",
|
||
showExecutionTargetPicker: "Mostrar seletor de destino",
|
||
showExecutionTargetPickerDescription: "Quando ativado, executar sem seleção permite escolher entre a instrução atual e todo o SQL.",
|
||
showStatementRunButtons: "Mostrar botões de execução laterais",
|
||
showStatementRunButtonsDescription: "Mostra botões para executar cada instrução na margem do editor SQL. Atalhos de teclado e execução pelo menu de contexto continuam funcionando quando desativado.",
|
||
showCurrentStatementFrame: "Mostrar moldura da instrução atual",
|
||
showCurrentStatementFrameDescription: "Quando ativado, o editor SQL desenha um contorno ao redor da instrução executável atual; quando desativado, o contorno fica oculto.",
|
||
showInsertValueHints: "Mostrar dicas de colunas em VALUES de INSERT",
|
||
showInsertValueHintsDescription: "Quando ativado, o editor SQL mostra o nome da coluna ao lado de cada valor em cláusulas INSERT ... VALUES.",
|
||
previewStatementRunButton: "Botão de execução de instrução na prévia",
|
||
wordWrap: "Quebra de linha",
|
||
wordWrapDescription: "Quebrar linhas SQL longas dentro da largura do editor",
|
||
vimMode: "Modo Vim",
|
||
vimModeDescription: "Usar edição modal no estilo Vim no editor SQL",
|
||
autoCloseBrackets: "Fechar parênteses automaticamente",
|
||
autoCloseBracketsDescription: "Inserir automaticamente parênteses e aspas de fechamento ao digitar os de abertura",
|
||
sqlSemanticDiagnosticsEnabled: "Diagnóstico semântico de SQL",
|
||
sqlSemanticDiagnosticsEnabledDescription: "Quando ativado, o editor relata problemas semânticos como tabelas e colunas desconhecidas. Desative para reduzir a análise e verificações de metadados em SQL grande.",
|
||
confirmDangerousSqlExecution: "Confirmar antes de SQL perigoso",
|
||
confirmDangerousSqlExecutionDescription: "Quando desativado, ALTER, DROP, DELETE, TRUNCATE e outros SQL perigosos são executados sem a caixa de diálogo de aviso.",
|
||
continueOnErrorOnBatch: "Continuar em erro",
|
||
continueOnErrorOnBatchDescription: "Quando ativado, a execução de múltiplas instruções continua após um erro em vez de parar na primeira falha.",
|
||
confirmUnsavedSqlClose: "Confirmar antes de fechar SQL não salvo",
|
||
confirmUnsavedSqlCloseDescription: "Quando desativado, abas SQL com edições não salvas são fechadas ou o app é encerrado sem a caixa de diálogo de confirmação de salvamento.",
|
||
savedSqlOpenTarget: "Destino padrão do SQL salvo",
|
||
savedSqlOpenTargetSaved: "Destino salvo",
|
||
savedSqlOpenTargetSavedDescription: "Usar a conexão, o banco de dados e o esquema salvos com o arquivo SQL.",
|
||
savedSqlOpenTargetCurrent: "Aba atual",
|
||
savedSqlOpenTargetCurrentDescription: "Usar a conexão, o banco de dados, o esquema e o catálogo da aba ativa quando disponíveis; caso contrário, usar o destino salvo.",
|
||
prefillNewQueryWithSelect: "Preencher nova consulta com SELECT *",
|
||
prefillNewQueryWithSelectDescription: "Ao criar uma nova consulta, preenche o editor com SELECT * FROM <tabela> com base na aba de tabela ativa ou na tabela selecionada na barra lateral.",
|
||
clickTableNavigationTarget: "Ctrl+Clique abre DDL da tabela",
|
||
clickTableNavigationTargetDescription: "Quando ativado, Ctrl/Cmd+clicar no nome da tabela abre o editor de estrutura (DDL). Quando desativado, abre a visualização de dados.",
|
||
sqlVariableSyntax: "Substituição de variáveis e espaços reservados SQL",
|
||
sqlVariableSyntaxDescription: "Escolha quais sintaxes de variáveis e espaços reservados o DBX substitui antes de executar SQL, por tipo de banco de dados. Todas ativadas por padrão.",
|
||
sqlVariableSyntax_positional: "Espaço reservado posicional",
|
||
sqlVariableSyntax_positionalDescription: "Solicita um valor para substituir cada espaço reservado posicional em ordem.",
|
||
sqlVariableSyntax_named: "Espaço reservado nomeado",
|
||
sqlVariableSyntax_namedDescription: "Solicita um valor para substituir os espaços reservados nomeados.",
|
||
sqlVariableSyntax_shell: "Espaço reservado estilo shell",
|
||
sqlVariableSyntax_shellDescription: "Solicita um valor para substituir os espaços reservados de estilo shell.",
|
||
sqlVariableSyntax_mybatis: "Espaço reservado estilo MyBatis",
|
||
sqlVariableSyntax_mybatisDescription: "Solicita um valor para substituir os espaços reservados de estilo MyBatis.",
|
||
sqlVariableSyntax_sqlserver: "Espaço reservado estilo SQL Server",
|
||
sqlVariableSyntax_sqlserverDescription: "Solicita um valor para substituir os espaços reservados de estilo SQL Server (podem colidir com variáveis de sessão).",
|
||
sqlVariableSyntax_atSet: "Expansão de variáveis inline",
|
||
sqlVariableSyntax_atSetDescription: "Expande as declarações de variáveis inline e substitui seus valores antes de executar.",
|
||
autoAliasTables: "Adicionar alias de tabela automaticamente",
|
||
autoAliasTablesDescription: "Ao escolher uma tabela em FROM ou JOIN, insere um alias gerado como order_items AS oi.",
|
||
redisScanPageSize: "Contagem de scan do Redis",
|
||
redisScanPageSizeDescription: "Chaves solicitadas por página do Redis SCAN ao navegar pelas chaves.",
|
||
redisScanPageSizeOption: "{count} chaves",
|
||
exportBatchSize: "Tamanho do lote de exportação",
|
||
exportBatchSizeDescription: "Linhas buscadas por lote ao exportar dados da tabela (100-100000).",
|
||
exportRowLimitEnabled: "Limitar linhas exportadas",
|
||
exportRowLimitEnabledDescription: "Quando ativado, as exportações de resultados de consulta e dados de tabela param no limite de linhas abaixo.",
|
||
exportRowLimit: "Limite de linhas da exportação",
|
||
exportRowLimitDescription: "Máximo de linhas para exportações de resultados de consulta e dados de tabela.",
|
||
exportRowLimitUnlimited: "Ilimitado",
|
||
queryExportKeysetOptimizationEnabled: "Tentar otimização keyset",
|
||
queryExportKeysetOptimizationEnabledDescription: "Aplica-se apenas a consultas de tabela única reconhecidas com segurança; consultas complexas recuam automaticamente.",
|
||
exportSection: "Exportar",
|
||
shortcutExecuteSql: "Executar SQL",
|
||
shortcutExecuteSqlInNewResultTab: "Executar SQL em uma nova aba de resultados",
|
||
shortcutFind: "Localizar",
|
||
shortcutReplace: "Substituir",
|
||
shortcutSaveSql: "Salvar SQL",
|
||
shortcutAcceptCompletion: "Aceitar autocompletar",
|
||
shortcutFormatSql: "Formatar SQL",
|
||
shortcutToggleLineComment: "Alternar comentário de linha",
|
||
shortcutIndentMore: "Aumentar recuo",
|
||
shortcutIndentLess: "Reduzir recuo",
|
||
shortcutDuplicateLine: "Duplicar linha atual",
|
||
shortcutDeleteLine: "Excluir linha atual",
|
||
shortcutMoveLineUp: "Mover linha para cima",
|
||
shortcutMoveLineDown: "Mover linha para baixo",
|
||
shortcutCopyLineUp: "Copiar linha para cima",
|
||
shortcutCopyLineDown: "Copiar linha para baixo",
|
||
shortcutUndo: "Desfazer",
|
||
shortcutRedo: "Refazer",
|
||
shortcutSelectAll: "Selecionar tudo",
|
||
shortcutExtendSelection: "Expandir seleção",
|
||
shortcutCopyCurrentRow: "Copiar linha de dados atual",
|
||
shortcutDeleteCurrentRow: "Excluir linha de dados atual",
|
||
shortcutNewQuery: "Nova consulta",
|
||
shortcutOpenSettings: "Abrir configurações",
|
||
shortcutCloseTab: "Fechar aba",
|
||
shortcutToggleSidebar: "Alternar barra lateral",
|
||
shortcutFocusSearch: "Focar na pesquisa",
|
||
shortcutQuickOpen: "Abrir rapidamente (pesquisar todos os objetos do banco de dados)",
|
||
shortcutSwitchToPreviousTab: "Alternar para a aba anterior",
|
||
shortcutSwitchToNextTab: "Alternar para a próxima aba",
|
||
shortcutSwitchToTab1: "Alternar para a aba 1",
|
||
shortcutSwitchToTab2: "Alternar para a aba 2",
|
||
shortcutSwitchToTab3: "Alternar para a aba 3",
|
||
shortcutSwitchToTab4: "Alternar para a aba 4",
|
||
shortcutSwitchToTab5: "Alternar para a aba 5",
|
||
shortcutSwitchToTab6: "Alternar para a aba 6",
|
||
shortcutSwitchToTab7: "Alternar para a aba 7",
|
||
shortcutSwitchToTab8: "Alternar para a aba 8",
|
||
shortcutSwitchToTab9: "Alternar para a aba 9",
|
||
shortcutZoomInUi: "Aumentar zoom da UI",
|
||
shortcutZoomOutUi: "Diminuir zoom da UI",
|
||
shortcutResetUiZoom: "Redefinir zoom da UI",
|
||
shortcutRefreshData: "Atualizar dados",
|
||
shortcutToggleTranspose: "Alternar visualização transposta",
|
||
shortcutCancelSearch: "Cancelar pesquisa",
|
||
shortcutCopySidebarSelection: "Copiar seleção da barra lateral",
|
||
shortcutPasteSidebarSelection: "Colar na barra lateral",
|
||
shortcutEditSidebarConnection: "Editar conexão da barra lateral",
|
||
shortcutOpenDataInNewTab: "Abrir dados em nova aba (clique do mouse)",
|
||
shortcutSendSelectionToAi: "Enviar seleção para IA",
|
||
shortcutToggleFold: "Recolher/expandir código",
|
||
shortcutScopeGlobal: "Global",
|
||
shortcutScopeEditor: "Editor SQL",
|
||
shortcutScopeGrid: "Grade de dados",
|
||
shortcutScopeSearch: "Campos de pesquisa",
|
||
shortcutScopeSidebar: "Barra lateral",
|
||
shortcutPressShortcut: "Pressione o atalho",
|
||
shortcutSearchPlaceholder: "Pesquisar atalhos",
|
||
shortcutSearchNoResults: "Nenhum atalho corresponde à pesquisa.",
|
||
shortcutConflict: "Este atalho conflita com outra ação no mesmo escopo.",
|
||
shortcutClear: "Limpar atalho",
|
||
preview: "Pré-visualização ao vivo",
|
||
customTheme: "Tema personalizado",
|
||
customThemeConfigure: "Configurar tema personalizado",
|
||
customThemeTitle: "Configuração do tema personalizado",
|
||
customThemeMyThemes: "Meus temas",
|
||
customThemeNewTheme: "Novo tema",
|
||
customThemeVisualEdit: "Editor visual",
|
||
customThemeJsonConfig: "Configuração JSON",
|
||
customThemeLivePreview: "Pré-visualização ao vivo",
|
||
customThemePreviewExample: "Exemplo de consulta",
|
||
customThemePreset: "Tema predefinido",
|
||
customThemeSelectPreset: "Selecionar tema predefinido...",
|
||
customThemeApply: "Aplicar",
|
||
customThemePasteImport: "Importar colado",
|
||
customThemeExportJson: "Exportar JSON",
|
||
customThemeSaveAndApply: "Salvar e aplicar",
|
||
customThemeKeyword: "Palavra-chave",
|
||
customThemeField: "Campo/Variável",
|
||
customThemeFunction: "Função",
|
||
customThemeString: "String",
|
||
customThemeNumber: "Número",
|
||
customThemeComment: "Comentário",
|
||
customThemeTable: "Tabela",
|
||
customThemeOperator: "Operador",
|
||
customThemeType: "Tipo",
|
||
customThemeBuiltin: "Integrado",
|
||
customThemeBackground: "Plano de fundo",
|
||
customThemeForeground: "Primeiro plano",
|
||
customThemeDefaultName: "Tema personalizado",
|
||
customThemeCopySuffix: " Cópia",
|
||
customThemeApplied: 'Esquema de cores "{name}" aplicado',
|
||
customThemeKeepOne: "Mantenha pelo menos um tema",
|
||
customThemeJsonError: "Formato JSON inválido, verifique",
|
||
jdbcPlugin: "Plugin JDBC do DBX",
|
||
jdbcPluginInstall: "Instalar plugin JDBC",
|
||
jdbcPluginInstallSuccess: "Plugin JDBC instalado",
|
||
jdbcPluginUpdate: "Atualizar",
|
||
jdbcPluginUninstall: "Desinstalar",
|
||
jdbcPluginUninstallSuccess: "Plugin JDBC desinstalado",
|
||
jdbcPluginInstalled: "Instalado: v{version}",
|
||
jdbcPluginIncompatible: "Protocolo incompatível",
|
||
jdbcPluginNotInstalled: "Não instalado",
|
||
jdbcDrivers: "JARs de driver JDBC",
|
||
jdbcImport: "Importar JAR",
|
||
jdbcImportPath: "Caminho de importação",
|
||
jdbcDriverPathPlaceholder: "/caminho/para/driver.jar",
|
||
jdbcImportSuccess: "{count} arquivo(s) de driver importado(s)",
|
||
jdbcDeleteSuccess: "Driver removido",
|
||
jdbcNoDrivers: "Nenhum driver JDBC importado ainda.",
|
||
mcpTitle: "Servidor MCP",
|
||
mcpDescription: "Verifique a instalação e a versão do Servidor MCP do DBX usado pelo Claude Code, Cursor e outros agentes.",
|
||
mcpChecking: "Verificando",
|
||
mcpStatusUnknown: "Não verificado",
|
||
mcpStatusError: "Falha na verificação",
|
||
mcpReady: "Pronto",
|
||
mcpNotInstalled: "Não instalado",
|
||
mcpUpdateAvailable: "Atualização disponível",
|
||
mcpCurrent: "Versão atual",
|
||
mcpLatest: "Versão mais recente",
|
||
mcpVersionMissing: "Nenhuma instalação global detectada",
|
||
mcpVersionUnknown: "Desconhecida",
|
||
mcpAvailable: "Disponível",
|
||
mcpUnavailable: "Indisponível",
|
||
mcpBinPath: "Caminho do comando",
|
||
mcpInstallCommand: "Comando de instalação",
|
||
mcpUpdateCommand: "Comando de atualização",
|
||
mcpInstallButton: "Instalar",
|
||
mcpUpdateButton: "Atualizar",
|
||
mcpUpToDate: "Atualizado",
|
||
mcpInstalling: "Instalando...",
|
||
mcpInstallSuccess: "Instalação bem-sucedida",
|
||
mcpInstallFailed: "Falha na instalação",
|
||
mcpConfig: "Configuração do MCP",
|
||
mcpConfigOptionsHint:
|
||
"O DBX controla centralmente o acesso às conexões e as permissões de execução para todos os clientes MCP. A configuração gerada contém apenas os parâmetros de execução necessários para iniciar o servidor MCP e conectá-lo a esta instância do DBX, sem variáveis de permissão ou escopo de conexão.",
|
||
mcpScopeConnection: "Conexões permitidas para MCP",
|
||
mcpScopeConnectionDescription: "O DBX expõe ao MCP apenas as conexões selecionadas. As alterações se aplicam a todos os clientes MCP.",
|
||
mcpScopeMode: "Modo de escopo das conexões",
|
||
mcpScopeModeAll: "Todas as conexões",
|
||
mcpScopeModeAllDescription: "Inclui automaticamente conexões futuras",
|
||
mcpScopeModeSelected: "Conexões específicas",
|
||
mcpScopeModeSelectedDescription: "Somente conexões adicionadas explicitamente",
|
||
mcpScopeAllowedPane: "Permitidas",
|
||
mcpScopeAvailablePane: "Disponíveis",
|
||
mcpScopeAddAll: "Adicionar todas",
|
||
mcpScopeRemoveAll: "Remover todas",
|
||
mcpScopeAddMatches: "Adicionar correspondências ({count})",
|
||
mcpScopeRemoveMatches: "Remover correspondências ({count})",
|
||
mcpScopeAddConnection: "Permitir que o MCP acesse {name}",
|
||
mcpScopeRemoveConnection: "Remover o acesso MCP a {name}",
|
||
mcpScopeAvailableEmpty: "Não há conexões disponíveis para adicionar",
|
||
mcpScopeAllowedEmpty: "Nenhuma conexão está permitida no momento",
|
||
mcpScopeUnavailableGroup: "Conexões indisponíveis ({count})",
|
||
mcpScopeRemoveUnavailableConnection: "Remover a conexão indisponível {id} da lista permitida",
|
||
mcpScopeUpdatedAnnouncement: "O MCP permite atualmente {selected} de {total} conexões disponíveis",
|
||
mcpConnectionSearchPlaceholder: "Buscar nome, tipo, endereço, banco ou ID da conexão",
|
||
mcpConnectionSearchEmpty: "Nenhuma conexão correspondente",
|
||
mcpConnectionListEmpty: "Nenhuma conexão disponível",
|
||
mcpScopeAllAction: "Permitir todas",
|
||
mcpScopeNoneAction: "Limpar todas",
|
||
mcpScopeAllSummary: "Todas as {count} conexões",
|
||
mcpScopeSelectedSummary: "{selected}/{total} selecionadas",
|
||
mcpScopeAllConnections: "Todas as conexões",
|
||
mcpScopeNoConnections: "Nenhuma conexão",
|
||
mcpScopeConnectionUnavailable: "Conexão selecionada anteriormente (indisponível)",
|
||
mcpScopeConnectionUnavailableDescription: "{count} conexões selecionadas não existem mais. Seus IDs permanecem na lista de permissões, mas nenhuma conexão correspondente é exposta no momento.",
|
||
mcpScopeSelectedCount: "{count} conexões selecionadas",
|
||
mcpCodexConfig: "Configuração do Codex",
|
||
mcpCodexConfigPath: "O Codex pode usar ~/.codex/config.toml ou um .codex/config.toml no nível do projeto.",
|
||
mcpCursorConfigPath: "O Cursor pode usar .cursor/mcp.json no projeto ou ~/.cursor/mcp.json globalmente.",
|
||
mcpTraeConfigPath: "TRAE: Configurações > MCP > Adicionar > Adicionar manualmente; depois cole a configuração JSON.",
|
||
mcpCherryStudioConfigPath: "Cherry Studio: Configurações > Servidores MCP > Adicionar servidor > Importar JSON; depois cole a configuração.",
|
||
mcpVsCodeConfigPath: "O VS Code/Copilot pode usar .vscode/mcp.json no workspace ou mcp.json no perfil do usuário.",
|
||
mcpWindsurfConfigPath: "O Windsurf pode usar ~/.codeium/windsurf/mcp_config.json.",
|
||
mcpOpenCodeConfigPath: "~/.config/opencode/opencode.json globalmente, ou opencode.json no nível do projeto.",
|
||
mcpExecutionMode: "Permissão de execução MCP",
|
||
mcpExecutionModeDescription: "Escolha o nível de permissão que o DBX aplica a todos os clientes MCP. As configurações de leitura e gravação do cliente não podem alterar este nível.",
|
||
mcpExecutionModeReadOnly: "Somente leitura",
|
||
mcpExecutionModeSafeWrite: "Leitura e gravação de dados",
|
||
mcpExecutionModeRecommended: "Recomendado",
|
||
mcpExecutionModeHighRiskWrite: "Acesso completo",
|
||
mcpExecutionModeReadOnlyDescription: "Permite apenas solicitações classificadas pelo DBX como leitura; bloqueia gravações reconhecidas e alterações de conexão. As permissões da conta do banco continuam sendo o limite de segurança final.",
|
||
mcpExecutionModeSafeWriteDescription: "Permite INSERT normal, UPDATE/DELETE com filtros efetivos, alterações MongoDB de escopo verificável e gravações Redis comuns ou exclusão de chaves explícitas; bloqueia alterações globais e estruturais.",
|
||
mcpExecutionModeHighRiskWriteDescription: "Além da leitura e gravação de dados, permite alterações na tabela inteira, DDL, TRUNCATE, limpeza do banco e outras operações de alto risco. As proteções de produção e somente leitura continuam ativas.",
|
||
mcpExecutionModeHighRiskConfirm: "O acesso completo permite alterações na tabela inteira, DDL, TRUNCATE, limpeza do banco e outras operações de alto risco. Deseja ativá-lo?",
|
||
mcpCapabilityTitle: "Comparação de recursos",
|
||
mcpCapabilityDescription: "Estas são operações representativas; solicitações que o DBX não consegue classificar com segurança exigem acesso completo.",
|
||
mcpCapabilityOperation: "Recurso",
|
||
mcpCapabilityRead: "Consultas e leituras",
|
||
mcpCapabilityScopedMutation: "Alterações de dados com escopo (INSERT, UPDATE/DELETE filtrados, gravação/exclusão de chaves explícitas)",
|
||
mcpCapabilityBroadMutation: "Atualizações/exclusões de tabelas inteiras e limpeza de dados",
|
||
mcpCapabilitySchemaAdmin: "DDL, alterações estruturais e administração de alto risco",
|
||
mcpCapabilityConnectionManagement: "Adicionar/remover conexões MCP",
|
||
mcpCapabilityAllowed: "Permitido",
|
||
mcpCapabilityBlocked: "Bloqueado",
|
||
mcpCapabilityAlwaysEnforced: "Todos os modos continuam sujeitos à lista de conexões permitidas, à proteção somente leitura, à proteção de produção e às permissões da conta do banco de dados.",
|
||
mcpPolicySaveFailed: "Falha ao salvar a política de acesso MCP: {error}",
|
||
mcpPolicyLoadFailed: "Falha ao carregar a política de acesso MCP: {error}",
|
||
mcpDetectionTiming: "O DBX verifica automaticamente quando esta página é aberta; use Verificar novamente para atualizar.",
|
||
mcpNpmBoundary: "O DBX apenas verifica e explica o status do MCP; a instalação e as atualizações ainda são feitas pelo npm.",
|
||
mcpRefresh: "Verificar novamente",
|
||
mcpGuide: "Guia do MCP",
|
||
supportInfoTitle: "Informações de suporte",
|
||
supportInfoDescription: "Copie estes detalhes do ambiente ao abrir issues ou pedir ajuda.",
|
||
supportInfoCopy: "Copiar informações",
|
||
supportInfoCopied: "Copiado",
|
||
supportInfoLoading: "Carregando informações de suporte...",
|
||
supportInfoLoadFailed: "Falha ao carregar todas as informações de suporte: {message}",
|
||
supportInfoAppVersion: "Versão do DBX",
|
||
supportInfoRuntime: "Ambiente",
|
||
supportInfoRuntimeDesktop: "Desktop",
|
||
supportInfoRuntimeWeb: "Web",
|
||
supportInfoOperatingSystem: "Sistema operacional",
|
||
supportInfoArchitecture: "Arquitetura",
|
||
supportInfoUnknown: "Desconhecido",
|
||
community: "Comunidade",
|
||
qqGroup: "Grupo do QQ",
|
||
wechatGroup: "Grupo do WeChat",
|
||
wechatGroupInvite: "Convite do Tencent Docs",
|
||
project: "Projeto",
|
||
openSource: "Repositório de código aberto",
|
||
officialDocs: "Documentação oficial",
|
||
changelogTitle: "Registro de alterações",
|
||
changelogDescription: "Veja o que há de novo em cada versão.",
|
||
changelogLoading: "Carregando o registro de alterações...",
|
||
changelogLoadFailed: "Falha ao carregar o registro de alterações.",
|
||
changelogEmpty: "Ainda não há entradas no registro de alterações.",
|
||
changelogPublishedOn: "Publicado em {date}",
|
||
changelogNew: "NEW",
|
||
changelogLoadMore: "Carregar mais",
|
||
changelogOpenWebsite: "Ver no site",
|
||
changelogOpenGitHub: "GitHub Release",
|
||
changelogNoDetails: "Veja o GitHub Release para detalhes.",
|
||
changelogRetry: "Tentar novamente",
|
||
changelogSectionAdded: "Novidades",
|
||
changelogSectionImproved: "Melhorias",
|
||
changelogSectionFixed: "Correções",
|
||
changelogSectionChanged: "Alterações",
|
||
changelogSectionRemoved: "Removido",
|
||
shortcutUppercaseSelection: "Converter seleção em maiúsculas",
|
||
shortcutLowercaseSelection: "Converter seleção em minúsculas",
|
||
shortcutExPasteSqlInCondition: "ExPaste: colar como condição IN",
|
||
dateTimeSection: "Data e Hora",
|
||
globalDateTimeDisplayFormat: "Formato de exibição global",
|
||
globalDateTimeDisplayFormatDescription: "Aplicado a todos os campos de data e hora em todos os bancos de dados que não tenham formato de coluna configurado individualmente.",
|
||
globalDateTimeExportFormat: "Formato de exportação global",
|
||
globalDateTimeExportFormatDescription: "Formata campos de data e hora de forma uniforme ao exportar para CSV, Excel, JSON, Markdown e texto.",
|
||
globalDateTimeImportFormat: "Formato de importação global",
|
||
globalDateTimeImportFormatDescription: "Analisa datas e horas em arquivos importados de acordo com este formato; deixe em branco para detectar automaticamente formatos comuns.",
|
||
dateTimeFormatRaw: "Manter valor original do banco de dados",
|
||
dateTimeFormatAuto: "Detecção automática",
|
||
dateTimeFormatSearchPlaceholder: "Selecione ou digite um formato",
|
||
dateTimeFormatEmpty: "Insira um formato de data e hora personalizado",
|
||
routineSourceOpenMode: "Modo de abertura de funções/procedimentos/views",
|
||
routineSourceOpenModeQueryTab: "Aba de dados",
|
||
routineSourceOpenModeQueryTabDescription: "Abrir código-fonte em uma nova aba de dados, da mesma forma que executar uma consulta SQL.",
|
||
routineSourceOpenModeDialog: "Janela pop-up",
|
||
routineSourceOpenModeDialogDescription: "Abrir código-fonte em uma caixa de diálogo pop-up, facilitando a visualização e edição rápida.",
|
||
syncSnippetPassphrase: "Senha de criptografia do snippet",
|
||
syncSnippetPassphraseDescription: "Criptografa todo o snapshot do GitHub/Gitee. Não é salva e é separada da senha das credenciais sincronizadas.",
|
||
syncSnippetIncludeSecrets: "Incluir credenciais criptografadas ao enviar",
|
||
syncSnippetRestoreSecrets: "Restaurar credenciais criptografadas ao baixar",
|
||
syncSnippetMigrateLegacy: "Migrar snippet legado",
|
||
syncSnippetMigrateLegacyRequired: "Este snippet legado em texto simples deve ser migrado pela ação Migrar snippet legado.",
|
||
syncSnippetMigrateLegacyConfirm: "O DBX criará primeiro uma substituição criptografada e depois excluirá permanentemente o snippet legado em texto simples {id}. Esta ação não pode ser desfeita. Continuar?",
|
||
syncSnippetMigrateLegacySuccess: "O snippet criptografado {id} foi criado e o snippet legado em texto simples foi removido.",
|
||
syncSnippetMigrateLegacyCreated: "O snippet criptografado {id} foi criado.",
|
||
syncSnippetMigrateLegacyCleanupRequired: "O snippet criptografado foi criado, mas não foi possível excluir o snippet legado {id}. Exclua-o manualmente e altere as credenciais que possam ter sido expostas.",
|
||
syncSnippetRetryLegacyCleanup: "Tentar limpeza legada novamente",
|
||
syncSnippetLegacyCleanupSuccess: "O snippet legado em texto simples {id} foi removido.",
|
||
},
|
||
driverStore: {
|
||
jreDirRemoveFailed: "Não foi possível remover o diretório JRE antigo: {path} (erro original: {error})",
|
||
jreDirRemoveFailedWindows:
|
||
"Não foi possível remover o diretório JRE antigo: {path}\nCausas possíveis:\n - um processo dbx Agent / java ainda está usando o diretório\n - o antivírus está analisando o diretório\nFeche qualquer processo que possa estar usando o diretório, ou reinicie o dbx e tente novamente.\n(erro original: {error})",
|
||
jreInUseByDrivers: "O JRE {jre} está em uso pelos drivers: {drivers}. Desinstale-os primeiro.",
|
||
offlinePackageRegistryMissing: "agent-registry.json não encontrado no ZIP; não é um pacote de drivers offline válido.",
|
||
progressJreExtract: "Extraindo JRE...",
|
||
progressDownloadJre: "Baixando JRE",
|
||
progressDownloadDriver: "Baixando driver",
|
||
progressDownloadJdbcPlugin: "Baixando plugin JDBC",
|
||
progressJdbcPluginExtract: "Instalando plugin JDBC...",
|
||
usageTitle: "Uso de armazenamento",
|
||
usageTotal: "Total {size}",
|
||
usageTotalLabel: "Total",
|
||
calculating: "Calculando...",
|
||
usageManagedJre: "JRE gerenciada",
|
||
usageAgentDrivers: "Agentes de driver integrados",
|
||
usageDownloadCache: "Cache de downloads",
|
||
usageJdbcPlugin: "Plugin JDBC",
|
||
usageJdbcDriverJars: "JARs de driver JDBC",
|
||
clearDownloadCache: "Limpar cache",
|
||
downloadCacheClearSuccess: "Cache de downloads limpo",
|
||
downloadCacheClearFailed: "Falha ao limpar cache de downloads: {error}",
|
||
driverCategoryAll: "All Drivers",
|
||
driverCategoryLabel: "Category",
|
||
offlineDownloadHint: "Para ambientes sem internet, baixe pacotes de driver offline em uma máquina com acesso à internet e importe-os aqui.",
|
||
offlineDownloadLink: "Downloads de driver offline",
|
||
searchDrivers: "Pesquisar nome, tipo, versão do driver...",
|
||
searchJdbcDrivers: "Pesquisar nome ou caminho do driver JDBC...",
|
||
jdbcMavenCoordinatePlaceholder: "Coordenada Maven, ex.: org.postgresql:postgresql:42.7.7",
|
||
jdbcMavenInstall: "Instalar do Maven",
|
||
jdbcMavenInstallSuccess: "Driver JDBC Maven instalado",
|
||
jdbcSourceMaven: "Maven",
|
||
jdbcSourceManual: "Manual",
|
||
noMatchingDrivers: "Nenhum driver correspondente.",
|
||
javaRuntimeSaved: "Configurações de runtime do Java salvas",
|
||
javaRuntimeSaveFailed: "Falha ao salvar configurações de runtime do Java: {error}",
|
||
chooseJavaExecutable: "Escolher executável do Java",
|
||
driverInstallSuccess: "Driver {label} instalado",
|
||
driverInstallFailed: "Falha ao instalar o driver {label}: {error}",
|
||
driverUpdateBlocked: "Feche estas conexões de banco de dados antes de atualizar os drivers: {labels}",
|
||
upgradeAllSuccess: "{count} driver(s) atualizado(s)",
|
||
upgradeAllPartial: "{count} driver(s) atualizado(s). Ignorados: {failed}",
|
||
upgradeAllFailed: "Falha na atualização em lote: {error}",
|
||
driverUninstallSuccess: "Driver {label} desinstalado",
|
||
driverUninstallFailed: "Falha ao desinstalar o driver {label}: {error}",
|
||
chooseOfflineDriverPackage: "Escolher pacote de driver offline",
|
||
offlineImportSuccess: "Importação offline concluída. {count} driver(s) instalado(s).",
|
||
offlineImportFailed: "Falha na importação offline: {error}",
|
||
driverImportSuccess: "Driver {label} importado",
|
||
driverImportFailed: "Falha ao importar o driver {label}: {error}",
|
||
chooseDriverJar: "Escolher arquivo do driver",
|
||
jreReinstallSuccess: "JRE {jre} reinstalada",
|
||
jreReinstallFailed: "Falha ao reinstalar a JRE {jre}: {error}",
|
||
jreUninstallSuccess: "JRE {jre} desinstalada",
|
||
chooseJdbcPluginZip: "Escolher arquivo zip do plugin JDBC",
|
||
agentDrivers: "Drivers integrados",
|
||
jdbcDrivers: "Drivers JDBC",
|
||
importing: "Importando...",
|
||
importOfflinePackage: "Importar pacote offline",
|
||
refresh: "Atualizar",
|
||
javaRuntime: "Runtime do Java",
|
||
javaRuntimeManaged: "JRE gerenciada pelo DBX",
|
||
javaRuntimeSystem: "Java do sistema",
|
||
javaRuntimeCustom: "Caminho personalizado",
|
||
saving: "Salvando...",
|
||
customJavaPathPlaceholder: "/caminho/para/java ou /caminho/para/jdk",
|
||
choose: "Escolher",
|
||
systemJavaHint: "Usar o java do PATH atual.",
|
||
jreRuntimeTitle: "Runtime da JRE {jre}",
|
||
notInstalled: "Não instalado",
|
||
reinstalling: "Reinstalando",
|
||
installing: "Instalando",
|
||
install: "Instalar",
|
||
reinstall: "Reinstalar",
|
||
uninstall: "Desinstalar",
|
||
jreRuntime: "Runtime da JRE",
|
||
jreRuntimeAutoDownloadHint: "Baixada automaticamente ao instalar um driver pela primeira vez",
|
||
driversUpdatable: "{count} driver(s) pode(m) ser atualizado(s)",
|
||
updatesAvailableTitle: "Atualizações disponíveis",
|
||
updatesAvailableDescription: "Novas versões estão disponíveis para os drivers abaixo. Atualize para obter os recursos e correções mais recentes.",
|
||
allDriversTitle: "Todos os drivers",
|
||
upgradingProgress: "Atualizando ({current}/{total})",
|
||
upgradeAll: "Atualizar todos",
|
||
queued: "Na fila",
|
||
importLocalJar: "Importar arquivo de driver local",
|
||
updating: "Atualizando",
|
||
update: "Atualizar",
|
||
localInstall: "Instalação local",
|
||
runtimeDrivers: "Runtime",
|
||
storageTab: "Armazenamento",
|
||
runtimeTitle: "Runtime do driver",
|
||
runtimeHint: "As métricas de runtime são coletadas apenas enquanto este painel está aberto.",
|
||
runtimeRunning: "Em execução",
|
||
runtimeMemory: "Memória",
|
||
runtimeHealth: "Integridade",
|
||
runtimeHealth_healthy: "Saudável",
|
||
runtimeHealth_warning: "Aviso",
|
||
runtimeHealth_error: "Erro",
|
||
runtimeLastError: "Último erro",
|
||
runtimeEmpty: "Nenhum runtime de driver ainda. Abra uma conexão baseada em agente para iniciar um.",
|
||
runtimeKindAgent: "Agente",
|
||
runtimeKindPlugin: "Plugin",
|
||
runtimeSourceDaemon: "Daemon",
|
||
runtimeSourceConnection: "Conexão",
|
||
runtimeStatus_running: "Em execução",
|
||
runtimeStatus_stopped: "Parado",
|
||
runtimeStatus_error: "Erro",
|
||
runtimeStatus_unknown: "Desconhecido",
|
||
runtimePid: "PID",
|
||
runtimeUptime: "Tempo ativo",
|
||
runtimeActions: "Ações",
|
||
runtimeStop: "Parar",
|
||
runtimeRestart: "Reiniciar",
|
||
runtimeControlConnectionOwned: "Feche a conexão de banco de dados para parar este runtime.",
|
||
runtimeStopSuccess: "Runtime {label} parado",
|
||
runtimeStopFailed: "Falha ao parar {label}: {error}",
|
||
runtimeRestartSuccess: "Runtime {label} reiniciado",
|
||
runtimeRestartFailed: "Falha ao reiniciar {label}: {error}",
|
||
driverStoreDir: "Caminho de armazenamento de drivers",
|
||
driverStoreDirDescription: "Configure locais separados para o plugin JDBC e dados de Agent/JRE. O app será reiniciado automaticamente após a migração.",
|
||
pluginStoreDir: "Diretório do plugin JDBC",
|
||
pluginStoreDirDescription: "Armazena o plugin JDBC, Maven resolver e jars de drivers JDBC.",
|
||
agentStoreDir: "Diretório Agent / JRE",
|
||
agentStoreDirDescription: "Armazena pacotes de drivers Agent, JREs gerenciados e cache de runtime.",
|
||
driverStoreDirDefault: "Padrão (diretório de instalação)",
|
||
driverStoreDirChange: "Alterar",
|
||
driverStoreDirReset: "Restaurar padrão",
|
||
driverStoreDirMigrating: "Migrando {target}…",
|
||
driverStoreDirConfirm: "Alterar {target} migrará os dados relacionados para o novo local. Conexões relacionadas podem ser desconectadas durante a migração. O app será reiniciado automaticamente após. Continuar?",
|
||
driverStoreDirMigrationFailed: "Falha na migração de drivers: {error}",
|
||
driverStoreDirDialogTitle: "Selecionar {target}",
|
||
driverStoreDirSuccess: "{target} alterado, reiniciando…",
|
||
},
|
||
databaseExport: {
|
||
title: "Exportar banco de dados",
|
||
options: "Opções",
|
||
includeStructure: "Estrutura da tabela (DDL)",
|
||
includeCreateDatabase: "Incluir criação do banco (CREATE DATABASE / USE)",
|
||
dropTableIfExists: "Adicionar DROP TABLE IF EXISTS antes do DDL",
|
||
omitAutoIncrement: "Omitir AUTO_INCREMENT (para scripts de instalação do zero)",
|
||
includeData: "Dados da tabela (INSERT)",
|
||
includeObjects: "Views / Procedures / Funções / Sequências",
|
||
databaseSelection: "Bancos de dados",
|
||
selectedDatabases: "{selected}/{total} selecionados",
|
||
selectAllDatabases: "Selecionar todos",
|
||
filterDatabases: "Pesquisar bancos de dados...",
|
||
clearDatabases: "Limpar",
|
||
runInBackground: "Executar em segundo plano",
|
||
tableSelection: "Tabelas",
|
||
selectedTables: "{selected}/{total} selecionadas",
|
||
selectAllTables: "Selecionar todas",
|
||
filterTables: "Pesquisar tabelas...",
|
||
clearTables: "Limpar",
|
||
loadingTables: "Carregando tabelas...",
|
||
tableLoadError: "Falha ao carregar tabelas: {error}",
|
||
noTables: "Nenhuma tabela encontrada",
|
||
export: "Exportar",
|
||
exportAllDatabases: "Exportar todos os bancos de dados",
|
||
exporting: "Exportando...",
|
||
preparing: "Preparando exportação (lendo tabelas e metadados)...",
|
||
preparingObject: "Preparando: {object}",
|
||
selectExportDirectory: "Selecionar diretório de exportação",
|
||
currentDatabase: "Banco de dados {current}/{total}",
|
||
currentTable: "Atual: {table} ({current}/{total})",
|
||
rowsExported: "{current}/{total} objetos processados, {count} linhas exportadas",
|
||
allRowsExported: "Total de linhas exportadas: {count}",
|
||
exportSuccess: "Banco de dados exportado com sucesso",
|
||
exportAllSuccess: "{count} bancos de dados exportados com sucesso",
|
||
allDatabasesTask: "Todos os bancos de dados ({count})",
|
||
exportError: "Falha na exportação: {error}",
|
||
exportCancelled: "Exportação cancelada",
|
||
},
|
||
nacos: {
|
||
dashboard: "Painel",
|
||
dashboardTitle: "Painel de operações",
|
||
dashboardUpdatedAt: "Atualizado {time}",
|
||
dashboardAutoRefresh: "Atualização automática",
|
||
dashboardOff: "Desativada",
|
||
dashboardNamespaces: "Namespaces",
|
||
dashboardConfigs: "Configurações",
|
||
dashboardServices: "Serviços",
|
||
dashboardInstances: "Instâncias",
|
||
dashboardClients: "Clientes",
|
||
dashboardConnections: "{count} conexões",
|
||
dashboardNodes: "Nós saudáveis",
|
||
dashboardCpu: "CPU",
|
||
dashboardMemory: "Memória",
|
||
dashboardLoad: "Carga {value}",
|
||
dashboardCountsChart: "Descoberta de serviços",
|
||
dashboardResourcesChart: "Uso de recursos",
|
||
dashboardClusterNodes: "Nós do cluster",
|
||
dashboardSite: "Site",
|
||
dashboardLastRefresh: "Última atualização",
|
||
dashboardNoNodes: "Os detalhes dos nós não estão disponíveis",
|
||
dashboardPartial: "{count} fontes de dados não estão disponíveis",
|
||
dashboardMemoryUsed: "Heap / memória usada",
|
||
dashboardMemoryMax: "Máximo {value}",
|
||
dashboardRss: "Memória RSS",
|
||
dashboardVms: "Memória virtual",
|
||
dashboardJvmThreads: "Threads daemon da JVM",
|
||
dashboardGcPauses: "Pausas de GC",
|
||
dashboardTrafficSection: "Tráfego de requisições",
|
||
dashboardRequestRateChart: "Requisições HTTP / gRPC por segundo",
|
||
dashboardLatencyChart: "Latência das requisições",
|
||
dashboardHttpQps: "QPS HTTP",
|
||
dashboardGrpcQps: "QPS gRPC",
|
||
dashboardHttpAverage: "Média HTTP",
|
||
dashboardHttpP50: "HTTP P50",
|
||
dashboardHttpP95: "HTTP P95",
|
||
dashboardHttpP99: "HTTP P99",
|
||
dashboardGrpcAverage: "Média gRPC",
|
||
dashboardGrpcP50: "gRPC P50",
|
||
dashboardGrpcP95: "gRPC P95",
|
||
dashboardGrpcP99: "gRPC P99",
|
||
dashboardReliabilitySection: "Confiabilidade",
|
||
dashboardErrorRateChart: "Taxa de erros",
|
||
dashboardExecutorChart: "Executor gRPC",
|
||
dashboardHttpErrors: "Erros HTTP",
|
||
dashboardGrpcErrors: "Erros gRPC",
|
||
dashboardExecutorPool: "Tamanho do pool",
|
||
dashboardExecutorActive: "Ativos",
|
||
dashboardExecutorQueue: "Na fila",
|
||
dashboardConfigSection: "Central de configuração",
|
||
dashboardConfigRateChart: "Operações de configuração por segundo",
|
||
dashboardConfigStateChart: "Listeners e trabalho pendente",
|
||
dashboardConfigGets: "Consultas",
|
||
dashboardConfigPublishes: "Publicações",
|
||
dashboardLongPolling: "Long polling",
|
||
dashboardListenerClients: "Clientes listener",
|
||
dashboardListenerKeys: "Chaves listener",
|
||
dashboardNotifyTasks: "Tarefas de notificação",
|
||
dashboardNotifyClientTasks: "Notificações de clientes",
|
||
dashboardDumpTasks: "Tarefas dump",
|
||
dashboardNamingSection: "Descoberta de serviços",
|
||
dashboardNamingStateChart: "Serviços, instâncias e clientes",
|
||
dashboardPushRateChart: "Pushes por segundo",
|
||
dashboardPushDetailChart: "Latência e tarefas pendentes de push",
|
||
dashboardPushAverage: "Latência média",
|
||
dashboardPushMaximum: "Latência máxima",
|
||
dashboardPushPending: "Tarefas pendentes",
|
||
dashboardSubscribers: "Assinantes",
|
||
dashboardPushes: "Pushes",
|
||
dashboardFailedPushes: "Pushes com falha",
|
||
dashboardEmptyPushes: "Pushes vazios",
|
||
configs: "Configurações",
|
||
services: "Serviços",
|
||
raw: "Raw",
|
||
namespace: "Namespace",
|
||
createNamespace: "Criar Namespace",
|
||
editNamespace: "Editar Namespace",
|
||
creatingNamespace: "Criando...",
|
||
updatingNamespace: "Atualizando...",
|
||
namespaceCreated: 'Namespace "{name}" criado',
|
||
namespaceUpdated: 'Namespace "{name}" atualizado',
|
||
namespaceId: "ID do Namespace",
|
||
namespaceIdPlaceholder: "Deixe vazio para o Nacos gerar",
|
||
namespaceName: "Nome do Namespace",
|
||
namespaceNamePlaceholder: "Digite um nome de namespace",
|
||
namespaceDesc: "Descrição",
|
||
namespaceDescPlaceholder: "Padrão é o nome do namespace",
|
||
dataId: "Data ID",
|
||
group: "Grupo",
|
||
format: "Formato",
|
||
content: "Conteúdo",
|
||
tags: "Tags",
|
||
application: "Aplicação",
|
||
description: "Descrição",
|
||
advanced: "Avançado",
|
||
collapse: "Recolher",
|
||
configIdentity: "Identidade da configuração",
|
||
newConfigDraft: "Nova configuração",
|
||
draft: "Rascunho",
|
||
unsaved: "Não salva",
|
||
published: "Publicada",
|
||
readOnlyState: "Somente leitura",
|
||
load: "Carregar",
|
||
save: "Salvar",
|
||
saveAs: "Salvar como",
|
||
saving: "Salvando...",
|
||
saved: "Configuração salva",
|
||
createdAndLoaded: "{dataId} criado e carregado",
|
||
savedAndLoaded: "{dataId} salvo e atualizado",
|
||
deleted: "Configuração excluída",
|
||
delete: "Excluir",
|
||
copy: "Copiar",
|
||
copied: "Copiado",
|
||
copyVerifyFailed: "A verificação da área de transferência falhou após a gravação",
|
||
export: "Exportar",
|
||
exported: "Exportado",
|
||
exportedTo: "Exportado para {path}",
|
||
exportFailed: "Falha ao exportar: {message}",
|
||
contentSearch: "Pesquisa de texto completo",
|
||
contentSearchTitle: "Pesquisa de texto completo nas configurações do Nacos",
|
||
contentSearchDescription: "Executa uma pesquisa literal com diferenciação de maiúsculas e minúsculas no conteúdo publicado atual. As versões do histórico não são pesquisadas.",
|
||
contentSearchPlaceholder: "URL do banco, conta ou qualquer trecho de configuração",
|
||
search: "Pesquisar",
|
||
cancel: "Cancelar",
|
||
currentNamespace: "Namespace atual",
|
||
allNamespaces: "Todos os namespaces desta conexão",
|
||
allNamespacesSearchWarning: "Pesquisar em todos os namespaces pode percorrer muitas configurações. Pode ser lento no Nacos 2.x e no r-nacos e aumentar a carga do servidor.",
|
||
scannedCount: "{count} verificadas",
|
||
matchCount: "{count} correspondências",
|
||
incompleteResult: "Os resultados podem estar incompletos",
|
||
lineNumber: "Linha {line}",
|
||
noContentMatches: "Nenhuma configuração contém este conteúdo",
|
||
contentSearchEmptyHint: "Digite uma palavra-chave. Palavras-chave, conteúdo e trechos não são persistidos em disco nem nos logs.",
|
||
searchResults: "Resultados da pesquisa",
|
||
searchResultsRetainedHint: "Abra um resultado na área de conteúdo. Este conjunto continuará disponível em Resultados da pesquisa na barra superior.",
|
||
openedSearchResult: "Aberta",
|
||
exportSearchResults: "Exportar resultados",
|
||
clearSearchResults: "Limpar resultados",
|
||
searchResultsExported: "Resultados da pesquisa exportados",
|
||
searchResultsExportedTo: "Resultados da pesquisa exportados para {path}",
|
||
batchExport: "Exportação em lote",
|
||
batchImport: "Importação em lote",
|
||
copyToNamespace: "Sincronizar configurações",
|
||
selectedCount: "{count} selecionadas",
|
||
retryConnectionInfo: "Tentar detectar a conexão novamente",
|
||
resizeColumn: "Arraste para redimensionar a coluna",
|
||
selectCurrentPage: "Selecionar página atual",
|
||
selectConfigForBatch: "Selecionar configuração {dataId}",
|
||
batchExportTitle: "Exportar configurações do Nacos em lote",
|
||
batchExportDescription: "Cria um ZIP compatível com o console do Nacos. Ele contém configurações descriptografadas em texto simples e deve ser armazenado com segurança.",
|
||
batchImportTitle: "Importar configurações do Nacos em lote",
|
||
batchImportDescription: "Analisa o arquivo com segurança e mostra os conflitos antes de publicar cada item no namespace atual.",
|
||
batchCopyTitle: "Sincronizar configurações com outro namespace",
|
||
batchCopyDescription: "A sincronização é uma cópia unidirecional e não exclui nem altera a origem. Os conflitos no destino seguem a política selecionada.",
|
||
exportScope: "Escopo das configurações",
|
||
selectedConfigs: "Configurações selecionadas ({count})",
|
||
filteredConfigs: "Todas do filtro atual (estimativa: {count})",
|
||
namespaceAllConfigs: "Todas as configurações deste namespace",
|
||
importArchive: "Arquivo ZIP do Nacos",
|
||
noArchiveSelected: "Nenhum ZIP selecionado",
|
||
chooseZip: "Escolher ZIP",
|
||
importSensitiveWarning: "Um ZIP compatível pode conter senhas de banco, chaves e outros segredos em texto simples. Importe apenas arquivos confiáveis.",
|
||
targetConnection: "Conexão de destino",
|
||
chooseTargetConnection: "Escolha uma conexão Nacos de destino",
|
||
noTargetConnections: "Não há conexões Nacos graváveis disponíveis. Adicione uma ou desative o modo somente leitura da conexão de destino.",
|
||
targetNamespace: "Namespace de destino",
|
||
chooseTargetNamespace: "Escolha outro namespace",
|
||
copyKeepsSource: "A sincronização usa cópia unidirecional. As configurações do namespace de origem permanecem inalteradas.",
|
||
conflictPolicy: "Política de conflitos",
|
||
policyABORT: "Abortar ao encontrar conflito",
|
||
policyABORTHint: "Não gravar nada se a prévia encontrar um conflito",
|
||
policySKIP: "Ignorar conflitos",
|
||
policySKIPHint: "Criar somente configurações ausentes no destino",
|
||
policyOVERWRITE: "Sobrescrever destino",
|
||
policyOVERWRITEHint: "Substituir configurações de mesma chave no destino pela origem",
|
||
overwriteWarning: "A sobrescrita altera configurações publicadas no destino e exige uma confirmação adicional.",
|
||
overwriteConfirm: "Sobrescrever todas as configurações em conflito no namespace de destino? Isso não pode ser desfeito automaticamente.",
|
||
preview: "Prévia",
|
||
apply: "Aplicar",
|
||
exportZip: "Exportar ZIP",
|
||
previewTotal: "{count} no total",
|
||
previewCreated: "{count} novas",
|
||
previewConflicts: "{count} conflitos",
|
||
previewInvalid: "{count} inválidas",
|
||
previewExpired: "A prévia está desatualizada. Gere-a novamente.",
|
||
batchFinished: "Sincronização concluída: {written} gravadas",
|
||
batchAborted: "Sincronização não executada: um conflito impediu todas as gravações",
|
||
batchPartial: "A operação em lote foi concluída parcialmente; revise os itens com falha",
|
||
batchCancelled: "Cancelada",
|
||
batchCancelledSummary: "Sincronização cancelada: {processed}/{total} processadas",
|
||
batchFailedSummary: "Sincronização parcial: {written} gravadas, {failed} com falha",
|
||
batchPartialSummary: "Sincronização incompleta: {processed}/{total} processadas",
|
||
batchFinishedWithSkipped: "Sincronização concluída: {written} gravadas, {skipped} ignoradas",
|
||
batchStatusCreate: "Será criada",
|
||
batchStatusConflict: "Conflito",
|
||
batchStatusInvalid: "Inválida",
|
||
batchStatusCreated: "Criada",
|
||
batchStatusOverwritten: "Sobrescrita",
|
||
batchStatusSkipped: "Ignorada",
|
||
batchStatusFailed: "Falha",
|
||
batchStatusAborted: "Não executada",
|
||
batchStatusExported: "Exportada",
|
||
batchStatusUnknown: "{status}",
|
||
reportWritten: "{count} gravadas",
|
||
reportCreated: "{count} criadas",
|
||
reportOverwritten: "{count} sobrescritas",
|
||
reportSkipped: "{count} ignoradas",
|
||
reportFailed: "{count} com falha",
|
||
reportItems: "Detalhes das configurações ({count})",
|
||
history: "History",
|
||
configHistory: "Config history",
|
||
historyUnavailable: "O histórico de configurações não está disponível para esta conexão. Configure a URL do console r-nacos e reconecte para habilitá-lo.",
|
||
historyDisabled: "O histórico de configurações está desabilitado para esta conexão.",
|
||
historyConsoleUrlMissing: "O histórico de configurações precisa de uma URL do console r-nacos.",
|
||
historyConsoleCredentialsMissing: "O histórico de configurações precisa das credenciais do console r-nacos.",
|
||
rnacosConsoleAuthTitle: "Verificação do console r-nacos",
|
||
rnacosConsoleAuthDescription: "Informe o código de verificação do console r-nacos para ler tipos, descrições e histórico das configurações.",
|
||
rnacosCaptchaLabel: "Código de verificação",
|
||
rnacosCaptchaPlaceholder: "Informe o código exibido acima",
|
||
rnacosCaptchaRequired: "É necessário informar um código de verificação.",
|
||
rnacosCaptchaUnavailable: "O r-nacos não retornou uma imagem de verificação.",
|
||
rnacosRefreshCaptcha: "Atualizar código",
|
||
rnacosConsoleAuthSubmit: "Verificar e continuar",
|
||
historyDetail: "History detail",
|
||
historyCompareTitle: "History Version Compare",
|
||
currentPublishedContent: "Current published content:",
|
||
historyVersionContent: "History version content:",
|
||
updatedAt: "Updated at",
|
||
operationType: "Operation",
|
||
operator: "Operator",
|
||
view: "View",
|
||
compare: "Compare",
|
||
rollback: "Rollback",
|
||
loadingHistory: "Loading history...",
|
||
noHistory: "No history versions",
|
||
noHistoryHint: "Refresh if this config was just published. Some Nacos versions may not expose history APIs.",
|
||
historyCreate: "Create",
|
||
historyUpdate: "Update",
|
||
historyDelete: "Delete",
|
||
historyRollback: "Rollback",
|
||
confirmRollbackTitle: "Rollback Nacos config",
|
||
confirmRollbackMessage: "This will roll the current config back to the selected history version.",
|
||
rollbackSuccess: "Config rolled back",
|
||
publish: "Publicar",
|
||
dataIdRequired: "Data ID é obrigatório",
|
||
allGroups: "Todos os grupos",
|
||
noConfigs: "Nenhuma configuração",
|
||
selectConfig: "Selecione ou crie uma configuração",
|
||
noServices: "Nenhum serviço",
|
||
selectService: "Selecione um serviço",
|
||
service: "Serviço",
|
||
instances: "Instâncias",
|
||
instanceCount: "{count} instâncias",
|
||
refresh: "Atualizar",
|
||
address: "Endereço",
|
||
cluster: "Cluster",
|
||
weight: "Peso",
|
||
state: "Estado",
|
||
actions: "Ações",
|
||
query: "Query",
|
||
body: "Corpo",
|
||
response: "Resposta",
|
||
template: "Modelo",
|
||
configDiffTitle: "Comparar conteúdo da configuração",
|
||
inlineCompare: "Comparação inline",
|
||
currentVersionContent: "Versão oficial atual:",
|
||
publishVersionContent: "Conteúdo desta publicação:",
|
||
confirmSaveTitle: "Revisar alterações da configuração Nacos",
|
||
confirmSaveMessage: "Salvar esta alteração? +{added} / -{removed} linhas.",
|
||
confirmDeleteTitle: "Excluir configuração Nacos",
|
||
confirmDeleteMessage: "Isso remove a configuração selecionada do Nacos.",
|
||
confirmInstanceTitle: "Atualizar instância Nacos",
|
||
confirmInstanceMessage: "Confirme o estado de destino da instância.",
|
||
confirmRawTitle: "Enviar solicitação Raw API mutável",
|
||
confirmRawMessage: "Esta solicitação Raw API pode modificar o estado do Nacos.",
|
||
rawTemplate: {
|
||
serverState: "Estado do servidor",
|
||
namespaceList: "Lista de namespaces",
|
||
configDetail: "Detalhe da configuração",
|
||
serviceList: "Lista de serviços",
|
||
instanceList: "Lista de instâncias",
|
||
},
|
||
healthy: "Saudável",
|
||
unhealthy: "Não saudável",
|
||
enabled: "Ativado",
|
||
offline: "Offline",
|
||
ephemeral: "Efêmera",
|
||
persistent: "Persistente",
|
||
enable: "Ativar",
|
||
disable: "Desativar",
|
||
markHealthy: "Marcar saudável",
|
||
markUnhealthy: "Marcar não saudável",
|
||
send: "Enviar",
|
||
total: "{count} no total",
|
||
prev: "Anterior",
|
||
next: "Próximo",
|
||
test: "Testar",
|
||
readOnly: "Somente leitura",
|
||
},
|
||
gridfsBrowser: {
|
||
bucketCount: "Buckets",
|
||
fileCount: "Arquivos",
|
||
name: "Nome",
|
||
totalSize: "Tamanho",
|
||
chunkSize: "Tamanho do chunk",
|
||
uploadDate: "Data de upload",
|
||
contentType: "Tipo de conteúdo",
|
||
metadata: "Metadados",
|
||
selectBucket: "Selecione um bucket GridFS para visualizar ou abrir.",
|
||
selectFile: "Selecione um arquivo GridFS para visualizar ou gerenciar.",
|
||
emptyBuckets: "Nenhum bucket GridFS no momento. Você pode criar um.",
|
||
emptyFiles: "O bucket atual ainda não tem arquivos. Você pode fazer upload de um.",
|
||
createBucket: "Criar bucket",
|
||
openBucket: "Abrir bucket",
|
||
deleteBucket: "Excluir bucket",
|
||
createTitle: "Criar bucket GridFS",
|
||
deleteTitle: "Excluir bucket GridFS",
|
||
deleteMessage: "Tem certeza de que deseja excluir o bucket GridFS selecionado e todos os seus arquivos?",
|
||
bucketName: "Nome do bucket",
|
||
bucketNamePlaceholder: "example_bucket",
|
||
bucketCreated: "Bucket {bucket} criado.",
|
||
bucketDeleted: "Bucket {bucket} excluído.",
|
||
uploadFile: "Fazer upload de arquivo",
|
||
downloadFile: "Baixar arquivo",
|
||
downloadSelected: "Baixar selecionados",
|
||
deleteFile: "Excluir arquivo",
|
||
selectedCount: "{count} selecionados",
|
||
deleteFileTitle: "Excluir arquivo GridFS",
|
||
deleteFileMessage: "Tem certeza de que deseja excluir o arquivo selecionado do bucket GridFS atual?",
|
||
fileUploaded: "Arquivo {fileName} enviado.",
|
||
fileDeleted: "Arquivo {fileName} excluído.",
|
||
},
|
||
extension: {
|
||
installTitle: "Instalar extensão",
|
||
manageTitle: "Gerenciar extensão",
|
||
name: "Nome da extensão",
|
||
namePlaceholder: "Exemplo: pg_stat_statements",
|
||
install: "Instalar",
|
||
drop: "Remover",
|
||
available: "Extensões disponíveis",
|
||
installed: "Instaladas",
|
||
noAvailable: "Todas as extensões disponíveis já estão instaladas.",
|
||
noInstalled: "Nenhuma extensão instalada.",
|
||
},
|
||
sqlFileTree: {
|
||
title: "Arquivos SQL",
|
||
openFolder: "Abrir pasta",
|
||
closePanel: "Fechar",
|
||
loading: "Carregando...",
|
||
noFolder: "Nenhuma pasta aberta",
|
||
noSqlFiles: "Nenhum arquivo SQL encontrado",
|
||
folderAlreadyOpen: "Esta pasta já está aberta",
|
||
removeFolder: "Remover pasta",
|
||
openFailed: "Falha ao abrir a pasta: {message}",
|
||
loadFailed: "Falha ao carregar arquivos SQL: {message}",
|
||
desktopOnly: "Recurso disponível apenas no desktop",
|
||
refreshFolder: "Atualizar pasta",
|
||
refreshAll: "Atualizar tudo",
|
||
refreshed: "Atualizado",
|
||
revealInFileManager: "Mostrar no gerenciador de arquivos",
|
||
revealFailed: "Falha ao abrir o gerenciador de arquivos: {message}",
|
||
copyPath: "Copiar caminho",
|
||
pathCopied: "Caminho copiado",
|
||
copyFailed: "Falha ao copiar caminho",
|
||
openFile: "Abrir",
|
||
executeSqlFile: "Executar arquivo SQL",
|
||
expandAll: "Expandir todos",
|
||
collapseAll: "Recolher todos",
|
||
},
|
||
mqTopics: {
|
||
title: "Gerenciamento de tópicos",
|
||
searchPlaceholder: "Pesquisar tópico",
|
||
includeNonPersistent: "Incluir tópicos não persistentes",
|
||
refresh: "Atualizar",
|
||
refreshing: "Atualizando...",
|
||
createTopic: "Criar tópico",
|
||
selectTenantNamespace: "Selecione primeiro o locatário e o namespace",
|
||
loading: "Carregando...",
|
||
noTopics: "Nenhum tópico neste namespace",
|
||
noMatches: "Nenhum tópico correspondente",
|
||
name: "Nome",
|
||
type: "Tipo",
|
||
partitions: "Partições",
|
||
actions: "Ações",
|
||
nonPersistent: "Não persistente",
|
||
partitionedTopic: "Tópico particionado",
|
||
normalTopic: "Tópico normal",
|
||
partitionCount: "{count} partições",
|
||
partitionsUnknown: "Número de partições desconhecido",
|
||
adjustPartitions: "Ajustar partições",
|
||
delete: "Excluir",
|
||
tenantNamespace: "Locatário / Namespace",
|
||
topicName: "Nome do tópico",
|
||
topicNamePlaceholder: "Por exemplo: my-topic",
|
||
persistentRecommended: "Tópico persistente (recomendado)",
|
||
persistentHint: "Tópicos persistentes salvam as mensagens em disco, tópicos não persistentes salvam apenas na memória.",
|
||
enablePartitions: "Habilitar partições",
|
||
partitionQuantity: "Número de partições",
|
||
partitionHint: "As partições melhoram o desempenho de concorrência, mas aumentam o consumo de recursos.",
|
||
cancel: "Cancelar",
|
||
create: "Criar",
|
||
updatePartitionsTitle: "Ajustar número de partições: {name}",
|
||
currentPartitions: "Partições atuais",
|
||
newPartitions: "Novas partições",
|
||
partitionMinHint: "O número de partições só pode ser aumentado, não reduzido. Mínimo: {min}",
|
||
update: "Atualizar",
|
||
readOnly: "A conexão atual é somente leitura, não é possível executar operações de gravação.",
|
||
topicNameRequired: "O nome do tópico não pode estar vazio",
|
||
currentPartitionsUnknown: "O número atual de partições é desconhecido, não é possível ajustar com segurança.",
|
||
partitionMustIncrease: "O novo número de partições deve ser maior que o atual.",
|
||
confirmDelete: 'Tem certeza de que deseja excluir o tópico "{name}"? Esta operação é irreversível.',
|
||
systemTopic: "Tópico do sistema",
|
||
includeSystemTopics: "Incluir tópicos do sistema",
|
||
noUserTopics: "Nenhum tópico de negócio. Marque o filtro de tipo para ver tópicos internos/retry/DLQ.",
|
||
typeFilter: "Filtro de tipo",
|
||
messageType: "Tipo de mensagem",
|
||
messageTypeHint: "Após a criação, escreve a propriedade message.type na configuração do Broker Topic, consistente com o RocketMQ Dashboard.",
|
||
rocketmqType: {
|
||
normal: "Normal",
|
||
delay: "Atrasada",
|
||
fifo: "Ordenada",
|
||
transaction: "Transacional",
|
||
unspecified: "Não especificado",
|
||
retry: "Retry",
|
||
dlq: "DLQ",
|
||
system: "Sistema",
|
||
},
|
||
queues: "Filas",
|
||
tabQueues: "Filas",
|
||
tabExchanges: "Exchanges",
|
||
queueCount: "{count} filas",
|
||
clusterName: "Cluster",
|
||
brokerName: "Broker",
|
||
allBrokers: "Todos os Brokers Master",
|
||
readQueues: "Número de filas de leitura",
|
||
writeQueues: "Número de filas de escrita",
|
||
perm: "Permissão",
|
||
permReadWrite: "Leitura e Escrita (6)",
|
||
permRead: "Somente leitura (4)",
|
||
permWrite: "Somente escrita (2)",
|
||
actionStatus: "Status",
|
||
actionRoute: "Rota",
|
||
actionConsumers: "Consumidores",
|
||
actionConfig: "Configuração",
|
||
actionSend: "Enviar mensagem",
|
||
actionMessageQuery: "Consulta de mensagens",
|
||
actionReset: "Redefinir posição",
|
||
actionSkip: "Pular backlog",
|
||
topicStatusTitle: "Status do tópico: {name}",
|
||
topicRouteTitle: "Rota do tópico: {name}",
|
||
topicConsumersTitle: "Consumidores: {name}",
|
||
topicConfigTitle: "Configuração do tópico: {name}",
|
||
topicConfigHint: "Consistente com o RocketMQ Dashboard, suporta apenas modificar o número de filas de leitura/escrita e permissões. O tipo de mensagem é definido ao criar o tópico.",
|
||
topicResetTitle: "Redefinir posição: {name}",
|
||
topicSkipTitle: "Pular backlog: {name}",
|
||
confirmSkip: 'Tem certeza de que deseja redefinir todos os grupos de consumidores do tópico "{name}" para a posição mais recente?',
|
||
skipHint: "Redefine a posição de todos os grupos de consumidores inscritos neste tópico para a mais recente.",
|
||
saveConfig: "Salvar configuração",
|
||
resetPosition: "Redefinir posição",
|
||
positionEarliest: "Mais antigo",
|
||
positionLatest: "Mais recente",
|
||
positionTimestamp: "Por timestamp",
|
||
timestamp: "Timestamp",
|
||
invalidTimestamp: "Insira um timestamp válido",
|
||
resetTimePreview: "Hora atual: {time}",
|
||
noConsumerGroups: "Nenhum grupo de consumidores",
|
||
noConsumers: "Este tópico não possui grupos de consumidores",
|
||
manageConsumers: "Gerenciar",
|
||
routeQueues: "Dados da fila",
|
||
routeBrokers: "Dados do Broker",
|
||
brokerAddrs: "Endereço do Broker",
|
||
noRouteData: "Sem dados de rota",
|
||
noQueueStats: "Nenhuma estatística de fila",
|
||
noConfig: "Configuração do tópico não retornada",
|
||
queueId: "Fila",
|
||
beginOffset: "Offset mínimo",
|
||
endOffset: "Offset máximo",
|
||
messageCount: "Número de mensagens",
|
||
},
|
||
mqAdmin: {
|
||
viewTenant: "Ver locatário",
|
||
viewNamespace: "Ver namespace",
|
||
viewTopic: "Ver tópico",
|
||
readOnly: "Somente leitura",
|
||
allNamespaces: "Todos os namespaces",
|
||
newNamespace: "Novo namespace",
|
||
namespace: "Namespace",
|
||
selectNamespaceToCreate: "Selecione um namespace específico para criar",
|
||
selectNamespaceToWrite: "Selecione um namespace específico para realizar esta ação",
|
||
tabTenants: "Locatários",
|
||
tabNamespaces: "Namespaces",
|
||
tabTopics: "Tópicos",
|
||
tabSubscriptions: "Assinaturas",
|
||
tabMonitoring: "Monitoramento",
|
||
tabClients: "Clientes",
|
||
tabMessages: "Mensagens",
|
||
tabBroker: "Broker",
|
||
tabPolicies: "Políticas",
|
||
tabPermissions: "Permissões",
|
||
tabRawApi: "Raw API",
|
||
tabCluster: "Cluster",
|
||
tabConsumers: "Consumidores",
|
||
tabProducers: "Produtores",
|
||
tabDlq: "DLQ",
|
||
tabTrace: "Rastreamento",
|
||
tabAcl: "ACL",
|
||
},
|
||
mqMessages: {
|
||
title: "Enviar mensagem",
|
||
clear: "Limpar",
|
||
selectNamespaceOrTopicFirst: "Selecione primeiro um namespace ou tópico",
|
||
readOnlyCannotSend: "Esta conexão é somente leitura e não pode enviar mensagens",
|
||
selectTargetTopic: "Selecione um tópico de destino",
|
||
messageContentRequired: "O conteúdo da mensagem é obrigatório",
|
||
sendSuccess: "Mensagem enviada — partição: {partition}, offset: {offset}",
|
||
targetTopic: "Tópico de destino",
|
||
topicLoading: "Carregando...",
|
||
topicSearchPlaceholder: "Digite ou pesquise tópicos...",
|
||
refreshTopicList: "Atualizar lista de tópicos",
|
||
topicOptionWithPartitions: "{label} ({partitions} partições)",
|
||
noTopicsAvailable: "Nenhum tópico disponível",
|
||
topicSearchHint: "Pesquise por palavra-chave ou cole o nome de um tópico.",
|
||
messageKey: "Chave da mensagem",
|
||
optional: "Opcional",
|
||
messageContent: "Conteúdo da mensagem",
|
||
formatJson: "Formatar JSON",
|
||
messageHeaders: "Cabeçalhos",
|
||
headersPlaceholder: "chave: valor (um por linha)",
|
||
sending: "Enviando...",
|
||
sendMessage: "Enviar mensagem",
|
||
messageList: "Mensagens",
|
||
loadMessages: "Carregar mensagens",
|
||
loading: "Carregando...",
|
||
peekDefaultHint: "Sem partição definida, lê todas as partições desde Earliest, até {count} mensagens.",
|
||
count: "Quantidade",
|
||
advancedFilter: "Avançado (partição / offset)",
|
||
partition: "Partição",
|
||
partitionPlaceholderAll: "Vazio = todas",
|
||
offset: "Offset",
|
||
offsetPlaceholderEarliest: "Vazio = Earliest",
|
||
messagesLoading: "Carregando mensagens...",
|
||
noMessages: "Nenhuma mensagem",
|
||
selectTopicBeforeLoad: "Selecione um tópico antes de carregar mensagens",
|
||
partitionMustBeNonNegativeInt: "A partição deve ser um inteiro ≥ 0; deixe vazio para todas as partições",
|
||
offsetMustBeNonNegativeInt: "O Offset deve ser um inteiro ≥ 0; deixe vazio para Earliest",
|
||
metaPartition: "partição {partition}",
|
||
metaOffset: "offset {offset}",
|
||
metaKey: "chave {key}",
|
||
jsonBodyPlaceholder: "{'{'}\"key\": \"value\"{'}'}",
|
||
selectTopicPlaceholder: "Selecione um tópico",
|
||
messageTag: "Tag da mensagem",
|
||
exchange: "Exchange",
|
||
exchangePlaceholder: "Vazio = exchange padrão",
|
||
exchangeHint: "Quando definido, a mensagem é publicada neste exchange em vez de ir diretamente para a fila.",
|
||
routingKey: "Chave de roteamento",
|
||
queryTitle: "Consulta de mensagens",
|
||
queryTabTopic: "Por tópico",
|
||
queryTabKey: "Por Key",
|
||
queryTabMsgId: "Por MsgId",
|
||
queryTopicLabel: "Tópico",
|
||
noQueryResults: "Nenhum resultado encontrado",
|
||
tableMessageId: "ID da mensagem",
|
||
tableTag: "Tag",
|
||
tableKey: "Key",
|
||
tableStoreTime: "Hora de armazenamento",
|
||
tableOperation: "Operação",
|
||
viewDetails: "Ver",
|
||
messageDetails: "Detalhes da mensagem",
|
||
search: "Pesquisar",
|
||
messageQuery: "Consulta de mensagens",
|
||
queryByMsgId: "Por MsgId",
|
||
queryByKey: "Por Key",
|
||
queryByTopic: "Por tópico e hora",
|
||
msgId: "ID da mensagem",
|
||
msgIdPlaceholder: "Ex: 7F000001...",
|
||
msgIdRequired: "O ID da mensagem não pode estar vazio",
|
||
queryKey: "Key da mensagem",
|
||
queryKeyPlaceholder: "Key de negócio",
|
||
queryKeyRequired: "A Key da mensagem não pode estar vazia",
|
||
beginTime: "Hora inicial",
|
||
endTime: "Hora final",
|
||
maxNum: "Número máximo",
|
||
query: "Pesquisar",
|
||
querying: "Pesquisando...",
|
||
messageOverview: "Informações básicas",
|
||
messageBody: "Corpo da mensagem",
|
||
resendMessage: "Reenviar",
|
||
payloadCopied: "Copiado",
|
||
dlqConsumerGroupPlaceholder: "Grupo de consumidores (opcional)",
|
||
},
|
||
mqMonitoring: {
|
||
title: "Monitoramento",
|
||
autoRefresh: "Atualização automática",
|
||
refreshInterval5s: "5s",
|
||
refreshInterval10s: "10s",
|
||
refreshInterval30s: "30s",
|
||
refreshInterval60s: "60s",
|
||
refreshing: "Atualizando...",
|
||
refreshNow: "Atualizar",
|
||
selectTopicFirst: "Selecione um tópico primeiro",
|
||
loadingStats: "Carregando dados de monitoramento...",
|
||
kafkaTopicOverview: "Visão geral do tópico Kafka",
|
||
partitionCount: "Partições",
|
||
replicationFactor: "Fator de replicação",
|
||
messageCount: "Mensagens",
|
||
logEndOffset: "Log end offset",
|
||
offsetAndReplicaStatus: "Offsets e réplicas",
|
||
beginOffset: "Begin offset",
|
||
leaderCount: "Leaders",
|
||
isrHealthyPartitions: "ISR saudável",
|
||
noLeaderPartitions: "Sem leader",
|
||
kafkaPartitionDetails: "Partições Kafka",
|
||
noKafkaPartitionMetrics: "Nenhuma métrica de partição na resposta do Kafka",
|
||
tablePartition: "Partição",
|
||
tableBeginOffset: "Begin offset",
|
||
tableLogEndOffset: "Log end offset",
|
||
tableMessageCount: "Mensagens",
|
||
tableLeader: "Leader",
|
||
tableReplicas: "Réplicas",
|
||
tableIsr: "ISR",
|
||
tableStatus: "Status",
|
||
statusNoLeader: "Sem leader",
|
||
statusIsrIncomplete: "ISR incompleto",
|
||
statusHealthy: "Saudável",
|
||
kafkaMessageQuery: "Consulta de mensagens Kafka",
|
||
querying: "Consultando...",
|
||
queryMessages: "Consultar",
|
||
queryHint: "Omita PARTITION / OFFSET para ler todas as partições (máx. 100). Adicione-os para restringir o intervalo.",
|
||
sqlSyntaxError: 'Apenas SELECT * FROM "topic" [PARTITION n] [OFFSET n] [LIMIT n] é suportado',
|
||
messagesLoading: "Carregando mensagens...",
|
||
noMessages: "Nenhuma mensagem",
|
||
messageRate: "Taxa de mensagens",
|
||
inboundRate: "Taxa de entrada",
|
||
outboundRate: "Taxa de saída",
|
||
inboundThroughput: "Throughput de entrada",
|
||
outboundThroughput: "Throughput de saída",
|
||
rateTrend: "Tendência de taxa",
|
||
backlogTrend: "Tendência de backlog",
|
||
consumerLag: "Atraso do consumidor",
|
||
storageAndBacklog: "Armazenamento e backlog",
|
||
storageSize: "Tamanho do armazenamento",
|
||
backlogSize: "Tamanho do backlog",
|
||
backlogMessageCount: "Mensagens em backlog",
|
||
messageCounters: "Contadores de mensagens",
|
||
publishedMessages: "Publicadas",
|
||
consumedMessages: "Consumidas",
|
||
connectionStats: "Conexões",
|
||
subscriptionCount: "Assinaturas",
|
||
producerCount: "Produtores",
|
||
partitionDetails: "Partições",
|
||
tableInbound: "Entrada",
|
||
tableOutbound: "Saída",
|
||
tableInboundThroughput: "Throughput de entrada",
|
||
tableOutboundThroughput: "Throughput de saída",
|
||
tableBacklogMessages: "Msgs em backlog",
|
||
tableBacklogSize: "Tamanho do backlog",
|
||
tableProducers: "Produtores",
|
||
tableSubscriptions: "Assinaturas",
|
||
producers: "Produtores",
|
||
subscriptions: "Assinaturas",
|
||
tableName: "Nome",
|
||
tableRate: "Taxa",
|
||
tableAddress: "Endereço",
|
||
tableType: "Tipo",
|
||
tableBacklog: "Backlog",
|
||
tableConsumers: "Consumidores",
|
||
noProducers: "Nenhum produtor",
|
||
noSubscriptions: "Nenhuma assinatura",
|
||
noPartitionMetricsFromBroker: "Nenhuma métrica de partição do broker",
|
||
nonPartitionedTopicNoDetails: "Tópicos não particionados não têm detalhes de partição",
|
||
healthIndicators: "Saúde",
|
||
messageFlow: "Fluxo de mensagens",
|
||
backlogStatus: "Backlog",
|
||
producersLabel: "Produtores",
|
||
subscriptionsLabel: "Assinaturas",
|
||
flowActive: "Ativo",
|
||
flowIdle: "Ocioso",
|
||
backlogNormal: "Normal",
|
||
backlogHigh: "Alto",
|
||
producerConnected: "Conectado",
|
||
producerDisconnected: "Nenhum",
|
||
subscriptionActive: "Ativa",
|
||
subscriptionNone: "Nenhuma",
|
||
chartLegendIn: "Entrada",
|
||
chartLegendOut: "Saída",
|
||
chartLegendMessages: "Mensagens",
|
||
chartLegendBytes: "Bytes",
|
||
chartLegendConsumerLag: "Atraso do consumidor",
|
||
chartAxisMsgPerSec: "msg/s",
|
||
chartAxisMsg: "msg",
|
||
chartAxisBytes: "bytes",
|
||
chartAxisMs: "ms",
|
||
metaPartition: "partição {partition}",
|
||
metaOffset: "offset {offset}",
|
||
metaKey: "chave {key}",
|
||
rocketmqTopicOverview: "Visão geral do tópico RocketMQ",
|
||
rocketmqQueueDetails: "Detalhes do offset da fila",
|
||
queueCount: "Número de filas",
|
||
brokerCount: "Número de Brokers",
|
||
tableQueue: "Fila",
|
||
tableBroker: "Broker",
|
||
noRocketMqQueueMetrics: "Nenhuma métrica de fila",
|
||
},
|
||
mqTenants: {
|
||
title: "Gerenciamento de locatários",
|
||
createTenant: "Criar locatário",
|
||
notSupported: "O gerenciamento de locatários não é suportado para este sistema de mensageria",
|
||
readOnly: "Esta conexão é somente leitura e não pode executar operações de gravação.",
|
||
loading: "Carregando...",
|
||
name: "Nome",
|
||
adminRoles: "Funções de administrador",
|
||
allowedClusters: "Clusters permitidos*",
|
||
actions: "Ações",
|
||
none: "Nenhum",
|
||
edit: "Editar",
|
||
delete: "Excluir",
|
||
createDialogTitle: "Criar locatário",
|
||
editDialogTitle: "Editar locatário: {name}",
|
||
tenantName: "Nome do locatário*",
|
||
tenantNamePlaceholder: "por exemplo: my-tenant",
|
||
addRolePlaceholder: "Adicionar função",
|
||
add: "Adicionar",
|
||
selectClustersPlaceholder: "Selecione os clusters permitidos",
|
||
noClustersDetectedPlaceholder: "Nenhum cluster detectado; adicione manualmente",
|
||
clustersNotReturned: "A conexão não retornou uma lista de clusters",
|
||
addClusterPlaceholder: "Adicionar cluster manualmente",
|
||
clustersRequiredHint: "Selecione ou adicione pelo menos um cluster permitido",
|
||
cancel: "Cancelar",
|
||
create: "Criar",
|
||
save: "Salvar",
|
||
confirmDelete: 'Excluir o locatário "{name}"? Esta ação não pode ser desfeita.',
|
||
tenantNameRequired: "O nome do locatário é obrigatório",
|
||
allowedClustersRequired: "Os clusters permitidos são obrigatórios",
|
||
},
|
||
mqNamespaces: {
|
||
title: "Gerenciamento de namespaces",
|
||
createNamespace: "Criar namespace",
|
||
notSupported: "O gerenciamento de namespaces não é suportado para este sistema de mensageria",
|
||
selectTenantFirst: "Selecione um locatário primeiro",
|
||
readOnly: "Esta conexão é somente leitura e não pode executar operações de gravação.",
|
||
loading: "Carregando...",
|
||
name: "Nome",
|
||
tenant: "Locatário",
|
||
adminRoles: "Funções de administrador",
|
||
actions: "Ações",
|
||
none: "Nenhum",
|
||
editRoles: "Editar funções",
|
||
delete: "Excluir",
|
||
createDialogTitle: "Criar namespace",
|
||
namespaceName: "Nome do namespace*",
|
||
namespaceNamePlaceholder: "por exemplo: my-namespace",
|
||
cancel: "Cancelar",
|
||
create: "Criar",
|
||
confirmDelete: 'Excluir o namespace "{name}"? Esta ação não pode ser desfeita.',
|
||
namespaceNameRequired: "O nome do namespace é obrigatório",
|
||
},
|
||
mqSubscriptions: {
|
||
title: "Gerenciamento de assinaturas",
|
||
createSubscription: "Criar assinatura",
|
||
selectTopicFirst: "Selecione um tópico primeiro",
|
||
readOnly: "Esta conexão é somente leitura e não pode executar operações de gravação.",
|
||
loading: "Carregando...",
|
||
noSubscriptions: "Nenhuma assinatura para este tópico",
|
||
subscriptionName: "Nome da assinatura",
|
||
type: "Tipo",
|
||
backlog: "Backlog",
|
||
consumeRate: "Taxa de consumo",
|
||
consumers: "Consumidores",
|
||
actions: "Ações",
|
||
consumerCount: "{count} consumidores",
|
||
msgRate: "{rate} msg/s",
|
||
resetCursor: "Redefinir cursor",
|
||
skipMessages: "Pular mensagens",
|
||
clearBacklog: "Limpar backlog",
|
||
peek: "Peek",
|
||
expireMessages: "Expirar mensagens",
|
||
delete: "Excluir",
|
||
createDialogTitle: "Criar assinatura",
|
||
topic: "Tópico",
|
||
subscriptionNameLabel: "Nome da assinatura*",
|
||
subscriptionNamePlaceholder: "por exemplo: my-subscription",
|
||
startPosition: "Posição inicial",
|
||
startFromEarliest: "Da mensagem mais antiga (Earliest)",
|
||
startFromLatest: "Da mensagem mais recente (Latest)",
|
||
resetDialogTitle: "Redefinir cursor: {name}",
|
||
resetTo: "Redefinir para",
|
||
earliest: "Mensagem mais antiga (Earliest)",
|
||
latest: "Mensagem mais recente (Latest)",
|
||
timestamp: "Timestamp específico",
|
||
timestampMs: "Timestamp (ms)",
|
||
currentTime: "Hora atual: {time}",
|
||
reset: "Redefinir",
|
||
skipDialogTitle: "Pular mensagens: {name}",
|
||
skipMode: "Modo de pulo",
|
||
skipCount: "Pular quantidade especificada",
|
||
skipAll: "Pular todo o backlog",
|
||
skipCountLabel: "Quantidade a pular",
|
||
skip: "Pular",
|
||
peekDialogTitle: "Peek de mensagens: {name}",
|
||
count: "Quantidade",
|
||
refresh: "Atualizar",
|
||
noPeekMessages: "Nenhuma mensagem para visualizar",
|
||
close: "Fechar",
|
||
expireDialogTitle: "Expirar mensagens: {name}",
|
||
expireSeconds: "Tempo de expiração (segundos)",
|
||
expireHint: "Excluirá todas as mensagens mais antigas que {seconds} segundos",
|
||
expire: "Expirar",
|
||
cancel: "Cancelar",
|
||
create: "Criar",
|
||
confirmDelete: 'Excluir a assinatura "{name}"? Esta ação não pode ser desfeita.',
|
||
confirmClearBacklog: 'Limpar todas as mensagens em backlog da assinatura "{name}"?',
|
||
subscriptionNameRequired: "O nome da assinatura é obrigatório",
|
||
peekMessageKey: "chave={key}",
|
||
searchPlaceholder: "Pesquisar nome da assinatura",
|
||
subscribedTopics: "Tópicos inscritos",
|
||
refreshing: "Atualizando...",
|
||
noConsumerGroups: "Nenhum Consumer Group",
|
||
viewDetail: "Detalhes",
|
||
editConfig: "Configuração",
|
||
save: "Salvar",
|
||
consumerDetailTitle: "Detalhes do grupo de consumidores: {name}",
|
||
consumerConfigTitle: "Configuração do grupo de consumidores: {name}",
|
||
consumerOverview: "Visão geral",
|
||
consumerTerminals: "Terminais online",
|
||
consumerConsumeDetail: "Detalhes do consumo",
|
||
noOnlineConsumers: "Nenhum consumidor online no momento",
|
||
noConsumeDetail: "Nenhum detalhe de consumo",
|
||
operationTopic: "Topic",
|
||
consumeEnable: "Permitir consumo",
|
||
consumeBroadcastEnable: "Permitir consumo em broadcast",
|
||
consumeFromMinEnable: "Iniciar do offset mínimo",
|
||
consumeMessageOrderly: "Consumo ordenado",
|
||
retryQueueNums: "Número de filas de retry",
|
||
retryMaxTimes: "Máximo de tentativas de retry",
|
||
brokerId: "Broker ID",
|
||
whichBrokerWhenConsumeSlowly: "Broker ID para consumo lento",
|
||
mode: "Modo",
|
||
typeFilter: "Filtro de tipo",
|
||
rocketmqGroupType: {
|
||
normal: "Normal",
|
||
fifo: "Ordenado",
|
||
system: "Sistema",
|
||
},
|
||
rocketmqGroupMode: {
|
||
clustering: "Cluster",
|
||
broadcasting: "Broadcast",
|
||
},
|
||
},
|
||
mqClients: {
|
||
unloadTopicUnsupportedKafka: "O Kafka não suporta o descarregamento de tópicos",
|
||
title: "Produtores / Consumidores",
|
||
unloadTopic: "Descarregar tópico",
|
||
unloading: "Descarregando...",
|
||
refresh: "Atualizar",
|
||
refreshing: "Atualizando...",
|
||
selectTopicFirst: "Selecione um tópico primeiro",
|
||
confirmUnload: "Descarregar este tópico? Produtores e consumidores ativos serão reconectados.",
|
||
aggregateTopic: "Tópico agregado",
|
||
kafkaPartitionStatus: "Status das partições Kafka",
|
||
partitionCount: "{count} partições",
|
||
partition: "Partição",
|
||
beginOffset: "Begin offset",
|
||
latestOffset: "Latest offset",
|
||
messageCount: "Mensagens",
|
||
leader: "Leader",
|
||
replicas: "Réplicas",
|
||
isr: "ISR",
|
||
partitionClients: "Clientes da partição",
|
||
inboundRate: "Taxa de entrada",
|
||
outboundRate: "Taxa de saída",
|
||
producers: "Produtores",
|
||
subscriptions: "Assinaturas",
|
||
consumers: "Consumidores",
|
||
activeProducers: "Produtores ativos",
|
||
noActiveProducers: "Nenhum produtor ativo",
|
||
name: "Nome",
|
||
id: "ID",
|
||
address: "Endereço",
|
||
version: "Versão",
|
||
rate: "Taxa",
|
||
throughput: "Throughput",
|
||
rateValue: "{value} msg/s",
|
||
activeConsumers: "Consumidores ativos",
|
||
noSubscriptions: "Este tópico não tem assinaturas",
|
||
noConsumersOnPartition: "Nenhum consumidor ativo nesta assinatura de partição",
|
||
noConsumersOnSubscription: "Nenhum consumidor ativo nesta assinatura",
|
||
permits: "Permissões",
|
||
rocketmqClusterHint: "Exibe todos os terminais de Producer e Consumer Group online no Broker. Selecione um tópico para ver os detalhes do cliente do tópico.",
|
||
},
|
||
mqPolicies: {
|
||
title: "Gerenciamento de políticas",
|
||
refresh: "Atualizar",
|
||
refreshing: "Atualizando...",
|
||
selectTopicFirst: "Selecione um tópico primeiro",
|
||
selectNamespaceOrTopic: "Selecione um namespace ou tópico",
|
||
readOnly: "Esta conexão é somente leitura e não pode executar operações de gravação.",
|
||
readonlyHint: "Esta conexão é somente leitura; a edição de políticas está desativada.",
|
||
publishRate: "Limite de taxa de publicação",
|
||
msgsPerSecond: "Mensagens / segundo",
|
||
bytesPerSecond: "Bytes / segundo",
|
||
save: "Salvar",
|
||
dispatchRate: "Limite de taxa de despacho",
|
||
msgsPerPeriod: "Mensagens / período",
|
||
bytesPerPeriod: "Bytes / período",
|
||
periodSeconds: "Período (segundos)",
|
||
subscribeRate: "Limite de taxa de assinatura",
|
||
msgsPerConsumerPerPeriod: "Mensagens por consumidor / período",
|
||
backlogQuota: "Cota de backlog",
|
||
sizeLimitBytes: "Limite de tamanho (bytes)",
|
||
timeLimitSeconds: "Limite de tempo (segundos)",
|
||
policy: "Política",
|
||
type: "Tipo",
|
||
backlogPolicyProducerRequestHold: "Reter solicitações do produtor",
|
||
backlogPolicyProducerException: "Rejeitar com exceção",
|
||
backlogPolicyConsumerBacklogEviction: "Remover backlog do consumidor",
|
||
retention: "Retenção de mensagens",
|
||
retentionTimeMinutes: "Tempo de retenção (minutos)",
|
||
retentionSizeMb: "Tamanho de retenção (MB)",
|
||
effectivePolicies: "Políticas efetivas",
|
||
savedNotice: "{policy} salva",
|
||
},
|
||
mqPermissions: {
|
||
title: "Permissões",
|
||
refresh: "Atualizar",
|
||
refreshing: "Atualizando...",
|
||
selectNamespaceOrTopic: "Selecione um namespace ou tópico primeiro",
|
||
readOnly: "Esta conexão é somente leitura e não pode executar operações de gravação.",
|
||
readonlyHint: "Esta conexão é somente leitura; conceder e revogar estão desativados.",
|
||
grantRole: "Conceder função",
|
||
roleName: "Nome da função",
|
||
roleNamePlaceholder: "por exemplo: app-producer",
|
||
actions: "Ações",
|
||
grant: "Conceder",
|
||
currentPermissions: "Permissões atuais",
|
||
role: "Função",
|
||
operations: "Operações",
|
||
token: "Token",
|
||
revoke: "Revogar",
|
||
noPermissions: "Nenhum registro de permissão",
|
||
clientTokenTitle: "Token do cliente: {role}",
|
||
missingSigningKeyTitle: "Chave de assinatura de token não configurada",
|
||
missingSigningKeyMessage: "Esta conexão MQ não tem chave de assinatura de token do Broker configurada, portanto tokens de cliente não podem ser emitidos.",
|
||
missingSigningKeyDetail: 'Edite a conexão e defina "Assinatura de token do Broker" como HS256 SECRET ou RS256 PRIVATE, depois forneça a chave de assinatura antes de gerar tokens.',
|
||
tokenShowOnceWarning: "O token é exibido apenas uma vez. Copie e armazene-o imediatamente.",
|
||
copyToken: "Copiar token",
|
||
issueNewToken: "Emitir novo token",
|
||
neverExpires: "Nunca expira",
|
||
expiryDays: "Expiração (dias)",
|
||
note: "Nota",
|
||
notePlaceholder: "por exemplo: para rt-erp-server",
|
||
issuing: "Emitindo...",
|
||
generateToken: "Gerar token",
|
||
tokenRevokeHint: "Revogar permissões de função não invalida JWTs emitidos imediatamente; aguarde a expiração ou rotacione a chave de assinatura do Broker.",
|
||
issueRecords: "Registros de emissão",
|
||
time: "Hora",
|
||
algorithm: "Algoritmo",
|
||
expires: "Expira",
|
||
fingerprint: "Fingerprint",
|
||
noteColumn: "Nota",
|
||
unlimited: "Permanente",
|
||
loading: "Carregando...",
|
||
noIssueRecords: "Nenhum registro de emissão",
|
||
close: "Fechar",
|
||
kafkaAuthorizerNotConfigured: "Este cluster Kafka não tem authorizer configurado. Adicione authorizer.class.name na configuração do broker para suporte a ACL.",
|
||
kafkaAuthorizerDisabled: "Este cluster Kafka não tem authorizer habilitado. Habilite um authorizer na configuração do broker para conceder permissões.",
|
||
roleNameRequired: "O nome da função é obrigatório",
|
||
selectAtLeastOneAction: "Selecione pelo menos uma ação",
|
||
grantedRole: "Função {role} concedida",
|
||
confirmRevoke: 'Revogar permissões da função "{role}"?',
|
||
revokedRole: "Função {role} revogada",
|
||
roleNameEmpty: "O nome da função não pode estar vazio",
|
||
expiryMustBePositive: "A expiração deve ser maior que 0 dias",
|
||
},
|
||
mqBroker: {
|
||
title: "Cluster Broker",
|
||
autoRefresh: "Atualização automática",
|
||
refreshInterval5s: "5s",
|
||
refreshInterval10s: "10s",
|
||
refreshInterval30s: "30s",
|
||
refreshInterval60s: "60s",
|
||
refreshing: "Atualizando...",
|
||
refreshNow: "Atualizar agora",
|
||
loading: "Carregando...",
|
||
clusterOverview: "Visão geral do cluster",
|
||
clusterId: "ID do cluster",
|
||
unknown: "Desconhecido",
|
||
brokerCount: "Brokers",
|
||
controller: "Controller",
|
||
controllerNode: "Nó {id} · {host}",
|
||
brokerNodes: "Nós do broker",
|
||
nodeId: "ID do nó",
|
||
host: "Host",
|
||
port: "Porta",
|
||
rack: "Rack",
|
||
role: "Função",
|
||
roleController: "Controller",
|
||
roleFollower: "Follower",
|
||
noBrokerNodes: "Nenhuma informação de nó do broker",
|
||
brokerName: "Nome do Broker",
|
||
brokerEndpoints: "Endpoints do Broker",
|
||
roleMaster: "Master",
|
||
roleSlave: "Slave",
|
||
clusterTitle: "Cluster",
|
||
},
|
||
mqRaw: {
|
||
title: "Raw API",
|
||
sending: "Enviando...",
|
||
sendRequest: "Enviar solicitação",
|
||
readOnlyHint: "Esta conexão é somente leitura; apenas solicitações GET, HEAD e OPTIONS são permitidas.",
|
||
commonEndpoints: "Endpoints comuns",
|
||
fillFromSelection: "Preencher solicitação com a seleção atual",
|
||
expand: "Expandir",
|
||
collapse: "Recolher",
|
||
method: "Método",
|
||
path: "Caminho",
|
||
pathPlaceholder: "/admin/v2/...",
|
||
queryParams: "Parâmetros de consulta",
|
||
queryPlaceholder: "chave=valor, um por linha",
|
||
jsonBody: "JSON Body",
|
||
format: "Formatar",
|
||
bodyPlaceholder: "por exemplo: {'{'}\"key\":\"value\"{'}'}",
|
||
response: "Resposta",
|
||
textResponse: "Resposta em texto",
|
||
noRequestYet: "Nenhuma solicitação enviada ainda",
|
||
readOnly: "Esta conexão é somente leitura e não pode executar operações de gravação.",
|
||
pathRequired: "O caminho da solicitação é obrigatório",
|
||
jsonBodyInvalid: "Corpo JSON inválido: {error}",
|
||
presetBrokerVersion: "Versão do Broker",
|
||
presetBrokerVersionDesc: "String de versão do Broker",
|
||
presetClusters: "Lista de clusters",
|
||
presetClustersDesc: "Listar clusters Pulsar configurados",
|
||
presetTenant: "Detalhes do locatário",
|
||
presetTenantDesc: "Ver adminRoles / allowedClusters",
|
||
presetNamespacePolicies: "Políticas do namespace",
|
||
presetNamespacePoliciesDesc: "Estrutura bruta de políticas do namespace",
|
||
presetBundles: "Lista de bundles",
|
||
presetBundlesDesc: "Distribuição de bundles do namespace",
|
||
presetTopicInternalStats: "Estatísticas internas do tópico",
|
||
presetTopicInternalStatsDesc: "Detalhes de ledger / cursor / backlog",
|
||
presetPartitionedStats: "Métricas de partição",
|
||
presetPartitionedStatsDesc: "Taxas, produtores e consumidores por partição",
|
||
presetSchema: "Schema mais recente",
|
||
presetSchemaDesc: "Definição atual do schema do tópico",
|
||
},
|
||
production: {
|
||
title: "Ambiente de Produção",
|
||
connection: "Conexão de Produção",
|
||
enable: "Ativar proteção de ambiente de produção",
|
||
disabledDescription: "Após ativar, é possível escolher proteger todos os bancos de dados ou bancos específicos.",
|
||
scope: "Escopo da proteção",
|
||
allDatabases: "Todos os bancos de dados",
|
||
selectedDatabases: "Selecionar bancos de dados",
|
||
singleDatabaseScopeHint: "Este tipo de banco de dados suporta apenas proteção de ambiente de produção em nível de conexão.",
|
||
databases: "Bancos de dados de produção",
|
||
connectionDescription: "Todos os bancos de dados nesta conexão terão proteção de produção ativada.",
|
||
databaseDescription: "Selecione os bancos de dados da conexão que precisam de proteção de produção. Na primeira abertura, todos são selecionados por padrão.",
|
||
selectDatabases: "Selecionar bancos de dados de produção",
|
||
noDatabasesSelected: "Nenhum selecionado ainda",
|
||
databasesConfiguredCount: "{count} selecionado(s)",
|
||
databasesSelectedCount: "{selected}/{total} selecionado(s)",
|
||
databasePickerTitle: "Selecionar bancos de dados de produção",
|
||
databasePickerDescription: "Selecione os bancos de dados em «{connection}» que precisam de proteção de produção.",
|
||
databaseSearchPlaceholder: "Buscar bancos de dados...",
|
||
databaseSelectionRequired: "Por favor, selecione pelo menos um banco de dados.",
|
||
databaseLoadFailed: "Não foi possível carregar a lista de bancos de dados: {message}",
|
||
noDatabasesAvailable: "Nenhum banco de dados disponível encontrado.",
|
||
retry: "Tentar novamente",
|
||
confirmTitle: "Confirmar gravação em ambiente de produção",
|
||
confirmMessage: "Esta operação irá modificar o banco de dados de produção. É necessário confirmar explicitamente para continuar.",
|
||
confirmDetails: "Conexão: {connection}\nBanco de dados: {database}\nOrigem: {source}",
|
||
confirmAction: "Executar em produção",
|
||
sourceSqlEditor: "Editor SQL",
|
||
sourceDataGrid: "Editor de dados",
|
||
sourceStructure: "Editor de estrutura",
|
||
sourceSqlFile: "Execução de arquivo SQL",
|
||
sourceObjectBrowser: "Navegador de objetos",
|
||
sourceSchemaDiff: "Comparação de esquemas",
|
||
sourceDataCompare: "Comparação de dados",
|
||
sourceExtension: "Gerenciador de extensões",
|
||
sourceSidebar: "Árvore de objetos",
|
||
sourceObjectSource: "Editor de código-fonte de objetos",
|
||
sourceDataGenerate: "Gerador de dados",
|
||
sourceQueryHistory: "Reversão do histórico de consultas",
|
||
sourceAdmin: "Administração de banco de dados",
|
||
aiReviewRequired: "O SQL de produção foi colocado no editor. Verifique-o primeiro e execute manualmente para confirmar.",
|
||
},
|
||
processList: {
|
||
title: "Lista de Processos",
|
||
sessionCount: "{count} sessões",
|
||
filter: "Filtrar sessões",
|
||
autoRefresh: "Atualização automática",
|
||
seconds: "segundos",
|
||
colId: "Id",
|
||
colUser: "Usuário",
|
||
colHost: "Host",
|
||
colDb: "Banco de dados",
|
||
colCommand: "Comando",
|
||
colTime: "Duração",
|
||
colState: "Estado",
|
||
colInfo: "SQL",
|
||
colActions: "Ações",
|
||
self: "Atual",
|
||
kill: "Encerrar",
|
||
cannotKillSelf: "Não é possível encerrar a sessão atual",
|
||
empty: "Nenhuma sessão ativa.",
|
||
killTitle: "Encerrar sessão",
|
||
killConfirm: "Tem certeza de que deseja encerrar a sessão {id} ({user})? Sua instrução atual será abortada e a conexão será fechada.",
|
||
killSuccess: "Sessão {id} encerrada.",
|
||
killFailed: "Falha ao encerrar a sessão: {message}",
|
||
colPid: "PID",
|
||
colClient: "Cliente",
|
||
colApp: "Aplicativo",
|
||
colWait: "Espera",
|
||
colQuery: "Consulta",
|
||
previewTitle: "Declaração",
|
||
copy: "Copiar",
|
||
copied: "Copiado",
|
||
},
|
||
serverDashboard: {
|
||
title: "Painel do Servidor",
|
||
autoRefresh: "Atualização automática",
|
||
off: "Desligado",
|
||
qps: "Consultas por segundo",
|
||
connections: "Conexões",
|
||
running: "Threads em execução",
|
||
trafficIn: "Tráfego de entrada",
|
||
trafficOut: "Tráfego de saída",
|
||
slowQueries: "Consultas lentas",
|
||
uptime: "Tempo de atividade",
|
||
innodbHit: "Taxa de acertos do InnoDB",
|
||
in: "Entrada",
|
||
out: "Saída",
|
||
sessions: "Sessões",
|
||
qpsChart: "Consultas por segundo",
|
||
sessionsChart: "Novas sessões por segundo",
|
||
trafficChart: "Tráfego de rede por segundo",
|
||
commandChart: "Comandos por segundo",
|
||
rawStatus: "Variáveis de estado",
|
||
filterStatus: "Filtrar variáveis de estado",
|
||
tps: "Transações por segundo",
|
||
activeQueries: "Consultas ativas",
|
||
cacheHit: "Taxa de acertos do cache",
|
||
deadlocks: "Deadlocks",
|
||
tempFiles: "Arquivos temporários",
|
||
walRate: "Taxa de WAL",
|
||
commit: "Confirmações",
|
||
rollback: "Reversões",
|
||
total: "Total",
|
||
active: "Ativas",
|
||
idle: "Ociosas",
|
||
fetched: "Buscadas",
|
||
returned: "Retornadas",
|
||
read: "Leituras",
|
||
hits: "Acertos",
|
||
serverSessionsChart: "Sessões do servidor",
|
||
transactionsChart: "Transações por segundo",
|
||
tuplesInChart: "Gravação de tuplas",
|
||
tuplesOutChart: "Leitura de tuplas",
|
||
blockIoChart: "E/S de blocos",
|
||
},
|
||
databaseBackup: {
|
||
title: "Backup de banco de dados",
|
||
schedules: "Planos de backup",
|
||
runtimeRequirement: "O DBX executará backups agendados quando estiver aberto, inclusive quando minimizado na bandeja.",
|
||
addSchedule: "Novo plano",
|
||
editSchedule: "Editar plano",
|
||
defaultScheduleName: "Backup de banco de dados",
|
||
noSchedules: "Nenhum plano de backup",
|
||
scheduleName: "Nome do plano",
|
||
connection: "Conexão",
|
||
missingConnection: "Conexão não existe mais",
|
||
destination: "Diretório de backup",
|
||
selectDestination: "Selecionar diretório de backup",
|
||
databases: "Bancos de dados",
|
||
allDatabases: "Todos os bancos de dados",
|
||
databaseCount: "{count} bancos de dados",
|
||
tableScope: "Escopo de tabelas",
|
||
allTables: "Todas as tabelas e views",
|
||
includeTables: "Incluir apenas correspondências",
|
||
excludeTables: "Excluir correspondências",
|
||
tablePatterns: "Regras de nomes de tabela",
|
||
tablePatternsPlaceholder: "orders, audit_*, public.users",
|
||
tablePatternsHint: "Separe as regras com vírgulas. Há suporte a curingas * e ? e schema.table.",
|
||
includedTablePatterns: "{count} regras de inclusão",
|
||
excludedTablePatterns: "{count} regras de exclusão",
|
||
frequency: "Frequência",
|
||
frequencyHourly: "A cada hora",
|
||
frequencyDaily: "Diariamente",
|
||
frequencyWeekly: "Semanalmente",
|
||
intervalHours: "Intervalo em horas",
|
||
time: "Horário",
|
||
weekday: "Dia da semana",
|
||
retention: "Retenção",
|
||
contents: "Conteúdo do backup",
|
||
enabled: "Ativar plano",
|
||
enabledHint: "O próximo horário de execução é calculado com base no fuso horário local.",
|
||
nextRun: "Próximo: {time}",
|
||
nextRunPreview: "Próxima execução: {time}",
|
||
keepRuns: "Manter {count} execuções",
|
||
everyHours: "A cada {count} horas",
|
||
dailyAt: "Diariamente às {time}",
|
||
weeklyAt: "{weekday} às {time}",
|
||
never: "Nunca",
|
||
enable: "Ativar",
|
||
disable: "Desativar",
|
||
runNow: "Fazer backup agora",
|
||
cancel: "Cancelar backup",
|
||
edit: "Editar",
|
||
delete: "Excluir",
|
||
scheduleCreated: "Plano de backup criado",
|
||
scheduleUpdated: "Plano de backup atualizado",
|
||
deleteSchedule: "Excluir plano",
|
||
deleteScheduleConfirm: 'Tem certeza de que deseja excluir o plano "{name}"? Os arquivos de backup existentes ainda serão mantidos no histórico.',
|
||
cannotDeleteRunningSchedule: "Um plano de backup em execução não pode ser excluído",
|
||
history: "Histórico de backup",
|
||
noHistory: "Nenhum histórico de backup",
|
||
showFiles: "Mostrar arquivos de backup",
|
||
scheduledTrigger: "Execução agendada",
|
||
manualTrigger: "Execução manual",
|
||
fileCount: "{count} arquivos",
|
||
progress: "Progresso do backup",
|
||
renameBackup: "Renomear backup",
|
||
backupName: "Nome do backup",
|
||
backupRenamed: "Backup renomeado",
|
||
revealFile: "Mostrar no gerenciador de arquivos",
|
||
restore: "Restaurar",
|
||
deleteBackup: "Excluir backup",
|
||
deleteBackupConfirm: "Tem certeza de que deseja excluir este backup e seus {count} arquivos SQL? Esta ação é irreversível.",
|
||
backupDeleted: "Backup excluído",
|
||
runSuccess: "Backup concluído, {count} arquivos gerados",
|
||
runCancelled: "Backup cancelado",
|
||
runFailed: "Falha no backup: {error}",
|
||
unknownError: "Erro desconhecido",
|
||
status: {
|
||
running: "Em execução",
|
||
success: "Concluído",
|
||
failed: "Falhou",
|
||
cancelled: "Cancelado",
|
||
},
|
||
weekdays: {
|
||
sunday: "Domingo",
|
||
monday: "Segunda-feira",
|
||
tuesday: "Terça-feira",
|
||
wednesday: "Quarta-feira",
|
||
thursday: "Quinta-feira",
|
||
friday: "Sexta-feira",
|
||
saturday: "Sábado",
|
||
},
|
||
},
|
||
mqExchanges: {
|
||
searchPlaceholder: "Buscar exchanges",
|
||
refresh: "Atualizar",
|
||
refreshing: "Atualizando...",
|
||
createExchange: "Criar exchange",
|
||
selectNamespace: "Selecione um virtual host primeiro",
|
||
loading: "Carregando...",
|
||
noExchanges: "Nenhum exchange neste virtual host",
|
||
noMatches: "Nenhum exchange correspondente",
|
||
name: "Nome",
|
||
type: "Tipo",
|
||
durable: "Durável",
|
||
autoDelete: "Exclusão automática",
|
||
actions: "Ações",
|
||
builtin: "Interno",
|
||
viewBindings: "Bindings",
|
||
delete: "Excluir",
|
||
yes: "Sim",
|
||
no: "Não",
|
||
bindingsTitle: "Bindings de {name}",
|
||
bindDestination: "Vincular",
|
||
noBindings: "Nenhum binding a partir deste exchange",
|
||
bindingSource: "Origem",
|
||
bindingDestination: "Destino",
|
||
bindingType: "Tipo",
|
||
routingKey: "Chave de roteamento",
|
||
arguments: "Argumentos",
|
||
unbind: "Desvincular",
|
||
destinationTypeQueue: "Fila",
|
||
destinationTypeExchange: "Exchange",
|
||
virtualHost: "Virtual host",
|
||
namePlaceholder: "ex.: dbx-events",
|
||
cancel: "Cancelar",
|
||
create: "Criar",
|
||
bind: "Vincular",
|
||
bindDialogTitle: "Vincular a {name}",
|
||
queueNamePlaceholder: "ex.: dbx-queue",
|
||
exchangeNamePlaceholder: "ex.: dbx-events",
|
||
routingKeyPlaceholder: "ex.: orders.*",
|
||
argumentsPlaceholder: 'Objeto JSON opcional, ex.: {"x-match": "all"}',
|
||
nameRequired: "O nome do exchange é obrigatório",
|
||
destinationRequired: "O destino é obrigatório",
|
||
argumentsMustBeObject: "Os argumentos devem ser um objeto JSON",
|
||
readOnly: "Esta conexão é somente leitura e não pode executar operações de escrita.",
|
||
confirmDelete: 'Excluir o exchange "{name}"? Esta ação não pode ser desfeita.',
|
||
confirmUnbind: 'Remover o binding de "{source}" para "{destination}"?',
|
||
},
|
||
mqClientConnections: {
|
||
searchPlaceholder: "Pesquisar conexões",
|
||
refresh: "Atualizar",
|
||
refreshing: "Atualizando...",
|
||
loading: "Carregando...",
|
||
noConnections: "Nenhuma conexão de cliente",
|
||
noMatches: "Nenhuma conexão correspondente",
|
||
name: "Nome",
|
||
user: "Usuário",
|
||
peerAddress: "Endereço de origem",
|
||
state: "Estado",
|
||
channels: "Canais",
|
||
recvRate: "Taxa de recepção",
|
||
sendRate: "Taxa de envio",
|
||
connectedAt: "Conectado em",
|
||
actions: "Ações",
|
||
closeConnection: "Fechar conexão",
|
||
confirmClose: 'Fechar a conexão "{name}"? Todos os seus canais serão fechados e esta ação não pode ser desfeita.',
|
||
readOnly: "Esta conexão é somente leitura; operações de escrita estão desabilitadas.",
|
||
noChannels: "Esta conexão não possui canais",
|
||
channelName: "Canal",
|
||
prefetch: "Prefetch",
|
||
unacked: "Não confirmados",
|
||
consumers: "Consumidores",
|
||
},
|
||
mqUserPermissions: {
|
||
usersTitle: "Usuários",
|
||
permissionsTitle: "Permissões",
|
||
refresh: "Atualizar",
|
||
refreshing: "Atualizando...",
|
||
loading: "Carregando...",
|
||
createUser: "Criar usuário",
|
||
grantPermission: "Conceder permissão",
|
||
searchUsers: "Buscar usuários",
|
||
noUsers: "Nenhum usuário",
|
||
noUserMatches: "Nenhum usuário correspondente",
|
||
name: "Nome",
|
||
tags: "Tags",
|
||
actions: "Ações",
|
||
delete: "Excluir",
|
||
confirmDeleteUser: 'Excluir o usuário "{name}"? Esta ação não pode ser desfeita.',
|
||
password: "Senha",
|
||
tagsPlaceholder: "Separadas por vírgula, ex. administrator, monitoring",
|
||
nameRequired: "O nome de usuário é obrigatório",
|
||
passwordRequired: "A senha é obrigatória",
|
||
cancel: "Cancelar",
|
||
create: "Criar",
|
||
user: "Usuário",
|
||
vhost: "Host virtual",
|
||
configure: "Configure",
|
||
write: "Write",
|
||
read: "Read",
|
||
noPermissions: "Nenhuma permissão",
|
||
revoke: "Revogar",
|
||
confirmRevoke: 'Revogar a permissão do usuário "{user}" no host virtual "{vhost}"?',
|
||
grant: "Conceder",
|
||
selectUser: "Selecione um usuário",
|
||
selectVhost: "Selecione um host virtual",
|
||
patternHint: "Expressão regular aplicada aos nomes de recursos; vazio equivale a .* (tudo).",
|
||
userRequired: "Selecione um usuário",
|
||
vhostRequired: "Selecione um host virtual",
|
||
readOnly: "Esta conexão é somente leitura; operações de escrita estão desabilitadas.",
|
||
},
|
||
mqRabbitMqPolicies: {
|
||
title: "Políticas",
|
||
refresh: "Atualizar",
|
||
refreshing: "Atualizando...",
|
||
loading: "Carregando...",
|
||
createPolicy: "Criar política",
|
||
editPolicy: "Editar política",
|
||
noPolicies: "Nenhuma política",
|
||
name: "Nome",
|
||
vhost: "Host virtual",
|
||
pattern: "Padrão",
|
||
applyTo: "Aplicar a",
|
||
priority: "Prioridade",
|
||
definition: "Definição",
|
||
actions: "Ações",
|
||
edit: "Editar",
|
||
delete: "Excluir",
|
||
confirmDelete: 'Excluir a política "{name}" no host virtual "{vhost}"?',
|
||
cancel: "Cancelar",
|
||
save: "Salvar",
|
||
selectVhost: "Selecione um host virtual",
|
||
definitionKey: "Chave",
|
||
definitionValue: "Valor",
|
||
addDefinition: "Adicionar entrada de definição",
|
||
patternHint: "Expressão regular correspondente a nomes de filas/exchanges.",
|
||
nameRequired: "O nome da política é obrigatório",
|
||
vhostRequired: "Selecione um host virtual",
|
||
patternRequired: "O padrão é obrigatório",
|
||
readOnly: "Esta conexão é somente leitura; operações de escrita estão desabilitadas.",
|
||
},
|
||
mqRabbitMqMonitoring: {
|
||
title: "Monitoramento do cluster",
|
||
loading: "Carregando...",
|
||
overviewTitle: "Visão geral",
|
||
messagesReady: "Mensagens prontas",
|
||
messagesUnacked: "Mensagens não confirmadas",
|
||
publishRate: "Taxa de publicação",
|
||
deliverRate: "Taxa de entrega",
|
||
ackRate: "Taxa de confirmação",
|
||
totalQueues: "Filas",
|
||
totalExchanges: "Exchanges",
|
||
totalConnections: "Conexões",
|
||
totalChannels: "Canais",
|
||
totalConsumers: "Consumidores",
|
||
nodesTitle: "Nós",
|
||
nodeName: "Nó",
|
||
status: "Status",
|
||
running: "Em execução",
|
||
stopped: "Parado",
|
||
memory: "Memória",
|
||
diskFree: "Disco livre",
|
||
fileDescriptors: "Descritores de arquivo",
|
||
sockets: "Sockets",
|
||
uptime: "Tempo ativo",
|
||
noNodes: "Nenhum nó",
|
||
},
|
||
mqRocketmq: {
|
||
consumerGroupTitle: "Grupo de consumidores",
|
||
searchConsumerGroup: "Pesquisar grupo de consumidores",
|
||
connectionNotReady: "Conexão não pronta, atualize as informações do cluster",
|
||
tabSend: "Enviar mensagem",
|
||
tabQuery: "Consulta de mensagens",
|
||
noDlqTopics: 'Nenhum tópico DLQ encontrado. Ative o filtro de tipo "DLQ" na página de tópicos e atualize.',
|
||
topicFilterAll: "Todos",
|
||
topicFilterBusiness: "Negócio",
|
||
topicFilterDlq: "DLQ",
|
||
actionProduce: "Publicar",
|
||
actionConsume: "Assinar",
|
||
aclTitle: "Controle de acesso",
|
||
actionMessageQuery: "Consulta de mensagens",
|
||
actionSendMessage: "Enviar mensagem",
|
||
actionMore: "Mais",
|
||
actionDetailGroup: "Detalhes",
|
||
actionResetOffset: "Redefinir offset",
|
||
dlqConsumerGroup: "Grupo de consumidores",
|
||
dlqConsumerGroupPlaceholder: "Grupo de consumidores (opcional)",
|
||
dlqQueryByKey: "Consultar por Key",
|
||
viewDlqMessages: "Ver mensagens DLQ",
|
||
namesrvAddr: "NameServer",
|
||
},
|
||
mqDlq: {
|
||
title: "Fila DLQ",
|
||
refresh: "Atualizar",
|
||
refreshing: "Atualizando...",
|
||
loading: "Carregando...",
|
||
selectContext: "Selecione o contexto do namespace primeiro",
|
||
selectTopic: "Selecione um tópico DLQ",
|
||
topic: "DLQ Topic",
|
||
consumerGroup: "Grupo de consumidores",
|
||
groupPlaceholder: "Grupo de consumidores para peek (opcional)",
|
||
queryByKey: "Consultar por Key",
|
||
queryKey: "Key da mensagem",
|
||
queryKeyPlaceholder: "Key a ser pesquisada",
|
||
loadMessages: "Carregar mensagens",
|
||
loadingMessages: "Carregando mensagens...",
|
||
noDlqTopics: 'Nenhum tópico DLQ encontrado. Ative o filtro de tipo "DLQ" na página de tópicos e atualize.',
|
||
noMessages: "Nenhuma mensagem",
|
||
},
|
||
mqTrace: {
|
||
title: "Rastreamento de mensagens",
|
||
msgId: "ID da mensagem",
|
||
msgIdPlaceholder: "MsgId original da mensagem",
|
||
msgIdRequired: "O ID da mensagem não pode estar vazio",
|
||
queryKeyRequired: "A Message Key não pode estar vazia",
|
||
selectTopicBeforeQuery: "Selecione um tópico antes de consultar o rastreamento",
|
||
traceTopic: "Tópico de rastreamento",
|
||
traceTopicPlaceholder: "RMQ_SYS_TRACE_TOPIC",
|
||
query: "Consultar rastreamento",
|
||
querying: "Consultando...",
|
||
noTrace: "Nenhum registro de rastreamento encontrado",
|
||
searchHint: 'Pesquise uma mensagem primeiro e clique em "Ver rastreamento de consumo"',
|
||
viewTrace: "Ver rastreamento de consumo",
|
||
detailTitle: "Detalhes do rastreamento de consumo",
|
||
traceTopicRouteMissing:
|
||
"O tópico de rastreamento não possui informações de rota no NameServer (CODE: 17).\n\nCausas comuns:\n1. Broker não habilitou rastreamento de mensagens: defina traceTopicEnable=true no broker.conf e reinicie o Broker\n2. Producer/Consumer não habilitou rastreamento: setEnableTrace(true)\n3. Usou um tópico de rastreamento personalizado, selecione o tópico correto acima.",
|
||
},
|
||
});
|