import type { TranslationStrings } from '../types'; const settings: TranslationStrings = { 'settings.title': 'Configurações', 'settings.subtitle': 'Ajuste suas preferências pessoais', 'settings.tabs.display': 'Exibição', 'settings.tabs.map': 'Mapa', 'settings.tabs.notifications': 'Notificações', 'settings.tabs.integrations': 'Integrações', 'settings.tabs.account': 'Conta', 'settings.tabs.offline': 'Offline', 'settings.tabs.about': 'Sobre', 'settings.map': 'Mapa', 'settings.mapTemplate': 'Modelo de mapa', 'settings.mapTemplatePlaceholder.select': 'Selecione o modelo...', 'settings.mapDefaultHint': 'Deixe vazio para OpenStreetMap (padrão)', 'settings.mapTemplatePlaceholder': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', 'settings.mapHint': 'URL do modelo de blocos do mapa', 'settings.mapProvider': 'Provedor de mapa', 'settings.mapProviderHint': 'Afeta os mapas do Planejador de Viagem e Diário. Atlas sempre usa Leaflet.', 'settings.mapLeafletSubtitle': 'Clássico 2D, quaisquer blocos raster', 'settings.mapMapboxSubtitle': 'Blocos vetoriais, prédios 3D & terreno', 'settings.mapExperimental': 'Experimental', 'settings.mapMapboxToken': 'Token de acesso Mapbox', 'settings.mapMapboxTokenHint': 'Token público (pk.*) de', 'settings.mapMapboxTokenLink': 'mapbox.com → Tokens de acesso', 'settings.mapStyle': 'Estilo do mapa', 'settings.mapStylePlaceholder': 'Selecionar um estilo Mapbox', 'settings.mapStyleHint': 'Preset ou sua própria URL mapbox://styles/USER/ID', 'settings.map3dBuildings': 'Prédios 3D & terreno', 'settings.map3dHint': 'Inclinação + extrusões 3D reais de prédios — funciona em todo estilo, incluindo satélite.', 'settings.mapHighQuality': 'Modo alta qualidade', 'settings.mapHighQualityHint': 'Antialiasing + projeção global para bordas mais nítidas e uma visão realista do mundo.', 'settings.mapHighQualityWarning': 'Pode afetar o desempenho em dispositivos menos potentes.', 'settings.mapTipLabel': 'Dica:', 'settings.mapTip': 'Clique direito e arraste para girar/inclinar o mapa. Clique do meio para adicionar um local (o clique direito é reservado para rotação).', 'settings.latitude': 'Latitude', 'settings.longitude': 'Longitude', 'settings.saveMap': 'Salvar mapa', 'settings.apiKeys': 'Chaves de API', 'settings.mapsKey': 'Chave da API Google Maps', 'settings.mapsKeyHint': 'Para busca de lugares. Requer Places API (New). Obtenha em console.cloud.google.com', 'settings.weatherKey': 'Chave OpenWeatherMap', 'settings.weatherKeyHint': 'Para dados meteorológicos. Grátis em openweathermap.org/api', 'settings.keyPlaceholder': 'Digite a chave...', 'settings.configured': 'Configurada', 'settings.saveKeys': 'Salvar chaves', 'settings.display': 'Exibição', 'settings.colorMode': 'Tema de cores', 'settings.light': 'Claro', 'settings.dark': 'Escuro', 'settings.auto': 'Automático', 'settings.language': 'Idioma', 'settings.temperature': 'Unidade de temperatura', 'settings.timeFormat': 'Formato de hora', 'settings.blurBookingCodes': 'Ocultar códigos de reserva', 'settings.optimizeFromAccommodation': 'Otimizar rota a partir da hospedagem', 'settings.optimizeFromAccommodationHint': 'Ao otimizar um dia, comece a rota no hotel onde você acorda e termine no hotel em que você faz check-in à noite.', 'settings.notifications': 'Notificações', 'settings.notifyTripInvite': 'Convites de viagem', 'settings.notifyBookingChange': 'Alterações de reserva', 'settings.notifyTripReminder': 'Lembretes de viagem', 'settings.notifyTodoDue': 'Tarefa com vencimento', 'settings.notifyVacayInvite': 'Convites de fusão Vacay', 'settings.notifyPhotosShared': 'Fotos compartilhadas (Immich)', 'settings.notifyCollabMessage': 'Mensagens de chat (Colab)', 'settings.notifyPackingTagged': 'Lista de mala: atribuições', 'settings.notifyWebhook': 'Notificações webhook', 'settings.notificationsDisabled': 'As notificações não estão configuradas. Peça a um administrador para ativar notificações por e-mail ou webhook.', 'settings.notificationsActive': 'Canal ativo', 'settings.notificationsManagedByAdmin': 'Os eventos de notificação são configurados pelo administrador.', 'settings.on': 'Ligado', 'settings.off': 'Desligado', 'settings.account': 'Conta', 'settings.about': 'Sobre', 'settings.about.reportBug': 'Reportar um bug', 'settings.about.reportBugHint': 'Encontrou um problema? Nos avise', 'settings.about.featureRequest': 'Solicitar recurso', 'settings.about.featureRequestHint': 'Sugira um novo recurso', 'settings.about.wikiHint': 'Documentação e guias', 'settings.about.supporters.badge': 'Apoiadores Mensais', 'settings.about.supporters.title': 'Companheiros de viagem do TREK', 'settings.about.supporters.subtitle': 'Enquanto você planeja sua próxima rota, essas pessoas planejam junto o futuro do TREK. A contribuição mensal delas vai direto para o desenvolvimento e horas reais investidas — para o TREK continuar Open Source.', 'settings.about.supporters.since': 'apoiador desde {date}', 'settings.about.supporters.tierEmpty': 'Seja o primeiro', 'settings.about.supporter.tier.noReturnTicket': 'No Return Ticket', 'settings.about.supporter.tier.lostLuggageVip': 'Lost Luggage VIP', 'settings.about.supporter.tier.businessClassDreamer': 'Business Class Dreamer', 'settings.about.supporter.tier.budgetTraveller': 'Budget Traveller', 'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate', 'settings.about.description': 'TREK é um planejador de viagens auto-hospedado que ajuda você a organizar suas viagens da primeira ideia à última lembrança. Planejamento diário, orçamento, listas de bagagem, fotos e muito mais — tudo em um só lugar, no seu próprio servidor.', 'settings.about.madeWith': 'Feito com', 'settings.about.madeBy': 'por Maurice e uma crescente comunidade open-source.', 'settings.username': 'Nome de usuário', 'settings.email': 'E-mail', 'settings.role': 'Função', 'settings.roleAdmin': 'Administrador', 'settings.oidcLinked': 'Vinculado a', 'settings.changePassword': 'Alterar senha', 'settings.currentPassword': 'Senha atual', 'settings.currentPasswordRequired': 'A senha atual é obrigatória', 'settings.newPassword': 'Nova senha', 'settings.confirmPassword': 'Confirmar nova senha', 'settings.updatePassword': 'Atualizar senha', 'settings.passwordRequired': 'Informe a senha atual e a nova', 'settings.passwordTooShort': 'A senha deve ter pelo menos 8 caracteres', 'settings.passwordMismatch': 'As senhas não coincidem', 'settings.passwordWeak': 'A senha deve ter maiúscula, minúscula, número e um caractere especial', 'settings.passwordChanged': 'Senha alterada com sucesso', 'settings.deleteAccount': 'Excluir conta', 'settings.deleteAccountTitle': 'Excluir sua conta?', 'settings.deleteAccountWarning': 'Sua conta e todas as viagens, lugares e arquivos serão excluídos permanentemente. Esta ação não pode ser desfeita.', 'settings.deleteAccountConfirm': 'Excluir permanentemente', 'settings.deleteBlockedTitle': 'Exclusão não permitida', 'settings.deleteBlockedMessage': 'Você é o único administrador. Promova outro usuário a administrador antes de excluir sua conta.', 'settings.roleUser': 'Usuário', 'settings.saveProfile': 'Salvar perfil', 'settings.toast.mapSaved': 'Configurações do mapa salvas', 'settings.toast.keysSaved': 'Chaves de API salvas', 'settings.toast.displaySaved': 'Configurações de exibição salvas', 'settings.toast.profileSaved': 'Perfil salvo', 'settings.uploadAvatar': 'Enviar foto do perfil', 'settings.removeAvatar': 'Remover foto do perfil', 'settings.avatarUploaded': 'Foto do perfil atualizada', 'settings.avatarRemoved': 'Foto do perfil removida', 'settings.avatarError': 'Falha no envio', 'settings.mfa.title': 'Autenticação em duas etapas (2FA)', 'settings.mfa.description': 'Adiciona uma segunda etapa ao entrar com e-mail e senha. Use um app autenticador (Google Authenticator, Authy, etc.).', 'settings.mfa.requiredByPolicy': 'O administrador exige autenticação em dois fatores. Configure um app autenticador abaixo antes de continuar.', 'settings.mfa.backupTitle': 'Códigos de backup', 'settings.mfa.backupDescription': 'Use estes códigos únicos se perder acesso ao app autenticador.', 'settings.mfa.backupWarning': 'Salve estes códigos agora. Cada código pode ser usado apenas uma vez.', 'settings.mfa.backupCopy': 'Copiar códigos', 'settings.mfa.backupDownload': 'Baixar TXT', 'settings.mfa.backupPrint': 'Imprimir / PDF', 'settings.mfa.backupCopied': 'Códigos de backup copiados', 'settings.mfa.enabled': 'O 2FA está ativado na sua conta.', 'settings.mfa.disabled': 'O 2FA não está ativado.', 'settings.mfa.setup': 'Configurar autenticador', 'settings.mfa.scanQr': 'Leia este QR code no app ou digite o segredo manualmente.', 'settings.mfa.secretLabel': 'Chave secreta (entrada manual)', 'settings.mfa.codePlaceholder': 'Código de 6 dígitos', 'settings.mfa.enable': 'Ativar 2FA', 'settings.mfa.cancelSetup': 'Cancelar', 'settings.mfa.disableTitle': 'Desativar 2FA', 'settings.mfa.disableHint': 'Digite sua senha e um código atual do autenticador.', 'settings.mfa.disable': 'Desativar 2FA', 'settings.mfa.toastEnabled': 'Autenticação em duas etapas ativada', 'settings.mfa.toastDisabled': 'Autenticação em duas etapas desativada', 'settings.mfa.demoBlocked': 'Indisponível no modo demonstração', 'settings.mcp.title': 'Configuração MCP', 'settings.mcp.endpoint': 'Endpoint MCP', 'settings.mcp.clientConfig': 'Configuração do cliente', 'settings.mcp.clientConfigHint': 'Substitua por um token de API da lista abaixo. O caminho para o npx pode precisar ser ajustado para o seu sistema (ex.: C:\\PROGRA~1\\nodejs\\npx.cmd no Windows).', 'settings.mcp.clientConfigHintOAuth': 'Substitua e pelas credenciais exibidas no cliente OAuth 2.1 criado acima. O mcp-remote abrirá seu navegador para concluir a autorização na primeira conexão. O caminho para o npx pode precisar ser ajustado para seu sistema (ex.: C:\\PROGRA~1\\nodejs\\npx.cmd no Windows).', 'settings.mcp.copy': 'Copiar', 'settings.mcp.copied': 'Copiado!', 'settings.mcp.apiTokens': 'Tokens de API', 'settings.mcp.createToken': 'Criar novo token', 'settings.mcp.noTokens': 'Nenhum token ainda. Crie um para conectar clientes MCP.', 'settings.mcp.tokenCreatedAt': 'Criado em', 'settings.mcp.tokenUsedAt': 'Usado em', 'settings.mcp.deleteTokenTitle': 'Excluir token', 'settings.mcp.deleteTokenMessage': 'Este token deixará de funcionar imediatamente. Qualquer cliente MCP que o utilize perderá o acesso.', 'settings.mcp.modal.createTitle': 'Criar token de API', 'settings.mcp.modal.tokenName': 'Nome do token', 'settings.mcp.modal.tokenNamePlaceholder': 'ex.: Claude Desktop, Notebook do trabalho', 'settings.mcp.modal.creating': 'Criando…', 'settings.mcp.modal.create': 'Criar token', 'settings.mcp.modal.createdTitle': 'Token criado', 'settings.mcp.modal.createdWarning': 'Este token será exibido apenas uma vez. Copie e guarde agora — não poderá ser recuperado.', 'settings.mcp.modal.done': 'Concluído', 'settings.mcp.toast.created': 'Token criado', 'settings.mcp.toast.createError': 'Falha ao criar token', 'settings.mcp.toast.deleted': 'Token excluído', 'settings.mcp.toast.deleteError': 'Falha ao excluir token', 'settings.mcp.apiTokensDeprecated': 'Os tokens de API estão obsoletos e serão removidos em uma versão futura. Por favor, use Clientes OAuth 2.1.', 'settings.oauth.clients': 'Clientes OAuth 2.1', 'settings.oauth.clientsHint': 'Registre clientes OAuth 2.1 para permitir que aplicações MCP de terceiros (Claude Web, Cursor, etc.) se conectem sem tokens estáticos.', 'settings.oauth.createClient': 'Novo cliente', 'settings.oauth.noClients': 'Nenhum cliente OAuth registrado.', 'settings.oauth.clientId': 'ID do cliente', 'settings.oauth.clientSecret': 'Segredo do cliente', 'settings.oauth.deleteClient': 'Excluir cliente', 'settings.oauth.deleteClientMessage': 'Este cliente e todas as sessões ativas serão removidos permanentemente. Qualquer aplicação que o utilize perderá o acesso imediatamente.', 'settings.oauth.rotateSecret': 'Renovar segredo', 'settings.oauth.rotateSecretMessage': 'Um novo segredo de cliente será gerado e todas as sessões existentes serão invalidadas imediatamente. Atualize sua aplicação antes de fechar esta janela.', 'settings.oauth.rotateSecretConfirm': 'Renovar', 'settings.oauth.rotateSecretConfirming': 'Renovando…', 'settings.oauth.rotateSecretDoneTitle': 'Novo segredo gerado', 'settings.oauth.rotateSecretDoneWarning': 'Este segredo é exibido apenas uma vez. Copie-o agora e atualize sua aplicação — todas as sessões anteriores foram invalidadas.', 'settings.oauth.activeSessions': 'Sessões OAuth ativas', 'settings.oauth.sessionScopes': 'Escopos', 'settings.oauth.sessionExpires': 'Expira', 'settings.oauth.revoke': 'Revogar', 'settings.oauth.revokeSession': 'Revogar sessão', 'settings.oauth.revokeSessionMessage': 'Isso revogará imediatamente o acesso desta sessão OAuth.', 'settings.oauth.modal.createTitle': 'Registrar cliente OAuth', 'settings.oauth.modal.presets': 'Configurações rápidas', 'settings.oauth.modal.clientName': 'Nome da aplicação', 'settings.oauth.modal.clientNamePlaceholder': 'ex.: Claude Web, Meu app MCP', 'settings.oauth.modal.redirectUris': 'URIs de redirecionamento', 'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth', 'settings.oauth.modal.redirectUrisHint': 'Uma URI por linha. HTTPS obrigatório (localhost isento). Correspondência exata.', 'settings.oauth.modal.scopes': 'Escopos permitidos', 'settings.oauth.modal.scopesHint': 'list_trips e get_trip_summary estão sempre disponíveis — sem escopo necessário. Permitem à IA descobrir IDs de viagem.', 'settings.oauth.modal.selectAll': 'Selecionar tudo', 'settings.oauth.modal.deselectAll': 'Desmarcar tudo', 'settings.oauth.modal.creating': 'Registrando…', 'settings.oauth.modal.create': 'Registrar cliente', 'settings.oauth.modal.createdTitle': 'Cliente registrado', 'settings.oauth.modal.createdWarning': 'O segredo do cliente é exibido apenas uma vez. Copie-o agora — não pode ser recuperado.', 'settings.oauth.toast.createError': 'Falha ao registrar cliente OAuth', 'settings.oauth.toast.deleted': 'Cliente OAuth excluído', 'settings.oauth.toast.deleteError': 'Falha ao excluir cliente OAuth', 'settings.oauth.toast.revoked': 'Sessão revogada', 'settings.oauth.toast.revokeError': 'Falha ao revogar sessão', 'settings.oauth.toast.rotateError': 'Falha ao renovar segredo do cliente', 'settings.oauth.modal.machineClient': 'Cliente de máquina (sem login no navegador)', 'settings.oauth.modal.machineClientHint': 'Usa o grant client_credentials — sem URIs de redirecionamento. O token é emitido diretamente via client_id + client_secret e age como você dentro dos escopos selecionados.', 'settings.oauth.modal.machineClientUsage': 'Obter token: POST /oauth/token com grant_type=client_credentials, client_id e client_secret. Sem navegador, sem refresh token.', 'settings.oauth.badge.machine': 'máquina', 'settings.mustChangePassword': 'Você deve alterar sua senha antes de continuar. Defina uma nova senha abaixo.', 'settings.bookingLabels': 'Rótulos das rotas de reservas', 'settings.bookingLabelsHint': 'Mostra nomes de estações / aeroportos no mapa. Desativado, apenas o ícone aparece.', 'settings.notifyVersionAvailable': 'Nova versão disponível', 'settings.notificationPreferences.noChannels': 'Nenhum canal de notificação configurado. Peça a um administrador para configurar notificações por e-mail ou webhook.', 'settings.webhookUrl.label': 'URL do webhook', 'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...', 'settings.webhookUrl.hint': 'Insira a URL do seu webhook do Discord, Slack ou personalizado para receber notificações.', 'settings.webhookUrl.saved': 'URL do webhook salva', 'settings.webhookUrl.test': 'Testar', 'settings.webhookUrl.testSuccess': 'Webhook de teste enviado com sucesso', 'settings.webhookUrl.testFailed': 'Falha no webhook de teste', 'settings.ntfyUrl.topicLabel': 'Tópico Ntfy', 'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', 'settings.ntfyUrl.serverLabel': 'URL do servidor Ntfy (opcional)', 'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh', 'settings.ntfyUrl.hint': 'Insira seu tópico Ntfy para receber notificações push. Deixe o servidor em branco para usar o padrão configurado pelo seu administrador.', 'settings.ntfyUrl.tokenLabel': 'Token de acesso (opcional)', 'settings.ntfyUrl.tokenHint': 'Necessário para tópicos protegidos por senha.', 'settings.ntfyUrl.saved': 'Configurações do Ntfy salvas', 'settings.ntfyUrl.test': 'Testar', 'settings.ntfyUrl.testSuccess': 'Notificação de teste do Ntfy enviada com sucesso', 'settings.ntfyUrl.testFailed': 'Falha na notificação de teste do Ntfy', 'settings.ntfyUrl.tokenCleared': 'Token de acesso removido', 'settings.notificationPreferences.inapp': 'In-App', 'settings.notificationPreferences.webhook': 'Webhook', 'settings.notificationPreferences.email': 'Email', 'settings.notificationPreferences.ntfy': 'Ntfy', "settings.currency": "Currency", "settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.", 'settings.passkey.title': 'Passkeys', 'settings.passkey.description': 'Entre mais rápido e com proteção contra phishing usando uma passkey — sua impressão digital, rosto, PIN ou uma chave de segurança física. Sua senha continua disponível como reserva.', 'settings.passkey.notConfigured': 'As passkeys estão ativadas, mas ainda não foram totalmente configuradas neste servidor. Peça ao administrador para definir o domínio WebAuthn.', 'settings.passkey.add': 'Adicionar uma passkey', 'settings.passkey.addTitle': 'Adicionar uma passkey', 'settings.passkey.passwordPrompt': 'Confirme sua senha atual e depois siga as instruções do seu dispositivo.', 'settings.passkey.passwordRequired': 'A senha atual é obrigatória.', 'settings.passkey.namePlaceholder': 'Nome (opcional, ex.: "iPhone")', 'settings.passkey.addedToast': 'Passkey adicionada', 'settings.passkey.added': 'Adicionada', 'settings.passkey.addError': 'Não foi possível adicionar a passkey', 'settings.passkey.cancelled': 'Configuração da passkey cancelada', 'settings.passkey.deleted': 'Passkey removida', 'settings.passkey.deleteConfirm': 'Remover esta passkey? Confirme com sua senha.', 'settings.passkey.rename': 'Renomear', 'settings.passkey.defaultName': 'Passkey', 'settings.passkey.synced': 'Sincronizada', 'settings.passkey.deviceBound': 'Este dispositivo', 'settings.passkey.lastUsed': 'Último uso', 'settings.passkey.neverUsed': 'Nunca usada', 'settings.mapPoiPill': 'Explorar lugares no mapa', 'settings.mapPoiPillHint': 'Mostrar uma etiqueta de categoria no mapa da viagem para encontrar restaurantes, hotéis e mais por perto a partir do OpenStreetMap.', 'settings.airtrail.title': 'AirTrail', 'settings.airtrail.hint': 'Conecte seu AirTrail auto-hospedado para importar e sincronizar voos. Crie uma chave de API no AirTrail em Configurações → Segurança.', 'settings.airtrail.url': 'URL da instância', 'settings.airtrail.apiKey': 'Chave de API', 'settings.airtrail.apiKeyPlaceholder': 'Chave de API Bearer', 'settings.airtrail.apiKeyHint': 'Gerada no AirTrail em Configurações → Segurança. Armazenada de forma criptografada.', 'settings.airtrail.allowInsecureTls': 'Permitir certificados autoassinados', 'settings.airtrail.allowInsecureTlsHint': 'Ative apenas para uma instância confiável na sua própria rede.', 'settings.airtrail.writeBack': 'Gravar alterações de volta no AirTrail', 'settings.airtrail.writeBackHint': 'Desativado por padrão: o AirTrail é a fonte da verdade e o TREK apenas lê dele. Ative para enviar ao AirTrail as alterações feitas no TREK.', 'settings.airtrail.connected': 'Conectado', 'settings.airtrail.notConnected': 'Não conectado', 'settings.airtrail.toast.saved': 'Conexão com o AirTrail salva', 'settings.airtrail.toast.saveError': 'Não foi possível salvar a conexão', 'settings.airtrail.test.button': 'Testar conexão', 'settings.airtrail.test.success': 'Conectado — {count} voo(s) encontrado(s)', 'settings.airtrail.test.failed': 'Falha na conexão', }; export default settings;