{ "about": { "appDescription": "Una poderosa aplicación de notas con funciones impulsadas por IA", "appName": "Memento", "buildDate": "Fecha de compilación", "description": "Información sobre la aplicación", "features": { "description": "Capacidades impulsadas por IA", "dragDrop": "Gestión de notas con arrastrar y soltar", "labelSystem": "Sistema de etiquetas", "memoryEcho": "Insights diarios de Memory Echo", "multipleProviders": "Múltiples proveedores de IA (OpenAI, Ollama)", "notebookOrganization": "Organización por cuadernos", "paragraphReformulation": "Reformulación de párrafos", "semanticSearch": "Búsqueda semántica con embeddings", "title": "Funciones", "titleSuggestions": "Sugerencias de título con IA" }, "platform": "Plataforma", "platformWeb": "Web", "support": { "description": "Obtén ayuda y comentarios", "documentation": "Documentación", "feedback": "Comentarios", "reportIssues": "Reportar problemas", "title": "Soporte" }, "technology": { "ai": "IA", "authentication": "Autenticación", "backend": "Backend", "database": "Base de datos", "description": "Construido con tecnologías modernas", "frontend": "Frontend", "testing": "Pruebas", "title": "Stack tecnológico", "ui": "UI" }, "title": "Acerca de", "version": "Versión" }, "admin": { "ai": { "apiKey": "Clave API", "baseUrl": "URL base", "commonEmbeddingModels": "Modelos de embedding comunes para APIs compatibles con OpenAI", "commonModelsDescription": "Modelos comunes para APIs compatibles con OpenAI", "description": "Configurar proveedores de IA para etiquetado automático y búsqueda semántica. Use diferentes proveedores para un rendimiento óptimo.", "embeddingsDescription": "Proveedor de IA para embeddings de búsqueda semántica. Recomendado: OpenAI (mejor calidad).", "embeddingsProvider": "Proveedor de embeddings", "model": "Modelo", "modelRecommendations": "gpt-4o-mini = Mejor valor • gpt-4o = Mejor calidad", "openAIKeyDescription": "Tu clave API de OpenAI desde platform.openai.com", "openTestPanel": "Abrir panel de pruebas de IA", "provider": "Proveedor", "providerEmbeddingRequired": "AI_PROVIDER_EMBEDDING es requerido", "providerTagsRequired": "AI_PROVIDER_TAGS es requerido", "saveSettings": "Guardar configuración de IA", "saving": "Guardando...", "selectEmbeddingModel": "Seleccionar un modelo de embedding instalado en tu sistema", "selectOllamaModel": "Seleccionar un modelo Ollama instalado en tu sistema", "tagsGenerationDescription": "Proveedor de IA para sugerencias automáticas de etiquetas. Recomendado: Ollama (gratis, local).", "tagsGenerationProvider": "Proveedor de generación de etiquetas", "title": "Configuración de IA", "updateFailed": "Error al actualizar la configuración de IA", "updateSuccess": "Configuración de IA actualizada correctamente", "bestValue": "Mejor relación calidad/precio", "bestQuality": "Mejor calidad", "providerOllamaOption": "🦙 Ollama (Local & Free)", "providerOpenAIOption": "🤖 OpenAI (GPT-5, GPT-4)", "providerCustomOption": "🔧 Custom OpenAI-Compatible", "saved": "(Guardado)", "chatProvider": "Proveedor de chat", "chatDescription": "Proveedor de IA para el asistente de chat. Usa el proveedor de etiquetas si no está configurado." }, "aiTest": { "description": "Prueba tus proveedores de IA para generación de etiquetas y embeddings de búsqueda semántica", "embeddingDimensions": "Dimensiones del embedding:", "embeddingsTestDescription": "Probar el proveedor de IA responsable de los embeddings de búsqueda semántica", "embeddingsTestTitle": "Prueba de embeddings", "error": "Error:", "first5Values": "Primeros 5 valores:", "generatedTags": "Etiquetas generadas:", "howItWorksTitle": "Cómo funcionan las pruebas", "model": "Modelo:", "provider": "Proveedor:", "responseTime": "Tiempo de respuesta: {time}ms", "runTest": "Ejecutar prueba", "tagsTestDescription": "Probar el proveedor de IA responsable de las sugerencias automáticas de etiquetas", "tagsTestTitle": "Prueba de generación de etiquetas", "testError": "Error de prueba: {error}", "testFailed": "Prueba fallida", "testPassed": "Prueba superada", "testing": "Probando...", "tipDescription": "Usa el panel de pruebas de IA para diagnosticar problemas de configuración antes de probar.", "tipTitle": "Consejo:", "title": "Pruebas de proveedor de IA", "vectorDimensions": "dimensiones del vector", "tagsGenerationTest": "🏷️ Prueba de generación de etiquetas:", "tagsStep1": "Envía una nota de ejemplo al proveedor de IA", "tagsStep2": "Solicita 3-5 etiquetas relevantes basadas en el contenido", "tagsStep3": "Muestra las etiquetas generadas con puntuaciones de confianza", "tagsStep4": "Mide el tiempo de respuesta", "embeddingsTestLabel": "🔍 Prueba de embeddings:", "embeddingsStep1": "Envía un texto de ejemplo al proveedor de embeddings", "embeddingsStep2": "Genera una representación vectorial (lista de números)", "embeddingsStep3": "Muestra las dimensiones del embedding y valores de ejemplo", "embeddingsStep4": "Verifica que el vector sea válido y esté correctamente formateado", "tipContent": "¡Puedes usar diferentes proveedores para etiquetas y embeddings! Por ejemplo, usa Ollama (gratis) para etiquetas y OpenAI (mejor calidad) para embeddings para optimizar costos y rendimiento.", "testSuccessToast": "¡Prueba {type} exitosa!", "testFailedToast": "Prueba {type} fallida", "testingType": "Probando {type}...", "technicalDetails": "Detalles técnicos" }, "aiTesting": "Pruebas de IA", "security": { "allowPublicRegistration": "Permitir registro público", "allowPublicRegistrationDescription": "Si está desactivado, los nuevos usuarios solo pueden ser agregados por un administrador a través de la página de gestión de usuarios.", "description": "Gestionar el control de acceso y las políticas de registro.", "title": "Configuración de seguridad", "updateFailed": "Error al actualizar la configuración de seguridad", "updateSuccess": "Configuración de seguridad actualizada" }, "settings": "Configuración de administrador", "resend": { "title": "Resend (Recomendado)", "description": "Envíe correos electrónicos a través de la API de Resend. Tiene prioridad sobre SMTP si está configurado.", "apiKey": "Clave API de Resend", "apiKeyHint": "Obtenga su clave API en resend.com. Se usa para notificaciones de agentes y restablecimiento de contraseñas.", "saveSettings": "Guardar configuración de Resend", "updateSuccess": "Configuración de Resend actualizada", "updateFailed": "Error al actualizar la configuración de Resend", "configured": "Resend está configurado y activo" }, "email": { "title": "Configuración de correo electrónico", "description": "Configure el envío de correos para notificaciones de agentes y restablecimiento de contraseñas.", "provider": "Proveedor de correo", "saveSettings": "Guardar configuración de correo" }, "smtp": { "description": "Configurar el servidor de correo para restablecimiento de contraseñas.", "forceSSL": "Forzar SSL/TLS (generalmente para puerto 465)", "fromEmail": "Correo remitente", "host": "Host", "ignoreCertErrors": "Ignorar errores de certificado (Solo autoalojado/Desarrollo)", "password": "Contraseña", "port": "Puerto", "saveSettings": "Guardar configuración SMTP", "sending": "Enviando...", "testEmail": "Correo de prueba", "testFailed": "Error: {error}", "testSuccess": "¡Correo de prueba enviado correctamente!", "title": "Configuración SMTP", "updateFailed": "Error al actualizar la configuración SMTP", "updateSuccess": "Configuración SMTP actualizada", "username": "Usuario" }, "title": "Panel de administración", "userManagement": "Gestión de usuarios", "users": { "addUser": "Agregar usuario", "confirmDelete": "¿Estás seguro de que quieres eliminar este usuario?", "createFailed": "Error al crear usuario", "createSuccess": "Usuario creado correctamente", "createUser": "Crear usuario", "createUserDescription": "Agregar un nuevo usuario al sistema.", "deleteFailed": "Error al eliminar", "deleteSuccess": "Usuario eliminado", "demote": "Degradar", "email": "Correo electrónico", "name": "Nombre", "password": "Contraseña", "promote": "Promover", "role": "Rol", "roleUpdateFailed": "Error al actualizar rol", "roleUpdateSuccess": "Rol de usuario actualizado a {role}", "roles": { "admin": "Administrador", "user": "Usuario" }, "table": { "actions": "Acciones", "createdAt": "Creado", "email": "Correo electrónico", "name": "Nombre", "role": "Rol" } }, "chat": "AI Chat", "lab": "The Lab", "agents": "Agents", "workspace": "Workspace", "sidebar": { "dashboard": "Panel", "users": "Usuarios", "aiManagement": "Gestión de IA", "chat": "Chat IA", "lab": "El Laboratorio (Ideas)", "agents": "Agentes", "settings": "Configuración" }, "metrics": { "vsLastPeriod": "vs período anterior" }, "tools": { "title": "Herramientas del Agente", "description": "Configura herramientas externas para el uso de herramientas del agente: búsqueda web, scraping web y acceso a API.", "searchProvider": "Proveedor de Búsqueda Web", "searxng": "SearXNG (Autoalojado)", "brave": "Brave Search API", "both": "Ambos (SearXNG primario, Brave alternativo)", "searxngUrl": "URL de SearXNG", "braveKey": "Clave de Brave Search API", "jinaKey": "Clave de Jina Reader API", "jinaKeyOptional": "Opcional — funciona sin ella pero con límites de tasa", "jinaKeyDescription": "Usada para scraping web. Funciona sin clave pero con límites de tasa.", "saveSettings": "Guardar Configuración de Herramientas", "updateSuccess": "Configuración de herramientas actualizada exitosamente", "updateFailed": "Error al actualizar la configuración de herramientas" } }, "ai": { "analyzing": "IA analizando...", "assistant": "Asistente IA", "autoLabels": { "error": "Error al obtener sugerencias de etiquetas", "noLabelsSelected": "No se seleccionaron etiquetas", "created": "{count} etiquetas creadas exitosamente", "analyzing": "Analizando tus notas...", "title": "Nuevas sugerencias de etiquetas", "description": "He detectado temas recurrentes en \"{notebookName}\" ({totalNotes} notas). ¿Crear etiquetas para ellos?", "note": "nota", "notes": "notas", "typeContent": "Escribe contenido para obtener sugerencias de etiquetas...", "createNewLabel": "Crear esta nueva etiqueta y agregarla", "new": "(nuevo)", "create": "Crear", "creating": "Creando etiquetas...", "notesCount": "{count} notas", "typeForSuggestions": "Escribe contenido para obtener sugerencias de etiquetas..." }, "batchOrganization": { "title": "Organizar con IA", "description": "La IA analizará tus notas y sugerirá organizarlas en cuadernos.", "analyzing": "Analizando tus notas...", "noNotebooks": "No hay cuadernos disponibles. Crea cuadernos primero para organizar tus notas.", "noSuggestions": "La IA no pudo encontrar una buena manera de organizar estas notas.", "apply": "Aplicar", "applying": "Aplicando...", "success": "{count} notas movidas exitosamente", "error": "Error al crear el plan de organización", "noNotesSelected": "No se seleccionaron notas", "applyFailed": "Error al aplicar el plan de organización", "selectAllIn": "Seleccionar todas las notas en {notebook}", "selectNote": "Seleccionar nota: {title}" }, "clarify": "Aclarar", "clickToAddTag": "Haz clic para agregar esta etiqueta", "generateTitles": "Generar títulos", "generateTitlesTooltip": "Generar títulos con IA", "generating": "Generando...", "generatingTitles": "Generando títulos...", "ignoreSuggestion": "Ignorar esta sugerencia", "improveStyle": "Mejorar estilo", "languageDetected": "Idioma detectado", "notebookSummary": { "regenerate": "Regenerar resumen", "regenerating": "Regenerando resumen...", "exportPDF": "Exportar como PDF" }, "original": "Original", "poweredByAI": "Funciona con IA", "processing": "Procesando...", "reformulateText": "Reformular texto", "reformulated": "Reformulado", "reformulating": "Reformulando...", "reformulationApplied": "¡Texto reformulado aplicado!", "reformulationComparison": "Comparación de reformulación", "reformulationError": "Error durante la reformulación", "reformulationFailed": "Error al reformular el texto", "reformulationMaxWords": "El texto debe tener máximo 500 palabras", "reformulationMinWords": "El texto debe tener al menos 10 palabras (actual: {count} palabras)", "reformulationNoText": "Por favor selecciona texto o agrega contenido", "reformulationSelectionTooShort": "Selección demasiado corta, usando contenido completo", "shorten": "Acortar", "tagAdded": "Etiqueta \"{tag}\" agregada", "titleApplied": "¡Título aplicado!", "titleGenerateWithAI": "Generar títulos con IA", "titleGenerating": "Generando...", "titleGenerationError": "Error al generar títulos", "titleGenerationFailed": "Error al generar títulos", "titleGenerationMinWords": "El contenido debe tener al menos 10 palabras para generar títulos (actual: {count} palabras)", "titlesGenerated": "💡 ¡{count} títulos generados!", "transformError": "Error durante la transformación", "transformMarkdown": "Transformar a Markdown", "transformSuccess": "¡Texto transformado a Markdown exitosamente!", "transforming": "Transformando...", "clarifyDesc": "Hacer el texto más claro y comprensible", "shortenDesc": "Resumir el texto y ir al grano", "improve": "Mejorar escritura", "improveDesc": "Corregir gramática y mejorar el estilo", "toMarkdown": "Formato Markdown", "toMarkdownDesc": "Agregar encabezados, viñetas y estructurar el texto", "translate": "Traducir", "translateDesc": "Cambiar el idioma del texto", "translateBack": "Atrás", "translationApplied": "Traducción aplicada", "translationFailed": "Traducción fallida", "undo": "Deshacer IA", "undoAI": "Deshacer transformación de IA", "undoApplied": "Texto original restaurado" }, "aiSettings": { "description": "Configura tus funciones y preferencias impulsadas por IA", "error": "Error al actualizar la configuración", "features": "Funciones de IA", "frequency": "Frecuencia", "frequencyDaily": "Diario", "frequencyWeekly": "Semanal", "provider": "Proveedor de IA", "providerAuto": "Automático (Recomendado)", "providerOllama": "Ollama (Local)", "providerOpenAI": "OpenAI (Nube)", "saved": "Configuración actualizada", "saving": "Guardando...", "title": "Configuración IA", "titleSuggestionsDesc": "Sugerir títulos para notas sin título después de 50+ palabras", "paragraphRefactorDesc": "Opciones de mejora de texto con IA", "frequencyDesc": "Frecuencia de análisis de conexiones entre notas", "providerDesc": "Elige tu proveedor de IA preferido", "providerAutoDesc": "Ollama si disponible, OpenAI como alternativa", "providerOllamaDesc": "100% privado, se ejecuta localmente en tu máquina", "providerOpenAIDesc": "Más preciso, requiere clave API" }, "appearance": { "description": "Personaliza el aspecto de la aplicación", "title": "Apariencia", "notesViewDescription": "Elige cómo se muestran las notas en el inicio y en los cuadernos.", "notesViewLabel": "Vista de notas", "notesViewTabs": "Pestañas (estilo OneNote)", "notesViewMasonry": "Tarjetas (cuadrícula)" }, "auth": { "backToLogin": "Volver al inicio de sesión", "checkYourEmail": "Revisa tu correo", "createAccount": "Crea tu cuenta", "email": "Correo electrónico", "emailPlaceholder": "Ingrese su correo electrónico", "forgotPassword": "¿Olvidaste tu contraseña?", "forgotPasswordDescription": "Ingresa tu correo electrónico y te enviaremos un enlace para restablecer tu contraseña.", "forgotPasswordTitle": "Contraseña olvidada", "hasAccount": "¿Ya tienes una cuenta?", "name": "Nombre", "namePlaceholder": "Ingrese su nombre", "noAccount": "¿No tienes una cuenta?", "orContinueWith": "O continuar con", "password": "Contraseña", "passwordMinChars": "Ingrese contraseña (mínimo 6 caracteres)", "passwordPlaceholder": "Ingrese su contraseña", "rememberMe": "Recordarme", "resetEmailSent": "Hemos enviado un enlace de restablecimiento de contraseña a tu correo si existe en nuestro sistema.", "resetPassword": "Restablecer contraseña", "resetPasswordInstructions": "Ingrese su correo para restablecer su contraseña", "returnToLogin": "Volver al inicio de sesión", "sendResetLink": "Enviar enlace de restablecimiento", "sending": "Enviando...", "signIn": "Iniciar sesión", "signInToAccount": "Inicia sesión en tu cuenta", "signOut": "Sign out", "signUp": "Registrarse" }, "autoLabels": { "analyzing": "Analizando tus notas...", "createNewLabel": "Crear esta nueva etiqueta y agregarla", "created": "{count} etiquetas creadas exitosamente", "description": "He detectado temas recurrentes en \"{notebookName}\" ({totalNotes} notas). ¿Crear etiquetas para ellos?", "error": "Error al obtener sugerencias de etiquetas", "new": "(nuevo)", "noLabelsSelected": "No hay etiquetas seleccionadas", "note": "nota", "notes": "notas", "title": "Nuevas sugerencias de etiquetas", "typeContent": "Escribe contenido para obtener sugerencias de etiquetas..." }, "batch": { "organize": "Organizar", "organizeWithAI": "Organizar con IA" }, "batchOrganization": { "analyzing": "Analizando tus notas...", "apply": "Aplicar ({count})", "applying": "Aplicando...", "confidence": "confianza", "description": "La IA analizará tus notas y sugerirá organizarlas en cuadernos.", "error": "Error al crear el plan de organización", "noNotebooks": "No hay cuadernos disponibles. Crea primero cuadernos para organizar tus notas.", "noNotesSelected": "No hay notas seleccionadas", "noSuggestions": "La IA no encontró una buena manera de organizar estas notas.", "notesToOrganize": "{count} notas para organizar", "selected": "{count} seleccionado", "title": "Organizar con IA", "unorganized": "{count} notas no se pudieron categorizar y permanecerán en Notas Generales." }, "collaboration": { "accessRevoked": "El acceso ha sido revocado", "addCollaborator": "Agregar colaborador", "addCollaboratorDescription": "Agrega personas para colaborar en esta nota mediante su correo electrónico.", "alreadyInList": "Este correo ya está en la lista", "canEdit": "Puede editar", "canView": "Puede ver", "done": "Hecho", "emailAddress": "Dirección de correo", "emailPlaceholder": "Ingresa dirección de correo", "enterEmailAddress": "Ingresa dirección de correo", "errorLoading": "Error al cargar colaboradores", "failedToAdd": "Error al agregar colaborador", "failedToRemove": "Error al eliminar colaborador", "invite": "Invitar", "noCollaborators": "Aún no hay colaboradores. ¡Agrega a alguien arriba!", "noCollaboratorsViewer": "Aún no hay colaboradores.", "nowHasAccess": "{name} ahora tiene acceso a esta nota", "owner": "Propietario", "pending": "Pendiente", "pendingInvite": "Invitación pendiente", "peopleWithAccess": "Personas con acceso", "remove": "Eliminar", "removeCollaborator": "Eliminar colaborador", "shareNote": "Compartir nota", "shareWithCollaborators": "Compartir con colaboradores", "unnamedUser": "Usuario sin nombre", "viewerDescription": "Tienes acceso a esta nota. Solo el propietario puede administrar los colaboradores.", "willBeAdded": "{email} será agregado como colaborador cuando se cree la nota" }, "colors": { "blue": "Azul", "default": "Predeterminado", "gray": "Gris", "green": "Verde", "orange": "Naranja", "pink": "Rosa", "purple": "Púrpura", "red": "Rojo", "yellow": "Amarillo" }, "common": { "add": "Agregar", "cancel": "Cancelar", "close": "Cerrar", "confirm": "Confirmar", "delete": "Eliminar", "edit": "Editar", "error": "Error", "loading": "Cargando", "noResults": "Sin resultados", "notAvailable": "No disponible", "optional": "Opcional", "remove": "Eliminar", "required": "Requerido", "save": "Guardar", "search": "Buscar", "success": "Éxito", "unknown": "Desconocido" }, "connection": { "clickToView": "Haz clic para ver la nota", "helpful": "Útil", "isHelpful": "¿Es útil esta conexión?", "memoryEchoDiscovery": "Descubrimiento de Memory Echo", "notHelpful": "No útil", "similarityInfo": "Estas notas están conectadas por {similarity}% de similitud" }, "dataManagement": { "cleanup": { "button": "Cleanup", "description": "Remove labels and connections that reference deleted notes.", "failed": "Error during cleanup", "title": "Cleanup Orphaned Data" }, "cleanupComplete": "Limpieza completada", "cleanupError": "Error de limpieza", "dangerZone": "Zona de peligro", "dangerZoneDescription": "Estas acciones son irreversibles", "delete": { "button": "Delete All Notes", "confirm": "Are you sure? This will permanently delete all your notes.", "description": "Permanently delete all your notes. This action cannot be undone.", "failed": "Failed to delete notes", "success": "All notes deleted", "title": "Delete All Notes" }, "deleting": "Eliminando", "export": { "button": "Export Notes", "description": "Download all your notes as a JSON file. This includes all content, labels, and metadata.", "failed": "Failed to export notes", "success": "Notes exported successfully", "title": "Export All Notes" }, "exporting": "Exportando", "import": { "button": "Import Notes", "description": "Upload a JSON file to import notes. This will add to your existing notes, not replace them.", "failed": "Failed to import notes", "success": "Imported {count} notes", "title": "Import Notes" }, "importing": "Importando", "indexing": { "button": "Rebuild Index", "description": "Regenerate embeddings for all notes to improve semantic search.", "failed": "Error during indexing", "success": "Indexing complete: {count} notes processed", "title": "Rebuild Search Index" }, "indexingComplete": "Indexación completada", "indexingError": "Error de indexación", "title": "Data Management", "toolsDescription": "Tools to maintain your database health" }, "demoMode": { "activated": "¡Modo demostración activado! Memory Echo funcionará instantáneamente.", "createNotesTip": "¡Crea 2+ notas similares y ve Memory Echo en acción!", "deactivated": "Modo demostración desactivado. Parámetros normales restaurados.", "delayBetweenNotes": "Retraso de 0 días entre notas (normalmente 7 días)", "description": "Acelera Memory Echo para pruebas. Las conexiones aparecen instantáneamente.", "parametersActive": "Parámetros de demostración activos:", "similarityThreshold": "Umbral de similitud del 50% (normalmente 75%)", "title": "Modo demostración", "toggleFailed": "Error al alternar modo demostración", "unlimitedInsights": "Insights ilimitados (sin límites de frecuencia)" }, "diagnostics": { "apiStatus": "Estado de la API", "checking": "Checking...", "configuredProvider": "Proveedor configurado", "description": "Check your AI provider connection status", "errorStatus": "Error", "operational": "Operational", "testDetails": "Detalles de la prueba:", "tip1": "Asegúrate de que Ollama esté ejecutándose (ollama serve)", "tip2": "Verifica que el modelo esté instalado (ollama pull llama3)", "tip3": "Verifica tu clave API de OpenAI", "tip4": "Revisa la conectividad de red", "title": "Diagnósticos", "troubleshootingTitle": "Consejos de solución de problemas:" }, "favorites": { "noFavorites": "Sin favoritos", "pinToFavorite": "Fijar como favorito", "title": "Favoritos", "toggleSection": "Alternar sección" }, "footer": { "openSource": "Clon de código abierto", "privacy": "Privacidad", "terms": "Términos" }, "general": { "add": "Agregar", "apply": "Aplicar", "back": "Atrás", "cancel": "Cancelar", "clean": "Clean", "clear": "Limpiar", "close": "Cerrar", "confirm": "Confirmar", "edit": "Editar", "error": "Ocurrió un error", "indexAll": "Index All", "loading": "Cargando...", "next": "Siguiente", "operationFailed": "Operación fallida", "operationSuccess": "Operación exitosa", "preview": "Vista previa", "previous": "Anterior", "reset": "Restablecer", "save": "Guardar", "select": "Seleccionar", "submit": "Enviar", "testConnection": "Test Connection", "tryAgain": "Por favor intenta de nuevo" }, "generalSettings": { "description": "Configuración general de la aplicación", "title": "Configuración general" }, "labels": { "addLabel": "Agregar etiqueta", "allLabels": "Todas las etiquetas", "changeColor": "Cambiar color", "changeColorTooltip": "Cambiar color", "clearAll": "Limpiar todo", "confirmDelete": "¿Estás seguro de que quieres eliminar esta etiqueta?", "count": "{count} etiquetas", "noLabels": "Sin etiquetas", "confirmDeleteShort": "¿Confirmar?", "labelRemoved": "Etiqueta \"{label}\" eliminada" }, "memoryEcho": { "clickToView": "Haz clic para ver", "comparison": { "clickToView": "Haz clic para ver la nota", "helpful": "Útil", "helpfulQuestion": "¿Es útil esta comparación?", "highSimilarityInsight": "Estas notas tratan el mismo tema con un alto grado de similitud. Podrían fusionarse o consolidarse.", "notHelpful": "No útil", "similarityInfo": "Estas notas están conectadas por {similarity}% de similitud", "title": "💡 Comparación de notas", "untitled": "Sin título" }, "connection": "conexión", "connections": "Conexiones", "connectionsBadge": "{count} conexión{plural}", "dailyInsight": "Perspectiva diaria de tus notas", "description": "Conexiones proactivas entre tus notas", "dismiss": "Descartar por ahora", "editorSection": { "close": "Cerrar", "compare": "Comparar", "compareAll": "Comparar todas", "loading": "Cargando...", "merge": "Fusionar", "mergeAll": "Fusionar todas", "title": "⚡ Notas conectadas ({count})", "view": "Ver" }, "fused": "Fusionado", "fusion": { "archiveOriginals": "Archivar notas originales", "cancel": "Cancelar", "confirmFusion": "Confirmar fusión", "createBacklinks": "Crear retroenlaces a las notas originales", "edit": "Editar", "error": "Error al fusionar las notas", "finishEditing": "Terminar edición", "generateError": "Error al generar la fusión", "generateFusion": "Generar la fusión", "generating": "Generando...", "keepAllTags": "Mantener todas las etiquetas", "mergeNotes": "Fusionar {count} nota(s)", "modify": "Modificar", "noContentReturned": "No se devolvió contenido de fusión de la API", "notesToMerge": "📝 Notas para fusionar", "optionalPrompt": "💬 Prompt de fusión (opcional)", "optionsTitle": "Opciones de fusión", "previewTitle": "📝 Vista previa de la nota fusionada", "promptPlaceholder": "Instrucciones opcionales para la IA (ej. 'Mantener el estilo formal de la nota 1')...", "success": "¡Notas fusionadas exitosamente!", "title": "🔗 Fusión inteligente", "unknownDate": "Fecha desconocida", "useLatestTitle": "Usar la nota más reciente como título" }, "helpful": "Útil", "insightReady": "¡Tu perspectiva está lista!", "notHelpful": "No útil", "overlay": { "error": "Error", "loading": "Cargando...", "noConnections": "No se encontraron conexiones", "searchPlaceholder": "Buscar conexiones...", "sortBy": "Ordenar por:", "sortOldest": "Más antiguo", "sortRecent": "Reciente", "sortSimilarity": "Similitud", "title": "Notas conectadas", "viewAll": "Ver todas lado a lado" }, "thanksFeedback": "¡Gracias por tus comentarios!", "thanksFeedbackImproving": "¡Gracias! Usaremos esto para mejorar.", "title": "Noté algo...", "viewConnection": "Ver conexión", "match": "{percentage}% coincidencia" }, "nav": { "accountSettings": "Configuración de cuenta", "adminDashboard": "Panel de administración", "aiSettings": "Configuración IA", "archive": "Archivo", "buyMeACoffee": "Cómprame un café", "configureAI": "Configura tus funciones impulsadas por IA, proveedor y preferencias", "diagnostics": "Diagnósticos", "donateOnKofi": "Donar en Ko-fi", "donationDescription": "Haz una donación única o conviértete en suscriptor mensual.", "donationNote": "Sin comisiones de plataforma • Pagos instantáneos • Seguro", "favorites": "Favoritos", "generalNotes": "Notas generales", "home": "Inicio", "login": "Iniciar sesión", "logout": "Cerrar sesión", "manageAISettings": "Administrar configuración IA", "myLibrary": "Mi biblioteca", "notebooks": "Cuadernos", "notes": "Notas", "proPlan": "Plan Pro", "profile": "Perfil", "quickAccess": "Acceso rápido", "recent": "Recientes", "reminders": "Recordatorios", "settings": "Configuración", "sponsorDescription": "Conviértete en suscriptor mensual y obtén reconocimiento.", "sponsorOnGithub": "Patrocinar en GitHub", "support": "Apoyar Memento ☕", "supportDescription": "Memento es 100% gratuito y de código abierto. Tu apoyo ayuda a mantenerlo así.", "supportDevelopment": "Apoyar el desarrollo de Memento ☕", "trash": "Papelera", "userManagement": "Gestión de usuarios", "workspace": "Espacio de trabajo", "chat": "Chat IA", "lab": "El Laboratorio", "agents": "Agentes" }, "notebook": { "cancel": "Cancelar", "create": "Crear cuaderno", "createDescription": "Inicia una nueva colección para organizar tus notas, ideas y proyectos de manera eficiente.", "createNew": "Crear nuevo cuaderno", "creating": "Creando...", "delete": "Eliminar cuaderno", "deleteConfirm": "Eliminar", "deleteWarning": "¿Estás seguro de que quieres eliminar este cuaderno? Las notas se moverán a Notas generales.", "edit": "Editar cuaderno", "editDescription": "Cambia el nombre, icono y color de tu cuaderno.", "generating": "Generando resumen...", "labels": "Etiquetas", "name": "Nombre del cuaderno", "noLabels": "Sin etiquetas", "selectColor": "Color", "selectIcon": "Icono", "summary": "Resumen del cuaderno", "summaryDescription": "Genera un resumen impulsado por IA de todas las notas en este cuaderno.", "summaryError": "Error al generar el resumen", "namePlaceholder": "ej. Estrategia Marketing Q4", "myNotebook": "Mi cuaderno", "saving": "Guardando...", "pdfTitle": "Resumen — {name}", "pdfNotesLabel": "Notas:", "pdfGeneratedOn": "Generado el:", "confidence": "confianza", "savingReminder": "Error al guardar el recordatorio", "removingReminder": "Error al eliminar el recordatorio" }, "notebookSuggestion": { "description": "Esta nota parece pertenecer a este cuaderno", "dismiss": "Descartar", "dismissIn": "Descartar (cierra en {timeLeft}s)", "generalNotes": "Notas generales", "move": "Mover", "moveToNotebook": "Mover al cuaderno", "title": "¿Mover a {name}?" }, "notebooks": { "allNotebooks": "Todos los cuadernos", "create": "Crear", "createFirst": "Crear el primero", "noNotebooks": "Sin cuadernos" }, "notes": { "add": "Agregar", "addCollaborators": "Agregar colaboradores", "addImage": "Agregar imagen", "addItem": "Agregar elemento", "addLink": "Agregar enlace", "addListItem": "+ Elemento de lista", "addNote": "Agregar nota", "adding": "Agregando...", "aiAssistant": "Asistente IA", "archive": "Archivar", "backgroundOptions": "Opciones de fondo", "changeColor": "Cambiar color", "changeSize": "Cambiar tamaño", "clarifyFailed": "Error al aclarar", "close": "Cerrar", "color": "Color", "confirmDelete": "¿Estás seguro de que quieres eliminar esta nota?", "confirmLeaveShare": "¿Estás seguro de que quieres abandonar esta nota compartida?", "contentOrMediaRequired": "Por favor ingresa algún contenido o agrega un enlace/imagen", "copy": "Copiar", "copyFailed": "Error al copiar la nota", "copySuccess": "¡Nota copiada exitosamente!", "createFirstNote": "Crea tu primera nota", "date": "Fecha", "delete": "Eliminar", "dragToReorder": "Arrastra para reordenar", "duplicate": "Duplicar", "edit": "Editar nota", "emptyState": "Sin notas", "fileTooLarge": "Archivo demasiado grande: {fileName}. El tamaño máximo es {maxSize}.", "improveFailed": "Error al mejorar", "inNotebook": "En cuaderno", "invalidDateTime": "Fecha u hora inválida", "invalidFileType": "Tipo de archivo inválido: {fileName}. Solo se permiten JPEG, PNG, GIF y WebP.", "itemOrMediaRequired": "Por favor agrega al menos un elemento o medio", "large": "Grande", "leaveShare": "Abandonar", "linkAddFailed": "Error al agregar el enlace", "linkAdded": "Enlace agregado", "linkMetadataFailed": "No se pudieron obtener los metadatos del enlace", "listItem": "Elemento de lista", "makeCopy": "Hacer una copia", "markdown": "Markdown", "markdownMode": "Markdown", "markdownOff": "Markdown DESACTIVADO", "markdownOn": "Markdown ACTIVADO", "markdownPlaceholder": "Toma una nota... (Markdown compatible)", "medium": "Mediano", "more": "Más", "moreOptions": "Más opciones", "moveFailed": "Error al mover", "newChecklist": "Nueva lista de verificación", "newNote": "Nueva nota", "noContent": "Sin contenido", "noNotes": "Sin notas", "noNotesFound": "No se encontraron notas", "noteCreateFailed": "Error al crear la nota", "noteCreated": "Nota creada exitosamente", "others": "Otros", "pin": "Fijar", "pinned": "Fijadas", "pinnedNotes": "Notas fijadas", "placeholder": "Toma una nota...", "preview": "Vista previa", "readOnly": "Solo lectura", "recent": "Recientes", "redo": "Rehacer (Ctrl+Y)", "redoShortcut": "Rehacer (Ctrl+Y)", "remindMe": "Recordarme", "reminderDateTimeRequired": "Por favor ingresa fecha y hora", "reminderMustBeFuture": "El recordatorio debe ser en el futuro", "reminderPastError": "El recordatorio debe ser en el futuro", "reminderRemoved": "Recordatorio eliminado", "reminderSet": "Recordatorio configurado para {datetime}", "remove": "Remove", "saving": "Guardando...", "setReminder": "Configurar recordatorio", "setReminderButton": "Configurar recordatorio", "share": "Compartir", "shareWithCollaborators": "Compartir con colaboradores", "sharedBy": "Compartido por", "sharedReadOnly": "Esta nota está compartida contigo en modo solo lectura", "shortenFailed": "Error al acortar", "showCollaborators": "Mostrar colaboradores", "size": "Tamaño", "small": "Pequeño", "takeNote": "Toma una nota...", "takeNoteMarkdown": "Toma una nota... (Markdown compatible)", "time": "Hora", "title": "Notas", "titlePlaceholder": "Título", "transformFailed": "Error al transformar", "unarchive": "Desarchivar", "undo": "Deshacer (Ctrl+Z)", "undoShortcut": "Deshacer (Ctrl+Z)", "unpin": "Desfijar", "unpinned": "Desfijadas", "untitled": "Sin título", "uploadFailed": "Error al cargar {filename}", "view": "Ver nota", "emptyStateTabs": "Sin notas en esta vista. Usa \"Nueva nota\" en la barra lateral (sugerencias de título IA en el compositor).", "viewCards": "Vista tarjetas", "viewCardsTooltip": "Cuadrícula de tarjetas con reorganización por arrastrar y soltar", "viewTabs": "Vista lista", "viewTabsTooltip": "Pestañas arriba, nota abajo — arrastra pestañas para reordenar", "viewModeGroup": "Modo de visualización de notas", "reorderTabs": "Reordenar pestaña", "modified": "Modificada", "created": "Creada" }, "pagination": { "next": "→", "pageInfo": "Página {currentPage} / {totalPages}", "previous": "←" }, "paragraphRefactor": { "casual": "Informal", "expand": "Expandir", "formal": "Formal", "improve": "Mejorar", "shorten": "Acortar", "title": "Mejora de texto" }, "profile": { "accountSettings": "Configuración de cuenta", "autoDetect": "Detección automática", "changePassword": "Cambiar contraseña", "changePasswordDescription": "Actualiza tu contraseña. Necesitarás tu contraseña actual.", "confirmPassword": "Confirmar contraseña", "currentPassword": "Contraseña actual", "description": "Actualiza tu información personal", "displayName": "Nombre para mostrar", "displaySettings": "Configuración de visualización", "displaySettingsDescription": "Personaliza la apariencia y el tamaño de fuente.", "email": "Correo electrónico", "fontSize": "Tamaño de fuente", "fontSizeDescription": "Ajusta el tamaño de fuente para mejor legibilidad. Esto se aplica a todo el texto de la interfaz.", "fontSizeExtraLarge": "Extra grande", "fontSizeLarge": "Grande", "fontSizeMedium": "Mediano", "fontSizeSmall": "Pequeño", "fontSizeUpdateFailed": "Error al actualizar el tamaño de fuente", "fontSizeUpdateSuccess": "Tamaño de fuente actualizado exitosamente", "languageDescription": "Este idioma se usará para las funciones impulsadas por IA, análisis de contenido y texto de la interfaz.", "languagePreferences": "Preferencias de idioma", "languagePreferencesDescription": "Elige tu idioma preferido para las funciones de IA y la interfaz.", "languageUpdateFailed": "Error al actualizar el idioma", "languageUpdateSuccess": "Idioma actualizado exitosamente", "manageAISettings": "Administrar configuración IA", "newPassword": "Nueva contraseña", "passwordChangeFailed": "Error al cambiar la contraseña", "passwordChangeSuccess": "Contraseña cambiada exitosamente", "passwordError": "Error al actualizar la contraseña", "passwordUpdated": "Contraseña actualizada", "preferredLanguage": "Idioma preferido", "profileError": "Error al actualizar el perfil", "profileUpdated": "Perfil actualizado", "recentNotesUpdateFailed": "Failed to update recent notes setting", "recentNotesUpdateSuccess": "Recent notes setting updated successfully", "selectFontSize": "Seleccionar tamaño de fuente", "selectLanguage": "Selecciona un idioma", "showRecentNotes": "Show Recent Notes Section", "showRecentNotesDescription": "Display recent notes (last 7 days) on the main page", "title": "Perfil", "updateFailed": "Error al actualizar el perfil", "updatePassword": "Actualizar contraseña", "updateSuccess": "Perfil actualizado" }, "reminder": { "cancel": "Cancelar", "reminderDate": "Fecha del recordatorio", "reminderTime": "Hora del recordatorio", "removeReminder": "Eliminar recordatorio", "save": "Configurar recordatorio", "setReminder": "Configurar recordatorio", "title": "Recordatorio" }, "resetPassword": { "confirmNewPassword": "Confirmar nueva contraseña", "description": "Ingresa tu nueva contraseña abajo.", "invalidLinkDescription": "Este enlace de restablecimiento de contraseña es inválido o ha expirado.", "invalidLinkTitle": "Enlace inválido", "loading": "Cargando...", "newPassword": "Nueva contraseña", "passwordMismatch": "Las contraseñas no coinciden", "requestNewLink": "Solicitar nuevo enlace", "resetPassword": "Restablecer contraseña", "resetting": "Restableciendo...", "success": "Contraseña restablecida correctamente. Ahora puedes iniciar sesión.", "title": "Restablecer contraseña" }, "search": { "exactMatch": "Coincidencia exacta", "noResults": "No se encontraron resultados", "placeholder": "Buscar", "related": "Relacionado", "resultsFound": "{count} notas encontradas", "searchPlaceholder": "Busca en tus notas...", "searching": "Buscando...", "semanticInProgress": "Búsqueda semántica en curso...", "semanticTooltip": "Búsqueda semántica con IA" }, "semanticSearch": { "exactMatch": "Coincidencia exacta", "related": "Relacionado", "searching": "Buscando..." }, "settings": { "about": "Acerca de", "account": "Cuenta", "appearance": "Apariencia", "cleanTags": "Clean Orphan Tags", "cleanTagsDescription": "Remove tags that are no longer used by any notes", "description": "Administra tu configuración y preferencias", "language": "Idioma", "languageAuto": "Automático", "maintenance": "Maintenance", "maintenanceDescription": "Tools to maintain your database health", "notifications": "Notificaciones", "privacy": "Privacidad", "profile": "Perfil", "searchNoResults": "Sin resultados de búsqueda", "security": "Seguridad", "selectLanguage": "Seleccionar idioma", "semanticIndexing": "Semantic Indexing", "semanticIndexingDescription": "Generate vectors for all notes to enable intent-based search", "settingsError": "Error al guardar la configuración", "settingsSaved": "Configuración guardada", "theme": "Tema", "themeDark": "Oscuro", "themeLight": "Claro", "themeSystem": "Sistema", "title": "Configuración", "version": "Versión", "cleanupDone": "{created} etiqueta(s) sincronizada(s), {deleted} huérfana(s) eliminada(s)", "cleanupNothing": "Ninguna acción necesaria — las etiquetas ya coinciden con tus notas", "cleanupWithErrors": "algunas operaciones fallaron", "cleanupError": "No se pudieron limpiar las etiquetas", "indexingComplete": "Indexación completa: {count} nota(s) procesada(s)", "indexingError": "Error durante la indexación", "emailNotifications": "Notificaciones por correo", "emailNotificationsDesc": "Recibir notificaciones importantes por correo", "desktopNotifications": "Notificaciones de escritorio", "desktopNotificationsDesc": "Recibir notificaciones en el navegador", "notificationsDesc": "Gestiona tus preferencias de notificaciones" }, "sidebar": { "archive": "Archive", "editLabels": "Edit labels", "labels": "Labels", "notes": "Notes", "reminders": "Reminders", "trash": "Trash", "newNoteTabs": "Nueva nota", "newNoteTabsHint": "Crear nota en este cuaderno", "noLabelsInNotebook": "Sin etiquetas en este cuaderno" }, "support": { "aiApiCosts": "Costos de API de IA:", "buyMeACoffee": "Cómprame un café", "contributeCode": "Contribuir código", "description": "Memento es 100% gratuito y de código abierto. Tu apoyo ayuda a mantenerlo así.", "directImpact": "Impacto directo", "domainSSL": "Dominio y SSL:", "donateOnKofi": "Donar en Ko-fi", "donationDescription": "Haz una donación única o conviértete en suscriptor mensual.", "githubDescription": "Apoyo recurrente • Reconocimiento público • Enfocado en desarrolladores", "hostingServers": "Alojamiento y servidores:", "howSupportHelps": "Cómo ayuda tu apoyo", "kofiDescription": "Sin comisiones de plataforma • Pagos instantáneos • Seguro", "otherWaysTitle": "Otras formas de apoyar", "reportBug": "Reportar un error", "shareTwitter": "Compartir en Twitter", "sponsorDescription": "Conviértete en patrocinador mensual y obtén reconocimiento.", "sponsorOnGithub": "Patrocinar en GitHub", "sponsorPerks": "Beneficios del patrocinio", "starGithub": "Estrella en GitHub", "title": "Apoyar el desarrollo de Memento", "totalExpenses": "Gastos totales:", "transparency": "Transparencia", "transparencyDescription": "Creo en la transparencia total. Así es como se usan las donaciones:" }, "testPages": { "titleSuggestions": { "analyzing": "Analizando...", "contentLabel": "Contenido (necesitas más de 50 palabras):", "error": "Error:", "idle": "Inactivo", "noSuggestions": "Sin sugerencias aún. Escribe más de 50 palabras y espera 2 segundos.", "placeholder": "Escribe al menos 50 palabras aquí...", "status": "Estado:", "suggestions": "Sugerencias ({count}):", "title": "Probar sugerencias de título", "wordCount": "Contador de palabras:" } }, "time": { "daysAgo": "Hace {count} días", "hoursAgo": "Hace {count} horas", "justNow": "Justo ahora", "minutesAgo": "Hace {count} minutos", "today": "Hoy", "tomorrow": "Mañana", "yesterday": "Ayer" }, "titleSuggestions": { "available": "Sugerencias de título", "dismiss": "Descartar", "generating": "Generando...", "selectTitle": "Selecciona un título", "title": "Sugerencias de IA" }, "toast": { "feedbackFailed": "Error al enviar comentarios", "notesFusionSuccess": "¡Notas fusionadas correctamente!", "openConnectionFailed": "Error al abrir conexión", "openingConnection": "Abriendo conexión...", "operationFailed": "Operación fallida", "operationSuccess": "Operación exitosa", "saveFailed": "Error al guardar configuración", "saved": "Configuración guardada", "thanksFeedback": "¡Gracias por tus comentarios!", "thanksFeedbackImproving": "¡Gracias! Usaremos esto para mejorar." }, "trash": { "title": "Papelera", "empty": "La papelera está vacía", "emptyDescription": "Las notas eliminadas aparecerán aquí", "restore": "Restaurar", "deletePermanently": "Eliminar permanentemente", "noteTrashed": "Nota movida a la papelera", "noteRestored": "Nota restaurada", "notePermanentlyDeleted": "Nota eliminada permanentemente", "emptyTrash": "Vaciar papelera", "emptyTrashConfirm": "¿Eliminar permanentemente todas las notas de la papelera?", "emptyTrashSuccess": "Papelera vaciada", "permanentDelete": "Eliminar permanentemente", "permanentDeleteConfirm": "Esta nota se eliminará permanentemente. Esta acción no se puede deshacer." }, "ui": { "close": "Cerrar", "collapse": "Colapsar", "expand": "Expandir", "open": "Abrir" }, "mcpSettings": { "title": "Configuración MCP", "description": "Gestiona tus claves API y configura herramientas externas", "whatIsMcp": { "title": "¿Qué es MCP?", "description": "El Model Context Protocol (MCP) es un protocolo abierto que permite a los modelos de IA interactuar de forma segura con herramientas y fuentes de datos externas. Con MCP, puedes conectar herramientas como Claude Code, Cursor o N8N a tu instancia de Memento para leer, crear y organizar tus notas mediante programación.", "learnMore": "Más información sobre MCP" }, "serverStatus": { "title": "Estado del servidor", "running": "En ejecución", "stopped": "Detenido", "mode": "Modo", "url": "URL" }, "apiKeys": { "title": "Claves API", "description": "Las claves API permiten a las herramientas externas acceder a tus notas mediante MCP. Mantén tus claves en secreto.", "generate": "Generar nueva clave", "empty": "Aún no hay claves API. Genera una para empezar.", "active": "Activa", "revoked": "Revocada", "revoke": "Revocar", "delete": "Eliminar", "createdAt": "Creada", "lastUsed": "Último uso", "never": "Nunca", "confirmRevoke": "¿Estás seguro de que quieres revocar esta clave? Las herramientas que la usen perderán el acceso.", "confirmDelete": "¿Estás seguro de que quieres eliminar permanentemente esta clave?" }, "createDialog": { "title": "Generar clave API", "description": "Crea una nueva clave API para conectar herramientas externas a tus notas.", "nameLabel": "Nombre de la clave", "namePlaceholder": "ej. Claude Code, Cursor, N8N", "generating": "Generando...", "generate": "Generar", "successTitle": "Clave API generada", "successDescription": "Copia tu clave API ahora. No podrás volver a verla.", "copy": "Copiar", "copied": "¡Copiada!", "done": "Listo" }, "configInstructions": { "title": "Instrucciones de configuración", "description": "Usa tu clave API para configurar estas herramientas.", "claudeCode": { "title": "Claude Code", "description": "Añade esto a tu archivo de configuración MCP de Claude Code:" }, "cursor": { "title": "Cursor", "description": "Añade esto a tus ajustes MCP de Cursor:" }, "n8n": { "title": "N8N", "description": "Usa estas credenciales en tu nodo MCP de N8N:" } } }, "agents": { "title": "Agentes", "subtitle": "Automatiza tus tareas de monitoreo e investigación", "newAgent": "Nuevo agente", "myAgents": "Mis agentes", "noAgents": "Sin agentes", "noAgentsDescription": "Crea tu primer agente o instala una plantilla abajo para automatizar tus tareas de monitoreo.", "types": { "scraper": "Monitor", "researcher": "Investigador", "monitor": "Observador", "custom": "Personalizado" }, "typeDescriptions": { "scraper": "Extrae contenido de múltiples sitios y crea un resumen", "researcher": "Busca información sobre un tema", "monitor": "Observa un cuaderno y analiza notas", "custom": "Agente libre con tu propio prompt" }, "form": { "agentType": "Tipo de agente", "name": "Nombre", "namePlaceholder": "ej. Vigilancia IA del martes", "description": "Descripción (opcional)", "descriptionPlaceholder": "Resumen semanal de noticias de IA", "urlsLabel": "URLs a extraer", "urlsOptional": "(opcional)", "sourceNotebook": "Cuaderno a observar", "selectNotebook": "Seleccionar un cuaderno...", "targetNotebook": "Cuaderno de destino", "inbox": "Bandeja de entrada", "instructions": "Instrucciones de IA", "instructionsPlaceholder": "Describe el comportamiento del agente...", "frequency": "Frecuencia", "cancel": "Cancelar", "saving": "Guardando...", "save": "Guardar", "create": "Crear agente", "editTitle": "Editar agente", "createTitle": "Nuevo agente", "nameRequired": "El nombre es obligatorio", "addUrl": "Agregar URL", "advancedMode": "Modo avanzado", "instructionsHint": "reemplaza el prompt automático", "researchTopic": "Tema de investigación", "researchTopicPlaceholder": "ej: Últimos avances en inteligencia artificial", "notifyEmail": "Notificación por correo", "notifyEmailHint": "Recibe un correo con los resultados del agente después de cada ejecución" }, "frequencies": { "manual": "Manual", "hourly": "Cada hora", "daily": "Diario", "weekly": "Semanal", "monthly": "Mensual" }, "status": { "success": "Exitoso", "failure": "Fallido", "running": "En ejecución", "pending": "Pendiente" }, "actions": { "edit": "Editar", "run": "Ejecutar", "delete": "Eliminar", "deleteConfirm": "¿Eliminar el agente \"{name}\"?", "toggleOn": "Agente activado", "toggleOff": "Agente desactivado" }, "toasts": { "created": "Agente creado", "updated": "Agente actualizado", "deleted": "\"{name}\" eliminado", "deleteError": "Error al eliminar", "runSuccess": "\"{name}\" ejecutado exitosamente", "runError": "Error: {error}", "runFailed": "Ejecución fallida", "runGenericError": "Error durante la ejecución", "toggleError": "Error al alternar el agente", "installSuccess": "\"{name}\" instalado", "installError": "Error durante la instalación", "saveError": "Error al guardar" }, "templates": { "title": "Plantillas", "install": "Instalar", "installing": "Instalando...", "veilleAI": { "name": "Vigilancia IA", "description": "Extrae contenido de 5 sitios especializados en IA y genera un resumen semanal." }, "veilleTech": { "name": "Vigilancia Tech", "description": "Extrae contenido de los principales sitios tecnológicos y crea un resumen de noticias." }, "veilleDev": { "name": "Vigilancia Dev", "description": "Extrae contenido de sitios de desarrollo y resume nuevas tecnologías y frameworks." }, "surveillant": { "name": "Observador de notas", "description": "Analiza notas recientes de un cuaderno y sugiere complementos, referencias y enlaces." }, "chercheur": { "name": "Investigador de temas", "description": "Busca información profunda sobre un tema y crea una nota estructurada con referencias." } }, "runLog": { "title": "Historial", "noHistory": "Aún no hay ejecuciones", "toolTrace": "{count} llamadas de herramientas", "step": "Paso {num}" }, "tools": { "title": "Herramientas del Agente", "webSearch": "Búsqueda Web", "webScrape": "Scraping Web", "noteSearch": "Búsqueda de Notas", "noteRead": "Leer Nota", "noteCreate": "Crear Nota", "urlFetch": "Obtener URL", "memorySearch": "Memoria", "configNeeded": "configuración", "selected": "{count} seleccionadas", "maxSteps": "Iteraciones máximas" }, "metadata": { "executions": "{count} ejec." }, "defaultRoles": { "scraper": "Eres un asistente de monitoreo. Sintetiza artículos de diferentes sitios web en un resumen claro y estructurado.", "researcher": "Eres un investigador riguroso. Para el tema solicitado, produce una nota de investigación con contexto, puntos clave, debates y referencias.", "monitor": "Eres un asistente analítico. Analiza las notas proporcionadas y sugiere pistas, referencias y conexiones entre notas.", "custom": "Eres un asistente útil." }, "help": { "title": "Guía de Agentes", "btnLabel": "Ayuda", "close": "Cerrar", "whatIsAgent": "¿Qué es un agente?", "whatIsAgentContent": "An **agent** is an AI assistant that runs automatically to perform tasks for you. It has access to **tools** (web search, web scraping, note reading...) and produces a **note** with its results.\n\nThink of it as a small autonomous worker: you give it a mission, it researches or scrapes information, then writes a structured note you can read later.", "howToUse": "¿Cómo usar un agente?", "howToUseContent": "1. Click **\"New Agent\"** (or start from a **Template** at the bottom of the page)\n2. Choose an **agent type** (Researcher, Monitor, Observer, Custom)\n3. Give it a **name** and fill in the type-specific fields\n4. Optionally pick a **target notebook** where results will be saved\n5. Choose a **frequency** (Manual = you trigger it yourself)\n6. Click **Create**, then hit the **Run** button on the agent card\n7. Once finished, a new note appears in your target notebook", "types": "Tipos de agentes", "typesContent": "### Researcher\nSearches the web on a **topic you define** and creates a structured note with sources and references.\n\n- **Fields:** name, research topic (e.g. \"Latest advances in quantum computing\")\n- **Default tools:** web search, web scraping, note search, note creation\n- **Requirements:** a web search provider must be configured (SearXNG or Brave Search)\n\n### Monitor (Scraper)\nScrapes a **list of URLs** you specify and produces a summary of their content.\n\n- **Fields:** name, list of URLs (e.g. tech news sites, blogs...)\n- **Default tools:** web scraping, note creation\n- **Use case:** weekly tech watch, competitor monitoring, blog roundups\n\n### Observer (Notebook Monitor)\nReads notes from a **notebook you select** and produces analysis, connections, and suggestions.\n\n- **Fields:** name, source notebook (the one to analyze)\n- **Default tools:** note search, note read, note creation\n- **Use case:** find connections between your notes, get reading suggestions, detect recurring themes\n\n### Custom\nA blank canvas: you write your own **prompt** and pick your own **tools**.\n\n- **Fields:** name, description, custom instructions (in Advanced mode)\n- **No default tools** — you choose exactly what the agent needs\n- **Use case:** anything creative or specific that doesn't fit the other types", "advanced": "Modo avanzado (Instrucciones IA, Iteraciones máx.)", "advancedContent": "Click **\"Advanced mode\"** at the bottom of the form to access additional settings.\n\n### AI Instructions\n\nThis field lets you **replace the default system prompt** for the agent. If left empty, the agent uses an automatic prompt adapted to its type.\n\n**Why use it?** You want to control exactly how the agent behaves. For example:\n- \"Write the summary in English, even if sources are in French\"\n- \"Structure the note with sections: Context, Key Points, Personal Opinion\"\n- \"Ignore articles older than 30 days and focus on recent news\"\n- \"For each detected theme, suggest 3 follow-up leads with links\"\n\n> **Note:** Your instructions replace the defaults, they don't add to them.\n\n### Max iterations\n\nThis is the **maximum number of cycles** the agent can perform. One cycle = the agent thinks, calls a tool, reads the result, then decides the next action.\n\n- **3-5 iterations:** for simple tasks (scraping a single page)\n- **10 iterations (default):** good balance for most cases\n- **15-25 iterations:** for deep research where the agent needs to explore multiple leads\n\n> **Warning:** More iterations = more time and potentially higher API costs.", "tools": "Herramientas disponibles (detalle)", "toolsContent": "When advanced mode is enabled, you can choose exactly which tools the agent can use.\n\n### Web Search\nAllows the agent to **search the internet** via SearXNG or Brave Search.\n\n- **What it does:** The agent formulates a query, gets search results, and can then scrape the most relevant pages.\n- **When to enable:** When the agent needs to find information on a topic (Researcher or Custom type).\n- **Configuration required:** SearXNG (with JSON format enabled) or a Brave Search API key. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent searches \"React Server Components best practices 2025\", gets 10 results, then scrapes the top 3.\n\n### Web Scrape\nAllows the agent to **extract text content from a web page** given its URL.\n\n- **What it does:** The agent visits a URL and retrieves the structured text (headings, paragraphs, lists). Ads, menus and footers are typically filtered out.\n- **When to enable:** For the Monitor type (mandatory), or any agent that needs to read web pages.\n- **Configuration:** Works out of the box, but a **Jina Reader API key** improves quality and removes rate limits. Configurable in **Admin > Agent Tools**.\n- **Example:** The agent scrapes 5 tech blogs and produces a synthesized summary.\n\n### Note Search\nAllows the agent to **search your existing notes**.\n\n- **What it does:** The agent performs a text search across all your notes (or a specific notebook).\n- **When to enable:** For Observer-type agents, or any agent that needs to cross-reference information with your notes.\n- **Configuration:** None — works immediately.\n- **Example:** The agent searches all notes containing \"machine learning\" to see what you've already written on the topic.\n\n### Read Note\nAllows the agent to **read the full content of a specific note**.\n\n- **What it does:** After finding a note (via Note Search), the agent can read its entire content to analyze or use it.\n- **When to enable:** As a companion to Note Search. Enable both together so the agent can search AND read.\n- **Configuration:** None.\n- **Example:** The agent finds 5 notes about \"productivity\", reads them all, and writes a synthesis.\n\n### Create Note\nAllows the agent to **write a new note** in your target notebook.\n\n- **What it does:** The agent creates a note with a title and content. This is how results end up in your notebooks.\n- **When to enable:** Almost always — without this tool, the agent cannot save its results. **Leave it enabled by default.**\n- **Configuration:** None.\n- **Example:** The agent creates a note \"Tech Watch - Week 16\" with a summary of 5 articles.\n\n### Fetch URL\nAllows the agent to **download the raw content of a URL** (HTML, JSON, text...).\n\n- **What it does:** Unlike scraping which extracts clean text, Fetch URL retrieves raw content. Useful for APIs, JSON files, or non-standard pages.\n- **When to enable:** When the agent needs to query REST APIs, read RSS feeds, or access raw data.\n- **Configuration:** None.\n- **Example:** The agent queries the GitHub API to list the latest commits of a project.\n\n### Memory\nAllows the agent to **access its previous execution history**.\n\n- **What it does:** The agent can search through results from past runs. This lets it compare, track changes, or avoid repeating the same information.\n- **When to enable:** For agents that run regularly and need to maintain continuity between executions.\n- **Configuration:** None.\n- **Example:** The agent compares this week's news with last week's and highlights what's new.", "frequency": "Frecuencia y programación", "frequencyContent": "| Frequency | Behavior\n|-----------|----------\n| **Manual** | You click \"Run\" yourself — no automatic scheduling\n| **Hourly** | Runs every hour\n| **Daily** | Runs once per day\n| **Weekly** | Runs once per week\n| **Monthly** | Runs once per month\n\n> **Tip:** Start with \"Manual\" to test your agent, then switch to an automatic frequency once you're satisfied with the results.", "targetNotebook": "Libreta destino", "targetNotebookContent": "When an agent finishes its task, it **creates a note**. The **target notebook** determines where that note goes:\n\n- **Inbox** (default) — the note goes to your general notes\n- **Specific notebook** — choose a notebook to keep agent results organized\n\n> **Tip:** Create a dedicated notebook like \"Agent Reports\" to keep all automated content in one place.", "templates": "Plantillas", "templatesContent": "Templates are pre-configured agents ready to install in one click. You'll find them at the **bottom of the Agents page**.\n\nAvailable templates include:\n\n- **AI Watch** — weekly AI news roundup from 5 specialized sites\n- **Tech Watch** — general tech news summary\n- **Dev Watch** — developer news and new frameworks\n- **Note Observer** — analyzes a notebook and suggests connections\n- **Topic Researcher** — deep research on a specific topic\n\nOnce installed, you can edit the agent to customize it.", "tips": "Consejos y solución de problemas", "tipsContent": "- **Start with a template** and customize it — it's the fastest way to get a working agent\n- **Test with \"Manual\"** frequency before enabling automatic scheduling\n- **A \"Researcher\" agent requires a web search provider** — configure SearXNG (JSON format) or Brave Search in **Admin > Agent Tools**\n- **If an agent fails**, click on its card then **History** to see the execution log and tool traces\n- **The \"Enabled/Disabled\" toggle** lets you pause an agent without deleting it\n- **Web scraping quality** improves with a Jina Reader API key (optional, in Admin > Agent Tools)\n- **Combine \"Note Search\" + \"Read Note\"** so the agent can find AND analyze your notes' content\n- **Enable \"Memory\"** if your agent runs regularly — it will avoid repeating the same information across runs", "tooltips": { "agentType": "Elija el tipo de tarea que realizará el agente. Cada tipo tiene diferentes capacidades y campos.", "researchTopic": "El tema que el agente investigará en la web. Sea específico para mejores resultados.", "description": "Una breve descripción de lo que hace este agente. Le ayuda a recordar su propósito.", "urls": "Lista de sitios web a scrapear. El agente visitará cada URL y extraerá el contenido.", "sourceNotebook": "El cuaderno que el agente analizará. Lee notas de este cuaderno para encontrar conexiones y temas.", "targetNotebook": "Donde se guardará la nota de resultado del agente. Elija Bandeja de entrada o un cuaderno específico.", "frequency": "Con qué frecuencia se ejecuta el agente automáticamente. Comience con Manual para probar.", "instructions": "Instrucciones personalizadas que reemplazan el prompt de IA predeterminado. Deje vacío para usar el automático.", "tools": "Seleccione qué herramientas puede usar el agente. Cada herramienta da una capacidad específica.", "maxSteps": "Número máximo de ciclos de razonamiento. Más pasos = análisis más profundo pero más lento." } } }, "chat": { "title": "Chat IA", "subtitle": "Chatea con tus notas y agentes de IA", "newConversation": "Nueva conversación", "noHistory": "Sin historial", "untitled": "Conversación sin título", "deleteConfirm": "¿Eliminar esta conversación?", "yes": "Sí", "placeholder": "Enviar un mensaje al asistente...", "allNotebooks": "Todos los cuadernos", "inAllNotebooks": "En todos los cuadernos", "active": "ACTIVO", "disclaimer": "La IA puede cometer errores. Verifica la información importante.", "assistantError": "Error del asistente", "loadError": "Error al cargar la conversación", "createError": "Error al crear la conversación", "deleteError": "Error al eliminar", "renamed": "Conversación renombrada", "renameError": "Error al renombrar", "welcome": "Estoy aquí para ayudarte a sintetizar tus notas, generar nuevas ideas o discutir tus cuadernos.", "searching": "Buscando...", "noNotesFoundForContext": "No se encontraron notas relevantes para esta pregunta. Responde con tu conocimiento general." }, "labHeader": { "title": "El Laboratorio", "live": "En vivo", "currentProject": "Proyecto actual", "choose": "Elegir...", "yourSpaces": "Tus espacios", "updated": "Actualizado", "newSpace": "Nuevo espacio de trabajo", "new": "Nuevo", "renamed": "Espacio renombrado", "renameError": "Error al renombrar", "created": "Nuevo espacio creado", "createFailed": "Error al crear", "deleteSpace": "Eliminar espacio", "deleted": "Espacio eliminado", "deleteError": "Error al eliminar" }, "notification": { "shared": "compartió \"{title}\"", "untitled": "Sin título", "notifications": "Notificaciones", "accept": "Accept", "accepted": "Share accepted", "decline": "Decline", "declined": "Uso compartido rechazado", "noNotifications": "No new notifications", "removed": "Nota eliminada de la lista" }, "reminders": { "title": "Recordatorios", "empty": "Sin recordatorios", "emptyDescription": "Agrega un recordatorio a una nota para encontrarlo aquí.", "upcoming": "Próximos", "overdue": "Vencidos", "done": "Completados", "markDone": "Marcar como completado", "markUndone": "Marcar como no completado", "todayAt": "Hoy a las {time}", "tomorrowAt": "Mañana a las {time}" } }