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