{
  "chat": {
    "title": "Assistente AI",
    "tabAssistant": "Chat",
    "tabGenerate": "Gerar modelo 3D",
    "sessionsTooltip": "Sessões de chat",
    "sessionsLocked": "Sessões de chat (bloqueado enquanto responde)",
    "placeholder": "Descreva o que você quer criar ou corrigir...",
    "send": "Enviar",
    "stop": "Parar",
    "newChat": "+ Novo chat",
    "discordLink": "Precisa de ajuda? Entre no nosso Discord",
    "thinking": "ParallaxPro AI está pensando...",
    "sessionIdCopied": "Copiado!",
    "sessionIdTooltip": "Clique para copiar o ID da sessão",
    "changesApplied": "Alterações aplicadas",
    "revertBefore": "Reverter para antes de",
    "revertHere": "Reverter para aqui",
    "templateBanner": "Um template foi carregado — seus arquivos de projeto anteriores foram substituídos.",
    "templateRestore": "Restaurar meu projeto anterior",
    "createScratch": "Criar do zero em vez de usar este template (20-30 min)",
    "createScratchRecommended": "Geralmente dá melhores resultados que templates",
    "fixerHint": "Isso pode levar até 10 minutos — fique à vontade para deixar a página aberta, mas não feche esta página.",
    "continue": "Continuar",
    "rawFilesTitle": "Diálogo bruto da sessão",
    "rawFilesEmpty": "Nenhum arquivo ainda nesta sessão.",
    "buildingPlan": "Plano de construção",
    "todoPaused": "Pausado",
    "tabSoundEffects": "Efeitos sonoros"
  },
  "feedback": {
    "titleCreate": "Obrigado por experimentar o construtor!",
    "titleFix": "Obrigado por usar o assistente AI!",
    "thankYou": "Seu feedback é incrivelmente valioso e nos ajuda diretamente a melhorar o produto para todos. Agradecemos muito por dedicar um momento para compartilhar sua experiência!",
    "promptLabelCreate": "Você pediu ao construtor:",
    "promptLabelFix": "Você pediu ao agente:",
    "rateLabel": "Funcionou?",
    "worked": "Funcionou",
    "notWorked": "Não funcionou",
    "notesLabel": "Algo quebrado ou que pode melhorar?",
    "notesPlaceholder": "O que funcionou? O que não está bom? O que você mudaria?",
    "restoreNote": "Não quer manter esta construção? Você pode restaurar seu projeto para como estava antes.",
    "restoreButton": "Restaurar projeto para antes desta construção",
    "restoring": "Restaurando…",
    "dismiss": "Fechar",
    "dismissTooltip": "Fechar este formulário de feedback. Ele não aparecerá novamente para esta alteração.",
    "submit": "Enviar feedback",
    "submitting": "Enviando…",
    "noPrompt": "(nenhum prompt registrado)"
  },
  "signup": {
    "createGame": "Para criar um jogo do zero em vez de usar este template, preciso que você se cadastre primeiro.",
    "fixGame": "Para executar uma correção no seu jogo, preciso que você se cadastre primeiro.",
    "budget": "Você usou todo o seu orçamento anônimo gratuito — cadastre-se para continuar.",
    "default": "Preciso que você se cadastre primeiro.",
    "button": "Cadastrar grátis"
  },
  "toolbar": {
    "backToProjects": "Voltar aos Projetos",
    "untitled": "Projeto sem título",
    "renameTooltip": "Clique para renomear",
    "save": "Salvar (Ctrl+S)",
    "undo": "Desfazer (Ctrl+Z)",
    "redo": "Refazer (Ctrl+Y / Ctrl+Shift+Z)",
    "translate": "Mover (1)",
    "rotate": "Rotacionar (2)",
    "scale": "Escalar (3)",
    "cameraMode": "Alternar Orbit / Fly (4)",
    "gizmoSpace": "Alternar Global / Local (5)",
    "play": "Jogar",
    "stop": "Parar",
    "loading": "Carregando...",
    "publish": "Publicar",
    "feedback": "Feedback",
    "settings": "Configurações",
    "multiplayer": "Multijogador",
    "multiplayerTooltip": "Link da sala multijogador",
    "shareLink": "Compartilhe este link para convidar jogadores:",
    "copyLink": "Copiar link",
    "copied": "Copiado!",
    "previewClient": "+ Client",
    "previewClientTooltip": "Abrir outra janela deste projeto para testar multijogador localmente",
    "teamChat": "Chat da equipe",
    "teamChatPlaceholder": "Digite uma mensagem...",
    "unsavedConfirm": "Você tem alterações não salvas. Sair sem salvar?",
    "moveLabel": "Mover",
    "rotateLabel": "Rotacionar",
    "scaleLabel": "Escalar",
    "orbitLabel": "Orbit",
    "flyLabel": "Fly",
    "globalLabel": "Global",
    "localLabel": "Local",
    "flyMode": "Modo Fly (4)",
    "orbitMode": "Modo Orbit (4)",
    "localSpace": "Espaço Local (5)",
    "globalSpace": "Espaço Global (5)",
    "playCtrlP": "Jogar (Ctrl+P)",
    "loadingAssets": "Carregando assets",
    "projectSaved": "Projeto salvo",
    "projectRenamed": "Projeto renomeado",
    "renameFailed": "Falha ao renomear",
    "renameProject": "Renomear projeto",
    "projectNamePlaceholder": "Nome do projeto",
    "playerConnected": "{count} jogador conectado",
    "playersConnected": "{count} jogadores conectados",
    "joined": "entrou",
    "left": "saiu",
    "you": "Você",
    "startedMultiplayer": "iniciou uma sessão multijogador"
  },
  "settings": {
    "chatAgent": "Agente de chat",
    "editingAgent": "Agente de edição",
    "graphicsQuality": "Qualidade gráfica",
    "cloudSync": "Sincronização na nuvem",
    "cloudSignIn": "Entrar",
    "cloudSigningIn": "Entrando…",
    "cloudSynced": "Este projeto sincroniza com parallaxpro.ai a cada salvamento.",
    "cloudHint": "Sincronize este projeto com parallaxpro.ai para continuar de onde parou em qualquer computador.",
    "cloudPromote": "Promover para a nuvem",
    "cloudPromoting": "Sincronizando…",
    "cloudSignedOutHint": "Entre no parallaxpro.ai para habilitar a sincronização na nuvem para este projeto.",
    "cloudSignedOutCloudHint": "Este é um projeto na nuvem, mas você saiu — os salvamentos não estão chegando ao parallaxpro.ai. Entre para retomar a sincronização.",
    "cloudSyncedCheck": "✓ Este projeto sincroniza com parallaxpro.ai a cada salvamento.",
    "cloudProjectSynced": "Projeto sincronizado com parallaxpro.ai.",
    "signedInToast": "Conectado ao parallaxpro.ai.",
    "cancel": "Cancelar",
    "save": "Salvar",
    "chatAgentHint": "Recomendado: LLM API — mais rápido (<1s vs 10-20s por mensagem, porque o CLI é reiniciado a cada turno), mais barato e produz resultados mais limpos. Agentes CLI são uma conveniência quando você não tem uma chave API, mas rodam em modo agente em vez de modo chat e podem ter desempenho muito ruim — ocasionalmente emitindo chamadas de ferramentas em vez de respostas de chat.",
    "editingAgentHint": "Agente iniciado quando o AI decide editar os arquivos do seu projeto.",
    "qualityLow": "Baixa",
    "qualityMedium": "Média",
    "qualityHigh": "Alta",
    "qualityLowHint": "Renderização básica, sem sombras",
    "qualityMediumHint": "Sombras, FXAA anti-aliasing, HBAO",
    "qualityHighHint": "Sombras, MSAA anti-aliasing, HBAO, reflexos de espaço de tela, bloom"
  },
  "editor": {
    "systemUpdated": "Sistema atualizado — tente atualizar a página",
    "connectionLost": "Conexão perdida — edição desabilitada até a reconexão",
    "reconnecting": "Conexão perdida. Reconectando...",
    "reconnected": "Reconectado",
    "reconnectFailed": "Não foi possível reconectar. Por favor verifique sua conexão e atualize a página.",
    "disconnectOverlay": "Edição desabilitada enquanto reconecta...",
    "disconnectRefresh": "Conexão perdida. Por favor atualize a página para continuar editando."
  },
  "projectList": {
    "newProject": "+ Novo Projeto",
    "exit": "Sair",
    "backToLanding": "Voltar à página inicial",
    "searchPlaceholder": "Buscar projetos...",
    "tabAll": "Todos",
    "tabLocal": "Projetos locais",
    "tabCloud": "Projetos na nuvem",
    "emptyDefault": "Nenhum projeto ainda. Crie seu primeiro jogo!",
    "emptySearch": "Nenhum projeto corresponde à sua busca.",
    "emptyCloud": "Nenhum projeto na nuvem ainda. Publicar ou promover um projeto o colocará aqui.",
    "cloudSignIn": "Entre no parallaxpro.ai para acessar seus projetos na nuvem.",
    "cloudSignInButton": "Entrar",
    "selectAll": "Selecionar tudo",
    "deleteSelected": "Excluir selecionados",
    "prev": "‹ Anterior",
    "next": "Próximo ›",
    "draft": "Rascunho",
    "published": "PUBLICADO",
    "deprecated": "OBSOLETO",
    "buildFailed": "CONSTRUÇÃO FALHOU",
    "justBuilt": "✓ RECÉM CONSTRUÍDO",
    "stopBuild": "Parar",
    "stopTooltip": "Parar esta construção (o processo será encerrado e o projeto desbloqueado)",
    "anonBanner": "Você está navegando anonimamente — seus projetos existem apenas neste navegador. Cadastre-se (grátis) para salvá-los em múltiplos dispositivos e desbloquear mais recursos.",
    "anonSignup": "Cadastrar",
    "anonLogin": "Entrar",
    "restartNotice": "Podemos reiniciar os servidores a qualquer momento enquanto iteramos e resolvemos problemas — desculpe pelos transtornos! Seus projetos são sempre salvos, mas uma construção AI longa pode ser interrompida e você precisará tentar novamente.",
    "newProjectModal": "Novo Projeto",
    "generateFromPrompt": "Gerar a partir do prompt",
    "generateHint": "Descreva sua ideia de jogo e o AI vai construí-la para você.",
    "generatePlaceholder": "Ex. Um platformer 3D com pulo duplo e coleta de moedas...",
    "buildFromTemplate": "Criar a partir de template",
    "templateHint": "Comece com um template de jogo pronto que você pode personalizar.",
    "templateSearch": "Buscar templates...",
    "login": "Entrar",
    "loginTooltip": "Entre no parallaxpro.ai para poder publicar este projeto",
    "logout": "Sair",
    "generate": "Gerar",
    "or": "ou",
    "noTemplatesMatch": "Nenhum template corresponde à sua busca",
    "loadingTemplates": "Carregando...",
    "statusAll": "Todos",
    "statusPublished": "Publicados",
    "statusDraft": "Rascunhos",
    "untitled": "Sem título",
    "moreActions": "Mais ações",
    "open": "Abrir",
    "rename": "Renomear",
    "duplicate": "Duplicar",
    "changeThumbnail": "Alterar miniatura",
    "setThumbnail": "Definir miniatura",
    "removeThumbnail": "Remover miniatura",
    "viewPublishedGame": "Ver jogo publicado",
    "updatePublish": "Publicar nova versão",
    "unpublish": "Despublicar",
    "delete": "Excluir",
    "clickToOpen": "Clique no card para abrir",
    "renameProject": "Renomear projeto",
    "newNamePlaceholder": "Novo nome",
    "deleteProject": "Excluir projeto",
    "deleteCloudProject": "Excluir projeto na nuvem",
    "deleteLocalCopy": "Excluir cópia local",
    "stopBuildConfirmTitle": "Parar esta construção?",
    "stopBuildConfirmMsg": "O processo será parado e todo o progresso desta tentativa será descartado. O projeto será desbloqueado — você pode recomeçar com um prompt diferente.",
    "unpublishGame": "Despublicar jogo",
    "cloudCopyDeleted": "Cópia na nuvem excluída",
    "keepAsLocalOnly": "Manter apenas como local",
    "deleteLocalToo": "Excluir local também"
  },
  "share": {
    "title": "Compartilhar projeto",
    "addPeople": "Adicionar pessoas",
    "emailPlaceholder": "Email ou nome de usuário",
    "editor": "Editor",
    "viewer": "Visualizador",
    "share": "Compartilhar",
    "peopleWithAccess": "Pessoas com acesso",
    "owner": "Proprietário",
    "removeAccess": "Remover acesso",
    "notSharedYet": "Ainda não compartilhado com ninguém.",
    "couldNotLoad": "Não foi possível carregar os compartilhamentos.",
    "enterEmailOrUsername": "Digite um email ou nome de usuário.",
    "invitationSent": "Convite enviado para {email}",
    "sharedWith": "Compartilhado com {email}",
    "done": "Pronto"
  },
  "feedbackModal": {
    "title": "Enviar feedback",
    "whatFeedback": "Qual feedback você tem?",
    "placeholder": "Descreva o problema, sugestão ou feedback...",
    "screenshotsLabel": "Capturas de tela (opcional, máx. 5 imagens, 5MB cada)",
    "addImage": "+ Adicionar imagem",
    "exceedsLimit": "{name} excede o limite de 5MB.",
    "enterFeedback": "Por favor digite seu feedback.",
    "sendFailed": "Falha ao enviar feedback.",
    "sent": "Feedback enviado! Obrigado.",
    "cancel": "Cancelar",
    "send": "Enviar"
  },
  "assets": {
    "title": "Assets & Máquinas de Estado Finito & Desempenho",
    "projectFiles": "Arquivos do projeto",
    "assetLibrary": "Biblioteca de assets",
    "fsm": "FSM",
    "performance": "Desempenho",
    "scenes": "Cenas",
    "untitledScene": "Cena sem título",
    "usedAssets": "Assets usados",
    "searchAssets": "Buscar assets...",
    "allTypes": "Todos os tipos",
    "assetLibraryBreadcrumb": "Biblioteca de assets",
    "noItemsFound": "Nenhum item encontrado",
    "noAssetsFound": "Nenhum asset encontrado",
    "prevPage": "‹ Anterior",
    "nextPage": "Próximo ›"
  },
  "hierarchy": {
    "title": "Hierarquia",
    "addEntity": "Adicionar entidade",
    "searchEntities": "Buscar entidades...",
    "noSceneLoaded": "Nenhuma cena carregada",
    "newScene": "Nova cena",
    "emptyEntity": "Entidade vazia",
    "rename": "Renomear",
    "deleteScene": "Excluir cena",
    "createChild": "Criar filho",
    "deleteLocked": "Excluir (bloqueado)",
    "show": "Mostrar",
    "hide": "Ocultar"
  },
  "properties": {
    "title": "Propriedades",
    "noSelection": "Nenhuma entidade selecionada",
    "entitiesSelected": "{count} entidades selecionadas",
    "active": "Ativo",
    "enabled": "Habilitado",
    "addComponent": "Adicionar componente",
    "addComponentToAll": "Adicionar componente a todos",
    "removeComponent": "Remover componente",
    "removeFromEntities": "Remover de {count} entidades",
    "reset": "Redefinir",
    "copyValues": "Copiar valores",
    "pasteValues": "Colar valores",
    "addTag": "Adicionar tag",
    "enterTagName": "Digite o nome da tag:",
    "scriptProperties": "Propriedades",
    "viewFSMs": "Ver FSMs",
    "viewFSMsTooltip": "Mudar para a aba FSM e mostrar as máquinas de estado desta entidade",
    "sculptTerrain": "Esculpir terreno",
    "stopSculpting": "Parar de esculpir",
    "brush": "Pincel",
    "raise": "Elevar",
    "lower": "Abaixar",
    "smooth": "Suavizar",
    "flatten": "Achatar",
    "radius": "Raio",
    "strength": "Força"
  },
  "publish": {
    "title": "Publicar jogo",
    "manage": "Gerenciar jogo publicado",
    "gameName": "Nome do jogo",
    "gameNamePlaceholder": "Meu jogo incrível",
    "urlSlug": "URL Slug",
    "urlSlugPlaceholder": "my-awesome-game",
    "version": "Versão",
    "changelogLabel": "Registro de alterações (opcional)",
    "changelogPlaceholder": "O que há nesta versão...",
    "visibility": "Visibilidade",
    "visibilityPublic": "Público",
    "visibilityUnlisted": "Não listado",
    "thumbnail": "Miniatura (opcional)",
    "noImage": "Sem imagem",
    "upload": "Enviar",
    "change": "Alterar",
    "cancel": "Cancelar",
    "publish": "Publicar",
    "gameNameRequired": "O nome do jogo é obrigatório.",
    "slugInvalid": "O slug deve ter 3-64 caracteres, letras minúsculas e hífens.",
    "versionInvalid": "Digite uma versão válida (ex. 1.0.0).",
    "publishNewVersion": "Publicar nova versão",
    "changelogOptional": "Registro de alterações (opcional)",
    "versionRequired": "Digite uma versão válida.",
    "setLive": "Ativar",
    "checkout": "Checkout",
    "revertConfirm": "Reverter projeto para v{version}? Seu estado atual do editor será substituído.",
    "unpublishGame": "Despublicar jogo",
    "unpublishConfirm": "Despublicar este jogo? Ele não será mais acessível aos jogadores.",
    "successTitle": "Publicado!",
    "successMessage": "A versão {version} está ativa!",
    "done": "Pronto",
    "close": "Fechar",
    "mismatchTitle": "Versão do motor não suportada",
    "gotIt": "Entendi",
    "saving": "Salvando…",
    "saved": "Salvo"
  },
  "profiler": {
    "title": "Desempenho",
    "engineNotRunning": "Motor não está rodando",
    "copyStats": "Copiar estatísticas",
    "copied": "Copiado!",
    "copyFailed": "Falha ao copiar",
    "smoothness": "Suavidade (últimos 2 segundos)",
    "smoothnessHint": "Mais baixo e plano é melhor. A linha vermelha marca 60 fps suaves.",
    "frameBudget": "Para onde vai o tempo do seu frame",
    "frameBudgetHint": "Visão agrupada de no que o motor gasta tempo em cada frame.",
    "onScreen": "O que está na tela",
    "drawCalls": "Draw calls",
    "triangles": "Triângulos",
    "entities": "Entidades",
    "showDetails": "Mostrar detalhes",
    "cpuPhases": "Fases da CPU (por tickOneFrame)",
    "cpuPhasesHint": "Cada fase cronometrada separadamente — a barra mostra a proporção do tempo total do tick.",
    "renderPasses": "Passes de renderização (CPU submit, ms)",
    "renderPassesHint": "Custo aproximado por passe — tempo de CPU montando e enviando comandos. Não é tempo real de GPU.",
    "renderer": "Renderer (último frame)",
    "meshesDrawn": "Meshes desenhados",
    "scripts": "Scripts",
    "meshesTotal": "Meshes totais",
    "scriptCost": "Custo por script (este frame)",
    "scriptCostHint": "Soma de onUpdate / onFixedUpdate / onLateUpdate em todas as entidades que compartilham o mesmo script.",
    "jsHeap": "JS heap (MB)",
    "jsHeapHint": "Apenas Chrome — útil para detectar vazamentos de memória.",
    "noDataYet": "Sem dados ainda.",
    "noRenderPasses": "Nenhum passe de renderização medido.",
    "noScriptsActive": "Nenhum script ativo (pressione Play para ver os tempos).",
    "labelSmooth": "Suave",
    "labelOK": "OK",
    "labelChoppy": "Irregular",
    "labelLaggy": "Com lag",
    "scripts_budget": "Scripts",
    "physics_budget": "Física",
    "animation_budget": "Animação",
    "rendering_budget": "Renderização",
    "other_budget": "Outro"
  },
  "modal": {
    "cancel": "Cancelar",
    "ok": "OK",
    "confirm": "Confirmar"
  },
  "modelGen": {
    "health": {
      "checking": "verificando…",
      "unavailable": "Serviço de GPU indisponível",
      "offline": "Offline — nenhum worker disponível",
      "onlineSingular": "Online · {count} worker disponível",
      "onlinePlural": "Online · {count} workers disponíveis",
      "queuedSuffix": " · {count} na fila"
    },
    "notice": {
      "searchFirstBold": "Pesquise na Comunidade primeiro.",
      "searchFirstBody": "Explore os modelos 3D existentes na biblioteca da comunidade abaixo antes de gerar — é instantâneo e economiza tempo de GPU.",
      "publicBold": "Podemos tornar suas gerações públicas.",
      "publicBody": "Após revisão e recomendação, seu prompt e o modelo resultante são visíveis para outros usuários. Não inclua informações pessoais ou conteúdo com direitos autorais."
    },
    "mode": {
      "fromText": "Do texto",
      "fromImage": "Da imagem"
    },
    "text": {
      "label": "Descreva um modelo 3D:",
      "placeholder": "ex.: \"barril de madeira\", \"árvore low-poly\", \"espada de anime\"",
      "previewBtn": "Pré-visualizar imagem",
      "needPrompt": "Digite um prompt primeiro.",
      "tooShort": "O prompt deve ter pelo menos {min} caracteres.",
      "generating": "Gerando pré-visualização…",
      "previewFailed": "falha na pré-visualização"
    },
    "image": {
      "label": "Envie uma imagem do objeto:",
      "dropPrimary": "Clique para escolher ou arraste uma imagem",
      "dropHint": "PNG, JPG ou WEBP — até 8 MB",
      "tooLarge": "A imagem deve ter menos de 8 MB.",
      "uploading": "Enviando…",
      "uploadFailed": "falha no envio",
      "labelInputLabel": "Rotule esta imagem (para que ela possa ser pesquisada):",
      "labelInputPlaceholder": "ex.: \"maçã vermelha\", \"elmo medieval\""
    },
    "preview": {
      "labelText": "Pré-visualização — confirme para gerar o modelo 3D a partir desta imagem:",
      "labelImage": "Pré-visualização — confirme para gerar:",
      "refinePrompt": "Refinar prompt",
      "chooseDifferent": "Escolher outro arquivo",
      "confirm": "Confirmar e gerar 3D"
    },
    "submit": {
      "submitting": "Enviando…",
      "submitFailed": "falha no envio",
      "cacheHit": "✓ Modelo compartilhado correspondente encontrado — adicionado à biblioteca."
    },
    "active": {
      "header": "Em andamento",
      "uploadedImage": "(imagem enviada)",
      "stageQueued": "na fila",
      "stageStarting": "iniciando",
      "stageFetching": "obtendo imagem",
      "stageGenerating": "gerando",
      "stageUploading": "enviando",
      "stageOrienting": "orientando",
      "failedLabel": "Falhou",
      "failedUnknown": "erro desconhecido",
      "dismissFailed": "Descartar"
    },
    "library": {
      "scopeMine": "Minhas gerações",
      "scopeCommunity": "Comunidade",
      "refresh": "Atualizar biblioteca",
      "search": "Pesquisar gerações…",
      "empty": "Nenhuma geração ainda.",
      "emptyMatches": "Nenhum resultado.",
      "emptyCommunity": "Nenhuma geração da comunidade ainda.",
      "notAvailable": "A geração de modelos 3D não está disponível neste backend."
    },
    "errorPrefix": "Erro: {message}"
  },
  "soundFx": {
    "header": "Efeitos sonoros",
    "usageTooltip": "Uploads diários. Reinicia à meia-noite UTC.",
    "daily": "Hoje: {today}/{limit}",
    "notice": {
      "privateBold": "Não listado, mas não é privado.",
      "privateBody": "Apenas você pode usar esses clipes no chat ou nos seus jogos — mas os arquivos de áudio em si não têm autenticação.",
      "extract": "Qualquer pessoa com a URL (um amigo com quem você compartilhou, alguém que pegou o link ou qualquer pessoa que jogue um jogo publicado seu que usa o clipe) pode baixar e reusar o áudio.",
      "tokenHint": "As URLs usam tokens aleatórios longos, então são difíceis de adivinhar, mas trate tudo que você sobe aqui como efetivamente público — não envie áudio que você não queira que seja extraído."
    },
    "mode": {
      "upload": "Enviar",
      "record": "Gravar"
    },
    "upload": {
      "dropPrimary": "Solte o arquivo de áudio ou clique para selecionar",
      "dropHint": "≤10s · wav, mp3, ogg, flac · máx. 2 MB",
      "reading": "Lendo arquivo…",
      "parseFailed": "Não foi possível ler o arquivo de áudio. Tente outro formato.",
      "tooLarge": "Arquivo muito grande ({mb} MB > 2 MB).",
      "tooLong": "Clipe muito longo ({s}s > {max}s)."
    },
    "record": {
      "btnStart": "Gravar",
      "btnStop": "Parar",
      "hint": "A gravação para automaticamente em 10s. Clique de novo para parar antes.",
      "micDenied": "Acesso ao microfone negado: {reason}",
      "recorderUnavailable": "Gravador indisponível: {reason}",
      "encoding": "Codificando…",
      "encodeFailed": "Falha na codificação: {reason}",
      "noAudio": "Nenhum áudio capturado."
    },
    "staged": {
      "headerUpload": "Clipe selecionado",
      "headerRecording": "Clipe gravado",
      "labelPlaceholder": "Rótulo (p. ex. \"explosão\", \"pulo\", \"ai\")",
      "cancel": "Cancelar",
      "save": "Salvar",
      "needLabel": "Por favor digite um rótulo.",
      "labelTooLong": "Rótulo muito longo (máx. {max})."
    },
    "library": {
      "header": "Meus clipes",
      "refresh": "Atualizar",
      "empty": "Envie ou grave para adicionar seu primeiro clipe.",
      "loading": "Carregando…",
      "couldNotLoad": "Não foi possível carregar: {reason}",
      "deleteConfirm": "Excluir \"{label}\"?",
      "deleteFailed": "Falha ao excluir: {reason}",
      "addToChatTooltip": "Adicionar este clipe como dica para o AI Assistant",
      "deleteTooltip": "Excluir"
    },
    "save": {
      "uploading": "Enviando…",
      "saved": "Salvo.",
      "failed": "Falha ao salvar: {reason}"
    }
  }
}
