Files
openhuman/app/src/lib/i18n/chunks/pt-3.ts
T

508 lines
28 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationMap } from '../types';
// Portuguese (Português) chunk 3/5. Translated from chunks/en-3.ts.
const pt3: TranslationMap = {
'insights.other': 'Outros',
'insights.title': 'Insights',
'insights.empty': 'Nenhum insight ainda. Os insights são gerados conforme sua memória cresce.',
'insights.description': 'Baseado em {count} relações no seu grafo de memória.',
'insights.items': 'itens',
'insights.more': 'mais',
'calls.joiningCall': 'Entrando na chamada',
'calls.meetWindowOpening': 'A janela do Meet está abrindo...',
'calls.failedToStart': 'Falha ao iniciar chamada no Meet',
'calls.couldNotStart': 'Não foi possível iniciar a chamada',
'calls.failedToClose': 'Falha ao encerrar a chamada',
'calls.couldNotClose': 'Não foi possível encerrar a chamada',
'calls.joinMeet': 'Entrar em uma chamada do Google Meet',
'calls.joinMeetDescription': 'Insira um link do Google Meet para entrar.',
'calls.meetLink': 'Link do Meet',
'calls.displayName': 'Nome de Exibição',
'calls.openingMeet': 'Abrindo Meet...',
'calls.joinCall': 'Entrar na Chamada',
'calls.activeCalls': 'Chamadas Ativas',
'calls.leave': 'Sair',
'workspace.wipeConfirm':
'Tem certeza de que deseja apagar toda a memória? Isso não pode ser desfeito.',
'workspace.resetTreeConfirm': 'Tem certeza de que deseja reconstruir a árvore de memória?',
'workspace.wipeTitle': 'Apagar Memória',
'workspace.resetting': 'Redefinindo...',
'workspace.resetMemory': 'Redefinir Memória',
'workspace.resetTreeTitle': 'Reconstruir Árvore de Memória',
'workspace.rebuilding': 'Reconstruindo...',
'workspace.resetMemoryTree': 'Redefinir Árvore de Memória',
'workspace.building': 'Construindo...',
'workspace.buildSummaryTrees': 'Construir Árvores de Resumo',
'workspace.viewVault': 'Ver Cofre',
'workspace.openingVaultTitle': 'Abrindo o cofre no Obsidian',
'workspace.openingVaultMessage':
"If Obsidian doesn't open, install it from obsidian.md or use Reveal Folder. Vault path:",
'workspace.openVaultFailedTitle': "Couldn't open vault in Obsidian",
'workspace.openVaultFailedMessage':
'Use Reveal Folder para abrir o diretório do vault diretamente. Caminho do cofre:',
'workspace.revealVaultFailed': "Couldn't reveal vault folder",
'workspace.revealFolder': 'Revelar pasta',
'workspace.checkingVault': 'Checking…',
'workspace.vaultNotRegisteredHelp':
'Obsidian only opens folders you\'ve added as a vault. In Obsidian, choose "Open folder as vault" and pick the folder below — you only need to do this once. Then click View Vault again.',
'workspace.obsidianNotFoundHelp':
"We couldn't find Obsidian on this device. Install it, or — if it's installed somewhere non-standard — set its config folder under Advanced.",
'workspace.openAnyway': 'Open in Obsidian anyway',
'workspace.installObsidian': 'Install Obsidian',
'workspace.obsidianAdvanced': 'Obsidian installed elsewhere?',
'workspace.obsidianConfigDirLabel': 'Obsidian config folder',
'workspace.obsidianConfigDirHint':
'Path to the folder containing obsidian.json (e.g. ~/.config/obsidian). Leave blank to auto-detect.',
'workspace.obsidianConfigDirPlaceholder': '~/.config/obsidian',
'workspace.graphLoadFailed': 'Falha ao carregar grafo de memória',
'workspace.loadingGraph': 'Carregando grafo de memória...',
'workspace.graphViewMode': 'Modo de visualização do grafo de memória',
'workspace.trees': 'Árvores',
'workspace.contacts': 'Contatos',
'graph.noContactMentions': 'Nenhuma menção de contato',
'graph.noMemory': 'Sem memória',
'graph.source': 'Fonte',
'graph.topic': 'Tópico',
'graph.global': 'Global',
'graph.document': 'Documento',
'graph.contact': 'Contato',
'graph.nodes': 'nós',
'graph.parentChild': 'pai-filho',
'graph.documentContact': 'documento-contato',
'graph.link': 'link',
'graph.links': 'links',
'graph.children': 'filhos',
'graph.clickToOpenObsidian': 'Clique para abrir no Obsidian',
'graph.person': 'Pessoa',
'modal.dontShowAgain': 'Não mostrar sugestões semelhantes',
'reflections.loading': 'Carregando reflexões...',
'reflections.empty': 'Nenhuma reflexão ainda',
'reflections.title': 'Reflexões',
'reflections.proposedAction': 'Ação Proposta',
'reflections.act': 'Agir',
'reflections.dismiss': 'Dispensar',
'whatsapp.chatsSynced': 'chats sincronizados',
'whatsapp.chatSynced': 'chat sincronizado',
'sync.active': 'Ativo',
'sync.recent': 'Recente',
'sync.idle': 'Inativo',
'sync.memorySources': 'Fontes de Memória',
'sync.noConnectedSources': 'Nenhuma fonte conectada',
'sync.chunks': 'blocos',
'sync.lastChunk': 'Último bloco:',
'sync.pending': 'pendente',
'sync.processed': 'processado',
'sync.syncing': 'Sincronizando…',
'sync.sync': 'Sincronizar',
'sync.failedToLoad': 'Falha ao carregar status de sincronização',
'sync.noContent':
'Nenhum conteúdo foi sincronizado na memória ainda. Conecte uma integração para começar.',
'memorySources.title': 'Memory Sources',
'memorySources.empty': 'No memory sources yet. Add one to start feeding memory.',
'memorySources.loadingConnections': 'Loading connections…',
'memorySources.noConnections':
'No active Composio connections found. Connect an integration first.',
'memorySources.pickConnection': 'Pick a connection',
'memorySources.selectConnection': '— Select a connection —',
'memorySources.composioListFailed': 'Failed to load Composio connections.',
'memorySources.browse': 'Browse…',
'memorySources.folderPathPlaceholder': '/Users/you/notes',
'memorySources.globPatternPlaceholder': '**/*.md',
'memorySources.repoUrlPlaceholder': 'https://github.com/org/repo',
'memorySources.branchPlaceholder': 'main',
'memorySources.feedUrlPlaceholder': 'https://example.com/feed.xml',
'memorySources.pageUrlPlaceholder': 'https://example.com/article',
'memorySources.cssSelectorPlaceholder': 'article',
'memorySources.searchQueryPlaceholder': 'from:user AI safety',
'memorySources.kind.composio': 'Integration',
'memorySources.kind.folder': 'Local Folder',
'memorySources.kind.github_repo': 'GitHub Repo',
'memorySources.kind.twitter_query': 'Twitter Search',
'memorySources.kind.rss_feed': 'RSS Feed',
'memorySources.kind.web_page': 'Web Page',
'memorySources.sync.successTitle': 'Syncing',
'memorySources.sync.successMessage': 'Progress will appear shortly.',
'memorySources.sync.failedTitle': 'Sync failed:',
'time.justNow': 'just now',
'time.secondsAgoSuffix': 's ago',
'time.minutesAgoSuffix': 'm ago',
'time.hoursAgoSuffix': 'h ago',
'time.daysAgoSuffix': 'd ago',
'memorySources.customSources': 'Custom Sources',
'memorySources.addSource': 'Add Source',
'memorySources.noCustomSources':
'No custom sources yet. Add a folder, GitHub repo, RSS feed, or web page to start.',
'memorySources.pickKind': 'What kind of source do you want to add?',
'memorySources.backToKinds': 'Back to source types',
'memorySources.label': 'Label',
'memorySources.labelPlaceholder': 'My research notes',
'memorySources.add': 'Add',
'memorySources.adding': 'Adding…',
'memorySources.added': 'Source added',
'memorySources.removed': 'Source removed',
'memorySources.remove': 'Remove',
'memorySources.enable': 'Enable',
'memorySources.disable': 'Disable',
'memorySources.toggleFailed': 'Toggle failed',
'memorySources.removeFailed': 'Remove failed',
'memorySources.folderPath': 'Folder path',
'memorySources.globPattern': 'Glob pattern',
'memorySources.repoUrl': 'Repository URL',
'memorySources.branch': 'Branch',
'memorySources.feedUrl': 'Feed URL',
'memorySources.pageUrl': 'Page URL',
'memorySources.cssSelector': 'CSS selector (optional)',
'memorySources.searchQuery': 'Search query',
'backend.aiBackend': 'Backend de IA',
'backend.cloud': 'Nuvem',
'backend.recommended': 'Recomendado',
'backend.cloudDescription':
'Modelos rápidos e poderosos hospedados em nossos servidores. Pronto para usar imediatamente.',
'backend.privacyNote': 'Nenhum dado pessoal, mensagem ou chave é enviado aos nossos servidores.',
'backend.local': 'Local',
'backend.advanced': 'Avançado',
'backend.localDescription':
'Rode modelos na sua própria máquina usando Ollama. Total privacidade, requer configuração.',
'backend.ramRecommended': '16GB+ de RAM recomendado',
'subconscious.tasks': 'tarefas',
'subconscious.ticks': 'ticks',
'subconscious.last': 'Último',
'subconscious.failed': 'falhou',
'subconscious.tickInterval': 'Intervalo de Tick',
'subconscious.runNow': 'Executar Agora',
'subconscious.providerUnavailableTitle': 'Subconsciente pausado',
'subconscious.providerSettings': 'Configurações de IA',
'subconscious.approvalNeeded': 'Aprovação Necessária',
'subconscious.requiresApproval': 'Requer aprovação',
'subconscious.fixInConnections': 'Corrigir em Conexões',
'subconscious.goAhead': 'Prosseguir',
'subconscious.activeTasks': 'Tarefas Ativas',
'subconscious.noActiveTasks': 'Nenhuma tarefa ativa',
'subconscious.default': 'Padrão',
'subconscious.addTaskPlaceholder': 'Adicionar uma nova tarefa...',
'subconscious.activityLog': 'Registro de Atividades',
'subconscious.noActivity': 'Nenhuma atividade ainda',
'subconscious.decision.nothingNew': 'Nada novo',
'subconscious.decision.completed': 'Concluído',
'subconscious.decision.evaluating': 'Avaliando',
'subconscious.decision.waitingApproval': 'Aguardando aprovação',
'subconscious.decision.failed': 'Falhou',
'subconscious.decision.cancelled': 'Cancelado',
'subconscious.decision.skipped': 'Pulado',
'actionable.complete': 'Concluir',
'actionable.dismiss': 'Dispensar',
'actionable.snooze': 'Adiar',
'actionable.new': 'Novo',
'stats.storage': 'Armazenamento',
'stats.files': 'arquivos',
'stats.documents': 'Documentos',
'stats.today': 'hoje',
'stats.namespaces': 'Namespaces',
'stats.relations': 'Relações',
'stats.firstMemory': 'Primeira Memória',
'stats.latest': 'Mais Recente',
'stats.sessions': 'Sessões',
'stats.tokens': 'tokens',
'bootCheck.invalidUrl': 'Por favor, insira uma URL de runtime.',
'bootCheck.urlMustStartWith': 'A URL precisa começar com http:// ou https://',
'bootCheck.validUrlRequired':
'Isso não parece uma URL válida (tente https://core.example.com/rpc)',
'bootCheck.tokenRequired': 'Vamos precisar de um token de autenticação para conectar.',
'bootCheck.chooseCoreMode': 'Selecionar um Runtime',
'bootCheck.connectToCore': 'Conectar ao Seu Runtime',
'bootCheck.desktopDescription':
'O OpenHuman precisa de um runtime para pensar. Escolha onde ele deve ficar.',
'bootCheck.webDescription':
'Na web, o OpenHuman conecta-se a um runtime que você controla. Insira o URL e o token de autenticação abaixo, ou baixe o app desktop para rodar um na sua máquina.',
'bootCheck.preferDesktop': 'Prefere manter tudo no seu próprio dispositivo?',
'bootCheck.downloadDesktop': 'Baixar o App Desktop',
'bootCheck.localRecommended': 'Rodar Localmente (Recomendado)',
'bootCheck.localDescription':
'Roda aqui no seu computador. Mais rápido, totalmente privado, sem nada para configurar.',
'bootCheck.cloudMode': 'Rodar na Nuvem (Complexo)',
'bootCheck.cloudDescription':
'Conecte a um runtime que você hospeda em outro lugar. Fica online 24×7 para que você não precise manter este dispositivo ligado.',
'bootCheck.coreRpcUrl': 'URL do Runtime',
'bootCheck.rpcUrlPlaceholder': 'https://core.example.com/rpc',
'bootCheck.authToken': 'Token de Autenticação',
'bootCheck.bearerTokenPlaceholder': 'O token bearer do seu runtime remoto',
'bootCheck.storedLocally': 'Mantido apenas neste dispositivo. Enviado como ',
'bootCheck.testing': 'Testando…',
'bootCheck.testConnection': 'Testar Conexão',
'bootCheck.connectedOk': 'Conectado. Tudo pronto.',
'bootCheck.authFailed': 'Esse token não funcionou. Verifique-o e tente novamente.',
'bootCheck.unreachablePrefix': 'Não foi possível alcançar:',
'bootCheck.checkingCore': 'Ativando seu runtime…',
'bootCheck.cannotReach': 'Não Consigo Alcançar o Runtime',
'bootCheck.cannotReachDesc':
'Não foi possível conectar ao seu runtime. Deseja tentar um diferente?',
'bootCheck.switchMode': 'Escolher um Runtime Diferente',
'bootCheck.quit': 'Sair',
'bootCheck.legacyDetected': 'Runtime de Segundo Plano Legado Detectado',
'bootCheck.legacyDescription':
'Um daemon OpenHuman instalado separadamente já está rodando neste dispositivo. Precisamos removê-lo antes que o runtime integrado possa assumir.',
'bootCheck.removing': 'Removendo…',
'bootCheck.removeContinue': 'Remover e Continuar',
'bootCheck.localNeedsRestart': 'O Runtime Local Precisa de uma Reinicialização',
'bootCheck.localNeedsRestartDesc':
'Seu runtime local está em uma versão diferente deste app. Uma reinicialização rápida vai sincronizá-los.',
'bootCheck.restarting': 'Reiniciando…',
'bootCheck.restartCore': 'Reiniciar Runtime',
'bootCheck.cloudNeedsUpdate': 'O Runtime na Nuvem Precisa de uma Atualização',
'bootCheck.cloudNeedsUpdateDesc':
'Seu runtime na nuvem está em uma versão diferente deste app. Execute o atualizador para sincronizá-los.',
'bootCheck.updating': 'Atualizando…',
'bootCheck.updateCloudCore': 'Atualizar Runtime na Nuvem',
'bootCheck.versionCheckFailed': 'Verificação de Versão do Runtime Falhou',
'bootCheck.versionCheckFailedDesc':
'Seu runtime está ativo, mas não está reportando sua versão. Pode estar desatualizado. Reinicie ou atualize-o para continuar.',
'bootCheck.working': 'Trabalhando…',
'bootCheck.restartUpdateCore': 'Reiniciar / Atualizar Runtime',
'bootCheck.unexpectedError': 'Erro Inesperado na Verificação de Inicialização',
'bootCheck.actionFailed': 'Algo deu errado. Por favor, tente novamente.',
'bootCheck.portConflictTitle': 'Não foi possível iniciar o motor do aplicativo',
'bootCheck.portConflictBody':
'Outro processo está usando a porta de rede que o OpenHuman precisa. Tentaremos corrigir isso automaticamente.',
'bootCheck.portConflictFixButton': 'Corrigir automaticamente',
'bootCheck.portConflictFixing': 'Corrigindo…',
'bootCheck.portConflictFixFailed':
'A correção automática não funcionou. Reinicie o computador e tente novamente.',
'notifications.justNow': 'agora mesmo',
'notifications.minAgo': '{n}min atrás',
'notifications.hrAgo': '{n}h atrás',
'notifications.dayAgo': '{n}d atrás',
'notifications.category.messages': 'Mensagens',
'notifications.category.agents': 'Agentes',
'notifications.category.skills': 'Habilidades',
'notifications.category.system': 'Sistema',
'notifications.category.meetings': 'Reuniões',
'notifications.category.reminders': 'Lembretes',
'notifications.category.important': 'Importante',
'about.update.status.checking': 'Verificando...',
'about.update.status.available': 'v{version} disponível',
'about.update.status.availableNoVersion': 'Atualização disponível',
'about.update.status.downloading': 'Baixando...',
'about.update.status.readyToInstall': 'v{version} pronta para instalar',
'about.update.status.readyToInstallNoVersion':
'Uma nova versão foi baixada e está pronta. Reinicie para aplicar.',
'about.update.status.installing': 'Instalando...',
'about.update.status.restarting': 'Reiniciando...',
'about.update.status.upToDate': 'Você está usando a versão mais recente.',
'about.update.status.error': 'Falha na verificação de atualização',
'about.update.status.default': 'Verificar atualizações',
'welcome.connectionFailed': 'Falha na conexão: {status} {statusText}',
'welcome.connectionFailedMsg': 'Falha na conexão: {message}',
'welcome.continueLocally': 'Continuar localmente',
'welcome.localSessionStarting': 'Iniciando sessão local...',
'welcome.localSessionDesc': 'Usa um perfil local offline e ignora TinyHumans OAuth.',
'chat.agentChatDesc': 'Abrir uma sessão de chat direto com o agente.',
'channels.activeRouteValue': '{channel} via {authMode}',
'privacy.dataKind.messages': 'Mensagens',
'privacy.dataKind.agents': 'Agentes',
'privacy.dataKind.skills': 'Habilidades',
'privacy.dataKind.system': 'Sistema',
'privacy.dataKind.meetings': 'Reuniões',
'privacy.dataKind.reminders': 'Lembretes',
'privacy.dataKind.important': 'Importante',
'onboarding.enableLocalAI': 'Ativar IA Local',
'onboarding.skills.status.available': 'Disponível',
'onboarding.skills.status.connected': 'Conectado',
'onboarding.skills.status.connecting': 'Conectando',
'onboarding.skills.status.error': 'Erro',
'onboarding.skills.status.unavailable': 'Indisponível',
'composio.statusUnavailable': 'Status indisponível',
'composio.envVarOverrides': 'está definida, ela substitui esta configuração.',
'memory.day.sun': 'Dom',
'memory.day.mon': 'Seg',
'memory.day.tue': 'Ter',
'memory.day.wed': 'Qua',
'memory.day.thu': 'Qui',
'memory.day.fri': 'Sex',
'memory.day.sat': 'Sáb',
'memory.ingesting': 'Ingerindo',
'memory.ingestionQueued': 'Na fila',
'memory.ingestingTitle': 'Ingerindo {title}',
'mic.noAudioCaptured': 'Nenhum áudio capturado',
'mic.noSpeechDetected': 'Nenhuma fala detectada',
'mic.lowConfidenceResult': 'Não foi possível entender o áudio com clareza — tente novamente',
'mic.failedToStopRecording': 'Falha ao parar a gravação: {message}',
'mic.transcriptionFailed': 'Falha na transcrição: {message}',
'reflections.kind.retrospective': 'Retrospectiva',
'reflections.kind.derivedFact': 'Fato Derivado',
'reflections.kind.moodInsight': 'Insight de Humor',
'reflections.kind.relationshipInsight': 'Insight de Relacionamento',
'graph.tooltip.summary': 'Resumo',
'graph.tooltip.contact': 'Contato',
'localModel.usage.never': 'Nunca',
'localModel.usage.mediumLoad': 'Carga média',
'localModel.usage.lowLoad': 'Carga baixa',
'localModel.usage.idleMode': 'Modo inativo',
'localModel.rebootstrapComplete': 'Re-bootstrap do modelo concluído.',
'localModel.modelsVerified': 'Modelos locais verificados.',
'accounts.addModal.allConnected': 'Todos conectados',
'accounts.addModal.title': 'Adicionar conta',
'accounts.respondQueue.empty': 'Vazio',
'accounts.respondQueue.hide': 'Ocultar fila de respostas',
'accounts.respondQueue.loadFailed': 'Falha ao carregar fila de respostas',
'accounts.respondQueue.loading': 'Carregando fila…',
'accounts.respondQueue.pending': 'Pendente',
'accounts.respondQueue.show': 'Mostrar fila de respostas',
'accounts.respondQueue.title': 'Fila de respostas',
'accounts.webviewHost.almostReady': 'Quase pronto...',
'accounts.webviewHost.loadTimeout': 'Tempo limite de carregamento do webview',
'accounts.webviewHost.loading': 'Carregando {providerName}...',
'accounts.webviewHost.loadingAccount': 'Carregando conta',
'accounts.webviewHost.restoringSession': 'Restaurando sessão...',
'accounts.webviewHost.retryLoading': 'Tentar carregar novamente',
'accounts.webviewHost.takingLonger': '{providerName} está demorando mais do que o esperado.',
'accounts.webviewHost.timeoutHint': 'Dica de timeout',
'app.connectionBadge.composio': 'Composio',
'app.connectionBadge.messaging': 'Mensagens',
'app.connectionIndicator.connected': 'Conectado ao OpenHuman AI 🚀',
'app.connectionIndicator.connecting': 'Conectando',
'app.connectionIndicator.coreOffline': 'Core offline',
'app.connectionIndicator.disconnected': 'Desconectado',
'app.connectionIndicator.offline': 'Offline',
'app.connectionIndicator.reconnecting': 'Reconectando…',
'app.errorFallback.componentStack': 'Pilha de componentes',
'app.errorFallback.downloadLatest': 'Baixar mais recente',
'app.errorFallback.heading': 'Título',
'app.errorFallback.hint': 'Dica',
'app.errorFallback.reloadApp': 'Recarregar app',
'app.errorFallback.subheading': 'Subtítulo',
'app.errorFallback.tryRecover': 'Tentar recuperar',
'app.localAiDownload.installing': 'Instalando...',
'app.localAiDownload.preparing': 'Preparando...',
'app.openhumanLink.accounts.continueWith': 'Continuar com login de {label}',
'app.openhumanLink.accounts.done': 'Concluído',
'app.openhumanLink.accounts.intro': 'Introdução',
'app.openhumanLink.accounts.webviewNote': 'Nota do webview',
'app.openhumanLink.billing.openDashboard': 'Abrir painel',
'app.openhumanLink.billing.stayOnTrial': 'Ficar no período de teste',
'app.openhumanLink.billing.trialCredit': 'Crédito de teste',
'app.openhumanLink.billing.trialDesc': 'Descrição do teste',
'app.openhumanLink.defaultBody':
'Ainda não disponível no popup. Abra a página completa de configurações quando precisar.',
'app.openhumanLink.discord.intro': 'Introdução',
'app.openhumanLink.discord.openInvite': 'Abrir convite',
'app.openhumanLink.discord.perk1': 'Benefício 1',
'app.openhumanLink.discord.perk2': 'Benefício 2',
'app.openhumanLink.discord.perk3': 'Benefício 3',
'app.openhumanLink.discord.perk4': 'Benefício 4',
'app.openhumanLink.done': 'Concluído',
'app.openhumanLink.loadingChannelSetup': 'Carregando configuração do canal',
'app.openhumanLink.maybeLater': 'Talvez depois',
'app.openhumanLink.notifications.asking': 'Solicitando ao SO…',
'app.openhumanLink.notifications.blocked': 'Bloqueado',
'app.openhumanLink.notifications.blockedStep1': 'Passo 1 bloqueado',
'app.openhumanLink.notifications.blockedStep2': 'Passo 2 bloqueado',
'app.openhumanLink.notifications.blockedStep3': 'Passo 3 bloqueado',
'app.openhumanLink.notifications.intro': 'Introdução',
'app.openhumanLink.notifications.promptHint': 'Dica de solicitação',
'app.openhumanLink.notifications.retry': 'Tentar notificação de teste novamente',
'app.openhumanLink.notifications.send': 'Enviar notificação de teste',
'app.openhumanLink.notifications.sendFailed': 'Não foi possível enviar: {error}',
'app.openhumanLink.notifications.sent':
'Notificação de teste enviada. Se você não a recebeu, vá em Configurações do Sistema → Notificações → OpenHuman, ative Permitir Notificações e defina o Estilo de Banner como Persistente.',
'app.openhumanLink.skipForNow': 'Pular por enquanto',
'app.openhumanLink.telegramUnavailable': 'Telegram indisponível',
'app.openhumanLink.title.accounts': 'Conecte seus apps',
'app.openhumanLink.title.billing': 'Cobrança e créditos',
'app.openhumanLink.title.discord': 'Entrar na comunidade',
'app.openhumanLink.title.messaging': 'Conectar um canal de chat',
'app.openhumanLink.title.notifications': 'Permitir notificações',
'app.persistRehydration.body': 'Corpo',
'app.persistRehydration.heading': 'Título',
'app.persistRehydration.resetCta': 'Redefinindo…',
'app.persistRehydration.resetting': 'Redefinindo…',
'app.routeLoading.initializing': 'Inicializando OpenHuman...',
'app.update.currentlyOn': '{version}',
'app.update.errorFallback': 'Algo deu errado durante a atualização.',
'app.update.header.default': 'Atualizar',
'app.update.header.error': 'Falha na atualização',
'app.update.header.installing': 'Instalando atualização',
'app.update.header.readyToInstall': 'Atualização pronta para instalar',
'app.update.header.restarting': 'Reiniciando…',
'app.update.later': 'Depois',
'app.update.newVersionReady': 'Uma nova versão está pronta para instalar.',
'app.update.progress.downloaded': '{amount} baixados',
'app.update.progress.installing': 'Instalando a nova versão…',
'app.update.progress.restarting': 'Relançando o app…',
'app.update.progress.working': '{percent}%',
'app.update.restartNote': 'Nota de reinicialização',
'app.update.restartNow': 'Reiniciar agora',
'app.update.versionReady': 'Versão {newVersion} está pronta para instalar.',
'channels.discord.accountLinked': 'Conta vinculada',
'channels.discord.connect': 'Conectar',
'channels.discord.linkTokenExpired': 'Token de vinculação expirado. Por favor, tente novamente.',
'channels.discord.linkTokenInstruction': '{token}',
'channels.discord.linkTokenLabel': 'Rótulo do token de vinculação',
'channels.discord.linkTokenOnce': 'Token de vinculação único',
'channels.discord.picker.allPermissionsOk':
'O bot tem todas as permissões necessárias neste canal.',
'channels.discord.picker.botNotInServers': 'Bot não está nos servidores',
'channels.discord.picker.category': 'Categoria',
'channels.discord.picker.channel': 'Canal',
'channels.discord.picker.checkingPermissions': 'Verificando permissões',
'channels.discord.picker.loadingChannels': 'Carregando canais...',
'channels.discord.picker.loadingServers': 'Carregando servidores...',
'channels.discord.picker.missingPermissions': 'Permissões faltando',
'channels.discord.picker.noChannels': 'Nenhum canal de texto encontrado',
'channels.discord.picker.noServers': 'Nenhum servidor encontrado',
'channels.discord.picker.selectChannel': 'Selecione um canal',
'channels.discord.picker.selectServer': 'Selecione um servidor',
'channels.discord.picker.server': 'Servidor',
'channels.discord.picker.serverChannelSelection': 'Seleção de Servidor e Canal',
'channels.discord.savedRestartRequired': 'Canal salvo. Reinicie o app para ativá-lo.',
'channels.telegram.connect': 'Conectar',
'channels.telegram.managedDmConnecting': 'DM gerenciado conectando',
'channels.telegram.managedDmTimeout': 'Timeout de DM gerenciado',
'channels.telegram.reconnect': 'Reconectar',
'channels.telegram.savedRestartRequired': 'Canal salvo. Reinicie o app para ativá-lo.',
'channels.web.alwaysAvailable': 'Sempre disponível',
'channels.discord.displayName': 'Discord',
'channels.discord.description': 'Envie e receba mensagens via Discord.',
'channels.discord.authMode.bot_token.description': 'Forneça seu próprio token de bot Discord.',
'channels.discord.authMode.oauth.description':
'Instale o bot OpenHuman em seu servidor Discord via OAuth.',
'channels.discord.authMode.managed_dm.description':
'Vincule sua conta pessoal Discord ao bot OpenHuman.',
'channels.discord.fields.bot_token.label': 'Token de bot',
'channels.discord.fields.bot_token.placeholder': 'Seu token de bot Discord',
'channels.discord.fields.guild_id.label': 'ID do servidor (guilda)',
'channels.discord.fields.guild_id.placeholder': 'Opcional: restringir a um servidor específico',
'channels.telegram.displayName': 'Telegram',
'channels.telegram.description': 'Enviar e receber mensagens via Telegram.',
'channels.telegram.authMode.managed_dm.description':
'Envie uma mensagem diretamente para o bot OpenHuman Telegram.',
'channels.telegram.authMode.bot_token.description':
'Forneça seu próprio token de bot Telegram de @BotFather.',
'channels.telegram.fields.bot_token.label': 'Token de bot',
'channels.telegram.fields.bot_token.placeholder': '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11',
'channels.telegram.fields.allowed_users.label': 'Usuários permitidos',
'channels.telegram.fields.allowed_users.placeholder':
'Separados por vírgula Telegram nomes de usuário',
'channels.web.displayName': 'Web',
'channels.web.description': 'Bate-papo por meio da interface da web integrada.',
'channels.web.authMode.managed_dm.description':
'Use o chat da web incorporado não é necessária nenhuma configuração.',
'welcome.continueLocallyExperimental': 'Continuar localmente (experimental)',
'channels.yuanbao.connect': 'Connect',
'channels.yuanbao.connecting': 'Connecting…',
'channels.yuanbao.fieldRequired': '{field} is required',
'channels.yuanbao.reconnect': 'Reconnect',
'channels.yuanbao.savedRestartRequired': 'Channel saved. Restart the app to activate it.',
'channels.yuanbao.unexpectedStatus': 'Unexpected connection status: {status}',
'chat.approval.approve': 'Approve',
'chat.approval.alwaysAllow': 'Always allow',
'chat.approval.alwaysAllowHint': 'Stop asking for this tool — add it to your Always-allow list',
'chat.approval.deciding': 'Working…',
'chat.approval.deny': 'Deny',
'chat.approval.error': 'Could not record your decision — try again.',
'chat.approval.fallback': 'The agent wants to run an action that needs your approval.',
'chat.approval.title': 'Approval needed',
'chat.approval.tool': 'Tool:',
};
export default pt3;