import type { Dict } from '../types';
import { en } from './en';

export const ptBR: Dict = {
  ...en,
  'homeHero.addMenu': 'Adicionar contexto',
  'homeHero.addPlugin': 'Adicionar plugin',
  'homeHero.addConnectors': 'Adicionar conectores',
  'homeHero.addMcp': 'Adicionar servidor MCP',
  'homeHero.noPlugins': 'Nenhum plugin instalado',
  'homeHero.noMcp': 'Nenhum servidor MCP',
  'homeHero.noConnectors': 'Nenhum conector conectado',
  'chat.amrCard.switchTitle': 'Falha ao chamar o modelo — esta execução está pausada',
  'chat.amrCard.switchBody': 'Mude para o serviço oficial de modelos AMR do Open Design — sem precisar configurar API Key. Após entrar, autorizar e recarregar, esta execução será repetida automaticamente.',
  'chat.amrCard.chipOfficial': 'Hospedagem oficial',
  'chat.amrCard.chipNoKey': 'Sem API Key',
  'chat.amrCard.chipAutoRetry': 'Nova tentativa automática após entrar',
  'chat.amrCard.switchCta': 'Mudar para AMR e tentar novamente',
  'chat.amrError.authMessage': 'Sua conta AMR ainda não está autorizada. Autorize-a e esta execução será repetida automaticamente.',
  'chat.amrError.balanceMessage': 'Seu saldo AMR acabou. Recarregue para continuar esta execução.',
  'chat.amrError.authorizeCta': 'Autorizar e tentar novamente',
  'chat.amrError.rechargeCta': 'Recarregar AMR',
  'chat.antigravityError.launchTerminalCta': 'Sign in via terminal',
  'chat.antigravityError.launchSwitchModelCta': 'Switch model in terminal',
  'plugins.actions.copyInstallCommand': 'Copiar comando de instalação',
  'plugins.actions.copyPluginId': 'Copiar ID do plugin',
  'plugins.actions.copyReadmeBadge': 'Copiar selo do README',
  'plugins.actions.openSourceGithub': 'Abrir fonte no GitHub',
  'plugins.actions.openSource': 'Abrir fonte',
  'plugins.actions.openHomepage': 'Abrir homepage',
  'plugins.actions.openMarketplace': 'Abrir no marketplace',
  'workingDirPicker.title': "Folder",
  'workingDirPicker.homeTitle': "Choose where this project should live",
  'workingDirPicker.processing': "Processing…",
  'workingDirPicker.select': "Choose working directory",
  'workingDirPicker.clearAria': "Clear working directory",
  'workingDirPicker.replaceFailed': "Could not replace working directory",
  'workingDirPicker.unavailable': "Folder picker is unavailable in this build. Run the desktop app to pick a folder.",
  'workingDirPicker.openUnavailable': "Open this project in the desktop app to show the folder.",
  'workingDirPicker.openFailed': "Could not show this folder",
  'workingDirPicker.showInFileManager': "Show in file manager",
  'workingDirPicker.replace': "Replace directory…",
  'workingDirPicker.recent': "Recent directories",
  'handoff.toTarget': 'Hand off to {target}',
  'handoff.action': 'Hand off',
  'handoff.fallbackTitle': 'No editors found on $PATH - opens in {target}',
  'handoff.chooseTargetAria': 'Choose hand-off target',
  'handoff.notInstalled': 'Not installed',
  'handoff.notDetectedTitle': '{target} - not detected on $PATH',
  'homeHero.promptExamples': "Exemplos",
  'homeHero.footer.designSystem': "Estilo",
  'homeHero.footer.autoDesignSystem': "Auto",
  'homeHero.footer.autoDesignSystemSummary': "Seleciona automaticamente o design system e o estilo visual mais adequados para o prompt atual.",
  'homeHero.footer.ratio': "Proporção",
  'homeHero.footer.duration': "Duração",
  'homeHero.footer.resolution': "Resolução",
  'homeHero.footer.speakerNotes': "Notes",
  'homeHero.footer.noSpeakerNotes': "Sem notas",
  'homeHero.footer.availableCount': "{n} available",
  'homeHero.footer.noMatches': "No matches",
  'homeHero.moreShortcuts': "Mais",
  'common.cancel': 'Cancelar',
  'home.openExistingProject': "Abrir projeto existente",
  'home.openExistingProjectOpening': "Abrindo...",
  'home.chooseFolderSubtitle': "Escolha uma pasta do seu disco.",
  'common.save': 'Salvar',
  'common.close': 'Fechar',
  'common.clear': 'Limpar',
  'common.delete': 'Excluir',
  'common.rename': 'Renomear',
  'common.edit': 'Editar',
  '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.exportImage': 'Exportar como imagem',
  'common.exportImageFailed': 'Falha ao capturar imagem. Tente novamente ou use a ferramenta de captura de tela do seu navegador.',
  'common.justNow': 'agora mesmo',
  'common.minutesAgo': 'há {n} min',
  'common.hoursAgo': 'há {n} h',
  'common.daysAgo': 'há {n} d',
  'common.weeksAgo': '{n}w ago',
  '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': "",
  'settings.welcomeTitle': "Welcome",
  'settings.welcomeSubtitle': "",
  'settings.onboardingCreateTitle': 'Start from a brief',
  'settings.onboardingCreateBody':
    'Describe the site, app, deck, image, or video you want. Open Design will create a project and keep the work editable.',
  'settings.onboardingMemoryTitle': 'Save working context',
  'settings.onboardingMemoryBody':
    'Add preferences, project facts, and recurring rules so future chats pick up the right context.',
  'settings.onboardingSystemsTitle': 'Bring your design system',
  'settings.onboardingSystemsBody':
    'Pick or create a brand system so generated work follows real colors, typography, and product language.',
  'settings.onboardingExecutionTitle': 'Choose how generation runs',
  'settings.onboardingExecutionBody':
    'Official CLI with one-click setup and ready-to-use defaults. Use one key to choose from many models with better pricing.',
  'settings.onboardingAmrCloudBenefitOfficial': 'Recomendado oficialmente',
  'settings.onboardingAmrCloudBenefitReady': 'Sem deploy',
  'settings.onboardingAmrCloudBenefitModels': 'Compatível com Claude Opus 4.8',
  'settings.onboardingAmrCloudBenefitPricing': 'SOTA Harness',
  'settings.onboardingAmrCloudUpcomingLabel': 'Em breve',
  'settings.onboardingAmrCloudUpcomingImageVideo': 'Imagem e vídeo',
  'settings.onboardingAmrCloudUpcomingSkills': 'Skills em massa',
  'settings.onboardingAmrCloudUpcomingRouting': 'Roteamento inteligente',
  'settings.onboardingAmrModelSourceLabel': 'AMR CLI',
  'settings.onboardingAmrCloudAuthorizeAction': 'Autorizar AMR',
  'settings.onboardingAmrCloudAuthorizedAction': 'Autorizado',
  'settings.onboardingStepConnect': "Connect",
  'settings.onboardingStepDesignSystem': "Design system",
  'settings.onboardingStepProfile': "About you",
  'settings.onboardingConnectTitle': "Choose a runtime",
  'settings.onboardingConnectBody': "",
  'settings.onboardingRecommended': "Recommended",
  'settings.onboardingLocalTitle': "Local coding agent",
  'settings.onboardingLocalBody': "Use an installed CLI such as Claude Code, Codex, Cursor, Gemini, or OpenCode.",
  'settings.onboardingLocalAction': "Open CLI settings",
  'settings.onboardingCliScanHint': "This usually takes 5-10 seconds.",
  'settings.onboardingByokTitle': "Bring your own key",
  'settings.onboardingByokBody': "Use your own model provider credentials.",
  'settings.onboardingByokAction': "Open BYOK settings",
  'settings.onboardingDesignTitle': "Design system",
  'settings.onboardingDesignBody': "Generate once, reuse everywhere.",
  'settings.onboardingDesignIntroGenerateTitle': "Generate from existing work",
  'settings.onboardingDesignIntroGenerateBody': "Upload your design system from GitHub or local code repositories, Figma files, images, and other content assets.",
  'settings.onboardingDesignIntroReuseTitle': "Reuse in future work",
  'settings.onboardingDesignIntroReuseBody': "Future prototypes, slides, and other content can reference your existing fonts, spacing, logo style, and color tone.",
  'settings.onboardingDesignIntroSkipTitle': "Optional for now",
  'settings.onboardingDesignIntroSkipBody': "Skip this step if you want to start without generating a design system.",
  'settings.onboardingGithubTitle': "Import from GitHub",
  'settings.onboardingGithubBody': "Use a frontend repository.",
  'settings.onboardingUploadTitle': "Upload local files",
  'settings.onboardingUploadBody': "Add project files, screenshots, CSS, docs, or assets.",
  'settings.onboardingPromptTitle': "Generate from prompt",
  'settings.onboardingPromptBody': "Describe the product or brand.",
  'settings.onboardingProfileTitle': "About you",
  'settings.onboardingProfileBody': "Optional details for better defaults.",
  'settings.onboardingRoleLabel': "Your role",
  'settings.onboardingOrgSizeLabel': "Organization size",
  'settings.onboardingUseCaseLabel': "Use case",
  'settings.onboardingSourceLabel': "Where did you hear about us?",
  'settings.onboardingSelectPlaceholder': "Select one",
  'settings.onboardingSelectMultiplePlaceholder': "Select one or more",
  'settings.onboardingOrgSolo': "Solo / personal (1)",
  'settings.onboardingOrgTeam': "Small team (2-10)",
  'settings.onboardingOrgStartup': "Startup / SMB (11-50)",
  'settings.onboardingOrgGrowth': "Growth company (51-200)",
  'settings.onboardingOrgMidMarket': "Mid-market (201-1000)",
  'settings.onboardingOrgEnterprise': "Enterprise (1000+)",
  'settings.onboardingRolePm': "📋 Product manager",
  'settings.onboardingRoleDesigner': "🎨 Designer",
  'settings.onboardingRoleEngineer': "💻 Engineer",
  'settings.onboardingRoleMarketing': "📣 Marketing",
  'settings.onboardingRoleGrowth': "📈 Growth",
  'settings.onboardingRoleOps': "⚙️ Operations",
  'settings.onboardingRoleFounder': "🚀 Founder / executive",
  'settings.onboardingRoleStudent': "🎓 Student / educator",
  'settings.onboardingRoleOther': "✨ Other",
  'settings.onboardingUseProduct': "🎨 Product design",
  'settings.onboardingUseDesignSystem': "🧩 Design system",
  'settings.onboardingUsePrototype': "📱 Prototype / app UI",
  'settings.onboardingUseLanding': "🌐 Landing pages",
  'settings.onboardingUseAds': "📣 Ads / social content",
  'settings.onboardingUseDashboard': "📊 Dashboards / internal tools",
  'settings.onboardingUseDeck': "🖥️ Presentation / deck",
  'settings.onboardingUseMarketing': "📈 Marketing / growth",
  'settings.onboardingUseEngineering': "🤝 Engineering handoff",
  'settings.onboardingUseAgency': "💼 Agency / client work",
  'settings.onboardingSourceGithub': "🐙 GitHub",
  'settings.onboardingSourceFriend': "👥 Friend or coworker",
  'settings.onboardingSourceSocial': "📱 Social media",
  'settings.onboardingSourceProductHunt': "🅿️ Product Hunt",
  'settings.onboardingSourceCommunity': "💬 Design / AI community",
  'settings.onboardingSourceYoutube': "▶️ YouTube",
  'settings.onboardingSourceBlog': "📰 Blog or newsletter",
  'settings.onboardingSourceAiTool': "✨ AI tool recommendation",
  'settings.onboardingSourceSearch': "🔍 Search",
  'settings.onboardingSourceEvent': "🎤 Event or community",
  'settings.onboardingBack': "Back",
  'settings.onboardingContinue': "Continue",
  'settings.onboardingFinish': "Finish setup",
  'settings.onboardingSkip': "Skip for now",
  'settings.kicker': 'Configurações',
  'settings.title': 'Modo de execução',
  'settings.subtitle': 'Escolha entre CLI local e BYOK.',
  '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.designSystemRenameFailed': 'Falha ao renomear. Verifique o daemon e tente novamente.',
  'settings.rescanFailed': 'Falha ao escanear. Verifique o daemon e tente novamente.',
  'settings.test': 'Testar',
  'settings.testTitle': 'Envie um pequeno prompt de teste para verificar a conexão',
  'settings.testRunning': 'Testando conexão…',
  'settings.byokReadyToTest': 'Pronto para testar',
  'settings.testCancel': 'Cancelar',
  'settings.testSuccessApi': 'Conectado. Respondeu em {ms} ms — \'{sample}\'',
  'settings.testSuccessCli': '{agentName} respondeu em {ms} ms — \'{sample}\'',
  'settings.testAuthFailed': 'Falha na autenticação. Verifique sua chave de API.',
  'settings.testForbidden': 'Acesso proibido. Verifique conta, região ou organização.',
  'settings.testNotFoundModel': 'Modelo \'{model}\' não encontrado neste endpoint.',
  'settings.testInvalidModelId': 'O id de modelo \'{model}\' é inválido. IDs personalizados devem começar com letra ou número e não conter espaços.',
  'settings.testInvalidBaseUrl': 'Base URL inválida ou inacessível.',
  'settings.testRateLimited': 'Provedor limitou o teste. Configuração parece válida.',
  'settings.testUpstream': 'Provedor retornou {status}. Tente novamente em instantes.',
  'settings.testTimeout': 'Teste expirou após {ms} ms.',
  'settings.testAgentMissing': '{agentName} não está instalado ou não está no PATH.',
  'settings.testAgentSpawn': 'Não foi possível iniciar {agentName}: {detail}.',
  'settings.testUnknown': 'Falha no teste: {detail}',
  'settings.agentInstall.install': 'Instalar',
  'settings.agentInstall.docs': 'Docs',
  'settings.agentInstall.pathHint':
    'Se você instalou uma CLI com npm ou Homebrew e ela ainda aparece como não instalada, garanta que o diretório bin da ferramenta esteja no PATH herdado pelo daemon do Open Design (Terminal e apps GUI podem diferir no macOS). Veja QUICKSTART.md (seção "Local agent CLI and PATH").',
  'settings.agentInstall.stepOpenLinks': 'Abra Instalar ou Docs para o agente desejado.',
  'settings.agentInstall.stepAuth':
    'Autentique-se na CLI do fornecedor (faça login ou adicione credenciais de API) antes de voltar ao Open Design.',
  'settings.agentInstall.stepRescan': 'Clique em Reescanear nesta seção.',
  'settings.agentInstall.stepSelect': 'Selecione o cartão do agente quando ele aparecer como instalado.',
  '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.agentInstalledGroup': 'Suas CLIs ({count})',
  'settings.agentInstallGroup': 'Disponíveis para instalar ({count})',
  'settings.agentAuthRequired': 'Autenticação necessária',
  'settings.agentAuthUnknown': 'Status de autenticação desconhecido',
  'settings.amrLogin': 'Sign in',
  'settings.amrLogout': 'Sign out',
  'settings.amrLoggingIn': 'Signing in…',
  'settings.amrLoggingOut': 'Signing out…',
  'settings.amrLoggedInAs': 'Signed in as {email}',
  'settings.amrLoggedInWithPlan': 'Signed in as {email} · {plan}',
  'settings.amrLoggedInPill': 'Signed in',
  'settings.amrNotLoggedIn': 'Not signed in',
  'settings.amrCloud': 'Open Design AMR',
  'settings.amrAuthorize': 'Authorize',
  'settings.amrBenefitOfficial': 'Officially maintained',
  'settings.amrBenefitLowerPrice': 'Lower price',
  'settings.amrBenefitManyModels': 'Many models',
  'settings.amrPromoBonus': 'Limited bonus: +100%',
  'settings.amrSignInToContinue': 'Sign in to continue',
  'settings.amrSignIn': 'Sign in',
  'settings.amrSignedIn': 'Signed in',
  'settings.amrNotSignedIn': 'Not signed in',
  'settings.amrSigningIn': 'Signing in…',
  'settings.amrCancelSignIn': 'Cancel sign-in',
  'settings.amrAccountStatus': 'AMR account status',
  'settings.amrConsole': 'AMR Console',
  'settings.amrLoginErrorCompact': 'AMR sign-in failed.',
  'settings.apiSection': 'API da Anthropic',
  'settings.quickFillProvider': 'Preencher provedor',
  'settings.customProvider': 'Provedor personalizado',
  'settings.providerPreset': 'Predefinição de gateway',
  'settings.protocolGroupProtocols': 'Protocolos',
  'settings.protocolGroupGateways': 'Gateways',
  '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': 'Use uma URL pública http:// ou https://.',
  'settings.baseUrlCustomize': 'Personalizar',
  'settings.baseUrlDefaultHint': 'Endpoint padrão. Normalmente não é necessário alterar.',
  'settings.azureBaseUrlPlaceholder': 'https://my-resource.openai.azure.com',
  'settings.azureBaseUrlHint': 'Find this in Azure portal → your resource → Endpoint.',
  'settings.azureDeploymentModel': 'Nome do deployment',
  'settings.azureCustomDeploymentName': 'Custom deployment name',
  'settings.azureDeploymentModelHint':
    'No Azure OpenAI, este campo e usado como nome do deployment em /openai/deployments/<model>. Informe o nome do deployment criado no Azure.',
  'settings.apiVersion': 'Versão da API',
  'settings.byokImageModel': 'Modelo de geração de imagens',
  'settings.byokVideoModel': 'Modelo de geração de vídeo',
  'settings.byokVideoI2vHint': 'Modelo de imagem para vídeo: é necessária uma imagem de referência (caso contrário, usa a imagem mais recente do projeto)',
  'settings.byokSpeechModel': 'Modelo de voz',
  'settings.byokSpeechVoice': 'Voz',
  'settings.byokModelDefaultOption': 'Padrão',
  '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': '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.agentModelHead': 'Modelo para:',
  'settings.modelPicker': 'Modelo',
  'settings.modelSourceLive': 'Ao vivo da CLI',
  'settings.modelSourceFallback': 'Lista integrada',
  '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.modelPickerLiveHint':
    'Os modelos foram atualizados a partir da CLI instalada. O padrão ainda usa a configuração da CLI.',
  'settings.modelPickerLiveCatalogOnlyHint':
    'Os modelos foram atualizados a partir da CLI instalada.',
  'settings.modelPickerFallbackHint':
    'Mostrando padrões integrados. Clique em Reescanear para buscar modelos ao vivo da CLI.',
  'settings.cliEnvTitle': 'CLI config locations',
  'settings.cliEnvHint':
    'Set non-secret config directories for packaged app runs and agent detection.',
  'settings.cliEnvClaudeConfigDir': 'Claude Code config directory',
  'settings.cliEnvClaudeBaseUrl': 'Claude proxy base URL',
  'settings.cliEnvClaudeApiKey': 'Claude proxy API key',
  'settings.cliEnvCodexHome': 'Codex home',
  'settings.cliEnvCodexBin': 'Codex executable path',
  'settings.cliEnvCodexBaseUrl': 'Codex/OpenAI proxy base URL',
  'settings.cliEnvCodexApiKey': 'Codex/OpenAI proxy API key',
  '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.mcpServerTitle': 'Servidor MCP',
  'settings.mcpServerHint': 'Exponha o Open Design como servidor MCP para o seu agente de código.',
  'settings.externalMcpTitle': 'MCP externo',
  'settings.externalMcpHint': 'Adicione ferramentas MCP de serviços externos (Higgsfield, GitHub, …).',
  'settings.mediaProviderApiKey': 'API key',
  'settings.mediaProviderBaseUrl': 'Base URL',
  'settings.mediaProviderConfigured': 'Configurado',
  'settings.mediaProviderUnset': 'Não configurado',
  'settings.mediaProviderClear': 'Limpar',
  'settings.mediaProviderClearConfirm': 'Remover as configurações salvas de {name}? Você precisará inseri-las novamente para usar {name}.',
  'settings.mediaProviderPlaceholder': 'Cole a API key',
  'settings.mediaProviderBaseUrlPlaceholder': 'Sobrescrever Base URL padrão',
  'settings.mediaProviderReload': 'Recarregar do daemon',
  'settings.mediaProviderReloadError': 'Não foi possível recarregar as configurações dos provedores de mídia do daemon local.',
  'settings.mediaProviderReloadSuccess': 'As configurações dos provedores de mídia foram recarregadas do daemon local.',
  'settings.mediaProviderLoadError': 'Não foi possível carregar as configurações dos provedores de mídia do daemon local. Usando por enquanto as configurações salvas no navegador.',
  'settings.mediaProviderComingSoonHint': 'Rastreamos estes para o roteiro; o daemon ainda não fornece um cliente, então não há nada para configurar.',
  'settings.privacy': 'Privacy',
  'settings.privacyHint': 'What data is shared with the Open Design team',
  'settings.privacyConsentKicker': 'Help us improve Open Design',
  'settings.privacyConsentLead': 'Open Design can share usage data with our team to help us improve. This includes:',
  'settings.privacyConsentFooter': 'You can change either of these any time in Settings → Privacy. We never upload the contents of your generated artifact files.',
  'settings.privacyConsentShare': 'Share usage data',
  'settings.privacyConsentDecline': "Don't share",
  'settings.privacyConsentAccept': 'I get it',
  'settings.privacyConsentBannerFooter':
    'Data sharing is on by default. You can turn it off any time in Settings → Privacy. We never upload the contents of your generated artifact files.',
  'settings.privacyConsentPolicyLink': 'Read the privacy policy',
  'settings.privacyMetrics': 'Anonymous metrics',
  'settings.privacyMetricsHint': 'Run counts, token usage, error rate, duration. No prompts, no project data.',
  'settings.privacyContent': 'Conversation content',
  'settings.privacyContentHint': "Your prompts and the assistant's responses (truncated 8 KB / 16 KB). API keys, tokens, JWTs, emails, IPs, and credit-card numbers are stripped automatically before send.",
  'settings.privacyArtifacts': 'Project artifacts manifest',
  'settings.privacyArtifactsHint': 'Filenames, types, sizes of generated files. File contents are never sent.',
  'settings.privacyInstallationId': 'Anonymous ID',
  'settings.privacyOptedOut': 'opted out',
  'settings.privacyDataDeletion': 'Delete my data',
  'settings.privacyDataDeletionHint': 'Rotates your anonymous ID and stops sending. Existing traces age out under our retention policy.',
  '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.',
  'settings.installLatest': 'Instalar a versão mais recente',
  'settings.alreadyLatest': 'Você já está na versão mais recente',

  'entry.tabDesigns': 'Designs',
  'entry.tabTemplates': 'Modelos',
  'entry.tabDesignSystems': 'Sistemas de design',
  'entry.tabConnectors': 'Conectores',
  'entry.openSettingsTitle': 'Configurações',
  'entry.openSettingsAria': 'Abrir configurações',
  'entry.resizeAria': 'Redimensionar barra lateral',
  'entry.loadingWorkspace': 'Carregando área de trabalho…',
  'entry.useEverywhereTitle': 'Usar em qualquer lugar',
  'entry.useEverywhereAria': 'Abrir o guia “Usar em qualquer lugar” (CLI, MCP, HTTP, Skills)',
  'entry.navExpand': 'Expandir barra lateral',
  'entry.navCollapse': 'Recolher barra lateral',
  'entry.navNewProject': 'Novo projeto',
  'entry.navHome': 'Início',
  'entry.navProjects': 'Projetos',
  'entry.navDesignSystems': 'Design systems',
  'entry.helpAria': 'Ajuda',
  'entry.helpMenuAria': 'Menu de ajuda',
  'entry.helpGetHelp': 'Obter ajuda no GitHub',
  'entry.helpSubmitFeature': 'Sugerir um recurso',
  'entry.helpWhatsNew': 'Novidades',
  'entry.helpDownloadDesktop': 'Baixar app para desktop',
  'entry.githubStarLabel': 'Star',
  'entry.githubStarTitle': 'Clique para nos dar uma estrela no GitHub',
  'entry.githubStarAria': 'Dar uma estrela ao Open Design no GitHub',
  '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.allSources': 'Todas as fontes',
  'promptTemplates.sourceFilterAria': 'Filtrar por fonte',
  'promptTemplates.retry': 'Tentar novamente',

  'connectors.title': 'Conectores',
  'connectors.subtitle': 'Fontes locais e futuras que podem alimentar artefatos live.',
  'connectors.account': 'Conta',
  'connectors.noAccount': 'Não conectado',
  'connectors.tools': 'Ferramentas',
  'connectors.connect': 'Conectar',
  'connectors.disconnect': 'Desconectar',
  'connectors.authorizationPending': 'Aguardando autorização...',
  'connectors.authorizationPendingHint': 'Conclua a autorização na janela aberta.',
  'connectors.cancelAuthorization': 'Cancelar',
  'connectors.configure': 'Configurar',
  'connectors.unavailable': 'Indisponível',
  'connectors.phaseStubTitle': 'As APIs de conectores chegam na Phase 3; esta é uma superfície de prévia.',
  'connectors.statusAvailable': 'Disponível',
  'connectors.statusConnected': 'Conectado',
  'connectors.statusError': 'Erro',
  'connectors.statusDisabled': 'Desativado',
  'connectors.gateTitle': 'Adicione sua chave de API do Composio para continuar',
  'connectors.gateBody': 'Cole sua chave acima e clique em Salvar chave para carregar as integrações disponíveis.',
  'connectors.aboutLabel': 'Sobre',
  'connectors.detailsLabel': 'Detalhes',
  'connectors.statusLabel': 'Status',
  'connectors.category.aiAgents': 'Agentes de IA',
  'connectors.category.aiInfrastructure': 'Infraestrutura de IA',
  'connectors.category.accounting': 'Contabilidade',
  'connectors.category.admin': 'Administração',
  'connectors.category.advertising': 'Publicidade',
  'connectors.category.analytics': 'Análises',
  'connectors.category.automation': 'Automação',
  'connectors.category.cms': 'CMS',
  'connectors.category.crm': 'CRM',
  'connectors.category.calendar': 'Calendário',
  'connectors.category.commerce': 'Comércio',
  'connectors.category.communication': 'Comunicação',
  'connectors.category.contacts': 'Contatos',
  'connectors.category.dataPlatform': 'Plataforma de dados',
  'connectors.category.database': 'Banco de dados',
  'connectors.category.design': 'Design',
  'connectors.category.developer': 'Ferramentas de desenvolvedor',
  'connectors.category.documentation': 'Documentação',
  'connectors.category.erp': 'ERP',
  'connectors.category.education': 'Educação',
  'connectors.category.email': 'E-mail',
  'connectors.category.events': 'Eventos',
  'connectors.category.fieldService': 'Serviço de campo',
  'connectors.category.finance': 'Finanças',
  'connectors.category.fitness': 'Fitness',
  'connectors.category.forms': 'Formulários',
  'connectors.category.gaming': 'Jogos',
  'connectors.category.hr': 'RH',
  'connectors.category.hospitality': 'Hospitalidade',
  'connectors.category.itsm': 'ITSM',
  'connectors.category.integration': 'Integração',
  'connectors.category.localization': 'Localização',
  'connectors.category.logistics': 'Logística',
  'connectors.category.maps': 'Mapas',
  'connectors.category.marketing': 'Marketing',
  'connectors.category.media': 'Mídia',
  'connectors.category.meetings': 'Reuniões',
  'connectors.category.nonprofit': 'Sem fins lucrativos',
  'connectors.category.observability': 'Observabilidade',
  'connectors.category.payments': 'Pagamentos',
  'connectors.category.personal': 'Pessoal',
  'connectors.category.presentations': 'Apresentações',
  'connectors.category.procurement': 'Compras',
  'connectors.category.product': 'Produto',
  'connectors.category.productivity': 'Produtividade',
  'connectors.category.projectManagement': 'Gerenciamento de projetos',
  'connectors.category.recruiting': 'Recrutamento',
  'connectors.category.research': 'Pesquisa',
  'connectors.category.salesIntelligence': 'Inteligência de vendas',
  'connectors.category.scheduling': 'Agendamento',
  'connectors.category.search': 'Busca',
  'connectors.category.security': 'Segurança',
  'connectors.category.signing': 'Assinatura',
  'connectors.category.social': 'Social',
  'connectors.category.spreadsheets': 'Planilhas',
  'connectors.category.storage': 'Armazenamento',
  'connectors.category.support': 'Suporte',
  'connectors.category.surveys': 'Pesquisas',
  'connectors.category.tasks': 'Tarefas',
  'connectors.category.timeTracking': 'Controle de tempo',
  'connectors.category.video': 'Vídeo',
  'connectors.category.whiteboard': 'Quadro branco',
  'connectors.categoryLabel': 'Categoria',
  'connectors.providerLabel': 'Provedor',
  'connectors.toolsSection': 'Ferramentas',
  'connectors.toolsLoading': 'Carregando ferramentas…',
  'connectors.noToolsAvailable': 'Nenhuma ferramenta disponível ainda. Conecte-se para descobrir o que esta integração oferece.',
  'connectors.toolDetailsUnavailable': 'Tool details are unavailable, but this connector reports {n} tools.',
  'connectors.loadMoreTools': 'Load more tools',
  'connectors.openDetailsAria': 'Abrir detalhes de {name}',
  'connectors.toolsBadgeNone': 'Sem ferramentas',
  'connectors.toolsBadgeOne': '{n} ferramenta',
  'connectors.toolsBadgeMany': '{n} ferramentas',
  'connectors.searchPlaceholder': 'Buscar conectores…',
  'connectors.searchAriaLabel': 'Buscar conectores por nome, provedor ou ferramenta',
  'connectors.searchClear': 'Limpar busca',
  'connectors.emptyNoMatchTitle': 'Nenhum conector corresponde a “{query}”',
  'connectors.emptyNoMatchBody': 'Tente outra palavra-chave ou limpe a busca para ver o catálogo completo.',
  'connectors.emptyNoMatchAction': 'Limpar busca',

  'newproj.tabPrototype': 'Protótipo',
  'newproj.tabLiveArtifact': 'Novo artefato live',
  'newproj.tabDeck': 'Apresentação',
  'newproj.tabTemplate': 'A partir de template',
  'newproj.tabMedia': 'Mídia',
  'newproj.tabOther': 'Outro',
  'newproj.titlePrototype': 'Novo protótipo',
  'newproj.titleLiveArtifact': 'Novo artefato live',
  '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.titleMedia': 'Nova mídia',
  '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.surfaceOptionsLabel': 'Companion surfaces',
  'newproj.includeLandingPage': 'Include landing page',
  'newproj.includeLandingPageHint':
    'Add a responsive marketing page for ads, waitlists, launch campaigns, app downloads, or product explanation.',
  'newproj.includeOsWidgets': 'Include OS widgets',
  'newproj.includeOsWidgetsHint':
    'Add platform-native home screen, lock screen, or quick-access widgets for mobile/tablet apps.',
  'newproj.includeOsWidgetsDisabledHint':
    'Available when iOS, Android, or tablet app is selected as a target platform.',
  '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.locationLabel': 'Salvar em',
  'newproj.locationDefault': 'Projetos Open Design',
  'newproj.locationExternalBase': 'Base externa',
  'newproj.createLiveArtifact': 'Criar artefato live',
  '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.modelSearch': 'Buscar modelos…',
  'newproj.modelEmpty': 'Nenhum modelo corresponde.',
  'newproj.modelRecommended': 'Recomendado',
  'newproj.modelMissingTitle': 'Escolher um modelo',
  'newproj.modelMissingSub': 'Escolha um modelo para esta superfície.',
  'newproj.aspectLabel': 'Proporção',
  '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.connectorsLabel': 'Conectores',
  'newproj.connectorsHint': 'Fontes de dados que este artefato pode consultar.',
  'newproj.connectorsEmptyTitle': 'Nenhum conector configurado',
  'newproj.connectorsEmptyBody':
    'Conecte uma fonte de dados para que o artefato live use dados reais em vez de placeholders.',
  'newproj.connectorsEmptyCta': 'Configurar conectores →',
  'newproj.connectorsLoading': 'Carregando conectores…',
  'newproj.connectorsCountOne': '{n} conectado',
  'newproj.connectorsCountMany': '{n} conectados',
  'newproj.connectorsManage': 'Gerenciar',
  '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.',
  'newproj.deleteTemplateTitle': 'Excluir template',
  'newproj.deleteTemplateConfirm': 'Excluir "{name}"? Esta ação não pode ser desfeita.',
  'newproj.deleteTemplateConfirmCta': 'Excluir template',
  'newproj.deleteTemplateError':
    'Não foi possível excluir este template. Tente novamente.',

  'designs.subRecent': 'Recentes',
  'designs.subYours': 'Seus designs',
  'designs.filterAria': 'Filtrar projetos',
  'designs.searchPlaceholder': 'Buscar…',
  'designs.emptyNoProjects': 'Ainda não há projetos.',
  'designs.emptyNoMatch': 'Nenhum projeto corresponde à sua busca.',
  'designs.deleteTitle': 'Excluir projeto',
  'designs.deleteConfirm': 'Excluir "{name}"?',
  'designs.cardFreeform': 'livre',
  'designs.badgeLive': 'Live',
  'designs.liveArtifactBadgesAria': 'Marcadores de artefato live',
  'designs.liveCount': '{n} live',
  'designs.statusLive': 'Artefato live',
  'designs.statusArchived': 'Arquivado',
  'designs.statusError': 'Erro',
  'designs.statusRefreshing': 'Atualizando…',
  'designs.statusRefreshFailed': 'Falha ao atualizar',
  'designs.statusRefreshed': 'Atualizado',
  '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.published': 'Publicado',
  '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}',
  'designs.menuMore': 'More actions',
  'designs.menuRename': 'Rename',
  'designs.menuDelete': 'Delete',
  'designs.renamePrompt': 'New name for "{name}"',
  'designs.selectMode': 'Select',
  'designs.cancelSelect': 'Cancel',
  'designs.deleteSelected': 'Delete selected',
  'designs.selectedCount': '{n} selected',
  'designs.deleteSelectedConfirm': 'Delete {n} project(s)?',
  'designs.deleteSelectedSuccess': '{n} project(s) deleted successfully.',
  'designs.deleteSelectedPartial': 'Deleted {deleted} project(s); {failed} failed.',
  'designs.tagPrototype': 'Prototype',
  'designs.tagLiveArtifact': 'Live Artifact',
  'designs.tagSlide': 'Slide',
  'designs.tagMedia': 'Media',
  'designs.renameTitle': 'Rename project',
  'designs.renameSave': 'OK',
  'designs.renameCancel': 'Cancel',

  '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.modeOrbit': 'Orbit',
  'examples.modeLive': 'Ao vivo',
  '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.unavailablePlaceholder': 'Sem prévia {kind} incluída — abra para saber mais',
  'examples.shareUnavailable': 'Sem prévia {kind} incluída para compartilhar',
  '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.amrConsole': 'AMR account',
  'avatar.amrConsoleMeta': 'Balance & recharge',
  '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)',

  'inlineSwitcher.chipTitle': 'Trocar CLI / modelo',
  'inlineSwitcher.chipCli': 'CLI local',
  'inlineSwitcher.chipByok': 'BYOK',
  'inlineSwitcher.modelDefault': 'padrão',
  'inlineSwitcher.noAgent': 'sem agente',
  'inlineSwitcher.modeLabel': 'Modo',
  'inlineSwitcher.agentLabel': 'Agente',
  'inlineSwitcher.providerLabel': 'Provedor',
  'inlineSwitcher.modelLabel': 'Modelo',
  'inlineSwitcher.useCli': 'Usar CLI local',
  'inlineSwitcher.useByok': 'Usar chave de API BYOK',
  'inlineSwitcher.daemonOffline': 'Daemon offline — abrir configurações',
  'inlineSwitcher.noAgentsDetected': 'Nenhum CLI detectado no PATH',
  'inlineSwitcher.openSettingsForModel': 'Configure o provedor em Configurações',
  'inlineSwitcher.missingApiKey': 'Chave de API ausente — abra Configurações.',
  'inlineSwitcher.openFullSettings': 'Abrir configurações de execução',
  'inlineSwitcher.customSuffix': '(personalizado)',

  'project.backToProjects': 'Voltar aos projetos',
  'project.metaFreeform': 'livre',
  'project.resizeChatPanel': 'Redimensionar painel de chat',
  'project.instructionsActive': 'Ativo — incluído em cada mensagem',
  '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.comments.comment': 'Comment',
  'chat.comments.sendToChat': 'Send to chat',
  'chat.comments.sending': 'Sending…',
  'chat.comments.edit': 'Edit',
  'chat.comments.select': 'Select',
  'chat.comments.selectAll': 'Selecionar tudo',
  'chat.comments.deselect': 'Deselect',
  'chat.comments.nSelected': '{n} selected',
  'chat.comments.pin': 'Pin',
  'chat.comments.addNote': 'Add note',
  'chat.comments.savedToast': 'Comment saved',
  'chat.comments.pinSavedToast': 'Pin saved',
  'chat.comments.pinAtCoords': 'at {x}, {y}',
  'chat.comments.capturedItems': '{n} captured items',
  'chat.comments.clear': 'Clear',
  'chat.comments.targetImage': 'Image',
  'chat.comments.targetControl': 'Control',
  'chat.comments.targetLink': 'Link',
  'chat.comments.targetText': 'Text',
  'chat.comments.targetSection': 'Section',
  'chat.comments.targetPage': 'Page',
  'chat.comments.targetArea': 'Area',
  'chat.annotationNotePlaceholder': 'Add a note for this mark',
  'chat.annotationAttachImage': 'Anexar imagem',
  'chat.annotationAttachedImages': 'Imagens anexadas',
  'chat.annotationAttachedRemove': 'Remover última imagem',
  'chat.annotationAddToInput': 'Add to input',
  'chat.annotationAddingToInput': 'Adding...',
  'chat.annotationQueue': 'Queue',
  'chat.annotationQueueing': 'Queueing...',
  'chat.annotationSending': 'Sending...',
  'chat.annotationSendDisabledReason': 'A task is currently running',
  'chat.annotationPreviewMissing': 'Could not capture the preview. Please try again.',
  'chat.annotationPreviewMissingInk': 'Could not capture the preview. Try again to avoid sending only ink.',
  'chat.annotationTimeout': 'Annotation send timed out. Please try again.',
  'chat.annotationFailed': 'Annotation send failed. Please try again.',
  'chat.annotationProjectCreateFailed': 'Could not create a project, so the annotation was not sent.',
  'chat.annotationUploadFailed': 'Attachment upload failed. Please try again.',
  'chat.inspect.noEditableTargets': 'This page has no editable elements yet.',
  'chat.inspect.noCommentTargets': 'This page has no commentable elements yet.',
  'chat.inspect.editHint': 'Click an element in the canvas to edit its styles.',
  'chat.inspect.commentHint': 'Click an element in the canvas to add a comment.',
  '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.renameConversationLabel': 'Renomear "{title}"',
  'chat.deleteConversationConfirm':
    'Excluir "{title}"? Isso remove as mensagens.',
  'chat.untitledConversation': 'Conversa sem título',
  'chat.forkedConversationTitle': 'Fork de {title}',
  'chat.forkConversationFailed': 'Não foi possível bifurcar esta conversa.',
  'chat.startTitle': 'Comece uma conversa',
  'chat.startHint': "Descreva o que você quer gerar ou comece por um destes exemplos:",
  '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.copyPrompt': 'Copiar prompt',
  'chat.copyDone': 'Copiado!',
  'chat.composerPlaceholder': "Descreva o que você quer gerar…",
  'chat.activeFileEditingLabel': "Editando",
  'chat.activeFilePlaceholder': "Peça ao Open Design para alterar {file}...",
  'chat.designArtifactsShowMore': "Mostrar mais {count} arquivos de design",
  'chat.mode.chat.label': 'Ask',
  'chat.mode.chat.title': 'Modo Ask',

  'chat.mode.chat.summary': 'Para respostas rápidas, ajustes, planejamento e conversa sem presumir que um artefato de design precisa ser criado.',
  'chat.mode.chat.solves': 'Use para esclarecer ideias, melhorar prompts, comparar opções ou perguntar sobre trabalho existente.',
  'chat.mode.chat.query1': 'Resuma este rascunho e aponte as lacunas.',
  'chat.mode.chat.query2': 'Ajude-me a decidir a melhor estrutura para esta landing page.',
  'chat.mode.chat.query3': 'Revise este design e sugira melhorias concretas.',
  'chat.mode.design.label': 'Design Agent',
  'chat.mode.design.title': 'Modo Design Agent',
  'chat.mode.design.summary': 'Para criar ou alterar saídas concretas: páginas, protótipos, artefatos ao vivo, slides, imagens, vídeos, HyperFrames, áudio, dashboards e arquivos de projeto.',
  'chat.mode.design.solves': 'Use quando quiser que o Open Design gere arquivos, atualize o workspace ou transforme um brief em entregáveis multimodais.',
  'chat.mode.design.query1': 'Crie uma landing page de lançamento de produto e um protótipo HyperFrames a partir deste brief.',
  'chat.mode.design.query2': 'Crie um deck para investidores com 10 slides e notas de apresentação.',
  'chat.mode.design.query3': 'Gere conceitos de imagem, vídeo e áudio para esta campanha.',
  'chat.mode.cardBestFor': 'Ideal para',
  'chat.mode.cardTry': 'Experimente pedir',
  'chat.composerHint': "⌘/Ctrl + Enter para enviar · inclua objetivo, conteúdo, estilo e formato",
  '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': 'Reference another project',
  'chat.importDesignSystemHeader': 'Escolher um design system',
  'chat.importDesignSystemBack': 'Voltar',
  'chat.importDesignSystemSearch': 'Pesquisar design systems…',
  'chat.importDesignSystemEmpty': 'Nenhum design system corresponde a "{query}"',
  'chat.importDesignSystemNone': 'Nenhum — livre',
  'chat.importDesignSystemNoneSub': "Não vincular a um sistema desta vez",
  'chat.importDesignSystemActive': 'Ativo',
  'chat.importDesignSystemSwitched': 'Design system alterado para {title}',
  'chat.importDesignSystemFailed': "Não foi possível mudar o design system. Tente novamente.",
  'chat.importDesignSystemLoadFailed': 'Não foi possível carregar os sistemas de design.',
  'chat.linkedFolderRemoveAria': 'Remover pasta vinculada {path}',
  'chat.linkedFolderNotFound': 'A pasta não existe',
  'chat.linkedFolderAlready': 'Esta pasta já está vinculada',
  'chat.linkedFolderPickError': 'Não foi possível abrir o seletor de pasta',
  'chat.queuedHeader': 'Queued',
  'chat.queuedToSend': 'to Send',
  'chat.queuedEditQueuedTaskAria': 'Edit queued task',
  'chat.queuedSave': 'Save',
  'chat.queuedCancel': 'Cancel',
  'chat.queuedReorder': 'Drag to reorder',
  'chat.queuedEdit': 'Edit',
  'chat.queuedMore': 'more queued',
  'chat.queuedFollowUpFallback': 'Queued follow-up',
  '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.exportMenu': 'Export',
  'preview.shareTemplateBadge': 'Template',
  'preview.shareToX': 'X / Twitter',
  'preview.shareToReddit': 'Reddit',
  'preview.shareToFacebook': 'Facebook',
  'preview.shareToLinkedIn': 'LinkedIn',
  'preview.shareToInstagram': 'Instagram',
  'preview.shareToXiaohongshu': '小红书',
  'preview.copyTemplateLink': 'Copy template link',
  'preview.copyShareText': 'Copy share text',
  'preview.shareSocialGroup': 'Share to social',
  'preview.shareCopyGroup': 'Copy',
  'preview.shareExportGroup': 'Export files',
  'preview.shareCopied': 'Copied',
  'preview.shareCopyFailed': 'Copy failed',
  'preview.shareTextDefault': 'Open Design template: {title}',
  'preview.openInNewTab': 'Abrir em nova aba',
  'preview.exit': '⤓ Sair',
  'preview.fullscreen': '⤢ Tela cheia',
  'preview.closeTitle': 'Fechar (Esc)',
  'preview.loading': 'Carregando {label}…',
  'preview.errorTitle': 'Não foi possível carregar este exemplo.',
  'preview.errorBody': 'A obtenção do HTML do exemplo falhou. Verifique se o Open Design está em execução e tente novamente.',
  'preview.retry': 'Tentar novamente',
  'preview.unavailableTitle': 'Nenhuma prévia incluída para {noun}.',
  'preview.unavailableBody': 'Execute o prompt no chat para gerar um resultado {kind}.',
  'preview.nounSkill': 'esta skill',
  'preview.nounPlugin': 'este plugin',
  'preview.nounTemplate': 'este modelo',
  '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.focusMode': 'Focus workspace',
  'workspace.showChat': 'Show chat',
  'workspace.closeTab': 'Fechar aba',
  'workspace.deleteFileConfirm': 'Excluir "{name}" da pasta do projeto?',
  'workspace.deleteSelectedFilesConfirm': 'Excluir {n} arquivo(s) selecionado(s) da pasta do projeto?',
  'workspace.deleteSelectedFilesPartial': 'Falha ao excluir {n} arquivo(s).',
  'workspace.openFromDesignFiles': 'Abra um arquivo em',
  'workspace.designFilesLink': 'Arquivos de design',
  'workspace.loadingSketch': 'Carregando esboço…',
  'workspace.newTab': 'Nova aba',
  'workspace.searchFilesPlaceholder': 'Pesquisar arquivos…',
  'workspace.openFile': 'Abrir um arquivo',
  'workspace.noFilesMatch': 'Nenhum arquivo corresponde',
  'workspace.allFiles': 'Todos',
  'workspace.createNew': 'Criar novo',
  'workspace.tabOpen': 'Aberto',
  'workspace.newSideChat': 'Novo chat lateral',
  'workspace.newSideChatDescription': 'Abrir um chat com contexto em uma nova aba',
  'workspace.sideChatContextBanner': 'Contexto da conversa atual integrado',
  'workspace.sideChatDefaultTitle': 'Chat lateral',
  'workspace.newTerminal': 'Novo terminal',
  'workspace.newTerminalDescription': 'Abrir um shell no diretório do projeto em uma nova aba',
  'workspace.newBrowser': 'Novo navegador',
  'workspace.newBrowserDescription': 'Abrir uma aba de navegador integrada para sites de referência e tarefas',
  'workspace.terminalStarting': 'Iniciando terminal…',
  'workspace.terminalStartingDescription': 'Preparando o shell do projeto. Normalmente leva alguns segundos.',
  'workspace.terminalSessionEnded': 'Sessão encerrada',
  'workspace.terminalReconnecting': 'Reconectando…',
  'workspace.terminalStartFailed': 'Não foi possível iniciar a sessão de terminal',
  'workspace.terminalRestart': 'Reiniciar',
  'designFiles.title': 'Arquivos de design',
  'designFiles.upload': 'Enviar arquivos',
  'designFiles.pasteText': 'Colar como arquivo de texto',
  'designFiles.newSketch': 'Novo esboço',
  'designFiles.empty': 'As criações aparecerão aqui',
  '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': 'Baixar {n} selecionados como ZIP',
  'designFiles.clearSelection': 'Limpar seleção',
  'designFiles.selectPage': 'Selecionar tudo na página',
  'designFiles.selectAll': 'Selecionar tudo',
  'designFiles.deleteSelected': 'Excluir {n}',
  '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.groupBy': 'Agrupar por',
  'designFiles.groupByKind': 'Tipo',
  'designFiles.groupByModified': 'Modificado',
  'designFiles.expandGroup': 'Expandir',
  'designFiles.collapseGroup': 'Recolher',
  'designFiles.sectionPages': 'Páginas',
  'designFiles.sectionScripts': 'Scripts',
  'designFiles.sectionImages': 'Imagens',
  'designFiles.sectionSketches': 'Esboços',
  'designFiles.sectionLiveArtifacts': 'Artefatos live',
  'designFiles.sectionOther': 'Outros',
  'designFiles.modifiedToday': 'Hoje',
  'designFiles.modifiedYesterday': 'Ontem',
  'designFiles.modifiedPrevious7Days': 'Últimos 7 dias',
  'designFiles.modifiedPrevious30Days': 'Últimos 30 dias',
  'designFiles.modifiedOlder': 'Mais antigos',
  '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.kindLiveArtifact': 'Artefato live',
  'designFiles.kindBinary': 'Binário',
  'designFiles.kindFolder': 'Pasta',
  'designFiles.folderCount': '{n} arquivos',
  'designFiles.newFolderTitle': 'Nova pasta',
  'designFiles.newFolderLabel': 'Nome da pasta',
  'designFiles.moveTitle': 'Mover para a pasta',
  'designFiles.moveLabel': 'Pasta de destino',
  'designFiles.moveRoot': 'Raiz do projeto',
  'designFiles.moveNewFolder': 'Nova pasta…',
  'designFiles.move': 'Mover',
  'designFiles.copyPath': 'Copiar caminho',
  'designFiles.copiedPath': 'Caminho copiado',
  'designFiles.deleteFolderConfirm': 'Excluir a pasta "{name}" e todo o seu conteúdo?',
  'designFiles.folderCreated': 'Pasta "{name}" criada',
  'designFiles.folderDeleted': 'Pasta "{name}" excluída',
  'designFiles.filesMoved': '{n} movido(s) para {dest}',
  'designFiles.colName': 'Nome',
  'designFiles.colKind': 'Tipo',
  'designFiles.colModified': 'Modificado',
  'designFiles.perPage': 'Mostrar',
  'designFiles.all': 'Todos',
  'designFiles.prev': 'Anterior',
  'designFiles.next': 'Próximo',
  'designFiles.jumpToPage': 'Ir para a página',
  'designFiles.pageInfo': '{start}–{end} de {total}',
  'designFiles.sectionFolders': 'Folders',
  'designFiles.sectionStylesheets': 'Stylesheets',
  'designFiles.sectionDocuments': 'Documents',
  'designFiles.kindStylesheet': 'Stylesheet',
  'designFiles.modifiedExt': 'Modified {time} · {size} · {ext}',
  'designFiles.usefulInfoLabel': 'Useful info',
  'designFiles.usefulInfoTip': 'Double-click any file to open it in a full tab.',
  'quickSwitcher.placeholder': 'Abrir arquivo…',
  'quickSwitcher.empty': 'Nenhum arquivo neste projeto',
  'quickSwitcher.noMatches': 'Sem resultados',
  'quickSwitcher.navigate': 'navegar',
  'quickSwitcher.open': 'abrir',
  'quickSwitcher.close': 'fechar',
  '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.saved': 'Salvo',
  '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.tweaksUnavailable': 'Sem painel de ajustes neste artefato',
  'fileViewer.jsxModuleTitle': 'Sem visualização independente',
  'fileViewer.jsxModuleBody': 'Este arquivo é um módulo de componente carregado por outra página.',
  'fileViewer.jsxModuleCta': 'Abra a página que o renderiza:',
  'fileViewer.comment': 'Comentar',
  'fileViewer.edit': 'Editar',
  'fileViewer.draw': 'Desenhar',
  'fileViewer.mark': 'Marcar',
  'fileViewer.markTool': 'Ferramenta de marcação',
  'fileViewer.boxSelect': 'Selecionar área',
  'fileViewer.screenshot': 'Captura de tela',
  'manualEdit.layers': "Layers",
  'manualEdit.editableCount': "{count} editable",
  'manualEdit.hiddenBadge': "Hidden",
  'manualEdit.title': "Manual editor",
  'manualEdit.fallbackTitle': 'Edit',
  'manualEdit.movePanel': 'Move edit panel',
  'manualEdit.editParams': 'Editar parâmetros',
  'manualEdit.closePanel': 'Close edit panel',
  'manualEdit.selectLayer': "Select a layer",
  'manualEdit.empty': "Click an element in the preview or choose a layer.",
  'manualEdit.noEditableLayers': "No editable layers found.",
  'manualEdit.noClass': "no class",
  'manualEdit.tabsAria': "Manual edit tabs",
  'manualEdit.tabContent': "Content",
  'manualEdit.tabStyle': "Style",
  'manualEdit.tabAttributes': "Attributes",
  'manualEdit.tabHtml': "Html",
  'manualEdit.tabSource': "Source",
  'manualEdit.attributesJson': "Attributes JSON",
  'manualEdit.selectedHtml': "Selected element HTML",
  'manualEdit.fullSource': "Full artifact source",
  'manualEdit.applyContent': "Apply Content",
  'manualEdit.applyStyle': "Apply Style",
  'manualEdit.applyAttributes': "Apply Attributes",
  'manualEdit.applyHtml': "Apply HTML",
  'manualEdit.applySource': "Apply Source",
  'manualEdit.invalidAttributes': "Invalid attributes JSON.",
  'manualEdit.changes': "Changes",
  'manualEdit.undo': "Undo",
  'manualEdit.redo': "Redo",
  'manualEdit.noChanges': "No manual edits yet.",
  'manualEdit.imageUrl': "Image URL",
  'manualEdit.altText': "Alt text",
  'manualEdit.label': "Label",
  'manualEdit.text': "Text",
  'manualEdit.href': "Href",
  'manualEdit.textColor': "Text color",
  'manualEdit.background': "Background",
  'manualEdit.fontSize': "Font size",
  'manualEdit.weight': "Weight",
  'manualEdit.align': "Align",
  'manualEdit.padding': "Padding",
  'manualEdit.margin': "Margin",
  'manualEdit.radius': "Radius",
  'manualEdit.border': "Border",
  'manualEdit.width': "Width",
  'manualEdit.minHeight': "Min height",
  'fileViewer.zoomOut': 'Diminuir zoom',
  'fileViewer.zoomIn': 'Aumentar zoom',
  'fileViewer.resetZoom': 'Redefinir zoom',
  'fileViewer.viewportAria': 'Preview viewport',
  'fileViewer.viewportDesktop': 'Desktop',
  'fileViewer.viewportDesktopTitle': 'Full-width desktop preview',
  'fileViewer.viewportTablet': 'Tablet',
  'fileViewer.viewportTabletTitle': 'Tablet preview at 820 × 1180 (modern portrait baseline)',
  'fileViewer.viewportMobile': 'Mobile',
  'fileViewer.viewportMobileTitle': 'Mobile preview at 390 × 844',
  '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.shareMenuShareLink': 'COMPARTILHAR',
  'fileViewer.shareMenuPublishOnline': 'PUBLICAR ONLINE',
  'fileViewer.shareMenuDownload': 'BAIXAR',
  'fileViewer.shareMenuPresentation': 'Apresentação',
  'fileViewer.shareMenuSourceFiles': 'Arquivos-fonte',
  'fileViewer.shareMenuSave': 'SALVAR',
  'fileViewer.copyShareLink': 'Copiar link de compartilhamento',
  'fileViewer.openSharePage': 'Abrir página compartilhada',
  'fileViewer.shareLinkRequiresDeploy': 'Publique online primeiro para obter um link',
  'fileViewer.shareLinkPublishGuide': 'Publique online acima para habilitar o compartilhamento ↑',
  'fileViewer.shareAfterGenerationComplete': 'Compartilhamento disponível após a geração',
  'fileViewer.copyProviderLink': 'Copy {provider} link',
  'fileViewer.copyCloudflareLink': 'Copy Cloudflare link',
  'fileViewer.screenshotCopying': 'Copying screenshot...',
  'fileViewer.screenshotCopied': 'Screenshot copied to clipboard',
  'fileViewer.screenshotClipboardDenied': 'Browser blocked clipboard access',
  'fileViewer.screenshotPreviewLoading': 'Preview is still loading. Try again in a moment.',
  'fileViewer.screenshotCaptureFailed': 'Could not capture the preview. Please try again.',
  '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.exportImage': 'Exportar como imagem',
  'fileViewer.exportImageFailed': 'Falha ao capturar a imagem. Tente novamente ou use a ferramenta de captura de tela do seu navegador.',
  'fileViewer.exportImageModalSubtitle': 'Escolha um formato e baixe a prévia atual como imagem.',
  'fileViewer.exportImageFormatLabel': 'Formato',
  'fileViewer.exportImageSaving': 'Salvando imagem…',
  'fileViewer.exportImageSaved': 'Imagem salva',
  'fileViewer.exportImageDownloadStarted': 'Download iniciado',
  'fileViewer.exportImageDownloadDetails': '{filename} está nos downloads do navegador se a janela Salvar como não apareceu.',
  'fileViewer.exportJsx': 'Exportar como JSX',
  'fileViewer.exportReactHtml': 'Exportar prévia como HTML',
  'fileViewer.exportStarted': 'Export started',
  '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?)',
  'liveArtifact.refresh.button': 'Atualizar',
  'liveArtifact.refresh.buttonTitle': 'Atualizar este artefato ao vivo',
  'liveArtifact.refresh.loadingTitle': 'Carregando artefato ao vivo…',
  'liveArtifact.refresh.noSourceTitle': 'Ainda não há fonte de atualização somente leitura aprovada.',
  'liveArtifact.refresh.running': 'Atualizando…',
  'liveArtifact.refresh.runningMessage': 'Atualizando dados e prévia. Isso pode levar um momento.',
  'liveArtifact.refresh.runningAction': 'A prévia anterior continua visível até a atualização ter sucesso.',
  'liveArtifact.refresh.successOne': 'Atualização concluída. Dados atualizados.',
  'liveArtifact.refresh.successMany': 'Atualização concluída. Dados atualizados.',
  'liveArtifact.refresh.successAction': 'A prévia foi recarregada com os dados confirmados mais recentes.',
  'liveArtifact.refresh.previousFailure': 'Atualização anterior falhou: {message}',
  'liveArtifact.refresh.failureAction': 'Revise o histórico de atualização, corrija a fonte ou permissão e tente novamente.',
  'liveArtifact.refresh.networkFailure': 'A solicitação de atualização falhou. Verifique sua conexão e tente novamente.',
  'liveArtifact.refresh.genericFailure': 'Atualização falhou.',
  'liveArtifact.refresh.statusNever': 'Não atualizável',
  'liveArtifact.refresh.statusReady': 'Pronto para atualizar',
  'liveArtifact.refresh.statusSucceeded': 'Atualizado',
  'liveArtifact.refresh.statusFailed': 'Atualização falhou',
  'fileViewer.deployToVercel': 'Implantar na Vercel',
  'fileViewer.redeployToVercel': 'Implantar novamente',
  'fileViewer.deployingToVercel': 'Implantando na Vercel…',
  'fileViewer.deployProviderLabel': 'Provedor',
  'fileViewer.vercelProvider': 'Vercel',
  'fileViewer.cloudflarePagesProvider': 'Cloudflare Pages',
  'fileViewer.deployToProvider': 'Implantar em {provider}',
  'fileViewer.redeployToProvider': 'Implantar novamente em {provider}',
  'fileViewer.deployingToProvider': 'Implantando em {provider}…',
  'fileViewer.preparingPublicLink': 'Preparando link público…',
  'fileViewer.copyDeployLink': 'Copiar link',
    'fileViewer.deployModalTitle': 'Implantar',
  'fileViewer.deployModalSubtitle': 'Use a conta do provedor selecionado para implantar esta prévia HTML.',
  'fileViewer.vercelToken': 'Token da Vercel',
  'fileViewer.vercelTokenGetLink': 'Obter token da Vercel',
  'fileViewer.vercelTokenPlaceholder': 'Cole seu token da Vercel',
  'fileViewer.vercelTokenReuseHint': 'O token salvo será usado. Insira um novo token para substituí-lo.',
  'fileViewer.vercelTokenRequired': 'Insira e salve primeiro um token da Vercel.',
  'fileViewer.cloudflareApiToken': 'Token de API da Cloudflare',
  'fileViewer.cloudflareApiTokenGetLink': 'Obter token de API',
  'fileViewer.cloudflareApiTokenPlaceholder': 'Cole seu token de API da Cloudflare',
  'fileViewer.cloudflareApiTokenReuseHint': 'O token de API da Cloudflare salvo será usado. Insira um novo token para substituí-lo.',
  'fileViewer.cloudflareApiTokenRequired': 'Insira e salve primeiro um token de API da Cloudflare.',
  'fileViewer.cloudflareApiTokenScopeHint': 'Selecione Pages Edit ao criar o token de API; domínios personalizados precisam de Zone Read / DNS Edit.',
  'fileViewer.vercelTeamId': 'ID da equipe',
  'fileViewer.vercelTeamSlug': 'Slug da equipe',
  'fileViewer.cloudflareAccountId': 'ID da conta',
  'fileViewer.cloudflareAccountIdHint': 'Encontre o ID da conta no painel da Cloudflare.',
  'fileViewer.cloudflareAccountIdRequired': 'Insira e salve primeiro um Cloudflare Account ID.',
  'fileViewer.cloudflareZoneLabel': 'Domain',
  'fileViewer.cloudflareZonePlaceholder': 'Save Cloudflare settings to load domains',
  'fileViewer.cloudflareZoneRequired': 'Select a Cloudflare domain first.',
  'fileViewer.cloudflareZonesLoading': 'Loading Cloudflare domains…',
  'fileViewer.cloudflareZonesRefresh': 'Refresh domains',
  'fileViewer.cloudflareZonesLoadFailed': 'Could not load Cloudflare domains.',
  'fileViewer.cloudflareZonesEmpty': 'No active full Cloudflare domains were found for this account.',
  'fileViewer.cloudflareDomainPrefixLabel': 'Subdomain prefix',
  'fileViewer.cloudflareDomainPrefixPlaceholder': 'demo',
  'fileViewer.cloudflareDomainPrefixInvalid': 'Use one DNS label only: lowercase letters, numbers, and hyphens.',
  'fileViewer.cloudflareHostnamePreview': 'Custom domain preview: {hostname}',
  'fileViewer.cloudflareCustomDomainHint': 'Opcional: vincule um domínio personalizado. Se deixar em branco, um link pages.dev ainda será criado.',
  'fileViewer.cloudflarePagesDevLinkLabel': 'pages.dev URL',
  'fileViewer.cloudflareCustomDomainLinkLabel': 'Custom domain',
  'fileViewer.optional': 'Opcional',
  'fileViewer.vercelPreviewOnly': 'As implantações são apenas Preview por enquanto.',
  'fileViewer.cloudflarePagesPreviewHint': 'Cloudflare Pages usa Direct Upload.',
  'fileViewer.savingConfig': 'Salvando…',
  'fileViewer.deployConfigSaveFailed': 'Não foi possível salvar as configurações da Vercel.',
  'fileViewer.deployFailed': 'Falha na implantação. Verifique as configurações da Vercel e tente novamente.',
  'fileViewer.deployProviderConfigSaveFailed': 'Não foi possível salvar as configurações de {provider}.',
  'fileViewer.deployProviderFailed': 'A implantação em {provider} falhou. Verifique as configurações e tente novamente.',
  'fileViewer.deployResultLabel': 'URL implantada',
  'fileViewer.deployLinkReady': 'Pronto',
  'fileViewer.deploySuccessToast': 'Implantação enviada com sucesso',
  'fileViewer.deploySuccessToastDetails': '{provider} · {url}',
  'fileViewer.deployLinkPreparingLabel': 'Link público pendente',
  'fileViewer.deployLinkDelayed': 'Seu site foi implantado. O provedor ainda está preparando o link público.',
  'fileViewer.deployLinkFailed': 'Falha no domínio personalizado',
  'fileViewer.deployLinkProtectedLabel': 'Proteção da implantação ativada',
  'fileViewer.deployLinkProtected': 'O site foi implantado, mas este link de prévia exige autenticação. Desative Deployment Protection ou use um domínio personalizado.',
  'fileViewer.retryLink': 'Tentar novamente agora',

  '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.askQuestion': 'Pergunta',
  'tool.askQuestionSubmit': 'Enviar',
  'tool.askQuestionPending': 'Aguardando sua resposta',
  'tool.askQuestionAnswered': 'Respondido',
  'tool.todosExpand': 'Mostrar tarefas',
  'tool.todosCollapse': 'Ocultar tarefas',
  'tool.todosDone': 'Concluído',
  'tool.todosDismiss': 'Fechar lista de 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.copyMarkdown': 'Copiar Markdown da resposta',
  'assistant.forkConversation': 'Bifurcar daqui',
  'assistant.forkingConversation': 'Bifurcando…',
  'assistant.feedbackPrompt': 'Feedback',
  'assistant.feedbackPositive': 'Útil',
  'assistant.feedbackNegative': 'Não útil',
  'assistant.feedbackReasonTitle': 'Tell us why',
  'assistant.feedbackReasonPositiveMatched': 'Understood my request',
  'assistant.feedbackReasonPositiveVisual': 'Looks good',
  'assistant.feedbackReasonPositiveUseful': 'Useful structure',
  'assistant.feedbackReasonPositiveEasy': 'Easy to keep editing',
  'assistant.feedbackReasonPositiveDesignSystem': 'Followed the design system',
  'assistant.feedbackReasonNegativeMissed': 'Missed my request',
  'assistant.feedbackReasonNegativeVisual': 'Visual quality needs work',
  'assistant.feedbackReasonNegativeIncomplete': 'Incomplete output',
  'assistant.feedbackReasonNegativeHard': 'Hard to use',
  'assistant.feedbackReasonNegativeDesignSystem': 'Did not follow the design system',
  'assistant.feedbackReasonOther': 'Other',
  'assistant.feedbackReasonPlaceholder': 'Add a short note...',
  'assistant.feedbackReasonSubmit': 'Submit',
  'assistant.emptyResponseLabel': 'No output',
  'assistant.emptyResponseMessage': 'The provider ended the request without returning text or an artifact. Try another model or provider, check quota, or retry.',
  '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',
  'nextStep.title': 'Próximo passo',
  'nextStep.share': 'Compartilhar',
  'nextStep.chipJoiner': ', ',
  'nextStep.chipPolishVisual': 'Deixar mais premium',
  'nextStep.chipBrand': 'Reforçar o estilo da marca',
  'nextStep.chipConcise': 'Enxugar o texto',
  'nextStep.chipSecondVersion': 'Gerar uma segunda versão',
  'assistant.thinking': 'Pensando',
  'assistant.thought': 'Pensou',
  'assistant.thoughtFor': 'Pensou por {s}s',
  'assistant.systemReminder': 'Lembrete do sistema',
  'assistant.possiblePromptInjection': 'Possível injeção de prompt',
  'assistant.waitingFirstOutput': 'Aguardando primeira saída',
  'assistant.statusBootingAgent': 'Iniciando agente',
  'assistant.statusPreparing': 'Preparing...',
  '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',
  'questions.tabLabel': 'Questions',
  'questions.banner': 'Mind if I ask a couple of quick questions?',
  'questions.continue': 'Continue',
  'questions.generating': 'Generating questions…',
  'questions.skipAll': 'Skip all',
  'questions.autoSkipHint': 'Auto-continues when the timer ends',

  '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.closeConfirm': 'Fechar o esboço e descartar as alterações não salvas?',
  'sketch.textPrompt': 'Texto:',
  'sketch.textModalTitle': 'Adicionar 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.fieldAccentDefault': 'Cor de destaque padrão',
  'pet.overlayAria': 'Companheiro',
  'pet.spriteAria': '{name} — arraste para mover, clique para conversar',
  'pet.spriteTitle': 'Olá de {name}! Clique para conversar.',
  'pet.composerTitle': 'Bichinhos — acordar, esconder ou escolher',
  'pet.composerMenuTitle': 'Bichinhos',
  'pet.composerMenuHint': 'dica: digite /pet para alternar',
  'pet.composerOpenSettings': 'Gerenciar pets',
  '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': '<conceito>',
  'pet.slashSearch': 'Pesquise na web pelo comando OD research.',
  'pet.slashSearchArg': '<consulta>',
  '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',
  'settings.skills': 'Habilidades',
  'settings.skillsHint': 'Habilidades funcionais que o agente pode invocar durante a tarefa',
  'settings.skillsNew': 'Nova habilidade',
  'settings.skillsEmpty': 'Selecione uma habilidade à esquerda ou crie uma nova.',
  'settings.skillsEdit': 'Editar',
  'settings.skillsDelete': 'Excluir',
  'settings.skillsDeleteConfirm': 'Confirmar exclusão',
  'settings.skillsName': 'Nome',
  'settings.skillsTriggers': 'Gatilhos (separados por vírgulas ou novas linhas)',
  'settings.skillsDescription': 'Descrição',
  'settings.skillsBody': 'Corpo do SKILL.md',
  'settings.skillsCreate': 'Criar',
  'settings.skillsSave': 'Salvar',
  'settings.skillsSaving': 'Salvando…',
  'settings.skillsFiles': 'Arquivos',
    'settings.skillsNoFiles': 'Nenhum arquivo nesta pasta de habilidade.',
  'settings.skillsNameRequired': 'O nome da habilidade é obrigatório.',
  'settings.skillsBodyRequired': 'O conteúdo da habilidade é obrigatório.',
  'settings.designSystems': 'Design systems',
  'settings.designSystemsHint': 'Explore e ative os design systems disponíveis',
  'settings.designSystemsInstalled': 'Instalados',
  'settings.designSystemsAdd': 'Adicionar design system',
  'settings.designSystemsHiddenCount': '{count} ocultos da galeria inicial',
  'settings.designSystemsShowAll': 'Mostrar todos',
  'settings.designSystemsShowHidden': 'Mostrar ocultos',
  'settings.designSystemsSource': 'Origem',
  'settings.designSystemsSourceLocal': 'Local',
  'settings.designSystemsSourceGithub': 'GitHub',
  'settings.designSystemsSourceShadcn': 'shadcn',
  'settings.designSystemsShadcnReference': 'Referência do registro shadcn',
  'settings.designSystemsImportShadcn': 'Importar do shadcn',
  'settings.designSystemsStructure': 'Estrutura',
  'settings.designSystemsModeHybrid': 'Híbrido',
  'settings.designSystemsModeNormalized': 'Normalizado',
  'settings.designSystemsModeVerbatim': 'Literal',
  'settings.designSystemsCraft': 'Craft',
  'settings.designSystemsCraftColor': 'Cor',
  'settings.designSystemsCraftAccessibility': 'Acessibilidade',
  'settings.designSystemsGithubUrl': 'URL do GitHub',
  'settings.designSystemsProjectPath': 'Caminho do projeto',
  'settings.designSystemsImportGithub': 'Importar do GitHub',
  'settings.designSystemsImportProject': 'Importar do projeto',
  'settings.designSystemsImportedStatus': '{title} importado',
  'settings.designSystemsViewImported': 'Ver design system importado',
  'settings.designSystemsCategory': 'Categoria',
  'settings.designSystemsAllCategories': 'Todas as categorias',
  'settings.designSystemsShowInHomeGallery': 'Mostrar na galeria inicial',
  'settings.projectLocations': 'Locais de projetos',
  'settings.projectLocationsHint': 'Raízes de armazenamento do workspace',
  'settings.projectLocationsDescription': 'Adicione bases de trabalho que podem conter várias pastas de projetos do Open Design. Novos projetos são salvos como uma pasta dentro da base selecionada.',
  'settings.projectLocationsSaveError': 'Não foi possível salvar os locais de projetos. Verifique se cada caminho é uma pasta acessível.',
  'settings.projectLocationsSaved': 'Locais de projetos salvos.',
  'settings.projectLocationsScanError': 'Não foi possível escanear os locais de projetos.',
  'settings.projectLocationsScanComplete': 'Escaneamento concluído: {imported} importados, {existing} já registrados.',
  'settings.projectLocationsNoFolderSelected': 'Nenhuma pasta selecionada.',
  'settings.projectLocationsDuplicate': 'Essa base de trabalho já foi adicionada.',
  'settings.projectLocationsWorkBaseMeta': 'Base de trabalho · projetos são criados aqui como subpastas',
  'settings.projectLocationsAddFolder': 'Adicionar pasta…',
  'settings.projectLocationsDefaultBadge': 'Local padrão',
  'settings.projectLocationsMakeDefault': 'Tornar padrão',
  'settings.projectLocationsDefaultSaved': 'Local padrão do projeto atualizado.',
  'settings.librarySkills': 'Habilidades',
  'settings.libraryDesignSystems': 'Sistemas de design',
  'settings.librarySearch': 'Pesquisar...',
  'settings.libraryAll': 'Todos',
  'settings.libraryPreview': 'Visualizar',
  'settings.libraryPreviewClose': 'Fechar',
  'settings.libraryLoading': 'Carregando...',
  'settings.libraryNoResults': 'Nenhum item corresponde à sua pesquisa.',
  'settings.libraryEnabled': 'Ativado',
  'settings.libraryDisabled': 'Desativado',
  'settings.connectorsNavHint': 'Conexões com sistemas externos',
  'settings.connectorsHint': 'Gerencie configurações de conectores e provedores de ferramentas para este dispositivo.',
  'settings.connectorsComposioApiKey': 'Chave de API da Composio',
  'settings.connectorsSavedTitle': 'Salva no daemon local',
  'settings.connectorsSavedWithTail': 'Salva · ••••{tail}',
  'settings.connectorsSaved': 'Salva',
  'settings.connectorsGetApiKey': 'Obter chave de API',
  'settings.connectorsReplaceKeyPlaceholder': 'Cole uma nova chave para substituir a salva',
  'settings.connectorsApiKeyPlaceholder': 'Cole a chave de API da Composio',
  'settings.connectorsClear': 'Limpar',
  'settings.connectorsClearConfirmTitle': 'Limpar a chave de API do Composio salva?',
  'settings.connectorsClearConfirmBody': 'Remover a chave desconecta todos os conectores do Composio vinculados a este workspace. Contas conectadas, autorizações OAuth e acessos a ferramentas serão removidos.',
  'settings.connectorsClearConfirmContinue': 'Continuar',
  'settings.connectorsClearFinalTitle': 'Isso vai desconectar todos os conectores',
  'settings.connectorsClearFinalBody': 'Não há como desfazer. Você precisará reconectar cada integração do zero depois de colar uma nova chave.',
  'settings.connectorsClearFinalConfirm': 'Apagar chave e desconectar',
  'settings.connectorsClearArming': 'Um instante\u2026',
  'settings.connectorsClearCancel': 'Cancelar',
  'settings.connectorsSaveKey': "Salvar chave",
  'settings.connectorsSaveKeyTitle': "Enviar esta chave para o daemon local",
  'settings.connectorsKeySaving': "Salvando…",
  'settings.connectorsKeySaved': "Salvo ✓",
  'settings.connectorsKeyError': "Não foi possível salvar a chave. Confirme que o daemon local está ativo e tente novamente.",
  'settings.connectorsHelpSaved': 'Sua chave desbloqueia o catálogo abaixo e permanece no daemon local. Cole uma nova chave para substituí-la ou limpe para remover.',
  'settings.connectorsHelpUnsaved': "Alterações não salvas — clique em Salvar chave para armazenar esta credencial no daemon local e desbloquear o catálogo abaixo.",
  'settings.connectorsHelpEmpty': 'Adicione uma chave para desbloquear o catálogo abaixo. As chaves são armazenadas localmente no daemon e nunca enviadas por variáveis de ambiente.',
  'settings.connectorsLoadingSavedKey': 'Procurando uma chave salva no daemon local…',
  'settings.autosaveSaving': "Salvando…",
  'settings.autosaveSaved': "Todas as alterações foram salvas",
  'settings.autosaveError': "Não foi possível salvar as alterações. O daemon local pode estar offline.",
  'settings.libraryToggleLabel': 'Alternar',
  // Memory (auto-extracted personalization saved as on-disk markdown)
  'settings.memory': 'Memory',
  'settings.memoryHint': 'Personal facts auto-extracted from chats',
  'settings.memoryDescription': 'Auto-extracted facts about you and your preferences. Saved as Markdown files and folded into every chat.',
  'settings.memoryEnabled': 'Enabled',
  'settings.memoryDisabled': 'Disabled',
  'settings.memoryEnableLabel': 'Enable memory injection',
  'settings.memoryDisabledBanner': 'Memory is currently OFF. Existing facts are preserved on disk but will not be folded into new chats and new turns will not extract anything new.',
  'settings.memoryNew': 'New memory',
  'settings.memoryEdit': 'Edit',
  'settings.memoryDelete': 'Delete',
  'settings.memoryPreview': 'Preview',
  'settings.memoryEmpty': 'No memory yet.',
  'settings.memoryEmptyHintZh': '记住: 用户偏好深色主题',
  'settings.memoryEmptyHintEn': 'I prefer dark mode',
  'settings.memoryName': 'Name',
  'settings.memoryDesc': 'One-line description',
  'settings.memoryBody': 'Memory body (Markdown supported)',
  'settings.memoryBodyHint': 'Lead with the rule itself; add Why and How to apply lines.',
  'settings.memoryStartersLabel': 'Need a starting point? Click to fill the form:',
  'settings.memoryStarterUserName': 'My role',
  'settings.memoryStarterUserDesc': 'I am a frontend engineer working on a SaaS design tool',
  'settings.memoryStarterUserBody': '- Role: senior frontend engineer\n- Stack: React, TypeScript, Vite\n- Domain: design / collaboration tools\n- Timezone: GMT+8 (Asia/Shanghai)\n\nWhen to apply: any chat — frame examples around web frontend.',
  'settings.memoryStarterFeedbackName': 'UI preferences',
  'settings.memoryStarterFeedbackDesc': 'Dark mode, large body text, low information density',
  'settings.memoryStarterFeedbackBody': '- Theme: dark by default\n- Body text: ≥ 18px\n- Information density: prefer whitespace, fewer items per screen\n\nWhy: less eye strain during long sessions.\nWhen to apply: whenever you generate UI, web pages, or slides.',
  'settings.memoryStarterProjectName': 'Current project',
  'settings.memoryStarterProjectDesc': 'Open Design v0.5 — chat-driven design editor',
  'settings.memoryStarterProjectBody': '- Goal: ship the chat-driven editor this quarter\n- Priorities: streaming render, local multimodal, offline-first\n- Stack: Next.js 16, Express daemon, SQLite\n\nWhen to apply: in any conversation about this project.',
  'settings.memorySaveHint': 'Not auto-saved — click Create / Save to apply.',
  'settings.memoryIndexSaveHint': 'Edits to the index are not auto-saved — click Save index to apply.',
  'settings.memoryIndexUnsaved': 'Unsaved changes',
  'settings.memoryFlashCreated': '✓ Memory created',
  'settings.memoryFlashSaved': '✓ Memory saved',
  'settings.memoryFlashDeleted': '✓ Memory deleted',
  'settings.memoryFlashIndexSaved': '✓ Index saved',
  'settings.memoryFlashPathCopied': '✓ Caminho copiado',
  'settings.memoryNameLabel': 'Title',
  'settings.memoryTypeLabel': 'Type',
  'settings.memoryDescLabel': 'Description',
  'settings.memoryBodyLabel': 'Content',
  'settings.memoryTypeUser': 'User',
  'settings.memoryTypeFeedback': 'Feedback',
  'settings.memoryTypeProject': 'Project',
  'settings.memoryTypeReference': 'Reference',
  'settings.memoryIndex': 'MEMORY.md (index)',
  'settings.memoryIndexSave': 'Save index',
  'settings.memoryIndexReset': 'Reset',
  'settings.memoryToastChanged': 'Memory updated',
  'settings.memoryToastClickHint': 'Ver',
  'settings.memoryAll': 'All',
  'settings.memoryExtractions': 'Extraction history',
  'settings.memoryExtractionsHint': 'Recent LLM-backed extraction attempts. Heuristic regex extraction always runs first; LLM extraction runs in the background after each turn.',
  'settings.memoryExtractionsEmpty': 'No extractions yet. The next chat turn will populate this list.',
  'settings.memoryExtractionsRefresh': 'Refresh',
  'settings.memoryExtractionsRefreshing': 'Refreshing…',
  'settings.memoryExtractionPhaseRunning': 'Running…',
  'settings.memoryExtractionPhaseSuccess': 'Success',
  'settings.memoryExtractionPhaseSkipped': 'Skipped',
  'settings.memoryExtractionPhaseFailed': 'Failed',
  'settings.memoryExtractionSkipNoProvider': 'No API key configured for LLM memory extraction.',
  'settings.memoryExtractionSkipDisabled': 'Memory is disabled.',
  'settings.memoryExtractionSkipEmpty': 'Empty user message — nothing to extract.',
  'settings.memoryExtractionSkipNoMatch': 'No regex pattern matched this turn.',
  'settings.memoryExtractionKindHeuristic': 'regex',
  'settings.memoryExtractionKindLlm': 'LLM',
  'settings.memoryExtractionProviderEnv': 'env',
  'settings.memoryExtractionProviderMediaConfig': 'media settings',
  'settings.memoryExtractionProposed': 'proposed',
  'settings.memoryExtractionWritten': 'written',
  'settings.memoryExtractionDuration': 'in',
  'settings.memoryNoProviderBannerTitle': 'LLM memory extraction is not running',
  'settings.memoryNoProviderBannerBody': 'No API key found for the memory extractor. Add an OpenAI key under Media providers, or set ANTHROPIC_API_KEY / OPENAI_API_KEY in the environment, to enable LLM-driven extraction. Heuristic regex extraction is still active.',
  'settings.memoryExtractionProviderOverride': 'memory settings',
  'settings.memoryExtractionDelete': 'Delete',
  'settings.memoryExtractionsClear': 'Clear',
  'settings.memoryExtractionsClearTitle': 'Clear all extraction history',
  'settings.libraryInstall': 'Instalar',
  'settings.libraryInstallGithub': 'GitHub',
  'settings.libraryInstallLocal': 'Caminho local',
  'settings.libraryInstallUrl': 'https://github.com/owner/repo',
  'settings.libraryInstallPath': '/path/to/skill-folder',
  'settings.libraryInstallButton': 'Instalar',
  'settings.libraryUninstall': 'Desinstalar',
  'settings.libraryBuiltIn': 'Integrado',
  'settings.libraryInstalled': 'Instalado',
  'notify.successTitle': 'Tarefa concluída',
  'notify.failureTitle': 'Tarefa falhou',
  'notify.successBody': 'Uma rodada foi concluída.',
  'notify.failureBody': 'A tarefa terminou com erro.',
  'updater.available': 'Atualização disponível',
  'updater.availableBody': 'Open Design {version} está disponível. Ela será baixada antes que o instalador possa abrir.',
  'updater.checking': 'Verificando atualizações',
  'updater.download': 'Baixar atualização',
  'updater.downloading': 'Baixando atualização',
  'updater.downloadingPercent': 'Baixando atualização {percent}%',
  'updater.done': 'Concluído',
  'updater.failed': 'Falha na atualização',
  'updater.installerOpenBody': 'O instalador está aberto. O Open Design está saindo para que você conclua a atualização.',
  'updater.installerOpened': 'Instalador aberto',
  'updater.later': 'Mais tarde',
  'updater.openFailedFallback': 'Não foi possível abrir o instalador.',
  'updater.openInstaller': 'Instalar atualização',
  'updater.opening': 'Abrindo instalador...',
  'updater.quitButton': 'Sair do Open Design',
  'updater.quitFailedBody': 'O instalador está aberto, mas não foi possível sair do Open Design. Saia do Open Design antes de substituir o app.',
  'updater.quitFailedTitle': 'Não foi possível sair',
  'updater.quitting': 'Saindo...',
  'updater.ready': 'Atualização pronta',
  'updater.readyGeneric': 'Uma nova versão está pronta. O Open Design será fechado e abrirá o instalador.',
  'updater.readyVersion': 'Open Design {version} está pronto. O Open Design será fechado e abrirá o instalador.',
  'updater.upToDate': 'Você já está na versão mais recente.',
  'settings.memoryModelInlineLabel': 'Memory model',
  'settings.memoryModelInlineSameAsChat': 'Same as chat',
  'settings.memoryModelInlineSameAsChatWithModel': 'Same as chat ({model})',
  'settings.memoryModelInlineSameAsChatWithProvider': 'Same as chat ({provider})',
  'settings.memoryModelInlineHintCli': 'Optional. The memory extractor uses an env-var or media-providers API key on this provider; pinning a model here just overrides the auto-pick.',
  'settings.memoryModelInlineHintCliConstrained': 'Optional. Memory will call {provider}; needs an env-var or media-providers API key for that provider, or pick a model below to override.',
  'settings.memoryModelInlineHintByok': 'Optional. Reuses your chat API key on the same provider — picking a different (usually cheaper) model only changes the request body.',
  'settings.memoryModelInlineFlashSaved': 'Saved',
  'settings.memoryModelInlineFlashCleared': 'Cleared',
  'settings.orbit.eyebrow': 'Automação',
  'settings.orbit.title': 'Orbit',
  'settings.orbit.navHint': 'Resumo diário de conectores',
  'settings.orbit.lede': 'Coletar atividade dos conectores em uma agenda e publicar o resultado como um live artifact atualizável.',
  'settings.orbit.statusOnTitle': 'execuções diárias agendadas estão ativadas',
  'settings.orbit.statusOffTitle': 'execuções diárias agendadas estão desativadas',
  'settings.orbit.statusActive': 'Ativo',
  'settings.orbit.statusOff': 'Desativado',
  'settings.orbit.runTitle': 'Iniciar uma execução Orbit e abrir a conversa ao vivo',
  'settings.orbit.running': 'Executando…',
  'settings.orbit.runOpen': 'Executar agora',
  'settings.orbit.dailySummaryTitle': 'Resumo diário',
  'settings.orbit.dailySummarySub': 'Executa uma vez por dia no horário local agendado.',
  'settings.orbit.on': 'Ativado',
  'settings.orbit.off': 'Desativado',
  'settings.orbit.runTimeTitle': 'Horário de execução',
  'settings.orbit.runTimeSub': 'Padrão 08:00. Salve para aplicar à agenda do daemon.',
  'settings.orbit.runTimeAria': 'Horário diário de execução Orbit',
  'settings.orbit.nextRun': 'Próxima execução',
  'settings.orbit.nextRunScheduledAfterSave': 'Agendada após salvar',
  'settings.orbit.schedule': 'Agenda',
  'settings.orbit.pausedManualOnly': 'Pausado — apenas execuções manuais',
  'settings.orbit.templateTitle': 'Modelo de prompt',
  'settings.orbit.templateMissing': 'O modelo {id} não está instalado.',
  'settings.orbit.templateMissingOption': '{id} (ausente)',
  'settings.orbit.templateMissingInstall': 'Instale uma skill Orbit para orientar o prompt.',
  'settings.orbit.templateMissingPickAnother': 'Escolha outro modelo no menu.',
  'settings.orbit.templateResetTitle': 'Redefinir para {id}',
  'settings.orbit.templateReset': 'Redefinir',
  'settings.orbit.templateHelp': 'Oriente Orbit com uma skill — o prompt de exemplo do modelo selecionado é injetado em cada execução Orbit para que os resumos sigam esse formato.',
  'settings.orbit.templateAria': 'Modelo de prompt Orbit',
  'settings.orbit.templatesLoading': 'Carregando modelos…',
  'settings.orbit.templatesOptgroup': 'Modelos de skills Orbit',
  'settings.orbit.lastRun': 'Última execução',
  'settings.orbit.triggerManual': 'Manual',
  'settings.orbit.triggerScheduled': 'Agendada',
  'settings.orbit.meterAria': '{succeeded} bem-sucedidos, {skipped} ignorados, {failed} com falha de {checked} verificados',
  'settings.orbit.countChecked': 'Verificados',
  'settings.orbit.countSucceeded': 'Bem-sucedidos',
  'settings.orbit.countSkipped': 'Ignorados',
  'settings.orbit.countFailed': 'Falharam',
  'settings.orbit.runError': 'Não foi possível executar Orbit. Verifique se o daemon local está em execução e se os conectores estão configurados.',
  'settings.orbit.gateAriaLabel': "Conectores são necessários para usar o Orbit",
  'settings.orbit.gateEyebrow': "Configuração necessária",
  'settings.orbit.gateTitle': "Conecte uma ferramenta para alimentar o Orbit",
  'settings.orbit.gateBody': "O Orbit resume a atividade dos seus conectores. Você ainda não conectou nada — adicione ao menos uma integração para o Orbit ter o que reportar.",
  'settings.orbit.gateBodyNoKey': "O Orbit resume a atividade dos conectores, e os conectores operam via Composio. Adicione uma chave de API do Composio em Conectores para desbloquear o catálogo e escolher sua primeira integração.",
  'settings.orbit.gateAction': "Abrir Conectores",
  'settings.orbit.gateActionNoKey': "Configurar Composio",
  'settings.orbit.gateLoading': "Verificando seus conectores…",
  'settings.orbit.controlsLockedBadge': "Bloqueado",
  'settings.orbit.controlsLockedHint': "Conecte uma ferramenta para desbloquear a programação e o modelo do Orbit.",
  'settings.orbit.artifactKickerLive': 'live artifact',
  'settings.orbit.artifactKickerLegacy': 'Resumo legado',
  'settings.orbit.artifactTitle': 'Resumo diário de atividade Orbit',
  'settings.orbit.artifactMetaLive': 'Artefato HTML atualizável gerado da atividade dos conectores.',
  'settings.orbit.artifactMetaLegacy': 'Gerado antes de ativar o suporte a live artifact — execute Orbit novamente para publicar um.',
  'settings.orbit.copyMarkdownTitle': 'Copiar resumo Markdown para a área de transferência',
  'settings.orbit.copied': 'Copiado',
  'settings.orbit.copy': 'Copiar',
  'settings.orbit.openArtifact': 'Abrir artefato',
  'settings.orbit.sourceMarkdown': 'Markdown de origem',
  'liveArtifact.viewer.tabPreview': 'Prévia',
  'liveArtifact.viewer.tabCode': 'Código',
  'liveArtifact.viewer.tabData': 'Dados',
  'liveArtifact.viewer.tabRefreshHistory': 'Histórico de atualização',
  'liveArtifact.viewer.dataEmpty': 'Nenhum cache data.json disponível.',
  'liveArtifact.viewer.code.templateHeading': 'HTML do modelo',
  'liveArtifact.viewer.code.renderedHeading': 'HTML renderizado',
  'liveArtifact.viewer.code.templateHelp': 'O modelo editável usado com data.json para gerar a prévia.',
  'liveArtifact.viewer.code.renderedHelp': 'O index.html gerado atualmente carregado pela Prévia.',
  'liveArtifact.viewer.code.variantAria': 'Variante de código',
  'liveArtifact.viewer.code.variantTemplate': 'Modelo',
  'liveArtifact.viewer.code.variantRendered': 'Renderizado',
  'liveArtifact.viewer.code.loading': 'Carregando código…',
  'liveArtifact.viewer.code.unavailable': 'O código ainda não está disponível.',
  'liveArtifact.viewer.code.empty': 'Este arquivo de código está vazio.',
  // Diagnostics export
  'diagnostics.exportTitle': 'Exportar diagnósticos',
  'diagnostics.exportButton': 'Exportar diagnósticos',
  'diagnostics.exportHint': 'Empacota logs recentes do app e informações do dispositivo em um zip para enviar à equipe.',
  'diagnostics.exporting': 'Exportando…',
  'diagnostics.exportSuccess': 'Diagnósticos salvos em {path}',
  'diagnostics.exportFailed': 'Falha ao exportar diagnósticos: {message}',
  'generationPreview.title': 'Gerando…',
  'generationPreview.failedTitle': 'Falha na geração',
  'generationPreview.failedFallback': 'Algo deu errado. Tente novamente.',
  'generationPreview.footnote': 'Normalmente leva de 2 a 5 minutos',
  'generationPreview.stepUnderstand': 'Entendendo os requisitos',
  'generationPreview.stepGenerate': 'Gerando a página',
  'generationPreview.stepPrepare': 'Preparando a prévia',
  'generationPreview.retry': 'Tentar novamente',
  'generationPreview.awaitingTitle': 'Aguardando sua resposta',
  'generationPreview.awaitingLead': 'Responda algumas perguntas no chat para continuar.',
  'generationPreview.stoppedTitle': 'Geração pausada',
  'generationPreview.stoppedLead': 'Retome as etapas restantes pelo chat à esquerda.',
  'generationPreview.reasonAuth': 'Login ou autorização expirou',
  'generationPreview.reasonRateLimited': 'Muitas solicitações',
  'generationPreview.reasonService': 'Serviço de geração indisponível',
  'generationPreview.reasonBalance': 'Saldo da conta esgotado',
};
