import type { Dict } from '../types'; export const ptBR: Dict = { 'common.cancel': 'Cancelar', 'common.save': 'Salvar', 'common.close': 'Fechar', 'common.delete': 'Excluir', 'common.rename': 'Renomear', 'common.preview': 'Prévia', 'common.share': 'Compartilhar', 'common.search': 'Buscar', 'common.searchEllipsis': 'Buscar…', 'common.loading': 'Carregando…', 'common.all': 'Todos', 'common.none': 'Nenhum', 'common.default': 'Padrão', 'common.installed': 'instalado', 'common.notInstalled': 'não instalado', 'common.active': 'ativo', 'common.offline': 'offline', 'common.selected': 'selecionado', 'common.create': 'Criar', 'common.openPreview': 'Abrir prévia', 'common.exitFullscreen': 'Sair da tela cheia', 'common.fullscreen': 'Tela cheia', 'common.openInNewTab': 'Abrir em nova aba', 'common.exportPdf': 'Exportar como PDF', 'common.exportZip': 'Baixar como .zip', 'common.exportHtml': 'Exportar como HTML independente', 'common.justNow': 'agora mesmo', 'common.minutesAgo': 'há {n} min', 'common.hoursAgo': 'há {n} h', 'common.daysAgo': 'há {n} d', 'common.now': 'agora', 'common.minutesShort': '{n} min', 'common.hoursShort': '{n} h', 'common.daysShort': '{n} d', 'common.untitled': 'Sem título', 'app.brand': 'Open Design', 'app.brandPill': 'Prévia de pesquisa', 'app.brandSubtitle': 'por Nexu Labs', 'app.welcomeLoading': 'Carregando área de trabalho…', 'settings.welcomeKicker': 'Bem-vindo', 'settings.welcomeTitle': 'Configure o Open Design', 'settings.welcomeSubtitle': 'Escolha como você quer executar as gerações. Você pode mudar isso a qualquer momento no botão Configurações da barra superior.', 'settings.kicker': 'Configurações', 'settings.title': 'Execução e modelo', 'settings.subtitle': 'Escolha entre CLI local e BYOK. Sua chave de API fica armazenada apenas neste navegador.', 'settings.modeAria': 'Modo de execução', 'settings.protocolAria': 'Protocolo de API', 'settings.modeDaemon': 'CLI local', 'settings.modeDaemonHelp': 'Execute por uma CLI de agente de código na sua máquina', 'settings.modeDaemonOffline': 'Daemon não está em execução', 'settings.modeDaemonOfflineMeta': 'daemon offline', 'settings.modeDaemonInstalledMeta': '{count} instalados', 'settings.modeApi': 'Provedor de API', 'settings.modeApiMeta': 'BYOK', 'settings.codeAgent': 'Agente de código', 'settings.codeAgentHint': 'Detectado ao escanear seu PATH. Escolha a CLI por onde as gerações devem passar.', 'settings.rescan': '↻ Reescanear', 'settings.rescanTitle': 'Reescanear PATH', 'settings.rescanRunning': 'Escaneando...', 'settings.rescanSuccess': 'Escaneamento concluido. {count} disponiveis.', 'settings.rescanFailed': 'Falha ao escanear. Verifique o daemon e tente novamente.', 'settings.noAgentsDetected': 'Nenhum agente detectado ainda. Instale Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen ou GitHub Copilot CLI e clique em Reescanear.', 'settings.apiSection': 'API da Anthropic', 'settings.quickFillProvider': 'Preencher provedor', 'settings.customProvider': 'Provedor personalizado', 'settings.apiKey': 'Chave de API', 'settings.showKey': 'Mostrar chave', 'settings.hideKey': 'Ocultar chave', 'settings.show': 'Mostrar', 'settings.hide': 'Ocultar', 'settings.model': 'Modelo', 'settings.suggestedModelsHint': 'Estes são modelos sugeridos para este protocolo. Seu provedor pode oferecer suporte a modelos diferentes.', 'settings.baseUrl': 'URL base', 'settings.baseUrlInvalid': 'Informe uma URL pública http:// ou https:// válida. Localhost é permitido; IPs de rede privada são bloqueados.', 'settings.azureDeploymentModel': 'Nome do deployment', 'settings.azureDeploymentModelHint': 'No Azure OpenAI, este campo e usado como nome do deployment em /openai/deployments/. Informe o nome do deployment criado no Azure.', 'settings.apiVersion': 'Versão da API', 'settings.maxTokens': 'Tokens máx. (opcional)', 'settings.maxTokensHint': 'Limite para o comprimento da resposta. Cada modelo tem um valor padrão ajustado (visível no placeholder); deixe em branco para usá-lo ou insira um número para substituí-lo.', 'settings.apiHint': 'As chamadas passam pelo proxy do daemon local até a Base URL definida. A chave fica armazenada apenas neste navegador e é enviada com as requisições ao provedor.', 'settings.skipForNow': 'Pular por enquanto', 'settings.getStarted': 'Começar', 'settings.envConfigure': 'Configurar modo de execução', 'settings.localCli': 'CLI local', 'settings.anthropicApi': 'API da Anthropic', 'settings.noAgentSelected': 'nenhum agente selecionado', 'settings.language': 'Idioma', 'settings.languageHint': 'Altere o idioma da interface. Salvo neste navegador.', 'settings.appearance': 'Aparência', 'settings.appearanceHint': 'Escolha claro, escuro ou seguir as configurações do sistema.', 'settings.themeSystem': 'Sistema', 'settings.themeLight': 'Claro', 'settings.themeDark': 'Escuro', 'settings.modelPicker': 'Modelo', 'settings.reasoningPicker': 'Esforço de raciocínio', 'settings.modelPickerHint': 'Buscado na CLI quando ela expõe um comando `models`. "Padrão" deixa a escolha para a configuração da própria CLI; "Personalizado…" permite digitar qualquer id de modelo aceito pela CLI.', 'settings.modelCustom': 'Personalizado (digite abaixo)…', 'settings.modelCustomLabel': 'Id do modelo personalizado', 'settings.modelCustomPlaceholder': 'ex.: anthropic/claude-sonnet-4-6', 'settings.mediaProviders': 'Provedores de mídia', 'settings.mediaProvidersHint': 'Chaves de API para geração de imagem, vídeo e áudio. Salvas localmente e sincronizadas com o daemon local.', 'settings.mediaProviderApiKey': 'API key', 'settings.mediaProviderBaseUrl': 'Base URL', 'settings.mediaProviderConfigured': 'Configurado', 'settings.mediaProviderUnset': 'Não configurado', 'settings.mediaProviderClear': 'Limpar', 'settings.mediaProviderPlaceholder': 'Cole a API key', 'settings.mediaProviderBaseUrlPlaceholder': 'Sobrescrever Base URL padrão', 'settings.about': 'Sobre', 'settings.aboutHint': 'Versão e detalhes de execução', 'settings.appVersion': 'Versão', 'settings.appChannel': 'Canal', 'settings.appRuntime': 'Runtime', 'settings.appPlatform': 'Plataforma', 'settings.appArchitecture': 'Arquitetura', 'settings.runtimePackaged': 'App empacotado', 'settings.runtimeDevelopment': 'Desenvolvimento', 'settings.versionUnavailable': 'Os detalhes de versão ficam indisponíveis enquanto o daemon está offline.', 'entry.tabDesigns': 'Designs', 'entry.tabExamples': 'Exemplos', 'entry.tabDesignSystems': 'Sistemas de design', 'entry.openSettingsTitle': 'Configurações', 'entry.openSettingsAria': 'Abrir configurações', 'entry.resizeAria': 'Redimensionar barra lateral', 'entry.loadingWorkspace': 'Carregando área de trabalho…', 'entry.tabImageTemplates': 'Modelos de imagem', 'entry.tabVideoTemplates': 'Modelos de vídeo', 'promptTemplates.searchPlaceholder': 'Buscar templates…', 'promptTemplates.countLabel': '{n} resultados', 'promptTemplates.emptyImage': 'Nenhum template de prompt de imagem instalado.', 'promptTemplates.emptyVideo': 'Nenhum template de prompt de vídeo instalado.', 'promptTemplates.emptyNoMatch': 'Nenhum template corresponde à busca.', 'promptTemplates.attributionFooter': 'Adaptado de bibliotecas públicas de prompts. Cada card aponta para o autor original.', 'promptTemplates.openPreviewTitle': 'Abrir prompt e prévia', 'promptTemplates.sourcePrefix': 'Fonte:', 'promptTemplates.fetchError': 'Não foi possível carregar o corpo deste template.', 'promptTemplates.promptLabel': 'Corpo do prompt', 'promptTemplates.copyPrompt': 'Copiar prompt', 'promptTemplates.copyDone': 'Copiado!', 'promptTemplates.modelHint': 'Modelo sugerido: {model}', 'promptTemplates.openSource': 'Ver original', 'promptTemplates.openFullscreen': 'Abrir prévia em tela cheia', 'promptTemplates.closeFullscreen': 'Fechar prévia em tela cheia', 'promptTemplates.retry': 'Tentar novamente', 'newproj.tabPrototype': 'Protótipo', 'newproj.tabDeck': 'Apresentação', 'newproj.tabTemplate': 'A partir de template', 'newproj.tabOther': 'Outro', 'newproj.titlePrototype': 'Novo protótipo', 'newproj.titleDeck': 'Nova apresentação', 'newproj.titleTemplate': 'Começar de um template', 'newproj.titleImage': 'Nova imagem', 'newproj.titleVideo': 'Novo vídeo', 'newproj.titleAudio': 'Novo áudio', 'newproj.titleOther': 'Novo projeto', 'newproj.namePlaceholder': 'Nome do projeto', 'newproj.fidelityLabel': 'Fidelidade', 'newproj.fidelityWireframe': 'Wireframe', 'newproj.fidelityHigh': 'Alta fidelidade', 'newproj.toggleSpeakerNotes': 'Usar notas do apresentador', 'newproj.toggleSpeakerNotesHint': 'Menos texto nos slides — deixe os pontos de fala nas notas.', 'newproj.toggleAnimations': 'Incluir animações', 'newproj.toggleAnimationsHint': 'Adicionar movimento (entrada, hover, transições) sobre o template.', 'newproj.templateLabel': 'Template', 'newproj.noTemplatesTitle': 'Ainda não há templates', 'newproj.noTemplatesBody': 'Abra qualquer projeto e use o menu Compartilhar no visualizador de arquivos para convertê-lo em template. Os templates aparecem aqui.', 'newproj.savedTemplate': 'Template salvo', 'newproj.fileSingular': 'arquivo', 'newproj.filePlural': 'arquivos', 'newproj.create': 'Criar', 'newproj.createFromTemplate': 'Criar a partir do template', 'newproj.createDisabledTitle': 'Salve primeiro um projeto como template (menu Compartilhar dentro de qualquer projeto).', 'newproj.importClaudeZip': 'Importar ZIP do Claude Design', 'newproj.importClaudeZipTitle': 'Importar uma exportação .zip do Claude Design', 'newproj.importingClaudeZip': 'Importando…', 'newproj.privacyFooter': 'Por padrão, só você pode ver seu projeto.', 'newproj.designSystem': 'Sistema de design', 'newproj.dsNoneFreeform': 'Nenhum — livre', 'newproj.dsNoneSubtitleEmpty': 'Sem tokens de sistema, escolha sua própria paleta', 'newproj.dsNoneSubtitleSelected': 'Pular tokens de sistema. O agente escolhe a própria paleta.', 'newproj.dsCategoryFallback': 'Sistema de design', 'newproj.dsSearch': 'Buscar sistemas de design…', 'newproj.dsModeAria': 'Modo de seleção', 'newproj.dsModeSingle': 'Único', 'newproj.dsModeMulti': 'Múltiplo', 'newproj.dsNoneTitle': 'Nenhum — livre', 'newproj.dsNoneSub': 'Pular tokens de sistema. O agente escolhe a própria paleta.', 'newproj.dsEmpty': 'Nenhum sistema de design corresponde a “{query}”.', 'newproj.dsFootSingular': 'é apenas inspiração.', 'newproj.dsFootPlural': 'são apenas inspiração.', 'newproj.dsFootClear': 'Limpar', 'newproj.dsBadgeDefault': 'PADRÃO', 'newproj.dsPrimaryFallback': 'Principal', 'newproj.surfaceImage': 'Imagem', 'newproj.surfaceVideo': 'Vídeo', 'newproj.surfaceAudio': 'Áudio', 'newproj.modelLabel': 'Modelo', 'newproj.aspectLabel': 'Proporção', 'newproj.imageStyleLabel': 'Notas de estilo', 'newproj.imageStylePlaceholder': 'Foto editorial, luz suave, paleta contida', 'newproj.videoLengthLabel': 'Duração', 'newproj.videoLengthSeconds': '{n}s', 'newproj.audioKindLabel': 'Tipo de áudio', 'newproj.audioKindMusic': 'Música', 'newproj.audioKindSpeech': 'Voz / TTS', 'newproj.audioKindSfx': 'Efeito sonoro', 'newproj.audioDurationLabel': 'Duração', 'newproj.audioDurationSeconds': '{n}s', 'newproj.voiceLabel': 'Voz', 'newproj.voicePlaceholder': 'Voice id do provedor, opcional', 'newproj.promptTemplateLabel': 'Modelo de referência', 'newproj.promptTemplateNoneTitle': 'Nenhum — escreva o seu', 'newproj.promptTemplateNoneSub': 'Pule a galeria e descreva o próprio briefing', 'newproj.promptTemplateRefSub': 'Modelo de referência', 'newproj.promptTemplateSearch': 'Buscar modelos…', 'newproj.promptTemplateEmpty': 'Nenhum modelo instalado para este formato ainda.', 'newproj.promptTemplateBodyLabel': 'Prompt (você pode ajustar)', 'newproj.promptTemplateOptimizeHint': 'Edite o que quiser — suas alterações entram no briefing do agente.', 'newproj.promptTemplateBodyEmpty': 'Corpo vazio — o agente não receberá nenhuma referência de modelo.', 'designs.subRecent': 'Recentes', 'designs.subYours': 'Seus designs', 'designs.filterAria': 'Filtrar projetos', 'designs.searchPlaceholder': 'Buscar…', 'designs.emptyNoProjects': 'Ainda não há projetos. Crie um à esquerda.', 'designs.emptyNoMatch': 'Nenhum projeto corresponde à sua busca.', 'designs.deleteTitle': 'Excluir projeto', 'designs.deleteConfirm': 'Excluir "{name}"?', 'designs.cardFreeform': 'livre', 'designs.status.notStarted': 'Não iniciado', 'designs.status.queued': 'Na fila', 'designs.status.running': 'Em execução', 'designs.status.awaitingInput': 'Aguardando resposta', 'designs.status.succeeded': 'Concluído', 'designs.status.failed': 'Falhou', 'designs.status.canceled': 'Cancelado', 'designs.viewToggleAria': 'Modo de visualização', 'designs.viewGrid': 'Visualização em grade', 'designs.viewKanban': 'Visualização em quadro', 'designs.kanbanEmptyColumn': 'Sem designs', 'designs.deleteAria': 'Excluir projeto {name}', 'examples.typeLabel': 'Tipo', 'examples.surfaceLabel': 'Superfície', 'examples.surfaceWeb': 'Web', 'examples.surfaceImage': 'Imagem', 'examples.surfaceVideo': 'Vídeo', 'examples.surfaceAudio': 'Áudio', 'examples.scenarioLabel': 'Cenário', 'examples.modeAll': 'Todos', 'examples.modePrototypeDesktop': 'Protótipos · Desktop', 'examples.modePrototypeMobile': 'Protótipos · Mobile', 'examples.modeDeck': 'Slides', 'examples.modeDocument': 'Docs e templates', 'examples.scenarioGeneral': 'Geral', 'examples.scenarioEngineering': 'Engenharia', 'examples.scenarioProduct': 'Produto', 'examples.scenarioDesign': 'Design', 'examples.scenarioMarketing': 'Marketing', 'examples.scenarioSales': 'Vendas', 'examples.scenarioFinance': 'Finanças', 'examples.scenarioHr': 'RH', 'examples.scenarioOperations': 'Operações', 'examples.scenarioSupport': 'Suporte', 'examples.scenarioLegal': 'Jurídico', 'examples.scenarioEducation': 'Educação', 'examples.scenarioPersonal': 'Pessoal', 'examples.emptyNoSkills': 'Nenhuma skill disponível. O daemon está em execução?', 'examples.searchPlaceholder': 'Buscar exemplos…', 'examples.searchAria': 'Buscar exemplos por nome', 'examples.emptyNoMatch': 'Nenhum exemplo corresponde a esses filtros.', 'examples.openPreview': '⤢ Abrir prévia', 'examples.loadingPreview': 'Carregando prévia…', 'examples.hoverPreview': 'Passe o cursor para ver a prévia', 'examples.usePrompt': 'Usar este prompt', 'examples.previewModalTitle': 'Abrir prévia completa (modal)', 'examples.shareTitle': 'Compartilhar este exemplo', 'examples.shareLoadFirst': 'Passe o cursor para carregar a prévia primeiro', 'examples.shareMenu': 'Compartilhar ▾', 'examples.exportPdfAllSlides': 'Exportar como PDF (todos os slides)', 'examples.exportPptxLocked': 'Exportar como PPTX… (abra o template primeiro)', 'examples.tagSlideDeck': 'Apresentação', 'examples.tagTemplate': 'Template', 'examples.tagDesignSystem': 'Sistema de design', 'examples.tagMobilePrototype': 'Protótipo mobile', 'examples.tagDesktopPrototype': 'Protótipo desktop', 'examples.tagImage': 'Imagem', 'examples.tagVideo': 'Vídeo', 'examples.tagAudio': 'Áudio', 'examples.previewLabel': 'Prévia', 'ds.surfaceLabel': 'Superfície', 'ds.surfaceWeb': 'Web', 'ds.surfaceImage': 'Imagem', 'ds.surfaceVideo': 'Vídeo', 'ds.surfaceAudio': 'Áudio', 'ds.searchPlaceholder': 'Buscar sistemas de design…', 'ds.emptyNoMatch': 'Nenhum sistema de design corresponde à sua busca.', 'ds.badgeDefault': 'PADRÃO', 'ds.preview': 'Prévia', 'ds.previewTitle': 'Prévia do sistema de design', 'ds.categoryAll': 'Todos', 'ds.categoryUncategorized': 'Sem categoria', 'ds.showcase': 'Vitrine', 'ds.tokens': 'Tokens', 'ds.specToggle': 'DESIGN.md', 'ds.specLoading': 'Carregando DESIGN.md…', 'avatar.title': 'Conta e configurações', 'avatar.localCli': 'CLI local', 'avatar.anthropicApi': 'API da Anthropic', 'avatar.useLocal': 'Usar CLI local', 'avatar.useApi': 'Usar API · BYOK', 'avatar.codeAgent': 'Agente de código', 'avatar.rescan': 'Reescanear PATH', 'avatar.settings': 'Configurações', 'avatar.backToProjects': 'Voltar aos projetos', 'avatar.metaActive': 'ativo', 'avatar.metaOffline': 'offline', 'avatar.metaSelected': 'selecionado', 'avatar.noAgentSelected': 'nenhum agente selecionado', 'avatar.modelSection': 'Modelo', 'avatar.modelLabel': 'Modelo', 'avatar.reasoningLabel': 'Raciocínio', 'avatar.customSuffix': '(personalizado)', 'project.backToProjects': 'Voltar aos projetos', 'project.metaFreeform': 'livre', 'chat.tabChat': 'Chat', 'chat.tabComments': 'Comentários', 'chat.commentsSoon': 'Comentários — em breve', 'chat.comments.attached': 'Attached to chat', 'chat.comments.emptyAttached': 'No comments attached.', 'chat.comments.saved': 'Saved comments', 'chat.comments.emptySaved': 'No saved comments.', 'chat.comments.add': 'Add', 'chat.comments.addAll': 'Add all', 'chat.comments.remove': 'Remove', 'chat.comments.placeholder': 'Comment on this element…', 'chat.comments.addSend': 'Add & send', 'chat.comments.updateSend': 'Update & send', 'chat.comments.removeAttachment': 'Remove comment attachment', 'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}', 'chat.conversationsTitle': 'Conversas', 'chat.conversationsAria': 'Histórico de conversas', 'chat.newConversation': 'Nova conversa', 'chat.newConversationsTitle': 'Nova conversa', 'chat.conversationsHeading': 'Conversas', 'chat.new': 'Nova', 'chat.emptyConversations': 'Ainda não há conversas.', 'chat.deleteConversation': 'Excluir conversa', 'chat.deleteConversationConfirm': 'Excluir "{title}"? Isso remove as mensagens.', 'chat.untitledConversation': 'Conversa sem título', 'chat.startTitle': 'Comece uma conversa', 'chat.startHint': 'Arraste ou cole imagens como referência visual, ou digite @ para anexar um arquivo deste projeto. Ou experimente um destes começos:', 'chat.fillInputTitle': 'Clique para preencher o campo', 'chat.jumpToLatest': 'Ir para a mais recente', 'chat.scrollToLatest': 'Rolar para a mais recente', 'chat.you': 'Você', 'chat.openFile': 'Abrir {name}', 'chat.composerPlaceholder': 'Descreva o design que você quer — cole ou arraste imagens, ou use @ para referenciar um arquivo…', 'chat.composerHint': '⌘/Ctrl + Enter para enviar · cole imagens · @ para referenciar arquivos', 'chat.cliSettingsTitle': 'Configurações de CLI e modelo', 'chat.cliSettingsAria': 'Abrir configurações de CLI e modelo', 'chat.attachTitle': 'Anexar arquivos (ou colar / arrastar)', 'chat.attachAria': 'Anexar arquivos', 'chat.importTitle': 'Importar fontes (em breve)', 'chat.importLabel': 'Importar', 'chat.importComingSoon': 'Em breve', 'chat.importSoon': 'Em breve', 'chat.importFig': 'Enviar arquivo .fig', 'chat.importGitHub': 'Conectar GitHub', 'chat.importWeb': 'Capturar elemento web', 'chat.importFolder': 'Vincular pasta de código', 'chat.importSkills': 'Skills e sistemas de design', 'chat.importProject': 'Referenciar outro projeto', 'chat.send': 'Enviar', 'chat.stop': 'Parar', 'chat.removeAria': 'Remover {name}', 'chat.example1Title': 'Pitch deck editorial', 'chat.example1Tag': 'Revista', 'chat.example1Prompt': 'Uma apresentação editorial de 10 slides para um estúdio de design levantando uma rodada seed — layout em grid suíço, títulos serifados enormes com capitulares marcantes, números de seção em monoespaçada, bastante espaço negativo e slides com fotos em tela cheia intercalados com slides densos de texto. Capa, visão, mercado, produto, tração, equipe, pedido, contato.', 'chat.example2Title': 'Dashboard de analytics SaaS', 'chat.example2Tag': 'Dados', 'chat.example2Prompt': 'Um dashboard denso de analytics para um SaaS de ferramentas de desenvolvedor — faixa de KPIs com variações semanais, dois gráficos de linha empilhados (MRR e workspaces ativos), um mapa-múndi de calor de uso, uma grade de retenção por coorte, ranking de principais clientes e feed de eventos em tempo real. Tema escuro, números tabulares monoespaçados, acentos em sparklines.', 'chat.example3Title': 'Relatório anual long-scroll', 'chat.example3Tag': 'Editorial', 'chat.example3Prompt': 'Um relatório anual interativo para uma ONG climática — layout editorial long-scroll misturando grandes blocos de citações, visualizações de dados (barras empilhadas, contadores animados, mapa coroplético de locais de projetos), quebras com fotografia, mural de doadores e chamada final para ação. Corpo com serif moderna, rótulos de gráficos sem serifa, paleta terrosa de papel.', 'preview.shareMenu': 'Compartilhar ▾', 'preview.openInNewTab': 'Abrir em nova aba', 'preview.exit': '⤓ Sair', 'preview.fullscreen': '⤢ Tela cheia', 'preview.closeTitle': 'Fechar (Esc)', 'preview.loading': 'Carregando {label}…', 'preview.showSidebar': 'Mostrar {label}', 'preview.hideSidebar': 'Ocultar {label}', 'misc.savedTemplate': 'Template salvo', 'misc.primary': 'Principal', 'misc.designSystem': 'Sistema de design', 'workspace.designFiles': 'Arquivos de design', 'workspace.closeTab': 'Fechar aba', 'workspace.deleteFileConfirm': 'Excluir "{name}" da pasta do projeto?', 'workspace.openFromDesignFiles': 'Abra um arquivo em', 'workspace.designFilesLink': 'Arquivos de design', 'workspace.loadingSketch': 'Carregando esboço…', 'designFiles.title': 'Arquivos de design', 'designFiles.upload': 'Enviar arquivos', 'designFiles.pasteText': 'Colar como arquivo de texto', 'designFiles.newSketch': 'Novo esboço', 'designFiles.empty': 'Nada aqui ainda. Arraste arquivos abaixo, crie um esboço ou cole texto.', 'designFiles.refresh': 'Atualizar', 'designFiles.delete': 'Excluir', 'designFiles.searchPlaceholder': 'Buscar arquivos…', 'designFiles.up': 'Subir', 'designFiles.back': 'Voltar', 'designFiles.crumbs': 'projeto', 'designFiles.rowMenu': 'Menu da linha', 'designFiles.openInTab': 'Abrir em aba', 'designFiles.download': 'Baixar', 'designFiles.downloadSelected': 'Download {n} as ZIP', 'designFiles.clearSelection': 'Clear', 'designFiles.selectAll': 'Select all', 'designFiles.dropTitle': '⤓ Solte arquivos aqui', 'designFiles.dropDesc': 'Imagens, docs, referências ou pastas — o agente usará tudo como contexto.', 'designFiles.upload.title': 'Enviar arquivos', 'designFiles.paste.title': 'Colar texto como arquivo', 'designFiles.upload.label': 'Enviar', 'designFiles.paste.label': 'Colar', 'designFiles.previewOpen': 'Abrir', 'designFiles.previewClose': 'Fechar prévia', 'designFiles.modified': 'Modificado {time} · {size}', 'designFiles.weeksAgo': 'há {n} sem', 'designFiles.sectionPages': 'Páginas', 'designFiles.sectionScripts': 'Scripts', 'designFiles.sectionImages': 'Imagens', 'designFiles.sectionSketches': 'Esboços', 'designFiles.sectionOther': 'Outros', 'designFiles.showMore': 'Mostrar +{n} mais', 'designFiles.kindHtml': 'Página HTML', 'designFiles.kindImage': 'Imagem', 'designFiles.kindSketch': 'Esboço', 'designFiles.kindText': 'Texto', 'designFiles.kindCode': 'Script', 'designFiles.kindPdf': 'PDF', 'designFiles.kindDocument': 'Documento', 'designFiles.kindPresentation': 'Apresentação', 'designFiles.kindSpreadsheet': 'Planilha', 'designFiles.kindBinary': 'Binário', 'pasteDialog.title': 'Colar texto', 'pasteDialog.hint': 'Salvo na pasta do projeto. Escolha qualquer nome.', 'pasteDialog.fileNameLabel': 'Nome do arquivo', 'pasteDialog.namePlaceholder': 'notas.txt', 'pasteDialog.contentLabel': 'Conteúdo', 'pasteDialog.contentPlaceholder': 'Cole qualquer coisa…', 'pasteDialog.save': 'Salvar', 'pasteDialog.cancel': 'Cancelar', 'sketch.save': 'Salvar esboço', 'sketch.cancel': 'Cancelar', 'sketch.saving': 'Salvando…', 'sketch.tooltipDirty': 'Alterações não salvas', 'sketch.tooltipClean': 'Salvo', 'fileViewer.empty': 'Selecione um arquivo para visualizar.', 'fileViewer.loading': 'Carregando…', 'fileViewer.exportPptx': 'Exportar como PPTX', 'fileViewer.openInNewTab': 'Abrir em nova aba', 'fileViewer.copyPath': 'Copiar caminho', 'fileViewer.copied': 'Copiado!', 'fileViewer.share': 'Compartilhar', 'fileViewer.binaryMeta': 'Binário · {size}', 'fileViewer.binaryNote': 'Arquivo binário ({size} bytes). Baixe ou abra do disco para inspecionar.', 'fileViewer.pdfMeta': 'PDF · {size}', 'fileViewer.documentMeta': 'Documento', 'fileViewer.presentationMeta': 'Apresentação', 'fileViewer.spreadsheetMeta': 'Planilha', 'fileViewer.previewUnavailable': 'Prévia indisponível. Baixe ou abra o arquivo para inspecionar.', 'fileViewer.download': 'Baixar', 'fileViewer.open': 'Abrir', 'fileViewer.imageMeta': 'Imagem · {size}', 'fileViewer.reactMeta': 'Componente React · {size}', 'fileViewer.sketchMeta': 'Esboço · {size}', 'fileViewer.markdownStreamingMeta': 'Prévia em streaming…', 'fileViewer.markdownErrorMeta': 'A prévia pode estar incompleta (erro de geração).', 'fileViewer.markdownStreamingStatus': 'Streaming… mostrando markdown parcial.', 'fileViewer.markdownErrorStatus': 'Erro de geração. Mostrando o último conteúdo disponível.', 'fileViewer.videoMeta': 'Vídeo · {size}', 'fileViewer.audioMeta': 'Áudio · {size}', 'fileViewer.reload': 'Recarregar', 'fileViewer.reloadDisk': 'Recarregar do disco', 'fileViewer.copy': 'Copiar', 'fileViewer.copyTitle': 'Copiar conteúdo do arquivo', 'fileViewer.saveDisabled': 'Salvar (visualizador somente leitura)', 'fileViewer.save': 'Salvar', 'fileViewer.preview': 'Prévia', 'fileViewer.source': 'Código-fonte', 'fileViewer.tweaks': 'Ajustes', 'fileViewer.comment': 'Comentar', 'fileViewer.edit': 'Editar', 'fileViewer.draw': 'Desenhar', 'fileViewer.zoomOut': 'Diminuir zoom', 'fileViewer.zoomIn': 'Aumentar zoom', 'fileViewer.resetZoom': 'Redefinir zoom', 'fileViewer.reloadAria': 'Recarregar', 'fileViewer.previousSlide': 'Slide anterior', 'fileViewer.nextSlide': 'Próximo slide', 'fileViewer.slideNavAria': 'Navegação de slides', 'fileViewer.present': 'Apresentar', 'fileViewer.presentInTab': 'Nesta aba', 'fileViewer.presentFullscreen': 'Tela cheia', 'fileViewer.presentNewTab': 'Nova aba', 'fileViewer.exitPresentation': 'Sair da apresentação', 'fileViewer.shareLabel': 'Compartilhar', 'fileViewer.exportPdf': 'Exportar como PDF', 'fileViewer.exportPdfAllSlides': 'Exportar como PDF (todos os slides)', 'fileViewer.exportPptxBusy': 'Aguarde o turno atual terminar.', 'fileViewer.exportPptxHint': 'Envie uma solicitação ao agente para converter este design em PPTX.', 'fileViewer.exportPptxNa': 'Exportação PPTX não está disponível aqui.', 'fileViewer.exportZip': 'Baixar como .zip', 'fileViewer.exportHtml': 'Exportar como HTML independente', 'fileViewer.exportMd': 'Exportar como Markdown', 'fileViewer.exportJsx': 'Exportar como JSX', 'fileViewer.exportReactHtml': 'Exportar prévia como HTML', 'fileViewer.saveAsTemplate': 'Salvar como template…', 'fileViewer.savingTemplate': 'Salvando template…', 'fileViewer.savedTemplate': 'Salvo como "{name}"', 'fileViewer.savedTemplateFail': 'Não foi possível salvar o template — tente novamente.', 'fileViewer.templateNamePrompt': 'Nome do template', 'fileViewer.templateNameDefault': 'Template sem título', 'fileViewer.templateDescPrompt': 'Descrição curta (opcional — o que torna este template útil?)', 'fileViewer.deployToVercel': 'Deploy to Vercel', 'fileViewer.redeployToVercel': 'Redeploy', 'fileViewer.deployingToVercel': 'Deploying to Vercel…', 'fileViewer.preparingPublicLink': 'Preparing public link…', 'fileViewer.copyDeployLink': 'Copy link', 'fileViewer.deployModalTitle': 'Deploy to Vercel', 'fileViewer.deployModalSubtitle': 'Deploy this HTML artifact as a Vercel Preview using your own account.', 'fileViewer.vercelToken': 'Vercel token', 'fileViewer.vercelTokenGetLink': 'Get Vercel token', 'fileViewer.vercelTokenPlaceholder': 'Paste your Vercel token', 'fileViewer.vercelTokenReuseHint': 'Saved token will be used. Enter a new token to replace it.', 'fileViewer.vercelTokenRequired': 'Enter and save a Vercel token first.', 'fileViewer.vercelTeamId': 'Team ID', 'fileViewer.vercelTeamSlug': 'Team slug', 'fileViewer.optional': 'Optional', 'fileViewer.vercelPreviewOnly': 'Deploys are Preview-only for now.', 'fileViewer.savingConfig': 'Saving…', 'fileViewer.deployConfigSaveFailed': 'Could not save Vercel settings.', 'fileViewer.deployFailed': 'Deploy failed. Check Vercel settings and try again.', 'fileViewer.deployResultLabel': 'Deployed URL', 'fileViewer.deployLinkPreparingLabel': 'Public link pending', 'fileViewer.deployLinkDelayed': 'Your site is deployed. Vercel is still preparing the public link.', 'fileViewer.deployLinkProtectedLabel': 'Vercel protection enabled', 'fileViewer.deployLinkProtected': 'Your site deployed, but Vercel is requiring authentication for this preview link. Disable Deployment Protection or use a custom domain.', 'fileViewer.retryLink': 'Retry now', 'questionForm.submit': 'Enviar', 'questionForm.skip': 'Pular', 'questionForm.locked': 'Respondido', 'conv.switch': 'Trocar conversa', 'conv.label': 'Conversa', 'conv.heading': 'Conversas', 'conv.new': '+ Nova', 'conv.empty': 'Ainda não há conversas.', 'conv.untitled': 'Conversa sem título', 'conv.renameTooltip': 'Clique duas vezes para renomear', 'conv.delete': 'Excluir conversa', 'conv.deleteConfirm': 'Excluir "{title}"? Isso remove as mensagens.', 'agentPicker.label': 'Agente', 'agentPicker.modeChoose': 'Escolha o modo de execução', 'agentPicker.localCli': 'CLI local', 'agentPicker.daemonOff': 'daemon desligado', 'agentPicker.byok': 'API · BYOK', 'agentPicker.selectAgent': 'Selecione uma CLI de agente de código detectada', 'agentPicker.noAgents': 'nenhum agente no PATH', 'agentPicker.notInstalled': 'não instalado', 'agentPicker.rescan': 'Reescanear agentes no PATH local', 'tool.openInTab': 'Abrir {name} em uma aba', 'tool.open': 'abrir', 'tool.todos': 'Tarefas', 'tool.write': 'Escrever', 'tool.edit': 'Editar', 'tool.read': 'Ler', 'tool.bash': 'Bash', 'tool.glob': 'Glob', 'tool.grep': 'Grep', 'tool.fetch': 'Buscar', 'tool.search': 'Pesquisar', 'tool.lines': '{n} linhas', 'tool.changeSingular': 'alteração', 'tool.changePlural': 'alterações', 'tool.in': 'em {path}', 'tool.hide': 'ocultar', 'tool.output': 'saída', 'tool.running': 'executando…', 'tool.error': 'erro', 'tool.done': 'concluído', 'assistant.role': 'Assistente', 'assistant.workingLabel': 'Trabalhando', 'assistant.doneLabel': 'Concluído', 'assistant.unfinishedLabel': 'Interrompido com trabalho pendente', 'assistant.unfinishedSummary': '{n} tarefa(s) restante(s)', 'assistant.unfinishedMore': '+{n} mais', 'assistant.continueRemaining': 'Continuar tarefas restantes', 'assistant.outTokens': '{n} saída', 'assistant.producedFiles': 'Arquivos deste turno', 'assistant.openFile': 'Abrir', 'assistant.downloadFile': 'Baixar', 'assistant.thinking': 'Pensando', 'assistant.systemReminder': 'Lembrete do sistema', 'assistant.waitingFirstOutput': 'Aguardando primeira saída', 'assistant.statusBootingAgent': 'Iniciando agente', 'assistant.statusStarting': 'Iniciando', 'assistant.statusRequesting': 'Enviando solicitação', 'assistant.statusThinking': 'Pensando', 'assistant.statusStreaming': 'Transmitindo', 'assistant.slowHint': 'Está demorando mais que o normal. O formulário geralmente aparece em 5–10 s — você pode Parar e reformular.', 'assistant.verbEditing': 'Editando', 'assistant.verbWriting': 'Escrevendo', 'assistant.verbReading': 'Lendo', 'assistant.verbSearching': 'Pesquisando', 'assistant.verbRunning': 'Executando', 'assistant.verbTodos': 'Tarefas', 'assistant.verbFetching': 'Buscando', 'assistant.verbCalling': 'Chamando', 'qf.answered': 'respondido', 'qf.choose': 'Escolha…', 'qf.required': 'obrigatório', 'qf.lockedSubmitted': 'Respostas enviadas — o agente usará isso pelo resto da sessão.', 'qf.lockedPrev': 'Este formulário é de um turno anterior.', 'qf.hint': 'Escolha o que se encaixa. Pule campos opcionais se não se importar — o agente usará padrões sensatos.', 'qf.submitDefault': 'Enviar respostas', 'qf.submitDisabledTitle': 'Preencha os campos obrigatórios primeiro', 'qf.submitTitle': 'Enviar respostas', 'qf.cardSelected': 'selecionado', 'qf.cardRefs': 'Refs:', 'qf.cardSampleText': 'A rápida raposa marrom · 0123', 'sketch.toolSelect': 'Selecionar (sem ação)', 'sketch.toolPen': 'Caneta', 'sketch.toolText': 'Texto', 'sketch.toolRect': 'Retângulo', 'sketch.toolArrow': 'Seta', 'sketch.toolEraser': 'Borracha', 'sketch.color': 'Cor', 'sketch.strokeSize': 'Espessura do traço', 'sketch.undo': 'Desfazer', 'sketch.clear': 'Limpar', 'sketch.close': 'Fechar', 'sketch.textPrompt': 'Texto:', 'pet.title': 'Bichinhos', 'pet.tabBuiltIn': 'Inclusos', 'pet.tabBuiltInHint': 'Companheiros incluídos no Open Design — escolha um e adote.', 'pet.builtInEmpty': 'Os pets integrados não estão disponíveis agora. Atualize a aba Comunidade quando o daemon voltar.', 'pet.tabCustom': 'Personalizado', 'pet.tabCustomHint': 'Defina nome, glifo, cor ou envie um sprite.', 'pet.tabCommunity': 'Comunidade', 'pet.tabCommunityHint': 'Bichinhos chocados pelo Codex — adote ou gere um novo com IA.', 'pet.tabsAria': 'Fonte do bichinho', 'pet.subtitle': 'Adote um companheirinho que flutua sobre o seu workspace.', 'pet.navTitle': 'Bichinhos', 'pet.navHint': 'Adote ou personalize', 'pet.adopt': 'Adotar', 'pet.adoptedBadge': 'Adotado', 'pet.adoptCallout': 'Adote um bichinho', 'pet.changePet': 'Trocar bichinho', 'pet.wake': 'Acordar', 'pet.tuck': 'Esconder', 'pet.wakeTitle': 'Acordar o bichinho — mostrar o overlay.', 'pet.tuckTitle': 'Esconder o bichinho — ocultar o overlay.', 'pet.settingsTitle': 'Abrir configurações do bichinho', 'pet.useCustom': 'Usar meu bichinho', 'pet.customTitle': 'Crie o seu', 'pet.customHint': 'Escolha nome, símbolo e cor de destaque — o overlay atualiza ao vivo.', 'pet.customGreetingPlaceholder': 'Diga oi pelo seu bichinho…', 'pet.fieldName': 'Nome', 'pet.fieldGlyph': 'Símbolo', 'pet.fieldGlyphHint': 'Um único emoji funciona melhor (por ex. 🐝, 🦄, 🐢).', 'pet.fieldGreeting': 'Saudação', 'pet.fieldAccent': 'Cor de destaque', 'pet.fieldAccentCustom': 'Cor personalizada', 'pet.overlayAria': 'Companheiro', 'pet.spriteAria': '{name} — arraste para mover, clique para conversar', 'pet.spriteTitle': 'Olá de {name}! Clique para conversar.', 'pet.railAria': 'Seletor de bichinho', 'pet.railTitle': 'Bichinhos', 'pet.railHint': 'Escolha um companheiro para flutuar pelo seu workspace.', 'pet.railExpand': 'Mostrar seletor', 'pet.railCollapse': 'Recolher seletor', 'pet.railHide': 'Esconder seletor de pets', 'pet.railShow': 'Mostrar seletor de pets', 'pet.railCustomFlavor': 'O seu — nome, símbolo e cor.', 'pet.railCustomize': 'Personalizar…', 'pet.composerTitle': 'Bichinhos — acordar, esconder ou escolher', 'pet.composerMenuTitle': 'Bichinhos', 'pet.composerMenuHint': 'dica: digite /pet para alternar', 'pet.composerOpenSettings': 'Personalizar nas configurações', 'pet.welcomeTeaserTitle': 'Adote um bichinho', 'pet.welcomeTeaserBody': 'Um companheirinho que flutua pelo workspace.', 'pet.welcomeTeaserCta': 'Escolher', 'pet.imageUpload': 'Enviar sprite', 'pet.imageReplace': 'Substituir sprite', 'pet.imageRemove': 'Usar emoji', 'pet.imageHintIdle': 'PNG, JPG, WebP, GIF ou SVG. Spritesheet? Envie uma faixa horizontal e ajuste o número de frames.', 'pet.imageHintActive': 'Mostrando seu sprite. Defina frames > 1 para animar um spritesheet horizontal.', 'pet.fieldFrames': 'Frames', 'pet.fieldFramesHint': '1 = estático. > 1 = spritesheet horizontal.', 'pet.fieldFps': 'Velocidade (fps)', 'pet.fieldFpsHint': 'Velocidade da animação dos frames.', 'pet.atlasImport': 'Importar sprite do Codex', 'pet.atlasImportTitle': 'Importe um atlas hatch-pet 8x9 / 192x208 (PNG ou WebP).', 'pet.atlasPickerTitle': 'Escolha uma linha de animação', 'pet.atlasPickerHint': 'Os pets do Codex trazem 9 linhas de animação. Por padrão mantemos o atlas inteiro para que o pet troque de linha ao passar o mouse, conforme a direção do arrasto e após longa ociosidade. Você também pode fixar uma única linha.', 'pet.atlasCancel': 'Descartar atlas', 'pet.atlasAdopt': 'Fixar nesta linha', 'pet.atlasAdoptFull': 'Usar atlas inteiro (animado)', 'pet.atlasAdoptFullTitle': 'Mantém todas as linhas para o pet reagir a hover, direção do arrasto e ociosidade longa.', 'pet.atlasAdoptRowTitle': 'Corta apenas a linha destacada em uma tira de loop único.', 'pet.atlasActiveHint': 'Atlas animado ativo — o pet escolhe a linha com base na sua interação (hover, arrasto, ociosidade).', 'pet.atlasRow.idle': 'Parado', 'pet.atlasRow.running-right': 'Corre à direita', 'pet.atlasRow.running-left': 'Corre à esquerda', 'pet.atlasRow.waving': 'Acenando', 'pet.atlasRow.jumping': 'Pulando', 'pet.atlasRow.failed': 'Falhou', 'pet.atlasRow.waiting': 'Esperando', 'pet.atlasRow.running': 'Correndo', 'pet.atlasRow.review': 'Revisão', 'pet.hatchTitle': 'Choque um novo pet com IA', 'pet.hatchHint': 'Use a skill hatch-pet incluída no chat para gerar um spritesheet estilo Codex e depois importe-o aqui.', 'pet.hatchConcept': 'Conceito do pet (opcional)', 'pet.hatchConceptPlaceholder': 'ex.: um shiba pixel art com um suéter aconchegante', 'pet.hatchCopy': 'Copiar prompt', 'pet.hatchCopied': 'Copiado!', 'pet.hatchFoot': 'Quando a skill salvar seu pet, volte aqui e clique em "Importar sprite do Codex".', 'pet.slashPopoverAria': 'Comandos slash', 'pet.slashPopoverTitle': 'Comandos', 'pet.slashPopoverHint': '↑↓ navegar · enter escolher · esc fechar', 'pet.slashPet': 'Alternar, adotar ou abrir as configurações do pet.', 'pet.slashPetWake': 'Acordar o pet flutuante.', 'pet.slashPetTuck': 'Guardar o pet por agora.', 'pet.slashHatch': 'Gere um pet Codex com a skill hatch-pet.', 'pet.slashHatchArg': '', 'pet.codexTitle': 'Recém-chocados', 'pet.codexSubtitle': 'Pets empacotados pela skill hatch-pet aparecem aqui para adoção em um clique.', 'pet.codexSubtitleWithDir': 'Verificando {dir} em busca de pacotes do hatch-pet.', 'pet.codexEmpty': 'Ainda sem pets chocados. Digite /hatch no chat para gerar um.', 'pet.codexLoading': 'Procurando pets chocados…', 'pet.codexRefresh': 'Atualizar', 'pet.codexAdopt': 'Adotar', 'pet.codexAdopting': 'Adotando…', 'pet.communitySync': 'Baixar pets da comunidade', 'pet.communitySyncing': 'Baixando…', 'pet.communitySyncTitle': 'Sincronizar os pets mais recentes do Codex Pet Share + j20 Hatchery em ~/.codex/pets/.', 'pet.communitySyncDone': '{wrote} pets novos sincronizados ({total} no total).', 'pet.communitySyncFailed': 'Falha na sincronização: {error}', 'pet.codexBundled': 'Incluído', 'pet.codexBundledTitle': 'Já vem com o Open Design — sem download.', 'settings.notifications': 'Notificações', 'settings.notificationsHint': 'Som e notificação na conclusão da tarefa', 'settings.notifyCompletionSound': 'Som de conclusão', 'settings.notifyCompletionSoundHint': 'Toca ao terminar uma rodada. Desativado por padrão.', 'settings.notifySuccessSound': 'Som de sucesso', 'settings.notifyFailureSound': 'Som de falha', 'settings.notifyDesktop': 'Notificação na área de trabalho', 'settings.notifyDesktopHint': 'Enviada quando a janela não está em foco.', 'settings.notifyDesktopBlocked': 'Bloqueadas pelo navegador. Habilite nas configurações do site.', 'settings.notifyDesktopUnsupported': 'Notificações na área de trabalho indisponíveis neste ambiente.', 'settings.notifyTest': 'Enviar teste', 'settings.notifyTestSent': 'Notificação de teste enviada. Se nenhum banner aparecer, verifique as notificações do navegador e do sistema.', 'settings.notifyTestFailed': 'Falha ao chamar a notificação. Verifique as notificações do navegador e do sistema.', 'settings.notifySoundDing': 'Tilim', 'settings.notifySoundChime': 'Carrilhão', 'settings.notifySoundTwoToneUp': 'Dois tons crescente', 'settings.notifySoundPluck': 'Dedilhado', 'settings.notifySoundBuzz': 'Zumbido', 'settings.notifySoundTwoToneDown': 'Dois tons descendente', 'settings.notifySoundThud': 'Baque', 'notify.successTitle': 'Tarefa concluída', 'notify.failureTitle': 'Tarefa falhou', 'notify.successBody': 'Uma rodada foi concluída.', 'notify.failureBody': 'A tarefa terminou com erro.', };