Pular para o conteúdo principal
O ChatCLI foi projetado para ser global. A interface do usuário, incluindo menus, dicas e mensagens de status, é totalmente internacionalizada.

Idiomas suportados

IdiomaCódigoStatus
Português (Brasil)pt-BRCompleto
InglêsenCompleto (fallback padrão)

Detecção automática

O idioma é detectado automaticamente a partir das variáveis de ambiente do sistema, na seguinte ordem de prioridade:
PrioridadeVariávelExemplo
1 (maior)CHATCLI_LANGpt-BR
2LANGpt_BR.UTF-8
3LC_ALLpt_BR.UTF-8
Se nenhuma variável estiver definida ou o idioma não for suportado, a interface será exibida em inglês por padrão.

Forçar um idioma

Para forçar um idioma específico, defina CHATCLI_LANG no .env ou no ambiente:
# No .env
CHATCLI_LANG=pt-BR

# Ou via export
export CHATCLI_LANG=en

Cobertura

O sistema de i18n conta com 1925 chaves de tradução cobrindo todas as strings voltadas ao usuário (paridade entre en.json, en-US.json e pt-BR.json). Cada novo user-facing string introduzido no código passa pelo wrapping i18n.T()regra obrigatória para qualquer handler de comando, autocomplete prompt.Suggest ou mensagem de erro visível ao usuário.
A partir do sweep de i18n de abr/2026, todos os slash commands (/hooks, /mcp, /worktree, /cost, /channel, /websearch, /config + subseções, /skill, /agent, /memory, /session, /switch, /context, /auth, /plugin) e o autocomplete da CLI passam 100% por i18n.T. Strings hardcoded em PT/EN dentro de fmt.Println ou colorize(...) são bug de conformidade.

O que é traduzido

  • Menus e prompts interativos
  • Mensagens de status e progresso (inclusive as fases do compactor de histórico: trim, summarize, emergency)
  • Ajuda dos comandos (/help)
  • Mensagens de erro e avisos
  • UI do modo agente (plano de execução, ações)
  • Feedback do modo coder
  • Mensagens de pre-flight e recuperação de payload (413/WAF/EOF) com rotulagem específica por tipo de falha
  • Mensagens do servidor e conexão remota
  • Comandos de sessão, contexto e plugins
  • Notificações do K8s Watcher e Operator

Namespaces principais

Prefixo da chaveEscopo
welcome.*, help.*Boas-vindas, ajuda e onboarding
agent.*Modo agente, turnos, plano de ação
agent.microcompact.*Compactação progressiva de tool results antigos (sem LLM)
agent.preflight.*Avisos proativos de tamanho de histórico vs cap de proxy
agent.recovery.*Recuperação de context overflow + proxy 413/WAF/EOF
coder.*Modo coder, cards e decisões de policy
compact.*Comando /compact (manual e guiado)
compact.status.*Feedback ao vivo durante cada fase do pipeline de compactação
context.*Comandos /context attach, /context show, etc
cmd.*Comandos CLI legados (/auth, /connect, /switch, …)
cmd.core.*/session fork e afins no command_handler core
cfg.*/config hierárquico — títulos de seção, labels kv, placeholders (cfg.val.*, cfg.kv.*, cfg.sub.*, cfg.panorama.*, cfg.section.*, cfg.msg.*)
hooks.cmd.* / mcp.cmd.* / wt.cmd.* / cost.cmd.* / chan.cmd.*Um namespace por slash-command gerenciador (/hooks, /mcp, /worktree, /cost, /channel)
skill.cmd.* / persona.cmd.* / mem.cmd.*Handlers skill_handler, persona_handler, memory_command
sw.cmd.* / sess.cmd.* / ctx.cmd.*Fills de cli_llm (handleSwitchCommand), cli_session, context_handler
ws.cmd.*Comando /websearch (status, list, provider, reset)
complete.*Descrições de autocomplete — complete.root.* para slash commands top-level, complete.{connect,watch,context,session,plugin,agent,skill,switch,auth,generic}.* para sub/flags
llm.*Streaming, erros de provider
server.*Modo servidor e autenticação

Padrão especial para instruções à IA

A chave ai.response_language é um meta-comando escrito em inglês em todos os locales (incluindo pt-BR), que instrui a IA a responder no idioma do usuário. Isso é intencional: modelos LLM seguem instruções em inglês com muito mais fidelidade, então o prompt que pede “responda em pt-BR” é escrito em inglês. O conteúdo da resposta, claro, sai em pt-BR. Essa instrução é anexada ao system prompt nos três modos (chat, agent, coder), junto com um [ACTIVE MODE: ...] que deixa claro para a IA em qual modo ela está operando. Veja cli/prompts.go e cli/cli_llm.go.
As respostas da IA são no idioma que você usar na conversa — a i18n controla tanto a interface do ChatCLI quanto o meta-prompt que instrui a IA. Mas o conteúdo que o LLM gera depende dele seguir a instrução (o que modelos 4.x fazem muito bem).