Align i18n locale coverage (#878)

This commit is contained in:
ekko
2026-05-20 17:13:32 +08:00
committed by GitHub
parent 6578873d9e
commit cd77e5ba2e
8 changed files with 1843 additions and 537 deletions
+298 -86
View File
@@ -63,6 +63,9 @@ export default {
confirm: 'Confirmar',
expand: 'Expandir',
collapse: 'Recolher',
stop: 'Parar',
start: 'Iniciar',
expired: 'Expirado',
},
// Sidebar
@@ -85,13 +88,13 @@ export default {
files: 'Arquivos',
groupChat: 'Chat em grupo',
groupConversation: 'Conversa',
groupConversationShort: 'Conv',
groupConversationShort: 'Conv.',
groupAgent: 'Agente',
groupAgentShort: 'Ag.',
groupSystem: 'Sistema',
groupSystemShort: 'Sist',
groupMonitoring: 'Monitoramento',
groupMonitoringShort: 'Mon',
groupMonitoringShort: 'Mon.',
settings: 'Configuracoes',
connected: 'Conectado',
disconnected: 'Desconectado',
@@ -105,6 +108,12 @@ export default {
nodeVersionWarning: 'Node.js v{version} detectado. Atualize para a versao 23 ou posterior.',
changelog: 'Registro de alteracoes',
noChangelog: 'Nenhum registro disponivel',
kanban: 'Kanban',
groupTools: 'Ferramentas',
groupPlatform: 'Plataforma',
gateways: 'Gateways',
expand: 'Expandir menu',
collapse: 'Recolher menu',
},
// Gaveta
@@ -183,7 +192,7 @@ export default {
pin: 'Fixar',
unpin: 'Desafixar',
pinned: 'Fixadas',
chatMode: 'Chat',
chatMode: 'Modo de chat',
liveMode: 'Ao vivo',
liveSessions: 'Sessões ao vivo',
recentBadge: 'Recente',
@@ -210,7 +219,7 @@ export default {
arguments: 'Argumentos',
result: 'Resultado',
truncated: '... (truncado)',
executionDuration: 'Execution time', thinkingLabel: 'Raciocínio',
executionDuration: 'Tempo de execução', thinkingLabel: 'Raciocínio',
thinkingInProgress: 'Pensando…',
thinkingShow: 'Mostrar raciocínio',
thinkingHide: 'Ocultar raciocínio',
@@ -224,6 +233,32 @@ export default {
resumeSpeech: 'Retomar',
stopSpeech: 'Parar',
speechNotSupported: 'Reprodução de voz não suportada neste navegador',
searchEnterHint: 'Enter para abrir · Esc para fechar',
searchHint: 'Cmd/Ctrl+K',
searchScope: 'Escopo da busca: apenas banco local de sessões da Web UI; sessões históricas Hermes somente leitura não são incluídas.',
searchFailed: 'Falha ao pesquisar sessões',
searchNoSnippet: 'Nenhum resumo disponível',
searchNoResults: 'Nenhuma sessão corresponde à busca',
searchRecent: 'Sessão recente',
searchEmpty: 'Sessões recentes',
searchPlaceholder: 'Pesquisar sessões...',
searchSubtitle: 'Pesquisar por título ou conteúdo da mensagem',
searchTitle: 'Pesquisar sessões',
stopGateway: 'Parar gateway',
start: 'Iniciar',
workspaceSetFailed: 'Falha ao definir workspace',
workspaceSet: 'Workspace definido',
workspacePlaceholder: 'Digite o caminho do projeto, ex. /home/user/project',
workspace: 'Área de trabalho',
setWorkspaceTitle: 'Definir workspace da sessão',
setWorkspace: 'Definir workspace',
modelSetFailed: 'Falha ao definir modelo',
modelSet: 'Modelo definido',
setModelTitle: 'Definir modelo da sessão',
setModel: 'Definir modelo',
newCliChat: 'Novo CLI',
cliEmptyState: 'Iniciar chat CLI',
autoPlaySpeech: 'Reproduzir voz automaticamente',
},
// Jobs
@@ -377,9 +412,9 @@ jobTriggered: 'Job acionado',
env: '{count} env',
},
metadata: {
agentRoot: 'Agent root',
agentRoot: 'Raiz do agente',
python: 'Python',
scanCwd: 'Scan cwd',
scanCwd: 'Verificar cwd',
projectPlugins: 'Plugins do projeto',
},
},
@@ -405,7 +440,7 @@ jobTriggered: 'Job acionado',
title: 'Modelos',
addProvider: 'Adicionar provedor',
providerType: 'Tipo de provedor',
preset: 'Preset',
preset: 'Predefinição',
custom: 'Personalizado',
selectProvider: 'Selecionar provedor',
chooseProvider: 'Escolha um provedor...',
@@ -477,6 +512,35 @@ jobTriggered: 'Job acionado',
unexpectedFormat: 'Formato de resposta inesperado',
foundModels: '{count} modelos encontrados',
fetchFailed: 'Falha ao buscar os modelos',
xaiWaiting: 'Conclua a autorização na página xAI aberta. A janela será fechada automaticamente após a aprovação.',
xaiOpenLink: 'Abrir página de autorização xAI',
xaiLoginTitle: 'Login OAuth xAI Grok',
xaiExpired: 'O link de autorização expirou. Tente novamente.',
xaiCopyLink: 'Copiar link de autorização',
xaiApproved: 'Login concluído!',
visibilitySelectOne: 'Mantenha pelo menos um modelo visível',
visibilitySaved: 'Modelos visíveis salvos',
visibilitySaveFailed: 'Falha ao salvar modelos visíveis',
visibilityHint: 'Afeta apenas o seletor de modelos e a página de modelos da Web UI. A configuração provider/model da Hermes CLI não é alterada; as chamadas ainda usam o ID original do modelo.',
showAllModels: 'Mostrar todos os modelos',
searchPlaceholder: 'Pesquisar modelos...',
removeCustomModel: 'Remover este modelo não listado',
more: 'mais',
models: 'Lista de modelos',
manageVisibleModelsFor: 'Gerenciar modelos visíveis de {name}',
manageVisibleModels: 'Gerenciar modelos visíveis',
getApiKey: 'Obter API Key',
count: 'modelos',
aliasUseOriginal: 'Restaurar ID original',
aliasTitleFor: 'Nome exibido de {model}',
aliasTitle: 'Nome exibido do modelo',
aliasSaveFailed: 'Falha ao salvar nome exibido',
aliasPlaceholder: 'Deixe vazio para usar o ID original do modelo',
aliasManageFor: 'Nomes exibidos de {provider}',
aliasManage: 'Nomes exibidos',
aliasHint: 'Altera apenas o nome exibido na Web UI. O Hermes ainda recebe o ID original do modelo.',
aliasEdit: 'Renomear',
aliasCanonical: 'ID original: {model}',
},
// Profiles
@@ -529,18 +593,35 @@ jobTriggered: 'Job acionado',
hasSoulMd: 'Tem soul.md',
noProfiles: 'Nenhum perfil encontrado. Crie um para comecar.',
avatar: {
title: 'Custom Avatar',
customize: 'Avatar',
upload: 'Upload Image',
random: 'Randomize',
reset: 'Use Default',
hint: 'PNG, JPEG, or WebP. Max 1MB.',
invalidType: 'Please choose a PNG, JPEG, or WebP image',
tooLarge: 'Avatar image must be 1MB or smaller',
saveSuccess: 'Avatar saved',
saveFailed: 'Failed to save avatar',
resetSuccess: 'Default avatar restored',
resetFailed: 'Failed to restore default avatar',
title: 'Avatar personalizado',
customize: 'Personalizar avatar',
upload: 'Enviar imagem',
random: 'Gerar aleatório',
reset: 'Restaurar padrão',
hint: 'PNG, JPEG ou WebP, máximo 1 MB',
invalidType: 'Escolha uma imagem PNG, JPEG ou WebP',
tooLarge: 'A imagem do avatar não pode exceder 1 MB',
saveSuccess: 'Avatar salvo',
saveFailed: 'Falha ao salvar avatar',
resetSuccess: 'Avatar padrão restaurado',
resetFailed: 'Falha ao restaurar avatar padrão',
},
runtime: {
activeProfile: 'Atual: {name}',
bridgeWorker: 'Status do Bridge',
gateway: 'Gateway',
active: 'Ativo',
activeTag: 'Atual',
idle: 'Ocioso',
running: 'Em execução',
stopped: 'Parado',
restartGateway: 'Reiniciar gateway',
restartProfile: 'Reiniciar perfil',
switchProfile: 'Trocar perfil',
gatewayRestarted: 'Gateway reiniciado: {name}',
gatewayRestartFailed: 'Falha ao reiniciar gateway',
profileRestarted: 'Perfil reiniciado: {name}',
profileRestartFailed: 'Falha ao reiniciar perfil',
},
},
@@ -749,6 +830,14 @@ jobTriggered: 'Job acionado',
unlocked: 'IP desbloqueada',
allUnlocked: '{count} IPs desbloqueadas',
},
models: {
apiKey: 'API Key',
apiKeyPlaceholder: 'Digite a API Key',
noProviders: 'Nenhum provedor configurado',
save: 'Salvar',
saveFailed: 'Falha ao salvar',
saved: 'Salvo',
},
},
// Platform channel settings
@@ -809,6 +898,19 @@ jobTriggered: 'Job acionado',
qrFetching: 'Buscando codigo QR...',
qrScanHint: 'Escaneie com WeChat para fazer login',
qrScanedHint: 'Escaneado, por favor confirme no celular...',
qqSandboxHint: 'Ativar ambiente sandbox (para testes)',
qqSandbox: 'Modo sandbox',
qqQrScanHint: 'Escaneie o QR code com QQ ou abra o link no celular para concluir a vinculação',
qqMarkdownHint: 'Ativar mensagens em formato Markdown (alguns clientes podem não suportar)',
qqMarkdown: 'Suporte a Markdown',
qqAppSecretHint: 'App Secret do bot QQ Open Platform',
qqAppSecret: 'App Secret',
qqAppIdHint: 'App ID do bot QQ Open Platform',
qqAppId: 'App ID',
allowedUsersHint: 'Lista de permissões de IDs de usuário ou OpenID, separados por vírgula',
allowedUsers: 'Usuários permitidos',
allowAllUsersHint: 'Permite mensagens de qualquer usuário; desative para usar a lista de permissões',
allowAllUsers: 'Permitir todos os usuários',
},
// Language
@@ -826,6 +928,10 @@ jobTriggered: 'Job acionado',
closeSession: 'Fechar esta sessao?',
sessionExited: 'Encerrada',
processExited: 'Processo encerrado com codigo {code}',
noSessions: 'Nenhuma sessão de terminal',
connectionFailed: 'Falha ao conectar ao terminal',
connectionError: 'Erro de conexão',
connectionClosed: 'Conexão fechada',
},
// Usage
@@ -844,8 +950,8 @@ jobTriggered: 'Job acionado',
date: 'Data',
tokens: 'Tokens',
cache: 'Cache',
cacheRead: 'Cache Read',
cacheWrite: 'Cache Write',
cacheRead: 'Leitura de cache',
cacheWrite: 'Escrita de cache',
sessions: 'Sessoes',
cost: 'Custo',
noData: 'Sem dados de uso',
@@ -902,64 +1008,64 @@ jobTriggered: 'Job acionado',
new_0_5_17_24: 'Página de histórico agora exibe registros de sessões Cron',
new_0_5_17_25: 'Corrigir ícones de troca de idioma e tema comprimidos na barra lateral recolhida',
new_0_5_18_1: 'Add Skills Usage monitoring page with daily trend chart and top skills statistics',
new_0_5_18_2: 'Add CLI chat session bridge with Python agent bridge for WebSocket-based sessions',
new_0_5_18_3: 'Add Ollama Cloud provider preset with dynamic model catalog',
new_0_5_18_4: 'Support model display name renaming (aliases)',
new_0_5_18_5: 'Support model visibility management in Web UI',
new_0_5_18_6: 'Enhance usage analytics dashboard',
new_0_5_18_7: 'Docker single-container deployment with docker-compose and gateway startup fixes',
new_0_5_18_8: 'Fix plugins page HERMES_HOME fallback warning for non-default profiles',
new_0_5_18_9: 'Fix gateway stability across dev restarts and improve Windows compatibility',
new_0_5_22_1: 'Fix Hermes session list API reading the Web UI local session store instead of the Hermes profile database',
new_0_5_23_1: 'Add bridge-only chat slash commands with localized command suggestions',
new_0_5_23_2: 'Persist command history for session replay without polluting model context, usage, or compression',
new_0_5_23_3: 'Isolate gateway profile environment variables to prevent credentials leaking across profiles',
new_0_5_23_4: 'Reserve the Web UI port during gateway allocation to avoid startup conflicts',
new_0_5_23_5: 'Fix self-update restart handling so successful helper exits are not reported as failures',
new_0_5_24_1: 'Align Bridge chat with API Server handling for multimodal input, system prompt, and workspace context',
new_0_5_25_1: 'Add group chat room reset and clone actions',
new_0_5_25_2: 'Make the Web UI state directory configurable for custom deployment layouts',
new_0_5_25_3: 'Add MiMo as a TTS provider in voice settings',
new_0_5_25_4: 'Fetch custom provider model lists through the backend to avoid browser CORS failures',
new_0_5_25_5: 'Fix tool approval flow for bridge sessions',
new_0_5_25_6: 'Remove the forced CLI platform hint from bridge prompts so custom media/file instructions are preserved',
new_0_5_25_7: 'Show base64 image content correctly in user message history',
new_0_5_25_8: 'Add Playwright browser tests, chat streaming contract coverage, provider model coverage, and coverage baseline',
new_0_5_26_1: 'Support Windows and local Markdown media paths in chat history and rendered messages',
new_0_5_26_2: 'Filter empty assistant history and clear stale compression status when a new run starts',
new_0_5_26_3: 'Add locked file writes for config and profile updates to reduce concurrent write corruption',
new_0_5_26_4: 'Add QQBot and DingTalk channel settings',
new_0_5_26_5: 'Make CLI port detection portable and improve mobile terminal drawer sizing',
new_0_5_26_6: 'Isolate Bridge profile environments and fix Hermes plugin discovery across Python environments',
new_0_5_26_7: 'Explain stopped gateway states with Web UI diagnostics and keep log loading state stable',
new_0_5_26_8: 'Fix session reset mode options, custom provider base URL handling, and dynamic deliver targets',
new_0_5_26_9: 'Add a local tool-call trace visibility toggle in the chat input bar',
new_0_5_26_10: 'Support Hermes Agent package installs when no source checkout is available',
new_0_5_26_11: 'Add xAI Grok OAuth login for SuperGrok subscription users and update Grok model presets',
new_0_5_26_12: 'Expand browser, chat streaming, provider, gateway, config, plugin, and Bridge test coverage',
new_0_5_27_1: 'Add session-level model settings for Bridge chats, with independent provider and model saved per session',
new_0_5_27_2: 'Right-click a Bridge session and choose Set Model to switch the model for that session',
new_0_5_27_3: 'Runs now validate the session model and fall back to the current default model when the saved model is unavailable',
new_0_5_27_4: 'Context compression now follows the current Profile default selected model by default',
new_0_5_30_1: 'Bridge chat now preserves structured history, fixing intermittent no-response and skipped tool execution caused by text-flattened tool history',
new_0_5_30_2: 'Group chat mention routing is more reliable for multiple agents, removes each agents own mention before delivery, and keeps user display names bound after refresh',
new_0_5_30_3: 'Model pages, chat model dropdowns, and session model selection now scope providers and models to the active Profile with accurate default markers',
new_0_5_30_4: 'Gateway management is simplified: the standalone Gateway page is removed, each Profile is checked for platform configuration before starting the needed gateway, and a lightweight gateway runner handles starts and restarts',
new_0_5_30_5: 'Improve Gateway startup across Docker, Termux, and Windows with runtime-lock handling, port-conflict cleanup, background execution, and restart support',
new_0_5_30_6: 'Harden Windows compatibility for path detection, file downloads, and job/update subprocesses so they no longer flash terminal windows',
new_0_5_30_7: 'Fix config writes and provider presets: validate .env keys, route FUN-Codex through the Responses API, and refresh Z.AI/GLM model lists',
new_0_5_30_8: 'Polish frontend details including collapsed sidebar layout, short group labels, sidebar divider, and conversation outline styling',
new_0_5_30_9: 'Context compression now follows Profile compression settings and hardens stale snapshots by reusing previous summaries with a safe tail instead of recompressing full history',
new_0_5_31_1: "Harden Bridge broker restarts, fix final group-chat stream rendering, and add {'@'}all routing for group chat",
new_0_5_31_2: 'File manager can copy absolute paths, and the mobile session drawer overlay no longer falls behind chat content',
new_0_5_31_3: 'Profile selector now shows avatars, custom avatar uploads, runtime status modal, and gateway/profile restart actions',
new_0_5_31_4: 'Profile avatars now appear in single chat, group chat, and collapsed sidebar, with Web UI profile metadata storage and Windows-safe paths',
new_0_5_31_5: 'Improve Docker, Termux, and Windows gateway detection and restart checks by using gateway_state/gateway.pid for managed gateway liveness',
new_0_5_31_6: 'Add APIKEY.FUN image-generation media endpoint and bundled apikey-image-gen skill for text-to-image, image-to-image, and image editing via the active Profile fun-codex provider',
new_0_4_8_2: 'Fix nested markdown fence rendering truncation',
new_0_4_8_3: 'Fix compressed session lineage projection and search',
new_0_4_8_4: 'Optimize session list N+1 queries and fix search 500 on non-CJK input',
new_0_5_18_1: 'Página de monitoramento de uso de skills com gráfico de tendência diária e estatísticas das principais skills',
new_0_5_18_2: 'Bridge de sessão de chat CLI com agent bridge Python para sessões baseadas em WebSocket',
new_0_5_18_3: 'Preset do provedor Ollama Cloud com catálogo dinâmico de modelos',
new_0_5_18_4: 'Suporte para renomear nomes de exibição dos modelos (aliases)',
new_0_5_18_5: 'Suporte ao gerenciamento de visibilidade de modelos na Web UI',
new_0_5_18_6: 'Dashboard de análise de uso aprimorado',
new_0_5_18_7: 'Deploy Docker em contêiner único com docker-compose e correções de inicialização do gateway',
new_0_5_18_8: 'Correção do aviso de fallback HERMES_HOME na página de plugins para perfis não padrão',
new_0_5_18_9: 'Correção da estabilidade do gateway em reinícios de desenvolvimento e melhoria da compatibilidade com Windows',
new_0_5_22_1: 'API de lista de sessões Hermes passa a ler o banco do perfil em vez do store local de sessões da Web UI',
new_0_5_23_1: 'Comandos slash de chat exclusivos do Bridge com sugestões localizadas',
new_0_5_23_2: 'Histórico de comandos persistente para replay de sessão sem poluir contexto, uso ou compressão',
new_0_5_23_3: 'Variáveis de ambiente do perfil gateway isoladas para evitar vazamento de credenciais entre perfis',
new_0_5_23_4: 'Porta da Web UI reservada durante alocação do gateway para evitar conflitos de inicialização',
new_0_5_23_5: 'Correção do reinício de autoatualização para não reportar saídas bem-sucedidas do helper como falha',
new_0_5_24_1: 'Chat Bridge alinhado ao API Server para entrada multimodal, prompt de sistema e contexto de workspace',
new_0_5_25_1: 'Ações de reset e clonagem de salas de chat em grupo',
new_0_5_25_2: 'Diretório de estado da Web UI configurável para layouts de deploy personalizados',
new_0_5_25_3: 'MiMo adicionado como provedor TTS nas configurações de voz',
new_0_5_25_4: 'Listas de modelos de provedores personalizados buscadas pelo backend para evitar falhas CORS do navegador',
new_0_5_25_5: 'Fluxo de aprovação de ferramentas corrigido para sessões Bridge',
new_0_5_25_6: 'Dica de plataforma CLI forçada removida dos prompts Bridge para preservar instruções personalizadas de mídia/arquivo',
new_0_5_25_7: 'Conteúdo de imagem base64 exibido corretamente no histórico de mensagens do usuário',
new_0_5_25_8: 'Testes Playwright de navegador, cobertura de contrato de streaming de chat, cobertura de modelos de provedor e baseline de cobertura adicionados',
new_0_5_26_1: 'Suporte a caminhos de mídia Markdown locais e do Windows no histórico e em mensagens renderizadas',
new_0_5_26_2: 'Histórico vazio do assistant filtrado e estado de compressão obsoleto limpo ao iniciar nova execução',
new_0_5_26_3: 'Escritas com lock para atualizações de config e perfil a fim de reduzir corrupção por concorrência',
new_0_5_26_4: 'Configurações de canais QQBot e DingTalk adicionadas',
new_0_5_26_5: 'Detecção de porta CLI portável e melhorias no tamanho da gaveta de terminal móvel',
new_0_5_26_6: 'Ambientes de perfil Bridge isolados e descoberta de plugins Hermes corrigida entre ambientes Python',
new_0_5_26_7: 'Estados de gateway parado explicados com diagnósticos Web UI e estado de carregamento de logs estável',
new_0_5_26_8: 'Opções de reset de sessão, base URL de provedor personalizado e destinos dinâmicos de entrega corrigidos',
new_0_5_26_9: 'Toggle local de visibilidade de trace de tool-call adicionado à barra de entrada do chat',
new_0_5_26_10: 'Instalação do pacote Hermes Agent suportada quando não checkout de código-fonte disponível',
new_0_5_26_11: 'Login OAuth xAI Grok para usuários SuperGrok e presets de modelos Grok atualizados',
new_0_5_26_12: 'Cobertura ampliada de navegador, streaming de chat, provedor, gateway, config, plugin e Bridge',
new_0_5_27_1: 'Configurações de modelo por sessão para chats Bridge, com provider e model independentes salvos por sessão',
new_0_5_27_2: 'Clique com o botão direito em uma sessão Bridge e escolha Definir modelo para trocar o modelo daquela sessão',
new_0_5_27_3: 'Execuções validam o modelo da sessão e voltam ao modelo padrão atual quando o modelo salvo está indisponível',
new_0_5_27_4: 'Compressão de contexto segue por padrão o modelo selecionado como padrão no Profile atual',
new_0_5_30_1: 'Bridge chat preserva histórico estruturado, corrigindo ausência intermitente de resposta e execução de ferramentas pulada por histórico de ferramentas achatado',
new_0_5_30_2: 'Roteamento de menções no chat em grupo é mais confiável para múltiplos agentes, remove a própria menção antes da entrega e mantém nomes após atualizar',
new_0_5_30_3: 'Páginas de modelos, dropdowns de modelo do chat e seleção de modelo da sessão agora usam o Profile ativo com marcadores padrão precisos',
new_0_5_30_4: 'Gerenciamento de gateway simplificado: página Gateway independente removida, cada Profile verifica configuração de plataforma antes de iniciar e runner leve gerencia start/restart',
new_0_5_30_5: 'Inicialização do gateway melhorada em Docker, Termux e Windows com runtime-lock, limpeza de conflito de porta, execução em segundo plano e suporte a restart',
new_0_5_30_6: 'Compatibilidade Windows reforçada para detecção de caminhos, downloads e subprocessos job/update sem flashes de janelas de terminal',
new_0_5_30_7: 'Escritas de config e presets de provedor corrigidos: validar chaves .env, rotear FUN-Codex pela Responses API e atualizar listas Z.AI/GLM',
new_0_5_30_8: 'Detalhes de frontend polidos, incluindo sidebar recolhida, rótulos curtos de grupo, divisor lateral e estilo do outline da conversa',
new_0_5_30_9: 'Compressão de contexto segue configurações do Profile e fortalece snapshots obsoletos reutilizando resumos anteriores com cauda segura',
new_0_5_31_1: 'Reinícios do Bridge broker reforçados, renderização final do stream de chat em grupo corrigida e roteamento {\'@\'}all adicionado',
new_0_5_31_2: 'Gerenciador de arquivos pode copiar caminhos absolutos e a gaveta móvel de sessões não fica mais atrás do chat',
new_0_5_31_3: 'Seletor de Profile mostra avatares, upload de avatar personalizado, modal de status runtime e ações de restart de gateway/Profile',
new_0_5_31_4: 'Avatares de Profile aparecem em chat individual, chat em grupo e sidebar recolhida, com metadados Web UI e caminhos seguros para Windows',
new_0_5_31_5: 'Detecção e restart de gateway em Docker, Termux e Windows melhorados usando gateway_state/gateway.pid para liveness do gateway gerenciado',
new_0_5_31_6: 'Endpoint de mídia APIKEY.FUN para geração de imagens e skill apikey-image-gen integrado para texto-imagem, imagem-imagem e edição via provider fun-codex do Profile ativo',
new_0_4_8_2: 'Corrige truncamento na renderização de blocos Markdown aninhados',
new_0_4_8_3: 'Corrige projeção e busca da linhagem de sessões compactadas',
new_0_4_8_4: 'Otimiza consultas N+1 da lista de sessões e corrige erro 500 em busca com entrada não CJK',
new_0_4_8_5: 'Fix forced scroll to bottom when switching back from other tabs',
new_0_4_8_6: 'Smooth session switch with loading transition overlay',
new_0_4_8_7: 'Fix login token validation using Hermes session endpoint',
@@ -978,18 +1084,23 @@ jobTriggered: 'Job acionado',
new_0_4_7_10: 'Limpar base_url_env do .env ao excluir provedor integrado',
new_0_4_7_11: 'Alinhar o fundo da barra lateral da sala de chat em grupo com a lista de sessoes',
new_0_4_5_1: 'Add group chat with multi-agent rooms, mention routing, and typing status recovery',
new_0_4_5_2: 'Rewrite model-context config to use YAML with context_length setting',
new_0_4_5_3: 'Add gpt-5.5 to OpenAI Codex model list',
new_0_4_5_4: 'Replace jobs proxy with local controller and optimize model loading',
new_0_4_5_5: 'Add i18n support for custom model feature in ModelSelector',
new_0_4_5_6: 'Fix sidebar i18n missing key warnings',
new_0_4_5_7: 'Clear all localStorage on logout',
new_0_4_5_8: 'Add periodic log rotation to prevent unbounded log growth',
new_0_4_5_2: 'Reescreve a configuração de contexto do modelo para usar YAML com context_length',
new_0_4_5_3: 'Adiciona gpt-5.5 à lista de modelos do OpenAI Codex',
new_0_4_5_4: 'Substitui o proxy de tarefas por um controlador local e otimiza o carregamento de modelos',
new_0_4_5_5: 'Adiciona suporte i18n para modelos personalizados no ModelSelector',
new_0_4_5_6: 'Corrige avisos de chaves i18n ausentes na barra lateral',
new_0_4_5_7: 'Limpa todo o localStorage ao sair',
new_0_4_5_8: 'Adiciona rotação periódica de logs para evitar crescimento ilimitado',
new_0_4_2_1: 'Adicionar rastreamento de uso de tokens e comprimento de contexto dinamico',
new_0_4_2_2: 'Adicionar modal de busca de sessoes',
new_0_4_2_3: 'Restaurar sistema de chat em grupo com Socket.IO e SQLite',
new_0_4_2_4: 'Adicionar sessoes fixas e monitor ao vivo na pagina de chat',
new_0_4_2_5: 'Corrigir deteccao de provedores integrados e combinacao de modelos',
new_0_4_4_5: 'Erro 500 em buscas com caracteres especiais corrigido',
new_0_4_4_4: 'Suporte aos provedores StepFun e Nous Portal adicionado',
new_0_4_4_3: 'Badge de status ao vivo adicionado em sessões de chat ativas',
new_0_4_4_2: 'Download de arquivos de anexos de mensagens de chat adicionado',
new_0_4_4_1: 'Navegador de arquivos com suporte multi-backend adicionado (local/Docker/SSH/Singularity)',
},
// Arquivos
@@ -1040,6 +1151,7 @@ jobTriggered: 'Job acionado',
closeEditor: 'Fechar editor',
closePreview: 'Fechar',
saveFile: 'Salvar',
fileTree: 'Árvore de arquivos',
},
// Chat em grupo
@@ -1109,4 +1221,104 @@ jobTriggered: 'Job acionado',
download: 'Baixar',
downloadFile: 'Baixar arquivo',
},
gateways: {
title: 'Gateways',
running: 'Em execução',
stopped: 'Parado',
started: 'Iniciado',
startFailed: 'Falha ao iniciar gateway',
stopFailed: 'Falha ao parar gateway',
},
kanban: {
title: 'Quadro Kanban',
createTask: 'Nova tarefa',
noTasks: 'Nenhuma tarefa',
allStatuses: 'Todos os status',
allAssignees: 'Todos os responsáveis',
columns: {
triage: 'Triagem',
todo: 'A fazer',
ready: 'Pronto',
running: 'Em andamento',
blocked: 'Bloqueado',
done: 'Concluído',
archived: 'Arquivado',
},
card: {
assigneeTooltip: 'Responsável',
priority: {
low: 'Baixa',
medium: 'Média',
high: 'Alta',
},
timeAgo: {
justNow: 'agora mesmo',
minutes: 'há {count} min',
hours: 'há {count} h',
days: 'há {count} d',
},
},
board: {
create: 'Novo quadro',
archive: 'Arquivar quadro',
archiveConfirm: 'Arquivar o quadro atual?',
archived: 'Quadro arquivado',
created: 'Quadro criado',
slugPlaceholder: 'Identificador do quadro, ex. project-a',
namePlaceholder: 'Nome exibido (opcional)',
slugRequired: 'O identificador do quadro é obrigatório',
},
form: {
title: 'Título',
titlePlaceholder: 'Título da tarefa',
titleRequired: 'Título é obrigatório',
body: 'Descrição',
bodyPlaceholder: 'Descrição da tarefa (opcional)',
assignee: 'Responsável',
selectAssignee: 'Selecionar responsável...',
priority: 'Prioridade',
selectPriority: 'Selecionar prioridade...',
},
detail: {
status: 'Status',
priority: 'Prioridade',
assignee: 'Responsável',
tenant: 'Locatário',
createdAt: 'Criado',
startedAt: 'Iniciado',
completedAt: 'Concluído',
comments: 'Comentários',
events: 'Eventos',
runs: 'Execuções',
artifacts: 'Arquivos gerados',
result: 'Resultado',
highlights: 'Informações principais',
sources: 'Fontes de dados',
sessions: 'Sessões relacionadas',
sessionMessages: 'Mensagens da sessão',
noSessions: 'Nenhuma sessão relacionada encontrada.',
},
action: {
title: 'Ações',
assign: 'Atribuir',
assignTo: 'Atribuir a...',
block: 'Bloquear',
blockReason: 'Motivo do bloqueio',
unblock: 'Desbloquear',
complete: 'Concluir',
completeSummary: 'Resumo de conclusão (opcional)',
},
message: {
loadFailed: 'Falha ao carregar tarefa',
taskCreated: 'Tarefa criada',
taskAssigned: 'Tarefa atribuída',
taskBlocked: 'Tarefa bloqueada',
taskUnblocked: 'Tarefa desbloqueada',
taskCompleted: 'Tarefa concluída',
},
stats: {
total: 'Total',
tasks: 'Tarefas',
},
},
}